:root{--bg:#050805;--bg-panel:#060a07;--bg-elev:#070d09;--bg-hover:#0c1f14;--border:#122a1a;--border-strong:#1a3a26;--text:#cfe3d8;--text-2:#9fb8aa;--dim:#6f8c7c;--accent:#f2a73c;--accent-hover:#f7bd63;--accent-ink:#2a1605;--accent-tint:#f2a73c1f;--accent-tint-hover:#f2a73c38;--accent-2:var(--success);--success:#7ee0a8;--success-ink:#07140d;--success-tint:#7ee0a81f;--changed:#ff7d5e;--changed-tint:#ff7d5e24;--warn:#ffcf6b;--warn-tint:#ffcf6b1a;--danger:#ff6b6b;--danger-tint:#ff6b6b24;--danger-border:#ff6b6b80;--fx-glow:#f2a73c0f;--fx-scan:#f2a73c08;--radius:0;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100vh;height:100dvh;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font-sans)}code{font-family:var(--font-mono);font-size:.85em}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--dim);background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}.app-shell{flex-direction:row;height:100%;display:flex}.app-shell-mobile{flex-direction:column}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{background:var(--bg-panel);border-bottom:1px solid var(--border);font-family:var(--font-mono);align-items:center;gap:14px;padding:6px 14px;display:flex}.app-logo{letter-spacing:.04em;color:var(--accent);text-transform:lowercase;font-weight:700}.topbar-project{align-items:center;display:flex}.topbar-project-select{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;cursor:pointer;appearance:auto;max-width:220px;padding:4px 26px 4px 10px;font-size:12px}.topbar-project-select:disabled{opacity:.6;cursor:default}.tab-workspace{height:100%;min-height:0}.run-split{flex:1;min-height:0}.pane{overflow:hidden}.panel-body{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;height:calc(100% - 8px);margin:4px;padding:10px 12px;display:flex;overflow:auto}.panel-title{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin:0 0 8px;font-size:12px}.resize-handle{background:0 0;position:relative}.resize-v{cursor:col-resize;width:6px}.resize-h{cursor:row-resize;height:6px}.resize-handle:after{content:"";background:var(--border);border-radius:var(--radius);margin:auto;position:absolute;inset:0}.resize-v:after{width:2px;height:28px}.resize-h:after{width:28px;height:2px}.resize-handle:hover:after,.resize-handle:active:after{background:var(--accent)}.cp-section{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:12px}.cp-row{justify-content:space-between;align-items:center;gap:8px;margin:6px 0;display:flex}.cp-label{color:var(--dim)}.cp-model{margin-bottom:10px}.cp-select{background:var(--bg-elev);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 8px}.cp-model-meta{align-items:center;gap:8px;margin-top:6px;display:flex}.cp-dim{color:var(--dim);font-size:12px}.cp-model-note{margin:4px 0 0;line-height:1.4}.cp-actions{gap:8px;margin:8px 0;display:flex}.cp-pacing{margin:10px 0}.cp-select-inline{flex:none;width:auto}.cp-input,.pp-rename-input,.pp-create-input{background:var(--bg-elev);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;padding:6px 8px}.cp-input{margin-bottom:6px}.cp-input:focus,.pp-rename-input:focus,.pp-create-input:focus,.cp-select:focus{border-color:var(--accent);outline:none}.pp-list{flex-direction:column;gap:1px;margin:6px 0;padding:0;list-style:none;display:flex}.pp-item{border-radius:var(--radius);align-items:center;gap:4px;display:flex}.pp-item:hover,.pp-item-active{background:var(--bg-elev)}.pp-name{min-width:0;color:var(--text);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;flex:1;padding:5px 8px;overflow:hidden}.pp-name:hover:not(:disabled){background:0 0;border-color:#0000}.pp-item-active .pp-name{color:var(--accent);font-weight:600}.pp-active-dot{color:var(--accent);vertical-align:middle;font-size:9px}.pp-actions{flex:none;gap:2px;padding-right:4px;display:none}.pp-item:hover .pp-actions,.pp-item-active .pp-actions{display:flex}.pp-action{color:var(--dim);border-radius:var(--radius);background:0 0;border:none;padding:3px 6px;font-size:12px}.pp-action:hover:not(:disabled){background:var(--border);color:var(--text)}.pp-delete:hover:not(:disabled){background:var(--danger-tint);color:var(--danger)}.pp-new{width:100%;padding:5px 10px;font-size:12px}.pp-create{gap:6px;margin-top:6px;display:flex}.pp-create-input{flex:1}.pp-create-confirm,.pp-create-cancel{flex:none;font-size:12px}.pp-create-stack{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;flex:none;padding:6px 8px}.pp-create-stack:focus{border-color:var(--accent);outline:none}.model-setup{flex-direction:column;gap:10px;display:flex}.ms-types{flex-wrap:wrap;gap:4px;display:flex}.ms-type{background:var(--bg-elev);color:var(--dim);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:4px 12px;font-size:12px;font-weight:600}.ms-type-active{color:var(--accent);border-color:var(--accent)}.ms-type-hint{margin:0}button{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:6px 12px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s}button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:disabled{color:var(--dim);cursor:not-allowed;opacity:.55}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.btn-stop{background:var(--changed-tint);border-color:var(--changed);color:var(--changed)}.btn-stop:hover:not(:disabled){background:var(--changed);border-color:var(--changed);color:var(--accent-ink)}.btn-enhance{white-space:nowrap}.btn-enhance:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-undo-enhance{font:inherit;color:var(--text-dim,#9aa3b2);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:12px;text-decoration:underline}.btn-undo-enhance:hover{color:var(--text)}.cp-progress{margin-top:8px}.cp-progress-file{word-break:break-all;margin-bottom:4px;font-size:12px}.cp-progress progress{width:100%;height:8px}.cp-error{color:var(--danger);font-size:13px}.cp-warn{color:var(--warning,#b8860b);font-size:13px}.cp-foot{margin-top:auto}.cp-oauth{margin-top:8px}.cp-oauth>button,.cp-providers>button{width:100%}.cp-providers>button{margin-top:6px}.cp-provider-add{margin-top:8px}.cp-provider-add>button{width:100%}.cp-help{margin:8px 0;font-size:13px}.cp-help>summary{cursor:pointer}.cp-help-body{margin-top:6px;line-height:1.5}.cp-help-body ol,.cp-help-body ul{margin:6px 0 0;padding-left:18px}.cp-help-body p{margin:10px 0 0}.cp-help-body li{margin-bottom:6px}.cp-help-body code{font-size:12px}.cp-remove{color:var(--danger);margin-top:4px;padding:4px 10px;font-size:12px}.cp-remove:hover:not(:disabled){background:var(--danger-tint);border-color:var(--danger-border);color:var(--danger)}.badge{border-radius:var(--radius);background:var(--bg-elev);border:1px solid var(--border);padding:2px 8px;font-size:11px;display:inline-block}.backend-webgpu{color:var(--success);border-color:var(--success)}.backend-wasm{color:var(--warn);border-color:var(--warn)}.state-loaded{color:var(--success)}.state-loading,.state-unloading{color:var(--warn)}.state-error{color:var(--danger)}.badge.tone-dim{color:var(--dim)}.badge.tone-warn{color:var(--warn);border-color:var(--warn)}.hint{width:14px;height:14px;font-family:var(--font-mono);color:var(--dim);border:1px solid var(--border-strong);cursor:help;vertical-align:middle;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.hint:hover,.hint:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}.cp-model-load{flex-direction:column;gap:8px;display:flex}.cp-model-actions{align-items:center}.cp-model-state{margin-left:auto}.ms-subhead-row{align-items:center;gap:6px;margin:2px 0 8px;display:flex}.ms-subhead{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-2);font-size:11px}.conn-list{flex-direction:column;gap:6px;display:flex}.conn{border:1px solid var(--border);background:var(--bg-elev)}.conn-open{border-color:var(--border-strong)}.conn-head{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 11px;display:flex}.conn-head:hover:not(:disabled){background:var(--bg-hover);border:none}.conn-caret{width:10px;color:var(--accent);flex:none;font-size:10px}.conn-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conn-title{align-items:center;gap:8px;min-width:0;display:flex}.conn-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.conn-roles{flex:none;gap:4px;display:flex}.role-chip{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);background:var(--accent-tint);padding:1px 6px;font-size:10px}.conn-sub{font-family:var(--font-mono);color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.conn-status{flex:none}.conn-body{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:11px;display:flex}.conn-suitability{margin:0}.conn-field{flex-direction:column;gap:4px;display:flex}.conn-field-label{color:var(--dim);font-size:12px}.conn-field-control{align-items:stretch;gap:6px;display:flex}.conn-field-control .cp-select{flex:1;min-width:0}.conn-refresh{flex:none;padding:0 10px;font-size:14px}.conn-assign{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conn-assign-label{color:var(--dim);font-size:12px}.conn-assign button{padding:5px 10px;font-size:12px}.conn-note{color:var(--success);margin:0}.conn-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.conn-retry{margin-left:6px;padding:2px 8px;font-size:11px}.conn-body .cp-remove{align-self:flex-start;margin-top:2px}.add-conn-btn{width:100%;color:var(--dim);border-style:dashed;margin-top:8px}.add-conn-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);border-style:dashed}.add-conn{border:1px solid var(--border-strong);background:var(--bg-elev);flex-direction:column;gap:10px;margin-top:8px;padding:11px;display:flex}.add-conn-head{justify-content:space-between;align-items:center;display:flex}.add-conn-cancel{padding:2px 8px;font-size:11px}.add-conn-types{gap:6px;display:flex}.add-conn-type{flex:1;font-weight:600}.add-conn-type.is-sel{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}.add-conn-form{flex-direction:column;gap:6px;display:flex}.add-conn-alt{width:100%;font-size:12px}.roles-summary{border-top:1px solid var(--border);padding-top:12px}.role-row{justify-content:space-between;align-items:baseline;gap:12px;margin:5px 0;display:flex}.role-name{color:var(--dim);font-size:13px}.role-val{font-family:var(--font-mono);color:var(--text);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cp-nonlocal{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;display:flex}.placeholder-card{border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-elev);flex-direction:column;gap:8px;padding:16px;display:flex}.phase-badge{color:var(--accent);border-color:var(--accent);align-self:flex-start}.chat-scroll{flex-direction:column;flex:1;gap:10px;min-height:0;padding-right:4px;display:flex;overflow:auto}.chat-empty{text-align:center;margin:auto}.chat-msg{flex-direction:column;gap:3px;display:flex}.chat-role{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);font-size:10px}.chat-content{white-space:pre-wrap;word-break:break-word;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}.chat-user .chat-content{border-color:var(--accent)}.chat-assistant .chat-content{border-color:var(--border)}.chat-error .chat-content{border-color:var(--danger);color:var(--danger)}.chat-cursor{color:var(--accent);animation:1s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}.chat-source{border-radius:var(--radius);border:1px solid var(--border);padding:0 4px;font-size:9px}.chat-source-constrained{color:var(--accent);border-color:var(--accent)}.chat-source-parsed{color:var(--dim)}.chat-tool{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin:4px 0;overflow:hidden}.chat-tool-error{border-color:var(--danger)}.chat-tool-ok{border-color:var(--border)}.chat-tool-head{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:4px 8px;display:flex}.chat-tool-caret{color:var(--dim);width:10px}.chat-tool-name{color:var(--accent);font-weight:600}.chat-tool-args{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.chat-tool-status{color:var(--dim);text-transform:uppercase;font-size:10px}.chat-tool-error .chat-tool-status{color:var(--danger)}.chat-tool-result{border-top:1px solid var(--border);background:var(--bg-elev);white-space:pre-wrap;word-break:break-word;max-height:240px;margin:0;padding:6px 10px;font-size:11px;overflow:auto}.chat-prose{display:block}.chat-think{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin:4px 0;overflow:hidden}.chat-think-head{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:4px 8px;display:flex}.chat-think-caret{color:var(--dim);width:10px}.chat-think-label{color:var(--dim);font-size:11px;font-style:italic}.chat-think-body{border-top:1px solid var(--border);background:var(--bg-elev);color:var(--dim);white-space:pre-wrap;word-break:break-word;max-height:240px;margin:0;padding:6px 10px;font-size:11px;overflow:auto}.chat-notice{margin:6px 0 0}.chat-queued{font-style:italic}.chat-todos{border:1px solid var(--border,#2a2a2a);border-radius:var(--radius);margin:8px 0 0;padding:8px 10px}.chat-todos-title{margin:0 0 4px;font-size:.85em}.chat-todos-list{margin:0;padding:0;list-style:none}.chat-todo{align-items:baseline;gap:6px;font-size:.9em;line-height:1.5;display:flex}.chat-todo-box{flex:none}.chat-todo-done .chat-todo-text{opacity:.6;text-decoration:line-through}.chat-mode-toggle{align-items:center;gap:4px;margin-top:8px;display:flex}.chat-mode-btn{border:1px solid var(--border,#2a2a2a);border-radius:var(--radius);color:inherit;cursor:pointer;background:0 0;padding:3px 12px;font-size:.85em}.chat-mode-btn.chat-mode-active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chat-mode-plan.chat-mode-active{background:var(--warn);border-color:var(--warn);color:var(--accent-ink)}.chat-mode-recent{border:1px solid var(--border,#2a2a2a);border-radius:var(--radius);color:inherit;cursor:pointer;opacity:.85;background:0 0;margin-left:auto;padding:3px 10px;font-size:.8em}.chat-mode-recent:hover{opacity:1}.chat-plan-actions{margin-top:8px}.chat-build-plan{width:100%}.chat-input{align-items:flex-end;gap:8px;margin-top:8px;display:flex}.chat-input textarea{resize:vertical;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;flex:1;padding:8px 10px}.sp-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:8px;overflow:hidden}.sp-toggle{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.sp-toggle-caret{color:var(--dim);width:10px}.sp-toggle-hint{margin-left:auto;font-size:11px}.sp-body{border-top:1px solid var(--border);background:var(--bg-elev);padding:8px 10px 10px}.sp-scope{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.sp-scope-btn{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:2px 10px;font-size:12px}.sp-scope-active{border-color:var(--accent);color:var(--accent)}.sp-precedence{flex-basis:100%;font-size:11px}.sp-label{color:var(--dim);margin-bottom:4px;font-size:12px;display:block}.sp-textarea{resize:vertical;background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;padding:8px 10px}.sp-meta{justify-content:space-between;gap:8px;margin:4px 0 8px;font-size:11px;display:flex}.sp-locked{border-top:1px solid var(--border);padding-top:6px}.sp-locked-summary{cursor:pointer;font-size:12px}.sp-locked-text{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;max-height:220px;color:var(--dim);margin:6px 0 0;padding:8px 10px;font-size:11px;overflow:auto}.fb{padding:8px 8px 8px 10px}.fb-head{justify-content:space-between;align-items:center;display:flex}.fb-new{padding:4px 10px;font-size:12px}.fb-data-actions{flex-wrap:wrap;gap:4px;margin:8px 0 4px;display:flex}.fb-action{white-space:nowrap;flex:auto;padding:5px 8px;font-size:12px}.fb-quota{align-items:center;gap:6px;margin:6px 0;display:flex}.fb-quota-refresh{color:var(--dim);border-radius:var(--radius);background:0 0;border:none;padding:2px 6px;font-size:12px}.fb-quota-refresh:hover:not(:disabled){background:var(--border);color:var(--text)}.fb-notice{border:1px dashed var(--warn);border-radius:var(--radius);color:var(--warn);margin:4px 0 8px;padding:6px 8px;font-size:12px}.fb-tree{font-family:var(--font-mono);margin:4px 0 0;padding:0;font-size:12px;list-style:none}.fb-item{border-radius:var(--radius);justify-content:space-between;align-items:center;gap:6px;padding:1px 4px;display:flex}.fb-item:hover,.fb-open{background:var(--bg-elev)}.fb-name{color:var(--text);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;font:inherit;background:0 0;border:none;flex:1;padding:3px 2px;overflow:hidden}.fb-open .fb-name{color:var(--accent)}.fb-actions{gap:2px;display:none}.fb-item:hover .fb-actions{display:flex}.fb-icon{color:var(--dim);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:2px 5px}.fb-icon:hover{color:var(--text);background:var(--border)}.fb-locked .fb-name{opacity:.7;font-style:italic}.fb-locked .fb-name:before{content:"🔒 ";font-style:normal}.mp{padding:0;overflow:hidden}.mp-toolbar{border-bottom:1px solid var(--border);background:var(--bg-panel);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.mp-tabs{gap:4px;display:flex}.mp-tab{background:var(--bg-elev);color:var(--dim);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:4px 12px;font-size:12px;font-weight:600}.mp-tab-active{color:var(--accent);border-color:var(--accent)}.mp-run{align-items:center;gap:10px;display:flex}.mp-stage{flex:1;min-height:0;position:relative}.mp-source,.mp-preview{height:100%;position:absolute;inset:0}.mp-preview>.app-preview{height:100%}.editor-empty{padding:24px}.mp-console{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;height:140px;display:flex}.mp-console-head{box-sizing:border-box;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:30px;padding:0 10px;display:flex}.mp-console-toggle{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:flex}.mp-console-caret{color:var(--accent)}.mp-console-body{font-family:var(--font-mono);flex:1;padding:4px 6px;font-size:12px;overflow:auto}.mp-diag{text-align:left;border-radius:var(--radius);cursor:pointer;width:100%;font:inherit;color:var(--text);white-space:pre-wrap;word-break:break-word;background:0 0;border:none;padding:3px 6px;display:block}.mp-diag:hover{background:var(--bg-elev)}.mp-diag-error{color:var(--danger)}.mp-diag-warn{color:var(--warn)}.mp-diag-ok{color:var(--success)}.mp-diag-loc{color:var(--dim)}.mp-diag-code{color:var(--accent)}.mp-console-meta{align-items:center;gap:8px;display:flex}.mp-diag-row{align-items:flex-start;gap:4px;display:flex}.mp-diag-row .mp-diag{flex:1;min-width:0}.mp-diag-fix,.mp-fix-all{border:1px solid var(--border);border-radius:var(--radius);font:inherit;color:var(--dim);cursor:pointer;white-space:nowrap;background:0 0;flex:none;align-self:center;padding:1px 6px;font-size:11px}.mp-diag-fix{opacity:.45;transition:opacity .1s}.mp-diag-row:hover .mp-diag-fix,.mp-diag-fix:focus-visible{opacity:1}.mp-diag-fix:hover,.mp-fix-all:hover{color:var(--text);background:var(--bg-elev)}.mp-diff{height:100%;position:absolute;inset:0;overflow:auto}.diff-view{padding:12px;font-size:13px}.diff-toolbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.diff-side{align-items:center;gap:6px;display:inline-flex}.diff-side-label{color:var(--dim);font-size:12px}.diff-side select{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px}.diff-arrow{color:var(--dim)}.diff-empty,.diff-error{padding:8px 0}.diff-file{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.diff-file-head{background:var(--bg-elev);border-bottom:1px solid var(--border);padding:6px 10px}.diff-file-body{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.diff-line{white-space:pre;align-items:baseline;display:flex}.diff-gutter{text-align:right;width:44px;color:var(--dim);-webkit-user-select:none;user-select:none;flex:0 0 44px;padding-right:8px}.diff-sign{text-align:center;-webkit-user-select:none;user-select:none;flex:0 0 14px;width:14px}.diff-text{white-space:pre-wrap;word-break:break-word;flex:1}.diff-add{background:var(--success-tint)}.diff-add .diff-sign{color:var(--success)}.diff-del{background:var(--danger-tint)}.diff-del .diff-sign{color:var(--danger)}.diff-ctx{color:var(--text)}.fb-history{border-top:1px solid var(--border);margin-top:16px;padding-top:8px}.fb-cps{margin:0;padding:0;list-style:none}.fb-cp{border-radius:var(--radius);align-items:center;gap:4px;display:flex}.fb-cp:hover{background:var(--bg-elev)}.fb-cp-selected{background:var(--bg-elev);outline:1px solid var(--accent)}.fb-cp-main{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.fb-cp-author{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius);flex:none;padding:1px 6px;font-size:10px}.fb-cp-agent{background:var(--accent-tint);color:var(--accent)}.fb-cp-user{background:var(--success-tint);color:var(--success)}.fb-cp-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fb-cp-time{flex:none;font-size:11px}.fb-cp-restore{flex:none}.degraded-banner{flex-direction:column;gap:1px;display:flex}.degraded-notice{font-family:var(--font-mono);letter-spacing:.02em;border-radius:var(--radius);border-left:2px solid;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:11px;display:flex}.degraded-warn{background:var(--warn-tint);color:var(--warn)}.degraded-info{background:var(--accent-tint);color:var(--accent)}.degraded-text{color:var(--text);flex:auto}.degraded-dismiss{color:inherit;font-family:var(--font-mono);cursor:pointer;opacity:.7;border-radius:var(--radius);background:0 0;border:none;flex:none}.degraded-dismiss:hover{opacity:1}.cp-telemetry .cp-telemetry-val{font-variant-numeric:tabular-nums}.fb-export-actions{margin-top:.25rem}.run-console{flex-direction:column;height:100%;min-height:0;display:flex}.run-app-empty,.run-app-empty.cp-dim{color:#475569;padding:24px;position:absolute;inset:0}.run-console-pane{overflow:hidden}.run-console .mp-console{border-top:none;height:100%}.run-console-collapsed .mp-console-head{justify-content:center;padding:0}.run-console-collapsed .panel-title,.run-console-collapsed .mp-console-meta,.run-console-collapsed .mp-console-body{display:none}.status-bar{background:var(--bg-panel);border-top:1px solid var(--border);color:var(--dim);flex:none;align-items:center;gap:14px;padding:4px 12px;font-size:12px;display:flex}.sb-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.sb-dot{font-size:9px;line-height:1}.sb-dot-local{color:var(--success)}.sb-dot-nonlocal{color:var(--warn)}.sb-dot-none{color:var(--danger)}.sb-model{color:var(--text)}.sb-configure{font:inherit;color:var(--danger);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:2px 6px}.sb-configure:hover{background:var(--bg-elev);color:var(--text)}.sb-errors-active{color:var(--danger)}.sb-context-full{color:var(--warn)}.app-shell-mobile{height:100vh;height:100dvh}.mobile-shell{height:100vh;height:100dvh;height:calc(100dvh - var(--mobile-kb-inset,0px));background:var(--bg);flex-direction:column;display:flex}.mobile-shell input,.mobile-shell textarea,.mobile-shell select{font-size:16px}.mobile-header{padding:max(8px, env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;display:flex}.mobile-proj{align-items:center;min-width:0;display:inline-flex;position:relative}.mobile-proj-select{appearance:none;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;text-overflow:ellipsis;cursor:pointer;max-width:56vw;padding:6px 28px 6px 12px;font-size:16px;font-weight:600}.mobile-proj-select:disabled{opacity:.6}.mobile-proj-caret{color:var(--dim);pointer-events:none;font-size:10px;position:absolute;right:11px}.mobile-model{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);font:inherit;color:var(--text);white-space:nowrap;cursor:pointer;align-items:center;gap:7px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.mobile-model-dot{background:var(--dim);border-radius:50%;flex-shrink:0;width:7px;height:7px}.mobile-model-ready .mobile-model-dot{background:var(--success);box-shadow:0 0 6px var(--success)}.mobile-model-loading .mobile-model-dot{background:var(--warn);animation:1s steps(2,start) infinite blink}.mobile-model-off{color:var(--dim)}.mobile-header-actions{align-items:center;gap:8px;display:inline-flex}.mobile-overflow{position:relative}.mobile-overflow-btn{background:var(--bg-elev);border:1px solid var(--border);width:34px;height:32px;color:var(--text-2);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;list-style:none;display:inline-flex}.mobile-overflow-btn::-webkit-details-marker{display:none}.mobile-overflow[open] .mobile-overflow-btn{color:var(--accent);border-color:var(--accent)}.mobile-overflow-menu{z-index:70;background:var(--bg-panel);border:1px solid var(--border-strong);flex-direction:column;min-width:150px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.mobile-overflow-menu button{border:none;border-bottom:1px solid var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;padding:11px 14px;font-size:14px}.mobile-overflow-menu button:last-child{border-bottom:none}.mobile-overflow-menu button:hover{background:var(--bg-hover);color:var(--accent)}.mobile-body{flex:1;min-height:0;position:relative}.mobile-view{flex-direction:column;min-height:0;display:none;position:absolute;inset:0}.mobile-view.is-active{display:flex}.mobile-stack{-webkit-overflow-scrolling:touch;padding:6px 8px max(10px, env(safe-area-inset-bottom));overflow-y:auto}.mobile-stack .panel-body{flex:none;height:auto;margin:6px 0}.mobile-stack .fb{min-height:220px}.mobile-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);flex:none;margin:6px 0;overflow:hidden}.mobile-preview-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 12px;display:flex}.mobile-preview-path{white-space:nowrap;text-overflow:ellipsis;text-align:left;direction:rtl;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.mobile-preview-lang{flex-shrink:0;font-size:12px}.mobile-preview-close{width:36px;height:36px;color:var(--dim);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:0 0 36px;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.mobile-preview-body{-webkit-overflow-scrolling:touch;max-height:60vh;font-family:var(--font-mono);white-space:pre;tab-size:2;color:var(--text);margin:0;padding:12px;font-size:16px;line-height:1.45;overflow:auto}.mobile-preview-empty{text-align:center;flex:none;margin:6px 0;padding:18px 14px;font-size:14px}.mobile-cm{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);flex-direction:column;flex:auto;min-height:50vh;margin:6px 0;display:flex;overflow:hidden}.mobile-cm-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;padding:9px 12px;display:flex}.mobile-cm-path{white-space:nowrap;text-overflow:ellipsis;text-align:left;direction:rtl;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.mobile-cm-close{width:36px;height:36px;color:var(--dim);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:0 0 36px;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.mobile-cm-host{flex:auto;min-height:0;overflow:hidden}.mobile-cm-host .cm-editor{height:100%}.mobile-cm-host .cm-scroller{-webkit-overflow-scrolling:touch;overflow:auto}.mobile-cm-empty{text-align:center;flex:none;margin:6px 0;padding:18px 14px;font-size:14px}.mobile-view .terminal-chat{background:var(--bg);border:none;border-radius:0;height:100%;margin:0;padding:0}.mobile-view .terminal-chat>.panel-title{display:none}.mobile-view .chat-scroll{gap:14px;padding:14px 14px 4px}.mobile-shell .chat-user{align-items:flex-end}.mobile-shell .chat-user .chat-role{display:none}.mobile-shell .chat-user .chat-content{background:var(--accent-tint);border:1px solid var(--accent);border-radius:var(--radius);max-width:86%;padding:9px 13px;font-size:13px}.mobile-shell .chat-assistant .chat-content{background:0 0;border:none;border-radius:0;padding:0;font-size:13px;line-height:1.5}.mobile-shell .chat-error .chat-content{background:var(--danger-tint);border:1px solid var(--danger);border-radius:var(--radius);padding:9px 12px}.mobile-shell .chat-think,.mobile-shell .chat-tool{background:var(--bg-elev);border-color:var(--border);border-radius:var(--radius);margin:6px 0}.mobile-shell .chat-think-head,.mobile-shell .chat-tool-head{padding:9px 12px}.mobile-shell .chat-tool-name{font-size:13px}.mobile-shell .chat-tool-status{background:var(--success);border-radius:50%;flex-shrink:0;width:7px;height:7px;font-size:0}.mobile-shell .chat-tool-running .chat-tool-status{background:var(--warn);animation:1s steps(2,start) infinite blink}.mobile-shell .chat-tool-error .chat-tool-status{background:var(--danger)}.mobile-view .chat-input{padding:8px 12px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg);flex-wrap:wrap;align-items:center;gap:10px;margin:0}.mobile-view .chat-input textarea{border-radius:var(--radius);resize:none;min-height:44px;padding:11px 14px;font-size:16px}.mobile-view .chat-send{border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.mobile-view .chat-send-label{display:none}.mobile-view .chat-send-icon{width:20px;height:20px;display:block}.mobile-view .btn-stop{border-radius:var(--radius);flex:none;padding:9px 14px}.chat-send-icon{display:none}.mobile-tabbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:8px 6px max(8px, env(safe-area-inset-bottom));background:#161922f5;flex-shrink:0;display:flex}.mobile-tab{color:var(--dim);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:4px 0;font-size:11px;font-weight:600;display:flex}.mobile-tab.is-active{color:var(--accent)}.mobile-tab-icon{width:22px;height:22px}.mobile-tab-label{letter-spacing:.01em}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:local(JetBrains Mono),url(/vendor/fonts/jetbrains-mono-400.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:local(JetBrains Mono Medium),url(/vendor/fonts/jetbrains-mono-500.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:local(JetBrains Mono Bold),url(/vendor/fonts/jetbrains-mono-700.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:local(Geist),url(/vendor/fonts/geist-400.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:local(Geist Medium),url(/vendor/fonts/geist-500.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:local(Geist SemiBold),url(/vendor/fonts/geist-600.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:local(Geist Bold),url(/vendor/fonts/geist-700.woff2)format("woff2")}@keyframes lf-scan{to{background-position:0 4px}}@keyframes lf-breathe{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@keyframes lf-blink{to{opacity:0}}.app-main{position:relative}@media (prefers-reduced-motion:no-preference){.app-main:before{content:"";pointer-events:none;z-index:50;background:radial-gradient(120% 60% at 50% -10%, var(--fx-glow), transparent 60%);position:absolute;inset:0}.app-main:after{content:"";pointer-events:none;z-index:50;background:repeating-linear-gradient(180deg, var(--fx-scan) 0px, var(--fx-scan) 1px, transparent 2px, transparent 4px);background-size:100% 4px;animation:6s linear infinite lf-scan;position:absolute;inset:0}}.rail{background:var(--bg-elev);border-right:1px solid var(--border);width:76px;font-family:var(--font-mono);z-index:60;flex-direction:column;flex:none;align-items:center;padding:12px 0;display:flex}.rail-brand{width:32px;height:32px;color:var(--accent);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;margin-bottom:18px;font-size:16px;font-weight:700;display:flex;position:relative}@keyframes lf-ignite{0%{color:var(--accent);text-shadow:none}25%{color:#fff;text-shadow:0 0 14px var(--accent-hover), 0 0 4px #fff}to{color:var(--accent);text-shadow:none}}@keyframes lf-spark{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) scale(.2);opacity:0}}.rail-brand.is-igniting{animation:.7s ease-out lf-ignite}.ember-sparks{pointer-events:none;display:block;position:absolute;inset:0}.ember-spark{background:var(--accent-hover);width:3px;height:3px;box-shadow:0 0 5px var(--accent-hover);opacity:0;border-radius:50%;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:50%}@media (prefers-reduced-motion:no-preference){.rail-brand.is-igniting{animation:.7s ease-out lf-ignite,.32s ease-out lf-brand-pop}.ember-spark{animation:lf-spark var(--dur,.6s) var(--delay,0s) ease-out forwards}}@keyframes lf-brand-pop{0%{transform:scale(1)}35%{transform:scale(1.45)}to{transform:scale(1)}}.forge-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020603b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.forge-card{background:var(--bg-elev);border:1px solid var(--border-strong);width:100%;max-width:440px;box-shadow:0 0 0 1px var(--accent-tint), 0 18px 60px #0009, 0 0 40px var(--fx-glow);font-family:var(--font-mono);color:var(--text);padding:18px 18px 14px}.forge-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:14px;display:flex}.forge-mark{color:var(--accent);font-size:18px;font-weight:700}.forge-title{letter-spacing:.18em;color:var(--text);flex:1;font-size:13px;font-weight:700}.forge-close{border:1px solid var(--border);color:var(--dim);font-family:var(--font-mono);cursor:pointer;background:0 0;padding:5px 8px;font-size:12px;line-height:1}.forge-close:hover{color:var(--text);border-color:var(--border-strong);background:var(--bg-hover)}.forge-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.forge-section{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin:14px 0 8px;font-size:10px}.forge-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.forge-stat{background:var(--bg-panel);flex-direction:column;gap:3px;min-width:0;padding:9px 11px;display:flex}.forge-stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-size:9.5px}.forge-stat-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.forge-stat-accent{color:var(--accent)}.forge-foot{color:var(--dim);text-align:center;margin:14px 0 2px;font-size:10.5px;line-height:1.5}@media (prefers-reduced-motion:no-preference){.forge-overlay{animation:.14s ease-out lf-forge-fade}.forge-card{animation:.18s ease-out lf-forge-rise}}@keyframes lf-forge-fade{0%{opacity:0}to{opacity:1}}@keyframes lf-forge-rise{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.rail-modes{flex-direction:column;gap:4px;width:100%;display:flex}.rail-meta{flex-direction:column;width:100%;display:flex}.rail-sep{background:var(--border);width:40px;height:1px;margin:8px 0}.rail-bottom{flex-direction:column;align-items:center;width:100%;margin-top:auto;display:flex}.rail-btn-meta{color:var(--dim)}.rail-btn-meta .rail-icon{font-size:16px}.rail-btn{width:100%;color:var(--dim);font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:10px 0;font-size:9px;display:flex}.rail-btn:hover{color:var(--text-2);background:0 0}.rail-btn-active,.rail-btn-active:hover{color:var(--accent);background:var(--bg-hover);border-left-color:var(--accent)}.rail-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rail-icon{font-size:18px;line-height:1}.rail-label{line-height:1}.rail-status{color:var(--dim);flex-direction:column;align-items:center;gap:5px;margin-top:10px;display:flex}.rail-status-label{letter-spacing:.12em;writing-mode:vertical-rl;font-size:8px;transform:rotate(180deg)}.rail-status-dot{background:var(--dim);border-radius:50%;width:8px;height:8px}.rail-status-ready .rail-status-dot{background:var(--success);box-shadow:0 0 7px var(--success)}.rail-status-loading .rail-status-dot{background:var(--warn)}@media (prefers-reduced-motion:no-preference){.rail-status-ready .rail-status-dot{animation:3s ease-in-out infinite lf-breathe}}.topbar-caption{color:var(--dim);border:1px solid var(--border);padding:2px 8px;font-size:11px}.topbar-model{color:var(--text-2);border:1px solid var(--border-strong);background:var(--bg-elev);align-items:center;gap:8px;margin-left:auto;padding:3px 4px 3px 10px;font-size:11px;display:inline-flex}.topbar-model-tag:empty{display:none}.topbar-model-tag{color:var(--accent-ink);background:var(--accent);padding:1px 8px;font-size:10px;font-weight:700}.topbar-model-loading .topbar-model-tag,.topbar-model-off .topbar-model-tag{background:var(--dim)}.mode-host{flex:1;min-height:0;position:relative}.mode-slot{height:100%;min-height:0}.panel-crash{border:1px solid var(--danger-border);border-radius:var(--radius);background:var(--danger-tint);color:var(--text);font-family:var(--font-mono);border-left-width:3px;flex-direction:column;gap:6px;min-width:0;margin:10px;padding:10px 12px;font-size:12px;display:flex}.panel-crash-title{color:var(--danger);text-transform:lowercase;font-weight:600}.panel-crash-msg{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel-crash-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.panel-crash-reload{font-size:12px}.panel-crash-root{max-width:560px;margin:24px auto}.vibe-mode,.code-mode,.run-mode{flex-direction:column;display:flex}.vibe-split,.code-cols{flex:1;min-height:0}.app-preview{background:var(--bg-panel);border:1px solid var(--border);flex-direction:column;height:calc(100% - 8px);margin:4px;display:flex;overflow:hidden}.app-preview-bar{border-bottom:1px solid var(--border);font-family:var(--font-mono);align-items:center;gap:10px;padding:7px 12px;font-size:11px;display:flex}.app-preview-dot{background:var(--dim);border-radius:50%;flex:none;width:8px;height:8px}.app-preview-dot.is-live{background:var(--success);box-shadow:0 0 6px var(--success)}.app-preview-label{text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.app-preview-buildstate{margin-left:auto}.app-preview-run{padding:4px 12px;font-size:12px}.app-preview-stage{background:#f4f1ea;flex:1;min-height:0;position:relative}.app-preview-stage.is-headless{background:var(--bg-panel)}.app-preview-empty{text-align:center;color:var(--dim);background:var(--bg-panel);justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.app-host{height:100%;position:absolute;inset:0}.config-mode{flex-direction:column;display:flex;overflow:hidden}.config-scroll{flex:1;justify-content:center;min-height:0;display:flex;overflow-y:auto}.config-col{flex-direction:column;gap:16px;width:100%;max-width:680px;padding:24px 20px 40px;display:flex}.cfg-card{background:var(--bg-panel);border:1px solid var(--border);padding:16px 18px}.cfg-card-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-2);margin:0 0 12px;font-size:11px}.cfg-disclosure{padding:0}.cfg-card-head{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:14px 18px;display:flex}.cfg-card-head .cfg-card-title{margin:0}.cfg-card-caret{color:var(--accent);font-size:11px}.cfg-card-sub{margin-left:auto;font-size:11px}.cfg-card-body{padding:0 18px 16px}.cfg-card .control-panel,.cfg-card .panel-body{background:0 0;border:none;height:auto;margin:0;padding:0;overflow:visible}.cfg-card .panel-title{display:none}.start-mode{flex-direction:column;height:100%;display:flex;overflow:hidden}.start-scroll{flex:1;min-height:0;overflow-y:auto}.start-col{flex-direction:column;gap:16px;width:100%;max-width:680px;margin:0 auto;padding:24px 20px 40px;display:flex}.start-hero{padding:8px 2px 4px}.start-title{font-family:var(--font-mono);letter-spacing:.02em;color:var(--accent);margin:0 0 10px;font-size:24px}.start-pitch{color:var(--text);margin:0 0 8px;font-size:14px;line-height:1.55}.start-pitch.cp-dim{color:var(--dim)}.start-step-num{width:18px;height:18px;color:var(--accent-ink);background:var(--accent);vertical-align:middle;justify-content:center;align-items:center;margin-right:8px;font-size:11px;font-weight:700;display:inline-flex}.start-step .cfg-card-title{align-items:center;display:flex}.start-readout{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.start-readout-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-2);margin:0 0 10px;font-size:11px}.start-readout-rows{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;display:grid}.start-readout-row{display:contents}.start-readout-label{color:var(--dim);font-size:12px}.start-readout-val{font-family:var(--font-mono);color:var(--text);margin:0;font-size:12px}.start-readout-rec{margin-top:14px}.start-rec-list{color:var(--text);margin:6px 0 0;padding-left:18px;font-size:13px}.start-rec-list li{margin:2px 0}.start-readout-disclosure{margin:12px 0 0;font-size:11px;line-height:1.5}.start-guide-cta{justify-content:space-between;align-items:center;gap:16px;display:flex}.start-guide-cta .cfg-card-title{margin-bottom:6px}.start-guide-blurb{margin:0;font-size:13px;line-height:1.5}.start-guide-btn{white-space:nowrap;flex:none}.guide-mode{flex-direction:column;height:100%;display:flex;overflow:hidden}.guide-scroll{flex:1;justify-content:center;min-height:0;display:flex;overflow-y:auto}.guide-col{width:100%;max-width:720px;padding:28px 22px 48px}.guide-header{margin-bottom:8px}.guide-title{font-family:var(--font-mono);letter-spacing:.02em;color:var(--accent);margin:0 0 10px;font-size:22px}.guide-lede{color:var(--text-2);margin:0;font-size:15px;line-height:1.6}.guide-section{border-top:1px solid var(--border);margin-top:26px;padding-top:18px}.guide-h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:0 0 10px;font-size:13px}.guide-section p{color:var(--text);margin:0 0 10px;font-size:14px;line-height:1.65}.guide-section p.cp-dim{color:var(--dim)}.guide-section strong{color:var(--text);font-weight:700}.guide-section em{color:var(--accent);font-style:normal}.guide-defs{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;display:grid}.guide-defs dt{font-family:var(--font-mono);color:var(--accent);font-size:13px;font-weight:700}.guide-defs dd{color:var(--text);margin:0;font-size:13px;line-height:1.55}.guide-footer{margin-top:30px}.mobile-vibe{flex-direction:column;display:none}.mobile-vibe.is-active{display:flex}.mobile-vibe-preview{border-bottom:1px solid var(--border);flex:none;height:40%;min-height:180px}.mobile-vibe-preview .app-preview{border:none;height:100%;margin:0}.mobile-vibe-chat{flex:1;min-height:0}.mobile-code{-webkit-overflow-scrolling:touch;min-height:0;padding-bottom:max(10px, env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow-y:auto}.mobile-chipbar{border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;flex:none;gap:6px;padding:8px;display:flex;overflow-x:auto}.mobile-chip{background:var(--bg-elev);border:1px solid var(--border);color:var(--text-2);font-family:var(--font-mono);white-space:nowrap;cursor:pointer;flex:none;padding:6px 11px;font-size:12px}.mobile-chip.is-open{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.mobile-chip-empty{padding:8px}.mobile-disclosure,.mobile-chatsheet{border-top:1px solid var(--border)}.mobile-disclosure-head,.mobile-chatsheet-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:12px;list-style:none;display:flex}.mobile-disclosure-head::-webkit-details-marker{display:none}.mobile-chatsheet-head::-webkit-details-marker{display:none}.mobile-disclosure-body{padding:0 8px 8px}.mobile-chatsheet-body{height:60vh}.mobile-run{flex-direction:column;height:100%;min-height:0;display:flex}.mobile-run-app{flex:1;min-height:0}.mobile-run-app .app-preview{border:none;height:100%;margin:0}.mobile-console{border-top:1px solid var(--border);background:var(--bg-elev);flex:none}.mobile-console-head{font-family:var(--font-mono);color:var(--text-2);cursor:pointer;align-items:center;gap:10px;padding:11px 14px;font-size:12px;list-style:none;display:flex}.mobile-console-head::-webkit-details-marker{display:none}.mobile-console-count{color:var(--accent-ink);background:var(--warn);padding:1px 7px;font-size:11px}.mobile-console-body{-webkit-overflow-scrolling:touch;max-height:40vh;overflow:auto}.mobile-console-body .mp-console{border-top:none;height:auto}.logs-mode{flex-direction:column;height:100%;display:flex;overflow:hidden}.logs-console{border-top:none;flex:1;height:auto;min-height:0}.logs-head{flex-wrap:wrap;gap:8px;height:auto;min-height:30px;padding:8px 12px}.logs-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.logs-ctl{color:var(--dim);align-items:center;gap:5px;font-size:12px;display:inline-flex}.logs-ctl select{font:inherit;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:2px 6px;font-size:12px}.logs-ctl-check{cursor:pointer}.logs-clear{font:inherit;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:3px 10px;font-size:12px}.logs-clear:hover{border-color:var(--danger);color:var(--danger)}.logs-corr-banner{color:var(--dim);border-bottom:1px solid var(--border);background:var(--bg-elev);align-items:center;gap:8px;padding:4px 12px;font-size:12px;display:flex}.logs-corr-banner code{font-family:var(--font-mono);color:var(--accent)}.logs-corr-clear{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;font-size:12px;text-decoration:underline}.logs-body{flex:1;min-height:0}.logs-row{border-bottom:1px solid color-mix(in oklab, var(--border) 50%, transparent);font-family:var(--font-mono);flex-wrap:wrap;align-items:baseline;gap:6px;padding:3px 6px;font-size:12px;display:flex}.logs-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius);background:var(--bg-elev);color:var(--dim);flex:none;padding:1px 6px;font-size:10px}.logs-badge-error{color:var(--danger)}.logs-badge-warn{color:var(--warn)}.logs-badge-info{color:var(--success)}.logs-badge-debug{color:var(--accent)}.logs-badge-trace{color:var(--dim)}.logs-cat{color:var(--accent);flex:none}.logs-msg{color:var(--text);word-break:break-word;flex:1;min-width:120px}.logs-corr{border:1px solid var(--border);border-radius:var(--radius);color:var(--dim);font:inherit;cursor:pointer;background:0 0;flex:none;padding:0 5px;font-size:11px}.logs-corr:hover{color:var(--accent);border-color:var(--accent)}.logs-time{flex:none}.logs-data{background:var(--bg-elev);border-radius:var(--radius);color:var(--dim);white-space:pre-wrap;word-break:break-word;flex-basis:100%;margin:2px 0 2px 18px;padding:6px 8px;font-size:11px;overflow-x:auto}
