:root{--bg: #0a0a0a;--bg-elevated: #141414;--ink: #e8e6e1;--ink-muted: #8a8780;--fog: #2a2a28;--green: #5fd98a;--amber: #e8b84b;--red: #e8615f;--orange: #ff7844;--orange-bright: #ff5722;--font: "Inter", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--border: 1.5px solid var(--fog);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--header-h: 48px;--input-h: 56px;--sidebar-w: 220px}@media(prefers-color-scheme:light){:root{--bg: #fafaf8;--bg-elevated: #ffffff;--ink: #1a1a1a;--ink-muted: #6b6862;--fog: #e3e1da;--green: #1f9d52;--amber: #b8860b;--red: #c92a2a;--orange: #e06330;--orange-bright: #cc4a1a}}body.light{--bg: #fafaf8;--bg-elevated: #ffffff;--ink: #1a1a1a;--ink-muted: #6b6862;--fog: #e3e1da;--green: #1f9d52;--amber: #b8860b;--red: #c92a2a;--orange: #e06330;--orange-bright: #cc4a1a}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.typing-dot{animation:none!important;opacity:.4}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background:var(--bg-elevated);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;overflow:hidden;height:100%;width:100%;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.tab-bar{display:flex;flex-shrink:0;border-top:1.5px solid var(--fog);background:var(--bg-elevated);padding-bottom:var(--safe-bottom)}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 0 6px;font-family:var(--mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-muted);background:none;border:none;cursor:pointer;position:relative;transition:color .15s;min-height:48px}.tab-btn.active{color:var(--orange)}.tab-btn:after{content:"";position:absolute;top:0;left:20%;right:20%;height:2px;background:var(--orange);border-radius:0 0 2px 2px;opacity:0;transition:opacity .15s}.tab-btn.active:after{opacity:1}.tab-btn .tab-label{font-size:9px}.tab-badge{position:absolute;top:2px;right:calc(50% - 22px);width:14px;height:14px;border-radius:50%;background:var(--red);color:#fff;font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center}.tab-content,.chat-tab,.runs-tab,.files-tab,.settings-tab{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.runs-tab,.settings-tab{overflow-y:auto}.runs-header,.files-list{flex:1;overflow-y:auto;min-height:0}.files-header{display:flex;align-items:center;padding:6px 10px;border-bottom:1.5px solid var(--fog);flex-shrink:0;gap:8px}.runs-title,.files-title{font-family:var(--font);font-size:15px;font-weight:600}.runs-list,.files-list{flex:1}.settings-tab{padding:12px;gap:12px}.settings-section{display:flex;flex-direction:column;gap:4px}.settings-label{font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.settings-input{width:100%;padding:8px 10px;font-family:var(--mono);font-size:12px;border:var(--border);background:var(--bg);color:var(--ink);outline:none;border-radius:var(--radius-sm)}.settings-checkbox{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.settings-hr{border:none;border-top:1px solid var(--fog);margin:4px 0}.model-bar{display:flex;align-items:center;padding:2px 12px 0;flex-shrink:0}.model-select{font-family:var(--mono);font-size:9px;font-weight:600;padding:2px 4px;border:var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);cursor:pointer;outline:none;max-width:160px}#app{display:flex;height:100dvh;width:100%;overflow:hidden}.main-content{display:flex;flex-direction:column;flex:1;min-width:0;height:100dvh}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);display:flex;flex-direction:column;border-right:var(--border);background:var(--bg-elevated);overflow-y:auto;flex-shrink:0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:var(--border);height:var(--header-h);min-height:var(--header-h)}.sidebar-logo{font-family:var(--mono);font-weight:700;font-size:11px;color:var(--bg-elevated);background:var(--ink);padding:3px 5px;letter-spacing:.05em}.sidebar-close{background:none;border:none;color:var(--ink);font-size:16px;cursor:pointer;padding:4px;display:none;font-family:var(--font)}.sidebar-section{padding:10px 12px 4px;font-family:var(--mono);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fog)}.project-list{display:flex;flex-direction:column;gap:0}.project-list-item{font-family:var(--mono);font-size:11px;font-weight:600;padding:8px 12px;cursor:pointer;border-bottom:1.5px solid var(--fog);text-transform:uppercase;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center}.project-list-item:active{background:var(--fog)}.project-list-item.active{background:var(--ink);color:var(--bg-elevated)}.sidebar-footer{margin-top:auto;padding:10px 12px;border-top:var(--border);font-family:var(--mono);font-size:9px;color:var(--fog)}.sidebar-footer .key-status{margin-top:4px;font-weight:600}.sidebar-footer .key-status.ok{color:var(--green)}.sidebar-footer .key-status.missing{color:var(--orange)}.header{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);min-height:var(--header-h);padding:0 12px;border-bottom:var(--border);background:var(--bg-elevated);flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px}.hamburger{background:none;border:var(--border);color:var(--ink);font-size:14px;padding:4px 8px;cursor:pointer;display:none;line-height:1}.project-name{font-weight:700;font-size:13px;font-family:var(--font);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right,.header-center{display:flex;align-items:center;gap:4px;position:relative}.header-actions{display:flex;gap:6px}.icon-btn{background:none;border:var(--border);color:var(--ink);font-family:var(--mono);font-size:10px;font-weight:600;padding:5px 10px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}.icon-btn:active{background:var(--fog)}.chat-area-wrap{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-area{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch;transition:padding-bottom .15s}.chat-area:empty:after{content:"";flex:1}.message{display:flex;flex-direction:column;max-width:85%;min-width:0;animation:msg-in .2s ease-out;position:relative}.msg-meta{display:flex;align-items:center;gap:4px;margin-top:2px;padding:0 4px}.message.user .msg-meta{justify-content:flex-end}.msg-time{font-size:9px;color:var(--ink-muted);font-family:var(--mono)}.msg-action-btn{background:none;border:none;cursor:pointer;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-muted);padding:0;opacity:.6;transition:opacity .15s}.msg-action-btn:hover{opacity:1;color:var(--ink)}.message.streaming .msg-content{min-height:20px}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;align-items:flex-end}.message.assistant{align-self:flex-start;align-items:flex-start}.msg-content{padding:12px 16px;font-size:15px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;min-width:0;border-radius:12px}.msg-content code{font-family:var(--mono);font-size:13px;background:var(--fog);padding:1px 4px;border-radius:2px}.msg-content pre{font-family:var(--mono);font-size:13px;background:var(--fog);padding:10px 12px;margin:8px 0;overflow-x:auto;line-height:1.5;position:relative;max-width:100%;box-sizing:border-box}.msg-content pre code{background:none;padding:0;color:inherit;white-space:pre-wrap;word-break:break-all}.msg-content pre .code-copy-btn{position:absolute;top:4px;right:4px;background:var(--bg-elevated);border:1.5px solid var(--ink);cursor:pointer;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-muted);padding:0}.msg-content pre .code-copy-btn:active{background:var(--fog)}.msg-content pre .code-copy-btn:hover{color:var(--ink)}.msg-content p{margin:0 0 8px}.msg-content p:last-child{margin-bottom:0}.msg-content strong{font-weight:700}.msg-content em{font-style:italic}.msg-content ul,.msg-content ol{margin:4px 0 8px;padding-left:20px}.msg-content li{margin-bottom:2px}.msg-content h1,.msg-content h2,.msg-content h3,.msg-content h4{font-weight:700;margin:12px 0 4px}.msg-content h1{font-size:17px}.msg-content h2{font-size:16px}.msg-content h3{font-size:15px}.msg-content h4{font-size:14px}.msg-content a{color:var(--ink);text-decoration:underline}.msg-content blockquote{border-left:3px solid var(--ink);padding-left:10px;margin:8px 0;color:var(--fog)}.msg-content hr{border:none;border-top:1.5px solid var(--ink);margin:12px 0}.message.user .msg-content{background:var(--ink);color:var(--bg-elevated);border:var(--border)}.message.assistant .msg-content{background:var(--bg-elevated);color:var(--ink);border:var(--border)}.message.assistant .msg-content code{background:var(--ink);color:var(--bg-elevated)}.message.assistant .msg-content pre{background:var(--fog);color:var(--ink)}.gen-btn-wrap{margin-top:6px}.gen-btn{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:8px 16px;cursor:pointer;border:var(--border);background:var(--orange);color:#fff}.gen-btn:active{opacity:.8}.gen-btn:disabled{opacity:.4;cursor:default}.retry-btn{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;cursor:pointer;border:var(--border);background:var(--bg-elevated);color:var(--orange);margin-top:6px}.retry-btn:active{background:var(--fog)}.module-strip{display:flex;flex-wrap:wrap;gap:4px;padding:6px 12px;border-top:1.5px solid var(--fog);background:var(--bg-elevated);max-height:32px;overflow-y:auto;flex-shrink:0;transition:max-height .2s}.module-strip:empty{max-height:0;padding:0 12px;border-top:none}.module-pill{font-family:var(--mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border:1.5px solid var(--ink);background:var(--bg-elevated);color:var(--ink)}.module-pill.designed{border-color:var(--green);color:var(--green)}.module-pill.generated{background:var(--green);border-color:var(--green);color:var(--ink)}.input-bar{display:flex;align-items:flex-end;gap:8px;padding:8px 12px;padding-bottom:calc(8px + var(--safe-bottom));border-top:var(--border);background:var(--bg-elevated);min-height:var(--input-h);flex-shrink:0;position:sticky;bottom:0;z-index:10}.input-bar.keyboard-open{border-top-color:var(--green)}.send-row{display:flex;gap:2px;align-items:center;width:100%}.input-bar textarea{flex:1;font-family:var(--font);font-size:14px;line-height:1.5;padding:8px 12px;border:var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--ink);outline:none;resize:none;max-height:80px}.input-bar textarea:focus{border-color:var(--fog);outline:none}.input-bar textarea::placeholder{color:var(--fog)}.send-btn{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--bg-elevated);cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;padding:0}.send-btn:active{opacity:.8}.send-btn:disabled{opacity:.4;cursor:default}.stop-btn{flex-shrink:0;font-size:10px;font-weight:700;padding:6px 10px;cursor:pointer;border:none;border-radius:4px;background:var(--orange);color:var(--bg-elevated);white-space:nowrap;line-height:1}.stop-btn:active{opacity:.8}.chips-bar{display:flex;gap:6px;padding:6px 12px 0;overflow-x:auto;flex-shrink:0}.chip-btn{flex-shrink:0;font-family:var(--mono);font-size:10px;font-weight:600;padding:4px 10px;border:var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.chip-btn:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.stream-divider{border:none;border-top:1px dashed var(--orange);margin:8px 0}.icon-btn-round{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-muted);transition:color .15s;padding:0}.icon-btn-round:hover{color:var(--ink)}.icon-btn-round.recording{color:var(--orange);animation:mic-pulse .8s ease-in-out infinite}@keyframes mic-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.credit-meter{padding:8px;font-family:var(--mono);font-size:10px}.more-menu{position:absolute;bottom:100%;left:12px;background:var(--bg-surface);border:var(--border);border-radius:6px;box-shadow:0 4px 12px #0000001a;display:none;z-index:100;width:250px;margin-bottom:8px}.more-menu.open{display:block}.credit-meter-inner{display:flex;align-items:center;justify-content:space-between;gap:6px}.credit-label{color:var(--fog);text-transform:uppercase;letter-spacing:.04em;font-size:9px;flex-shrink:0}.credit-bar-wrap{display:flex;align-items:center;gap:4px;flex:1}.credit-bar{flex:1;height:6px;background:var(--fog);border-radius:3px;overflow:hidden;max-width:80px}.credit-fill{display:block;height:100%;border-radius:3px;transition:width .3s}.credit-count{font-weight:700;font-size:11px;min-width:20px;text-align:right}.credit-est{font-size:9px;color:var(--fog)}.date-sep{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fog);margin:8px 0 4px}.date-sep:before,.date-sep:after{content:"";flex:1;border-top:1.5px solid var(--fog)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.empty-state .welcome{font-size:15px;font-weight:600;color:var(--fog)}.suggestion-grid{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:320px}.suggestion-chip{font-family:var(--font);font-size:12px;padding:6px 12px;border:1.5px solid var(--ink);background:var(--bg-elevated);color:var(--ink);cursor:pointer}.suggestion-chip:active{background:var(--fog)}.scroll-btn-area{position:absolute;right:8px;bottom:8px;display:flex;flex-direction:column;gap:4px;z-index:5;pointer-events:none}.scroll-btn{pointer-events:auto;width:28px;height:28px;border:var(--border);background:var(--bg-elevated);color:var(--ink);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .15s}.scroll-btn:active{opacity:1;background:var(--fog)}.conn-indicator{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px}.conn-dot{width:4px;height:4px;border-radius:50%}.conn-dot.online{background:var(--green)}.conn-dot.offline{background:var(--orange)}.conn-indicator.online{color:var(--green)}.conn-indicator.offline{color:var(--orange)}.muted{color:var(--fog);font-size:12px}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:none;align-items:center;justify-content:center;padding:16px}.overlay.open{display:flex}.modal{background:var(--bg-elevated);border:var(--border);width:100%;max-width:400px;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:var(--border)}.modal-header h2{font-size:14px;font-weight:700;font-family:var(--font);text-transform:uppercase;letter-spacing:.04em}.close-btn{background:none;border:none;color:var(--ink);font-size:18px;cursor:pointer;padding:4px;font-family:var(--font)}.modal-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fog);font-family:var(--mono)}.form-group input{background:var(--bg-elevated);border:var(--border);color:var(--ink);font-family:var(--mono);font-size:13px;padding:10px;outline:none}.form-group input:focus{border-color:var(--green)}.modal hr{border:none;border-top:var(--border);margin:2px 0}.save-btn{width:100%;margin-top:4px;font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:10px;cursor:pointer;border:var(--border);background:var(--ink);color:var(--bg-elevated)}.save-btn:active{opacity:.8}.logout-btn{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:8px 16px;cursor:pointer;border:var(--border);background:none;color:var(--red)}.logout-btn:hover{background:var(--red);color:#fff}.gen-overlay .modal{max-width:500px;min-height:200px}.gen-console{font-family:var(--mono);font-size:11px;line-height:1.6;background:var(--fog);padding:10px;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.gen-console .info-line{color:var(--fog)}.gen-console .thought-line{color:var(--green)}.gen-console .action-line{color:var(--ink);font-weight:600}.gen-console .terminal-line{color:var(--fog)}.gen-console .status-line{color:var(--green);font-weight:600}.gen-console .error-line{color:var(--orange)}.gen-console .success-line{color:var(--green);font-weight:700}.gen-result{text-align:center;padding:16px}.gen-result a{color:var(--ink);text-decoration:underline;font-weight:600}.splash-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100dvh;padding:24px;text-align:center;gap:8px;animation:splash-in .6s ease-out;background:var(--bg)}.splash-screen.fade-out{opacity:0;transition:opacity .4s ease-in}.splash-logo{font-family:var(--mono);font-weight:700;font-size:32px;color:var(--orange);letter-spacing:-.03em}.splash-tag{font-family:var(--font);font-size:18px;font-weight:700;color:var(--ink);margin-top:4px}.splash-sub{font-family:var(--font);font-size:13px;color:var(--ink-muted)}@keyframes splash-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onboarding{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100dvh;padding:24px;text-align:center;gap:16px;max-width:400px;margin:0 auto}.onboarding-logo{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--bg-elevated);background:var(--ink);padding:4px 8px;letter-spacing:.05em}.onboarding h1{font-family:var(--font);font-size:20px;font-weight:700;margin:0}.onboarding p{font-family:var(--font);font-size:13px;color:var(--fog);margin:0;line-height:1.5;max-width:300px}.onboarding-actions{display:flex;flex-direction:column;gap:8px;width:100%;max-width:260px}.onboarding-actions a{text-decoration:none}.onboarding-actions a.gen-btn{text-align:center;display:block;background:var(--orange);color:#fff}.onboarding-skip{margin-top:8px}.onboarding-version{font-family:var(--mono);font-size:9px;color:var(--fog);margin-top:8px}.onboarding-divider{font-size:12px;color:var(--fog);text-transform:uppercase;letter-spacing:.1em}.onboarding-toggle{display:flex;gap:12px;align-items:center}.link-btn{background:none;border:none;color:var(--ink);cursor:pointer;font-size:13px;text-decoration:underline;padding:0}.onboarding-input{width:100%;max-width:260px;padding:10px 12px;font-size:14px;border:1.5px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);outline:none;box-sizing:border-box}.onboarding-input:focus{border-color:var(--ink)}#login-form,#signup-form{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:260px}#login-form .gen-btn,#signup-form .gen-btn{width:100%}@media(min-width:640px){.onboarding{max-width:500px;gap:20px}.onboarding h1{font-size:24px}.onboarding p{font-size:14px;max-width:360px}.onboarding-actions{flex-direction:row;max-width:360px}.onboarding-actions a{flex:1}}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.toast-container{position:fixed;top:calc(var(--safe-top) + 8px);right:8px;z-index:9999;display:flex;flex-direction:column;gap:6px;pointer-events:none;max-width:320px}.toast{pointer-events:auto;font-family:var(--mono);font-size:11px;line-height:1.4;padding:8px 12px;border:1.5px solid var(--ink);background:var(--bg-elevated);color:var(--ink);animation:toast-in .2s ease-out;display:flex;align-items:flex-start;gap:6px}.toast-icon{flex-shrink:0;margin-top:1px}.toast-text{flex:1}.toast-close{flex-shrink:0;background:none;border:none;color:var(--fog);cursor:pointer;font-size:12px;padding:0;line-height:1}.toast-action{flex-shrink:0;background:var(--ink);color:var(--bg-elevated);border:none;font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;cursor:pointer}.toast.error{border-color:var(--orange)}.toast.success{border-color:var(--green)}.toast.warning{border-color:#f59e0b}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:9998;display:flex;align-items:center;justify-content:center;padding:16px}.confirm-box{background:var(--bg-elevated);border:var(--border);width:100%;max-width:320px;padding:16px}.confirm-box p{font-family:var(--font);font-size:13px;line-height:1.5;margin-bottom:12px}.confirm-actions{display:flex;gap:6px;justify-content:flex-end}.confirm-btn{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;cursor:pointer;border:var(--border);background:var(--bg-elevated);color:var(--ink)}.confirm-btn:active{background:var(--fog)}.confirm-btn.primary{background:var(--ink);color:var(--bg-elevated)}.confirm-btn.danger{border-color:var(--orange);color:var(--orange)}.backend-group{display:flex;gap:0;border:var(--border)}.toggle-btn{font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:6px 10px;border:none;background:var(--bg-elevated);color:var(--fog);cursor:pointer}.toggle-btn.active{background:var(--ink);color:var(--bg-elevated)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:640px){.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100%;z-index:200;transform:translate(-100%);transition:transform .2s ease;display:none}.sidebar.open{display:flex;transform:translate(0);box-shadow:4px 0 16px #00000026}.sidebar-close,.hamburger{display:block}.message{max-width:92%}.project-name{max-width:120px}.sidebar-backdrop{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;z-index:199}.sidebar-backdrop.open{display:block}}.icon{display:inline-block;width:14px;height:14px;vertical-align:middle;flex-shrink:0}.icon-lg{width:48px;height:48px}.icon-sm{width:10px;height:10px}.icon-wrap{display:inline-flex;align-items:center;gap:3px}.typing-dots{display:flex;align-items:center;gap:4px;padding:10px 14px;border:var(--border);align-self:flex-start}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--fog);animation:dot-pulse 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.empty-illustration{width:48px;height:48px;color:var(--fog);opacity:.4}.flex-row{display:flex;align-items:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-gap{display:flex;align-items:center;gap:6px}.flex-col{display:flex;flex-direction:column}.flex-1{flex:1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-card{border-bottom:var(--border);display:flex;flex-direction:column}.run-card-header{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px;background:none;border:none;text-align:left;font-family:var(--font);color:var(--ink);cursor:pointer}.run-status-icon{flex-shrink:0;margin-top:1px;width:14px;height:14px}.run-card-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.run-card-prompt{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-card-meta{font-size:11px;font-family:var(--mono);color:var(--ink-muted)}.run-module-rows{padding:0 12px 10px 36px;display:flex;flex-direction:column;gap:4px}.run-module-row{display:flex;align-items:center;gap:6px;font-size:11px;font-family:var(--mono);color:var(--ink-muted)}.run-module-row .run-module-icon{width:11px;height:11px;flex-shrink:0}.run-module-row.done{color:var(--green)}.run-module-row.failed{color:var(--red)}.run-module-row.active{color:var(--ink)}.run-module-name{flex:1;text-transform:capitalize}.run-module-status{font-size:10px;text-transform:uppercase;letter-spacing:.03em}.run-detail{padding:0 12px 12px 36px}.run-log{max-height:220px;overflow-y:auto;border:var(--border);border-radius:var(--radius-sm);padding:8px;display:flex;flex-direction:column;gap:4px;background:var(--bg)}.run-log-line{font-size:11px;font-family:var(--mono);line-height:1.4}.run-log-thought{color:var(--ink-muted)}.run-log-error{color:var(--red)}.run-log-phase{color:var(--green);font-weight:600}.run-log-terminal{font-size:10px;font-family:var(--mono);background:var(--bg-elevated);border-radius:var(--radius-sm);padding:6px 8px;white-space:pre-wrap;word-break:break-word;margin:2px 0}.run-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.run-action-btn{font-size:11px;font-family:var(--mono);padding:6px 10px;border:var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--ink);text-decoration:none}.run-error-banner{font-size:11px;color:var(--red);padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-elevated)}.model-picker{display:flex;flex-direction:column;gap:4px}.model-option{display:flex;align-items:center;gap:8px;padding:8px;border:var(--border);border-radius:var(--radius-sm);cursor:pointer}.model-option.selected{border-color:var(--green)}.model-option input[type=radio]{flex-shrink:0}.model-option-text{display:flex;flex-direction:column;gap:1px;min-width:0}.model-option-label{font-size:12px;font-weight:600}.model-option-sub{font-size:10px;color:var(--ink-muted);font-family:var(--mono)}.integrations-list{display:flex;flex-direction:column;gap:4px}.integration-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:var(--border);border-radius:var(--radius-sm)}.integration-info{display:flex;flex-direction:column;gap:1px;min-width:0}.integration-label{font-size:12px;font-weight:600}.integration-desc{font-size:10px;color:var(--ink-muted)}.integration-status{font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.integration-status.connected{color:var(--green)}.quiet-hours-row{display:flex;align-items:center;gap:6px;margin-top:4px}.quiet-hours-input{width:48px;flex:none;text-align:center}.run-sheet{max-width:360px}.drag-handle{width:32px;height:4px;border-radius:2px;background:var(--fog);margin:0 auto 12px}.run-sheet-title{font-size:15px;font-weight:600;margin-bottom:10px}.run-sheet-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:12px}.run-sheet-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.run-sheet-row>span:last-child{font-family:var(--mono);text-align:right}.bug-form{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.bug-form .settings-label{margin-top:6px}.bug-textarea{resize:vertical;font-family:var(--font)}.bug-textarea.mono{font-family:var(--mono);font-size:11px}.diff-container{border:1px solid var(--fog);border-radius:6px;overflow:hidden;margin-top:8px;margin-bottom:8px}.diff-header{background:var(--bg-elevated);padding:6px 12px;font-size:11px;font-weight:500;border-bottom:1px solid var(--fog);color:var(--ink)}.diff-body{margin:0;padding:8px;font-family:var(--mono);font-size:11px;line-height:1.5;background:var(--bg-elevated);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.diff-added{background-color:#2ea04326;color:#3fb950}.diff-removed{background-color:#f8514926;color:#ff7b72;text-decoration:line-through}.diff-unchanged{color:var(--ink-muted)}.review-inbox{margin-top:12px;padding:12px;border:1.5px solid var(--orange);background:var(--bg);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px}.review-inbox h3{font-family:var(--font);font-size:14px;color:var(--orange);margin:0}.review-actions,.review-request-changes{display:flex;gap:8px;margin-top:4px}.review-request-changes .input{flex:1;padding:8px;border:var(--border);background:var(--bg-elevated);color:var(--ink);font-family:var(--font);font-size:13px;border-radius:var(--radius-sm)}.btn{padding:8px 12px;font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:var(--border);cursor:pointer}.btn.primary{background:var(--orange);color:#fff;border-color:var(--orange)}.btn.secondary{background:var(--bg-elevated);color:var(--ink)}.btn:active{opacity:.8}.skills-content{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg)}.skill-pane{display:flex;flex-direction:column;height:100%}.pane-header{padding:16px;border-bottom:var(--border);flex-shrink:0}.pane-header h2{font-size:16px;margin:0 0 4px}.pane-header .text-secondary{color:var(--fog);font-size:12px;margin:0}.row-between{display:flex;justify-content:space-between;align-items:center}.skills-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.skill-item{border:var(--border);border-radius:var(--radius-sm);padding:12px;cursor:pointer;transition:border-color .15s,background .15s}.skill-item:hover{border-color:var(--orange);background:#ff63100d}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.skill-header strong{font-family:var(--mono);font-size:13px;color:var(--ink)}.skill-desc{font-size:12px;color:var(--fog);line-height:1.4}.skill-badge{font-size:10px;padding:2px 6px;border-radius:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.skill-badge.builtin{background:#8888881a;color:var(--fog)}.skill-badge.local{background:#ff63101a;color:var(--orange)}.skill-editor-wrap{flex:1;display:flex;flex-direction:column;padding:12px;overflow:hidden}.skill-editor{flex:1;font-family:var(--mono);font-size:13px;line-height:1.5;padding:12px;border:var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);resize:none;outline:none}.skill-editor:focus{border-color:var(--orange)}.file-row .delete-btn[data-v-fb658cb2]{opacity:0}.file-row:hover .delete-btn[data-v-fb658cb2]{opacity:.6}
