:root{--color-bg: #0f1115;--color-surface: #161a21;--color-surface-2: #1e242d;--color-border: #2a3340;--color-border-strong: #3a4555;--color-text: #e6ecf3;--color-text-muted: #8b96a5;--color-accent: #7aa2f7;--color-accent-hover: #a3c0fb;--color-success: #9ece6a;--color-warn: #e0af68;--color-danger: #f7768e;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, monospace}@media (prefers-color-scheme: light){:root{--color-bg: #f7f9fc;--color-surface: #ffffff;--color-surface-2: #eef2f7;--color-border: #d7dde4;--color-border-strong: #b8c1cc;--color-text: #1a1f29;--color-text-muted: #5d6775}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:14px;line-height:1.5}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}input,textarea,select,button{font:inherit}button{cursor:pointer}.sc-shell{display:flex;flex-direction:column;min-height:100vh}.sc-shell--login{align-items:center;justify-content:center}.sc-shell__main{flex:1;padding:var(--space-6) var(--space-5)}.sc-shell__outlet{max-width:960px;margin:0 auto;width:100%}sc-header{display:block;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.sc-header__inner{max-width:960px;margin:0 auto;padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between}.sc-header__brand{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:600}.sc-header__brand:hover{text-decoration:none}.sc-header__mark{font-size:18px}.sc-header__name{letter-spacing:-.01em}.sc-header__user{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted)}.sc-header__logout{background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 10px;font-size:13px}.sc-header__logout:hover{background:var(--color-surface-2)}.sc-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:13px;text-decoration:none;transition:background .12s ease}.sc-button:hover{background:var(--color-surface);text-decoration:none}.sc-button[disabled]{opacity:.6;cursor:not-allowed}.sc-button--primary{background:var(--color-accent);border-color:var(--color-accent);color:#0c1220}.sc-button--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.sc-login{width:100%;display:flex;justify-content:center;padding:var(--space-7) var(--space-4)}.sc-login__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:380px;text-align:center}.sc-login__title{margin:0 0 var(--space-2);font-size:24px}.sc-login__subtitle{margin:0 0 var(--space-5);color:var(--color-text-muted)}.sc-login__button{width:100%;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--color-accent);background:var(--color-accent);color:#0c1220;font-weight:600}.sc-login__button:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.sc-login__hint{margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:12px}.sc-dashboard__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.sc-dashboard__header h1{margin:0;font-size:22px;font-weight:600}.sc-dashboard__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.sc-dashboard__loading,.sc-dashboard__error{color:var(--color-text-muted)}.sc-dashboard__error{color:var(--color-danger)}.sc-empty{background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6);color:var(--color-text-muted);text-align:center}sc-project-card{display:block}.sc-project-card{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--color-text);transition:border-color .12s ease,transform .12s ease}.sc-project-card:hover{border-color:var(--color-border-strong);text-decoration:none;transform:translateY(-1px)}.sc-project-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.sc-project-card__name{margin:0;font-size:16px;font-weight:600}.sc-project-card__desc{margin:0 0 var(--space-3);color:var(--color-text);font-size:13px}.sc-project-card__desc--muted{color:var(--color-text-muted);font-style:italic}.sc-project-card__meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--color-text-muted)}.sc-project-card__template{background:var(--color-surface-2);border-radius:var(--radius-sm);padding:1px 6px;font-family:var(--font-mono)}.sc-create-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.sc-create-form__title{margin:0 0 var(--space-2);font-size:16px;font-weight:600}.sc-create-form__error{margin:0;color:var(--color-danger);font-size:13px}.sc-create-form__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.sc-field{display:flex;flex-direction:column;gap:4px}.sc-field__label{font-size:12px;color:var(--color-text-muted)}.sc-field__input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);padding:8px 10px;outline:none;width:100%}.sc-field__input:focus{border-color:var(--color-accent)}textarea.sc-field__input{resize:vertical;min-height:60px}.sc-project__back{display:inline-block;margin-bottom:var(--space-3);color:var(--color-text-muted);font-size:13px}.sc-project__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.sc-project__name{margin:0 0 var(--space-2);font-size:22px}.sc-project__sub{display:flex;align-items:center;gap:var(--space-2);margin:0;color:var(--color-text-muted);font-size:13px;flex-wrap:wrap}.sc-project__template{background:var(--color-surface-2);border-radius:var(--radius-sm);padding:1px 6px;font-family:var(--font-mono)}.sc-project__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.sc-project__error{color:var(--color-danger);background:#f7768e14;border:1px solid rgba(247,118,142,.3);border-radius:var(--radius-md);padding:var(--space-3);font-size:13px;margin:0 0 var(--space-4)}.sc-project__meta{display:grid;grid-template-columns:140px 1fr;gap:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5)}.sc-project__meta dt{color:var(--color-text-muted);font-size:13px}.sc-project__meta dd{margin:0}.sc-project__meta code{font-family:var(--font-mono);font-size:12px;background:var(--color-surface-2);padding:1px 6px;border-radius:var(--radius-sm)}.sc-toaster{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(360px,calc(100vw - 32px));pointer-events:none}.sc-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:0 6px 24px #00000040;animation:sc-toast-in .18s ease}.sc-toast--success{border-left-color:var(--color-success)}.sc-toast--error{border-left-color:var(--color-danger)}.sc-toast--info{border-left-color:var(--color-accent)}.sc-toast--leaving{animation:sc-toast-out .18s ease forwards}.sc-toast__msg{flex:1;font-size:13px;line-height:1.5;word-break:break-word}.sc-toast__close{background:transparent;border:none;color:var(--color-text-muted);font-size:18px;line-height:1;padding:0 2px}.sc-toast__close:hover{color:var(--color-text)}@keyframes sc-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes sc-toast-out{0%{opacity:1}to{opacity:0;transform:translateY(-4px)}}sc-preview{display:block;margin-bottom:var(--space-4)}.sc-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.sc-preview__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.sc-preview__title{display:flex;align-items:center;gap:var(--space-3)}.sc-preview__title h2{margin:0;font-size:15px;font-weight:600}.sc-preview__actions{display:flex;gap:var(--space-2)}.sc-preview__body{margin-top:var(--space-3)}.sc-preview__url{display:inline-flex;align-items:center;gap:6px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 12px;font-family:var(--font-mono);font-size:13px}.sc-preview__hint{margin:0;color:var(--color-text-muted);font-size:13px}.sc-preview__hint code{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 6px;font-family:var(--font-mono)}.sc-preview__error{margin:var(--space-2) 0 0;color:var(--color-danger);font-size:13px}.sc-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.sc-tabs__btn{background:transparent;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:8px 14px;color:var(--color-text-muted);font-size:13px;margin-bottom:-1px}.sc-tabs__btn:hover{color:var(--color-text)}.sc-tabs__btn--active{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}sc-logs{display:block}.sc-logs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:480px;max-height:70vh}.sc-logs__toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:12px}.sc-logs__status{color:var(--color-text-muted);font-family:var(--font-mono)}.sc-logs__status--error{color:var(--color-danger)}.sc-logs__actions{display:flex;align-items:center;gap:var(--space-3)}.sc-logs__autoscroll{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.sc-logs__scroll{flex:1;overflow-y:auto;background:var(--color-bg);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.sc-logs__pre{margin:0;padding:var(--space-3);font-family:var(--font-mono);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.sc-logs__line{display:block}.sc-logs__line--stderr{color:var(--color-danger)}sc-chat{display:block}.sc-chat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:480px;max-height:70vh}.sc-chat__messages,.sc-chat__pending{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.sc-chat__messages{flex:1;overflow-y:auto}.sc-chat__pending{padding-top:0}.sc-chat__auto-setup{background:#7aa2f714;border:1px solid rgba(122,162,247,.3);border-radius:var(--radius-md);padding:var(--space-3);color:var(--color-text);font-size:13px}.sc-chat__empty{color:var(--color-text-muted);font-size:13px;text-align:center;padding:var(--space-5)}.sc-chat__composer{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.sc-chat__input{flex:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);padding:8px 10px;font-family:var(--font-sans);font-size:14px;resize:none;min-height:38px;max-height:240px;outline:none}.sc-chat__input:focus{border-color:var(--color-accent)}.sc-chat__input:disabled{opacity:.6;cursor:not-allowed}.sc-chat__status{margin:0;padding:0 var(--space-4) var(--space-3);color:var(--color-text-muted);font-size:12px}.sc-chat__status--error{color:var(--color-danger)}.sc-bubble{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);max-width:92%}.sc-bubble--user{background:#7aa2f714;border-color:#7aa2f74d;align-self:flex-end}.sc-bubble--assistant{align-self:flex-start}.sc-bubble--pending{border-style:dashed}.sc-bubble__role{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:12px;color:var(--color-text-muted);margin-bottom:var(--space-2)}.sc-bubble__role time{font-family:var(--font-mono);font-size:11px}.sc-bubble__body{font-size:14px;line-height:1.55;word-wrap:break-word;overflow-wrap:anywhere;white-space:normal}.sc-bubble__footer{margin-top:var(--space-2);display:flex;gap:var(--space-2)}.sc-bubble__commit{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px;padding:2px 8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:default}.sc-bubble__cursor{animation:sc-blink 1s steps(2,end) infinite;color:var(--color-text-muted)}@keyframes sc-blink{to{opacity:0}}.sc-code{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);overflow-x:auto;font-family:var(--font-mono);font-size:12.5px;line-height:1.5;margin:var(--space-2) 0}.sc-inline-code{font-family:var(--font-mono);font-size:.92em;background:var(--color-bg);padding:1px 5px;border-radius:3px;border:1px solid var(--color-border)}.sc-placeholder{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.sc-placeholder h1{margin:0 0 var(--space-3);font-size:20px}.sc-placeholder p{color:var(--color-text-muted);margin:0 0 var(--space-4)}
/*# sourceMappingURL=styles.css.map */
