@font-face{font-family:'Geist';src:url('/assets/fonts/geist.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:'Geist Mono';src:url('/assets/fonts/geist-mono.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:'Instrument Serif';src:url('/assets/fonts/instrument-serif-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}:root{color-scheme:dark;--bg:#0a0b0d;--bg-veil:#0d0f12;--panel:#0e1013;--panel-2:#12151a;--raise:#171b21;--raise-2:#1e232b;--line:rgba(255,255,255,0.07);--line-2:rgba(255,255,255,0.11);--line-3:rgba(255,255,255,0.18);--fg:#eff2f5;--fg-2:#a6aeb8;--fg-3:#79818c;--fg-4:#525a64;--accent:#ffb02e;--accent-2:#ff7a33;--accent-ink:#1a1204;--accent-soft:rgba(255,176,46,0.13);--accent-line:rgba(255,176,46,0.34);--accent-fill:linear-gradient(180deg,#ffc04d 0%,#ff9b26 100%);--accent-shadow:0 6px 20px -8px rgba(255,150,40,0.65);--ok:#45d399;--warn:#ffc857;--err:#ff5f6d;--info:#74a9ff;--ok-soft:rgba(69,211,153,0.13);--warn-soft:rgba(255,200,87,0.13);--err-soft:rgba(255,95,109,0.13);--info-soft:rgba(116,169,255,0.13);--font:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--mono:'Geist Mono',ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;--serif:'Instrument Serif','Iowan Old Style',Georgia,'Times New Roman',serif;--r-xs:5px;--r-sm:7px;--r-md:9px;--r-lg:12px;--r-xl:16px;--r-2xl:22px;--r-full:999px;--sh-1:0 1px 2px rgba(0,0,0,0.35);--sh-2:0 1px 0 rgba(255,255,255,0.03) inset,0 6px 18px -8px rgba(0,0,0,0.6);--sh-3:0 1px 0 rgba(255,255,255,0.04) inset,0 24px 56px -24px rgba(0,0,0,0.85);--sh-pop:0 1px 0 rgba(255,255,255,0.05) inset,0 32px 80px -32px rgba(0,0,0,0.9);--ease:cubic-bezier(0.22,0.8,0.24,1);--fast:120ms;--med:220ms;--slow:380ms;--topbar-h:52px;--sidebar-w:264px;--gutter:22px}:root[data-theme='light']{color-scheme:light;--bg:#f3f0ea;--bg-veil:#ebe7df;--panel:#ffffff;--panel-2:#ffffff;--raise:#f5f2ec;--raise-2:#eae5dc;--line:rgba(24,20,14,0.09);--line-2:rgba(24,20,14,0.14);--line-3:rgba(24,20,14,0.24);--fg:#14161a;--fg-2:#545b64;--fg-3:#767d87;--fg-4:#a2a8b0;--accent:#b2610a;--accent-2:#d2691e;--accent-ink:#1a1204;--accent-soft:rgba(210,120,20,0.12);--accent-line:rgba(178,97,10,0.3);--ok:#128c62;--warn:#a86a00;--err:#cf2f3e;--info:#2c62c9;--ok-soft:rgba(18,140,98,0.11);--warn-soft:rgba(168,106,0,0.11);--err-soft:rgba(207,47,62,0.1);--info-soft:rgba(44,98,201,0.1);--sh-1:0 1px 2px rgba(28,22,12,0.06);--sh-2:0 1px 2px rgba(28,22,12,0.06),0 8px 24px -12px rgba(28,22,12,0.16);--sh-3:0 1px 2px rgba(28,22,12,0.05),0 24px 60px -28px rgba(28,22,12,0.25);--sh-pop:0 2px 6px rgba(28,22,12,0.06),0 40px 90px -40px rgba(28,22,12,0.35)}*,*::before,*::after{box-sizing:border-box}*{margin:0}html,body{height:100%}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font:400 14px/1.5 var(--font);font-feature-settings:'ss01' 1,'cv01' 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden;overscroll-behavior:none}body::before{content:'';position:fixed;inset:0 0 auto;height:420px;background:radial-gradient(60% 100% at 50% 0%,rgba(255,176,46,0.06),transparent 70%),radial-gradient(40% 80% at 85% 0%,rgba(116,169,255,0.04),transparent 70%);pointer-events:none;z-index:0}:root[data-theme='light'] body::before{opacity:0.55}::selection{background:var(--accent-soft);color:var(--fg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5{font-weight:600;letter-spacing:-0.014em;line-height:1.25}a{color:var(--accent);text-decoration:none;text-underline-offset:2px}a:hover{text-decoration:underline}code,kbd,pre,.mono{font-family:var(--mono);font-feature-settings:'liga' 0}svg{display:block;flex:none}*{scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-2);border:3px solid transparent;background-clip:padding-box;border-radius:var(--r-full)}*::-webkit-scrollbar-thumb:hover{background:var(--line-3);border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-track{background:transparent}.skip{position:fixed;top:8px;left:8px;z-index:200;padding:8px 12px;border-radius:var(--r-md);background:var(--raise);color:var(--fg);transform:translateY(-200%)}.skip:focus{transform:none}.grow{flex:1 1 auto;min-width:0}.hint{color:var(--fg-3);font-size:12px;line-height:1.55}.hint.pad{padding:14px 12px}.muted{color:var(--fg-3)}kbd,.kbd-hint{font:500 10.5px/1 var(--mono);letter-spacing:0.02em;color:var(--fg-3);background:var(--raise);border:1px solid var(--line-2);border-radius:var(--r-xs);padding:3px 5px;min-width:18px;text-align:center}code{font-size:0.9em;background:var(--raise);border:1px solid var(--line);border-radius:var(--r-xs);padding:1px 4px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.list{display:flex;flex-direction:column;gap:2px}.dim{opacity:0.75}.dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--fg-4);flex:none;display:inline-block}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.dot.err{background:var(--err);box-shadow:0 0 0 3px var(--err-soft)}.dot.live{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:pulse 1.6s var(--ease) infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,176,46,0.4)}50%{box-shadow:0 0 0 4px rgba(255,176,46,0)}}.tag,.badge{display:inline-flex;align-items:center;gap:4px;font:500 10.5px/1 var(--font);letter-spacing:0.02em;text-transform:uppercase;color:var(--fg-2);background:var(--raise);border:1px solid var(--line);border-radius:var(--r-full);padding:4px 7px;white-space:nowrap}.tag.ok,.badge.ok{color:var(--ok);background:var(--ok-soft);border-color:transparent}.tag.warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}.tag.err,.badge.err{color:var(--err);background:var(--err-soft);border-color:transparent}.tag.info{color:var(--info);background:var(--info-soft);border-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--raise);color:var(--fg);font-size:12.5px;font-weight:500;letter-spacing:-0.005em;white-space:nowrap;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.btn:hover{background:var(--raise-2);border-color:var(--line-3)}.btn:active{transform:translateY(0.5px)}.btn[disabled]{opacity:0.5;cursor:not-allowed}.btn.primary{background:var(--accent-fill);border-color:transparent;color:var(--accent-ink);font-weight:600;box-shadow:var(--accent-shadow)}.btn.primary:hover{filter:brightness(1.06) saturate(1.02);background:var(--accent-fill)}.btn.primary svg{stroke-width:2.1}.btn.soft{background:var(--panel-2)}.btn.danger{color:var(--err);border-color:var(--err-soft);background:var(--err-soft)}.btn.ghost{background:transparent;border-color:transparent}.btn.sm{height:26px;padding:0 9px;font-size:12px;border-radius:var(--r-sm)}.btn.xs{height:22px;padding:0 7px;font-size:11.5px}.btn.block{width:100%}.btn svg{opacity:0.95}.link{display:inline-flex;align-items:center;gap:5px;color:var(--fg-3);font-size:12px;transition:color var(--fast) var(--ease)}.link:hover{color:var(--fg);text-decoration:none}.icon-btn{position:relative;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:var(--r-md);color:var(--fg-3);transition:color var(--fast) var(--ease),background var(--fast) var(--ease)}.icon-btn:hover{color:var(--fg);background:var(--raise)}.icon-btn.sm{width:26px;height:26px;border-radius:var(--r-sm)}.icon-btn.xs{width:22px;height:22px;border-radius:var(--r-xs)}.icon-btn.ghost{opacity:0.55}.icon-btn.ghost:hover{opacity:1}.icon-btn.active{color:var(--accent-ink);background:var(--accent)}.icon-btn[hidden]{display:none}.pill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:var(--r-full);border:1px solid transparent;color:var(--fg-3);font-size:11.5px;font-weight:500;letter-spacing:0.01em;transition:color var(--fast) var(--ease),background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.pill:hover{color:var(--fg);background:var(--raise);border-color:var(--line)}.pill.danger{color:var(--err);background:var(--err-soft)}.req-pill{font-variant-numeric:tabular-nums;color:var(--fg-3)}.req-pill svg{opacity:0.55}.req-pill:not(.hot){color:var(--fg-2)}.req-pill.hot{color:var(--warn);background:var(--warn-soft);border-color:transparent}.pill svg{opacity:0.8}.app{position:relative;z-index:1;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);height:100dvh;width:100%}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:0 12px 0 14px;background:color-mix(in srgb,var(--panel) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);position:relative;z-index:30}.brand{display:inline-flex;align-items:center;gap:8px;padding-right:4px;color:var(--fg);border-radius:var(--r-sm)}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--accent-fill);color:#241505;box-shadow:0 1px 0 rgba(255,255,255,0.35) inset,0 4px 12px -4px rgba(255,150,40,0.7)}.brand-name{font-size:13.5px;font-weight:600;letter-spacing:-0.02em}.switch{position:relative;display:inline-flex;align-items:center;padding:3px;margin-left:6px;background:var(--raise);border:1px solid var(--line);border-radius:var(--r-full);isolation:isolate}.switch-thumb{position:absolute;top:3px;left:3px;height:calc(100% - 6px);width:calc(50% - 3px);border-radius:var(--r-full);background:var(--panel-2);border:1px solid var(--line-2);box-shadow:var(--sh-1);transition:transform var(--med) var(--ease);z-index:-1}.app[data-layout='code'] .switch-thumb{transform:translateX(100%)}.switch-btn{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 11px;border-radius:var(--r-full);font-size:12px;font-weight:500;color:var(--fg-3);transition:color var(--fast) var(--ease)}.switch-btn svg{opacity:0.75}.switch-btn:hover{color:var(--fg-2)}.switch-btn.active{color:var(--fg)}.switch-btn.active svg{opacity:1;color:var(--accent)}.project-chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 6px 0 9px;margin-left:4px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--panel-2);color:var(--fg-2);font-size:12.5px;font-weight:500;max-width:240px;transition:border-color var(--fast) var(--ease)}.project-chip:hover{border-color:var(--line-2)}.project-chip #project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.project-dot{width:7px;height:7px;border-radius:2px;background:linear-gradient(135deg,var(--accent),var(--accent-2));flex:none}.status-pill{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:var(--r-full);border:1px solid var(--line);background:transparent;color:var(--fg-2);font-size:12px;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.status-pill:hover{background:var(--raise);border-color:var(--line-2)}.status-sep{width:1px;height:12px;background:var(--line-2)}.status-hint{color:var(--fg-4);font-family:var(--mono);font-size:10.5px;letter-spacing:-0.01em}.topbar-actions{display:flex;align-items:center;gap:2px}.topbar-actions .btn{margin-left:6px}.runtime-panel{position:absolute;top:calc(var(--topbar-h) - 6px);right:12px;width:320px;padding:6px;border-radius:var(--r-lg);background:var(--panel-2);border:1px solid var(--line-2);box-shadow:var(--sh-pop);z-index:40;animation:pop-in var(--med) var(--ease)}.runtime-panel h4{font-size:10.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--fg-4);padding:8px 10px 6px}.runtime-row{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-sm)}.runtime-row:hover{background:var(--raise)}.runtime-row .name{font-size:12.5px;font-weight:500}.runtime-row .desc{font-size:11px;color:var(--fg-3);grid-column:2 / -1;margin-top:-2px}.runtime-row .state{font-size:10.5px;font-family:var(--mono);color:var(--fg-3);text-transform:lowercase}.runtime-row.on .state{color:var(--ok)}.runtime-panel .runtime-foot{padding:8px 10px 4px;border-top:1px solid var(--line);margin-top:4px}.sidebar{grid-row:2;grid-column:1;display:flex;flex-direction:column;gap:4px;min-height:0;padding:10px 8px 8px;background:linear-gradient(180deg,var(--panel) 0%,color-mix(in srgb,var(--panel) 70%,var(--bg)) 100%);border-right:1px solid var(--line);z-index:20}.side-block{display:flex;flex-direction:column;gap:2px;min-height:0}.side-block.grow{flex:1 1 auto;overflow:hidden}.side-label{display:flex;align-items:center;justify-content:space-between;padding:10px 8px 6px;font-size:10.5px;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;color:var(--fg-4)}.side-list{display:flex;flex-direction:column;gap:1px;overflow-y:auto;min-height:0}.side-list .list-item{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:var(--r-sm);color:var(--fg-2);font-size:12.5px;cursor:pointer;position:relative;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.side-list .list-item svg{color:var(--fg-4);flex:none}.side-list .list-item .name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-list .list-item .meta{font-size:10.5px;color:var(--fg-4);font-variant-numeric:tabular-nums;flex:none}.side-list .list-item:hover{background:var(--raise);color:var(--fg)}.side-list .list-item:hover .meta{opacity:0}.side-list .list-item .icon-btn{position:absolute;right:4px;opacity:0;pointer-events:none}.side-list .list-item:hover .icon-btn{opacity:1;pointer-events:auto}.side-list .list-item.active{background:var(--raise);color:var(--fg)}.side-list .list-item.active::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:var(--r-full);background:var(--accent)}.side-list .list-item.active svg{color:var(--accent)}.side-action{display:flex;align-items:center;gap:8px;height:30px;margin-top:4px;padding:0 8px;border-radius:var(--r-sm);border:1px dashed var(--line-2);color:var(--fg-3);font-size:12.5px;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.side-action:hover{color:var(--fg);border-color:var(--line-3);background:var(--raise)}.side-action span:first-of-type{flex:1 1 auto;text-align:left}.side-foot{margin-top:auto;padding:10px 8px 4px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.storage{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.45;color:var(--fg-4)}.storage-mark{opacity:0.6;margin-top:1px}.side-foot-actions{display:flex;gap:14px}.workspace{grid-row:2;grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);min-height:0;min-width:0;transition:grid-template-columns var(--slow) var(--ease)}.app[data-layout='code'] .workspace{grid-template-columns:minmax(0,1fr) minmax(0,440px)}.app[data-pane='preview-hidden'] .workspace{grid-template-columns:minmax(0,1fr) 0}.app[data-pane='preview-hidden'] .preview-col{opacity:0;pointer-events:none;border:0}.work-col{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line);background:var(--bg)}.tabs{display:flex;align-items:center;gap:2px;height:42px;padding:0 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 55%,transparent);flex:none;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-sm);color:var(--fg-3);font-size:12.5px;font-weight:500;white-space:nowrap;transition:color var(--fast) var(--ease),background var(--fast) var(--ease)}.tab:hover{color:var(--fg);background:var(--raise)}.tab.active{color:var(--fg)}.tab.active::after{content:'';position:absolute;left:10px;right:10px;bottom:-7px;height:2px;border-radius:var(--r-full);background:var(--accent);box-shadow:0 0 12px 0 rgba(255,176,46,0.6)}.tab-count{font-size:10.5px;font-family:var(--mono);color:var(--fg-4)}.tab.active .tab-count{color:var(--fg-3)}.view{display:none;flex:1 1 auto;min-height:0;min-width:0}.view.active{display:flex;flex-direction:column}.transcript{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;overscroll-behavior:contain;scroll-padding-top:12px;mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 100%)}.transcript-inner.is-empty{justify-content:center;min-height:100%;padding-top:12px;padding-bottom:24px}.transcript-inner{display:flex;flex-direction:column;gap:14px;width:100%;max-width:780px;margin:0 auto;padding:12px var(--gutter) 10px}.welcome{display:flex;flex-direction:column;gap:20px;padding:6px 0 8px;animation:rise var(--slow) var(--ease) both}.welcome-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-4)}.welcome-eyebrow .dot{width:5px;height:5px}.welcome-title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,3.4vw,42px);line-height:1.06;letter-spacing:-0.015em;color:var(--fg);max-width:18ch}.welcome-title em{font-style:inherit;color:var(--accent)}.welcome-lede{font-size:14px;line-height:1.65;color:var(--fg-2);max-width:56ch;margin-top:-6px}.welcome-lede b{color:var(--fg);font-weight:500}.prompt-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.prompt-card{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel-2);text-align:left;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease),transform var(--fast) var(--ease)}.prompt-card:hover{border-color:var(--line-3);background:var(--raise);transform:translateY(-1px)}.prompt-card .pc-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm);background:var(--raise);color:var(--fg-2);border:1px solid var(--line)}.prompt-card:hover .pc-icon{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.prompt-card .pc-title{display:block;font-size:12.5px;font-weight:500;color:var(--fg)}.prompt-card .pc-sub{display:block;font-size:11.5px;color:var(--fg-3);margin-top:1px}.prompt-card .pc-arrow{color:var(--fg-4);opacity:0;transform:translateX(-3px);transition:opacity var(--fast) var(--ease),transform var(--fast) var(--ease)}.prompt-card:hover .pc-arrow{opacity:1;transform:none;color:var(--fg-2)}.welcome-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--fg-4);font-family:var(--mono)}.welcome-foot span{display:inline-flex;align-items:center;gap:5px}.welcome-foot .dot{width:5px;height:5px}.msg.user{display:flex;justify-content:flex-end;animation:rise var(--med) var(--ease) both}.msg.user .bubble{max-width:84%;padding:9px 13px;border-radius:14px 14px 5px 14px;background:var(--raise);border:1px solid var(--line);color:var(--fg);font-size:13.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.turn{display:flex;flex-direction:column;gap:8px;animation:rise var(--med) var(--ease) both}.turn-meta{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--fg-4);font-family:var(--mono);letter-spacing:-0.01em}.turn-meta:empty,.turn-meta .turn-model:empty{display:none}.turn-body{font-size:14px;line-height:1.68;color:var(--fg);overflow-wrap:anywhere}.turn-body:empty{display:none}.turn-body>*+*{margin-top:10px}.turn-body h2,.turn-body h3,.turn-body h4{margin-top:16px;font-size:14.5px;font-weight:600;letter-spacing:-0.01em}.turn-body h2{font-size:17px}.turn-body ul{padding-left:18px}.turn-body li+li{margin-top:3px}.turn-body .oli{padding-left:2px}.turn-body .oli b{color:var(--fg-3);font-weight:500;margin-right:4px}.turn-body strong{font-weight:600}.turn-body em{color:var(--fg-2)}.turn-body a{text-decoration:underline;text-decoration-color:var(--accent-line)}.turn-body pre.code{padding:12px 14px;border-radius:var(--r-md);background:var(--panel-2);border:1px solid var(--line);overflow-x:auto;font-size:12px;line-height:1.6;color:var(--fg-2)}.turn-body pre.code code{background:none;border:0;padding:0;font-size:inherit}.turn-body code{color:var(--fg);background:var(--raise)}.reasoning{font-size:12px;color:var(--fg-3);border-left:2px solid var(--line-2);padding-left:10px}.reasoning summary{cursor:pointer;color:var(--fg-4);font-size:11.5px;list-style:none}.reasoning summary::-webkit-details-marker{display:none}.reasoning[open] summary{margin-bottom:4px}.reasoning p{white-space:pre-wrap;line-height:1.6;max-height:240px;overflow-y:auto}.turn-tools{display:flex;flex-direction:column;gap:4px;margin:2px 0}.tool{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel-2);overflow:hidden;transition:border-color var(--fast) var(--ease)}.tool:hover{border-color:var(--line-2)}.tool-head{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:12px;cursor:pointer;border-radius:var(--r-md);transition:background var(--fast) var(--ease)}.tool-head:hover{background:color-mix(in srgb,var(--raise) 70%,transparent)}.tool-caret{display:inline-flex;color:var(--fg-4);transition:transform var(--fast) var(--ease);opacity:0.7}.tool.open .tool-caret{transform:rotate(180deg)}.tool-head::before{content:'';width:6px;height:6px;border-radius:var(--r-full);background:var(--fg-4);flex:none}.tool.ok .tool-head::before{background:var(--ok)}.tool.err .tool-head::before{background:var(--err)}.tool-name{font-weight:500;color:var(--fg-2);font-size:12px}.tool-title{font-family:var(--mono);font-size:11.5px;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tool-sum{font-size:11px;color:var(--fg-4);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46%}.tool-body{border-top:1px solid var(--line);background:var(--bg-veil);max-height:260px;overflow:auto;padding:9px 12px;font-family:var(--mono);font-size:11.5px;line-height:1.6;color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere}.tool-body[hidden]{display:none}.tool-body .diff{display:block;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto}.diff .add{color:var(--ok);background:var(--ok-soft);display:block}.diff .del{color:var(--err);background:var(--err-soft);display:block}.diff .hunk{color:var(--info);display:block}.turn-stats{font-size:10.5px;font-family:var(--mono);color:var(--fg-4);letter-spacing:-0.01em;padding-top:2px}.notice{display:flex;align-items:flex-start;gap:8px;padding:8px 11px;border-radius:var(--r-md);background:var(--panel-2);border:1px solid var(--line);font-size:12.5px;line-height:1.55;color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere;animation:rise var(--med) var(--ease) both}.notice.warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}.notice.err{color:var(--err);background:var(--err-soft);border-color:transparent}.notice:has(>.btn){align-items:center;justify-content:space-between;gap:12px}.notice>span{min-width:0}.notice .btn.sm{flex:none}.notice.plan{border-left:2px solid var(--accent)}.perm{border:1px solid var(--accent-line);border-radius:var(--r-lg);background:color-mix(in srgb,var(--accent) 6%,var(--panel-2));padding:12px 13px;display:flex;flex-direction:column;gap:8px;animation:rise var(--med) var(--ease) both}.perm h4{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;color:var(--accent)}.perm-title{font-size:13px;color:var(--fg)}.perm-cmd code{display:block;padding:7px 9px;background:var(--bg-veil);border-radius:var(--r-sm);border:1px solid var(--line);font-size:12px;color:var(--fg-2);overflow-x:auto;white-space:pre}.todo-box{margin:0 0 10px;padding:10px 12px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel-2);animation:rise var(--med) var(--ease) both}.todo-box h5{font-size:10.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--fg-4);margin-bottom:7px}.todo{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-2);padding:3px 0}.todo .mark{display:grid;place-items:center;width:15px;height:15px;border-radius:var(--r-full);border:1px solid var(--line-2);color:var(--fg-4);font-size:9px;flex:none}.todo.completed{color:var(--fg-3);text-decoration:line-through;text-decoration-color:var(--fg-4)}.todo.completed .mark{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.todo.in_progress{color:var(--fg)}.todo.in_progress .mark{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.composer-dock{position:relative;flex:none;padding:6px var(--gutter) 12px;display:flex;flex-direction:column;gap:8px;align-items:center}.composer-dock::before{content:'';position:absolute;left:0;right:0;top:-60px;height:60px;background:linear-gradient(to top,var(--bg) 20%,transparent);pointer-events:none}.composer{position:relative;width:100%;max-width:780px;border-radius:var(--r-xl);border:1px solid var(--line-2);background:var(--panel-2);box-shadow:var(--sh-2);transition:border-color var(--med) var(--ease),box-shadow var(--med) var(--ease)}.composer::after{content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:0 0 0 3px var(--accent-soft);transition:opacity var(--med) var(--ease)}.composer:focus-within{border-color:var(--accent-line)}.composer:focus-within::after{opacity:1}.composer textarea{display:block;width:100%;min-height:46px;max-height:220px;padding:13px 14px 4px;border:0;outline:0;resize:none;background:transparent;color:var(--fg);font-size:14px;line-height:1.55}.composer textarea::placeholder{color:var(--fg-4)}.composer-bar{display:flex;align-items:center;gap:2px;padding:4px 8px 8px 8px}.composer-bar .pill{height:24px}.ctx{display:inline-grid;place-items:center;width:24px;height:24px;color:var(--fg-4);font-size:10px;font-variant-numeric:tabular-nums}.ctx-track{fill:none;stroke:var(--line-2);stroke-width:3}.ctx-fill{fill:none;stroke:var(--fg-3);stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dasharray var(--med) var(--ease),stroke var(--fast) var(--ease)}.ctx.hot .ctx-fill{stroke:var(--warn)}.btn-send,.btn-stop{display:grid;place-items:center;width:30px;height:30px;margin-left:6px;border-radius:var(--r-full);background:var(--accent-fill);color:var(--accent-ink);box-shadow:var(--accent-shadow);transition:filter var(--fast) var(--ease),transform var(--fast) var(--ease),background var(--fast) var(--ease)}.btn-send:hover{filter:brightness(1.07)}.btn-send:active{transform:scale(0.96)}.btn-send[disabled],.btn-send:disabled{background:var(--raise-2);color:var(--fg-4);box-shadow:none}.btn-stop{background:var(--err-soft);color:var(--err);box-shadow:none}.btn-stop:hover{background:color-mix(in srgb,var(--err) 22%,transparent)}.btn-send[hidden],.btn-stop[hidden]{display:none}.suggestions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:780px;width:100%}.suggestions button,.empty-chips button{height:26px;padding:0 11px;border-radius:var(--r-full);border:1px solid var(--line-2,var(--line));background:color-mix(in srgb,var(--fg) 4%,transparent);color:var(--fg-2);font-size:11.5px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.suggestions button:hover,.empty-chips button:hover{color:var(--fg);border-color:var(--line-3);background:var(--raise)}.slash-menu{position:absolute;left:8px;right:8px;bottom:calc(100%+6px);z-index:20;max-height:260px;overflow-y:auto;padding:5px;border-radius:var(--r-lg);background:var(--panel-2);border:1px solid var(--line-2);box-shadow:var(--sh-3);animation:pop-in var(--fast) var(--ease)}.slash-menu[hidden]{display:none}.slash-item{display:flex;align-items:baseline;gap:10px;padding:7px 9px;border-radius:var(--r-sm);cursor:pointer}.slash-item:hover{background:var(--raise)}.slash-item b{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--accent);min-width:74px}.slash-item span{font-size:12px;color:var(--fg-3)}.preview-col{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-veil);transition:opacity var(--med) var(--ease)}.preview-bar{display:flex;align-items:center;gap:8px;height:42px;padding:0 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 55%,transparent);flex:none}.segmented{display:inline-flex;padding:2px;border-radius:var(--r-sm);background:var(--raise);border:1px solid var(--line)}.seg{display:grid;place-items:center;width:26px;height:22px;border-radius:var(--r-xs);color:var(--fg-4);transition:color var(--fast) var(--ease),background var(--fast) var(--ease)}.seg:hover{color:var(--fg-2)}.seg.active{background:var(--panel-2);color:var(--fg);box-shadow:var(--sh-1)}.address{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 10px;border-radius:var(--r-full);background:var(--panel-2);border:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--fg-3);min-width:0}.address span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.preview-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:stretch;justify-content:center;padding:14px;overflow:auto;background-image:radial-gradient(circle at 50% 0%,rgba(255,176,46,0.07),transparent 55%),radial-gradient(var(--line) 1px,transparent 1px);background-size:100% 100%,18px 18px;background-position:0 0,-9px -9px}.device-frame{position:relative;flex:1 1 auto;max-width:100%;min-height:0;display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);border:1px solid var(--line-2);box-shadow:0 0 0 1px rgba(0,0,0,0.4),0 30px 80px -40px rgba(0,0,0,0.9),0 2px 10px -4px rgba(0,0,0,0.5);overflow:hidden;transition:max-width var(--slow) var(--ease),border-radius var(--slow) var(--ease)}:root[data-theme='light'] .device-frame{box-shadow:0 0 0 1px rgba(24,20,14,0.06),0 30px 80px -44px rgba(60,45,20,0.4),0 2px 10px -4px rgba(60,45,20,0.12)}.frame-chrome{display:flex;align-items:center;gap:10px;height:32px;padding:0 11px;background:var(--raise);border-bottom:1px solid var(--line);flex:none;user-select:none}.fc-dots{display:inline-flex;gap:5px}.fc-dots i{width:8px;height:8px;border-radius:var(--r-full);background:var(--line-3)}:root[data-theme='dark'] .fc-dots i:nth-child(1){background:#ff5f57}:root[data-theme='dark'] .fc-dots i:nth-child(2){background:#febc2e}:root[data-theme='dark'] .fc-dots i:nth-child(3){background:#28c840}:root[data-theme='light'] .fc-dots i:nth-child(1){background:#ff5f57}:root[data-theme='light'] .fc-dots i:nth-child(2){background:#febc2e}:root[data-theme='light'] .fc-dots i:nth-child(3){background:#28c840}.fc-url{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:1 1 auto;max-width:340px;margin:0 auto;height:20px;padding:0 10px;border-radius:var(--r-full);background:var(--panel-2);border:1px solid var(--line);font-family:var(--mono);font-size:10.5px;color:var(--fg-3);overflow:hidden;white-space:nowrap}.fc-lock{opacity:0.7;display:inline-flex}.fc-url span:last-child{overflow:hidden;text-overflow:ellipsis}.fc-fade{width:38px;flex:none}.frame-body{position:relative;flex:1 1 auto;min-height:0;display:flex}.preview-stage[data-device='tablet'] .device-frame{max-width:834px;border-radius:14px}.preview-stage[data-device='mobile'] .device-frame{max-width:392px;border-radius:34px;border-width:6px;border-color:#17191d;background:#17191d}.preview-stage[data-device='mobile'] .frame-chrome{height:26px;background:#17191d;border:0;padding:0 4px;justify-content:center}.preview-stage[data-device='mobile'] .fc-dots,.preview-stage[data-device='mobile'] .fc-url,.preview-stage[data-device='mobile'] .fc-fade{display:none}.preview-stage[data-device='mobile'] .frame-chrome::after{content:'';width:66px;height:15px;border-radius:var(--r-full);background:#0a0b0d}.preview-stage[data-device='mobile'] .frame-body{border-radius:26px;overflow:hidden;background:#fff}#preview-frame{flex:1 1 auto;width:100%;min-height:0;border:0;background:#fff}#preview-frame[hidden]{display:none}.frame-body{background:var(--bg)}.preview-empty{background:var(--bg-veil);position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center;background:radial-gradient(60% 50% at 50% 42%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 70%),var(--bg-veil);color:var(--fg-2)}.preview-empty[hidden]{display:none}.empty-art{display:flex;flex-direction:column;gap:9px;width:min(300px,70%);margin-bottom:8px;opacity:0.9}.sk{border-radius:6px;background:linear-gradient( 100deg,color-mix(in srgb,var(--fg) 6%,transparent) 30%,color-mix(in srgb,var(--fg) 11%,transparent) 50%,color-mix(in srgb,var(--fg) 6%,transparent) 70% );background-size:200% 100%;animation:shimmer 2.6s linear infinite}.sk-bar{height:9px;width:34%;border-radius:var(--r-full)}.sk-title{height:20px;width:72%}.sk-line{height:9px;width:100%}.sk-line.short{width:62%}.sk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:6px}.sk-card{height:54px;border-radius:8px}.empty-title{margin:0;font-family:var(--serif);font-style:italic;font-size:21px;color:var(--fg);letter-spacing:-0.01em}.empty-sub{margin:0;font-size:12.5px;line-height:1.55;color:var(--fg-3);max-width:34ch}.empty-chips{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;justify-content:center}.empty-chips button{border-color:rgba(24,20,14,0.14);color:#545b64}.empty-chips button:hover{background:#f3f1ed;border-color:rgba(24,20,14,0.24);color:#14161a}.console-drawer{flex:none;border-top:1px solid var(--err-soft);background:var(--panel-2);animation:slide-up var(--med) var(--ease);max-height:40%;display:flex;flex-direction:column}.console-drawer[hidden]{display:none}.console-drawer header{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line)}.console-drawer header strong{font-size:12px;font-weight:500}.console-icon{color:var(--err)}.console-drawer pre{margin:0;padding:10px 12px;overflow:auto;font-size:11.5px;line-height:1.6;color:var(--fg-2);white-space:pre-wrap}.job-strip{display:flex;gap:6px;flex-wrap:wrap;padding:7px 10px;border-top:1px solid var(--line);background:var(--panel-2);flex:none}.job-strip[hidden]{display:none}.job{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--fg-2);padding:3px 8px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--raise)}.job .dot{background:var(--accent);animation:pulse 1.6s var(--ease) infinite}.split{display:grid;grid-template-columns:240px minmax(0,1fr);flex:1 1 auto;min-height:0}.pane{display:flex;flex-direction:column;min-width:0;min-height:0}.pane+.pane{border-left:1px solid var(--line)}.pane-head{display:flex;align-items:center;min-width:0;gap:8px;height:36px;padding:0 8px 0 12px;border-bottom:1px solid var(--line);flex:none}.pane-title{font-size:11.5px;font-weight:500;color:var(--fg-3);letter-spacing:0.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-title.mono{font-size:11.5px;color:var(--fg-2)}.pane-actions{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line)}.tree{flex:1 1 auto;overflow:auto;padding:6px 6px 20px}.tree-row{display:flex;align-items:center;gap:6px;height:25px;padding-right:8px;border-radius:var(--r-xs);font-size:12.5px;color:var(--fg-2);cursor:default;white-space:nowrap}.tree-row svg{color:var(--fg-4);flex:none}.tree-row .path{overflow:hidden;text-overflow:ellipsis}.tree-row .size{margin-left:auto;font-size:10px;font-family:var(--mono);color:var(--fg-4);opacity:0}.tree-row:hover{background:var(--raise);color:var(--fg)}.tree-row:hover .size{opacity:1}.tree-row.dir{color:var(--fg-3);font-weight:500}.tree-row.active{background:var(--accent-soft);color:var(--fg)}.tree-row.active svg{color:var(--accent)}.editor{flex:1 1 auto;width:100%;min-height:0;padding:14px 16px;border:0;outline:0;resize:none;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:12.5px;line-height:1.65;tab-size:2}.editor-wrap{padding:10px;border-bottom:1px solid var(--line)}.editor-wrap .editor{min-height:90px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel-2);padding:10px 12px}.dirty-dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--accent)}.db-result{flex:1 1 auto;overflow:auto;padding:12px}.db-result .grid{margin-bottom:12px}table.grid{width:100%;border-collapse:collapse;font-size:12px}table.grid th,table.grid td{text-align:left;padding:6px 9px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11.5px;white-space:nowrap}table.grid th{color:var(--fg-4);font-weight:500;text-transform:uppercase;letter-spacing:0.05em;font-size:10px;position:sticky;top:0;background:var(--bg)}table.grid tr:hover td{background:var(--raise)}.schema{border:1px solid var(--line);border-radius:var(--r-md);padding:8px 10px;margin-bottom:8px;background:var(--panel-2)}.schema summary{cursor:pointer;font-size:12.5px}.schema table{margin-top:8px}.err-box{padding:10px 12px;border-radius:var(--r-md);background:var(--err-soft);color:var(--err);font-family:var(--mono);font-size:12px;white-space:pre-wrap}.term-host{flex:1 1 auto;min-height:0;padding:10px 6px 4px 12px;overflow:hidden;background:var(--bg)}.term-host canvas,.term-host>div{outline:0}.term-hint{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 12px;border-top:1px solid var(--line);font-size:10.5px;color:var(--fg-4);flex:none}.term-hint .mono{color:var(--fg-3);font-size:10.5px}.term-hint-note{margin-left:auto;opacity:0.8}.deploy-wrap{flex:1 1 auto;overflow:auto;padding:26px var(--gutter) 40px;max-width:900px;width:100%;margin:0 auto}.view-hero{margin-bottom:20px}.view-hero h1{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;letter-spacing:-0.01em}.view-hero p{margin-top:6px;font-size:13px;color:var(--fg-2);max-width:60ch}.deploy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.ship-card{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel-2);transition:border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}.ship-card:hover{border-color:var(--line-2);transform:translateY(-1px)}.ship-card.feature{grid-column:1 / -1;flex-direction:row;gap:14px;align-items:flex-start;background:linear-gradient(120deg,var(--accent-soft),transparent 55%),var(--panel-2);border-color:var(--accent-line)}.ship-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-md);background:var(--raise);border:1px solid var(--line);color:var(--fg-2);flex:none}.ship-card.feature .ship-icon{background:var(--accent-fill);border:0;color:var(--accent-ink);box-shadow:var(--accent-shadow)}.ship-body{display:flex;flex-direction:column;gap:6px;min-width:0}.ship-body h3{font-size:13.5px}.ship-body p{font-size:12.5px;line-height:1.55;color:var(--fg-3);max-width:52ch}.ship-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.section-title{font-size:11px;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;color:var(--fg-4);margin:26px 0 10px}.cards .dep-row{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel-2);font-size:12px;margin-bottom:6px;flex-wrap:wrap}.dep-row .mono{font-size:11.5px;color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;max-width:320px}.scrim{position:fixed;inset:0;z-index:44;background:rgba(4,5,7,0.5);animation:fade-in 160ms var(--ease)}:root[data-theme='light'] .scrim{background:rgba(30,24,14,0.28)}.scrim[hidden]{display:none}.sheet,.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:rgba(5,6,8,0.55);backdrop-filter:blur(6px) saturate(1.1);animation:fade-in var(--med) var(--ease)}.sheet[hidden],.modal[hidden]{display:none}:root[data-theme='light'] .sheet,:root[data-theme='light'] .modal{background:rgba(28,22,12,0.22)}.sheet-card,.modal-card{width:min(560px,100%);max-height:min(84vh,860px);display:flex;flex-direction:column;border-radius:var(--r-xl);border:1px solid var(--line-2);background:var(--panel);box-shadow:var(--sh-pop);overflow:hidden;animation:pop-in var(--med) var(--ease)}.sheet-card.wide{width:min(940px,100%)}.sheet-card header,.modal-card header,.drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px 14px;border-bottom:1px solid var(--line);flex:none}.sheet-card h2,.modal-card h2,.drawer h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;letter-spacing:-0.01em}.sheet-card header .hint{margin-top:3px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding:16px 18px 20px;overflow-y:auto}.template{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel-2);text-align:left;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease),transform var(--fast) var(--ease)}.template:hover{border-color:var(--accent-line);background:var(--raise);transform:translateY(-2px)}.template .thumb{display:grid;place-items:center;width:100%;height:64px;margin-bottom:4px;border-radius:var(--r-md);background:radial-gradient(80% 120% at 20% 0%,var(--accent-soft),transparent 60%),var(--raise);border:1px solid var(--line);color:var(--fg-2)}.template strong{font-size:12.5px;font-weight:500}.template span:last-child{font-size:11.5px;line-height:1.5;color:var(--fg-3)}.drawer{position:fixed;top:var(--topbar-h);right:0;bottom:0;z-index:55;width:min(360px,100%);display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--line-2);box-shadow:var(--sh-pop);animation:slide-left var(--med) var(--ease)}.drawer[hidden]{display:none}.drawer-body{flex:1 1 auto;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:4px}.drawer footer{padding:10px;border-top:1px solid var(--line)}.snap{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-md);border:1px solid transparent;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.snap:hover{background:var(--raise);border-color:var(--line)}.snap .when{font-size:12px;color:var(--fg)}.snap .label{font-size:11px;color:var(--fg-3);font-family:var(--mono)}.snap>div{flex:1 1 auto;min-width:0}.snap .card-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-sm);background:var(--raise);color:var(--fg-3);flex:none}.modal-body{padding:6px 18px 22px;overflow-y:auto}.modal-body section{padding:16px 0;border-bottom:1px solid var(--line)}.modal-body section:last-child{border-bottom:0}.modal-body h3{font-size:13px;font-weight:600;letter-spacing:-0.005em;margin-bottom:4px}.modal-body section>.hint{margin-bottom:12px;max-width:62ch}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.field>label{font-size:11.5px;font-weight:500;color:var(--fg-2)}.field .hint{font-size:11.5px}input[type='text'],input[type='password'],input[type='email'],select,textarea{height:32px;padding:0 10px;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--bg-veil);color:var(--fg);font-size:12.5px;outline:0;transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease);width:100%}textarea{height:auto;padding:9px 10px;line-height:1.55;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--fg-3) 50%),linear-gradient(135deg,var(--fg-3) 50%,transparent 50%);background-position:calc(100% - 14px) 14px,calc(100% - 9px) 14px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:28px}.check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-2);margin:8px 0}.check input{accent-color:var(--accent);width:14px;height:14px}.fields{display:grid;gap:2px}.runtime-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-bottom:12px}.runtime{padding:10px 11px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel-2);display:flex;flex-direction:column;gap:3px}.runtime .row{justify-content:space-between;gap:6px}.runtime strong{font-size:12px;font-weight:500;text-transform:capitalize}.runtime .hint{font-size:11px;line-height:1.5}.runtime .hint.dim{color:var(--fg-4)}.mcp-row{padding:10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel-2)}.mcp-row .row{gap:6px}.mcp-row .row input[type='text']{flex:1 1 120px;min-width:100px}.palette-modal{place-items:start center;padding-top:14vh}.palette{width:min(560px,100%);border-radius:var(--r-xl);border:1px solid var(--line-2);background:var(--panel);box-shadow:var(--sh-pop);overflow:hidden;animation:pop-in var(--med) var(--ease)}.palette-input{display:flex;align-items:center;gap:10px;padding:0 14px;height:46px;border-bottom:1px solid var(--line);color:var(--fg-3)}.palette-input input{flex:1 1 auto;height:100%;border:0;background:none;outline:0;font-size:14px;color:var(--fg);box-shadow:none}.palette-input input:focus{box-shadow:none;border:0}.palette-list{max-height:min(52vh,420px);overflow-y:auto;padding:6px}.palette-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);color:var(--fg-2);font-size:12.5px;cursor:pointer}.palette-item svg{color:var(--fg-4)}.palette-item .sub{margin-left:auto;font-size:10.5px;color:var(--fg-4);font-family:var(--mono)}.palette-item.active,.palette-item:hover{background:var(--raise);color:var(--fg)}.palette-item.active svg,.palette-item:hover svg{color:var(--accent)}.palette-group{padding:10px 10px 4px;font-size:10px;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;color:var(--fg-4)}.toasts{position:fixed;right:14px;bottom:14px;z-index:90;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.toast{pointer-events:auto;max-width:380px;padding:9px 12px;border-radius:var(--r-md);background:var(--raise-2);border:1px solid var(--line-2);color:var(--fg);font-size:12.5px;line-height:1.5;box-shadow:var(--sh-3);animation:toast-in var(--med) var(--ease)}.toast.ok{border-color:var(--ok-soft)}.toast.warn{border-color:var(--warn-soft)}.toast.err{border-color:var(--err-soft);color:var(--err)}.fatal{position:fixed;inset:0;z-index:999;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--err);font-family:var(--mono);font-size:13px;text-align:center}.mobile-panes{display:none;position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:40;padding:4px;border-radius:var(--r-full);background:color-mix(in srgb,var(--panel-2) 92%,transparent);border:1px solid var(--line-2);box-shadow:var(--sh-3);backdrop-filter:blur(10px)}.mobile-panes button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 12px;border-radius:var(--r-full);font-size:12px;color:var(--fg-3)}.mobile-panes button.active{background:var(--raise);color:var(--fg)}@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes pop-in{from{opacity:0;transform:translateY(-4px) scale(0.985)}to{opacity:1;transform:none}}@keyframes slide-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes slide-left{from{transform:translateX(16px);opacity:0}to{transform:none;opacity:1}}@keyframes toast-in{from{opacity:0;transform:translateY(8px) scale(0.98)}to{opacity:1;transform:none}}@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}.topbar::after{content:'';position:absolute;left:0;bottom:-1px;height:1.5px;width:0;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;pointer-events:none}.app[data-running='1'] .topbar::after{opacity:1;animation:running 1.4s var(--ease) infinite}@keyframes running{0%{left:-30%;width:30%}100%{left:100%;width:30%}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}}.only-mobile{display:none !important}@media (max-width:1180px){:root{--sidebar-w:232px}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.status-hint,.project-chip .icon-btn{display:none}}@media (max-width:980px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:46;width:min(84vw,308px);padding-top:12px;transform:translateX(-102%);transition:transform 260ms var(--ease);box-shadow:var(--sh-pop)}.sidebar.open{transform:none}.workspace{grid-column:1 / -1}.only-mobile{display:inline-grid !important}.topbar .switch{margin-left:0}.brand-name{display:none}}#dialog-sheet,.modal-sheet,#modal{position:fixed;inset:0}@media (max-width:640px){:root{--gutter:14px}.topbar{gap:4px;padding:0 8px 0 6px}.topbar .switch,#btn-command,#btn-history,#btn-theme,#btn-settings,#btn-preview-collapse,.only-desktop{display:none}.brand-mark{width:22px;height:22px}.project-chip{max-width:132px;margin-left:2px;padding:0 8px}.project-chip #project-name{max-width:88px}.status-pill{padding:0 8px}.status-pill .status-sep{display:none}.topbar-actions{gap:0}.topbar-actions .btn{margin-left:2px}.btn.primary span{display:none}.btn.primary{width:32px;padding:0}.status-pill .status-hint{display:none}.tab span:not([data-icon]){display:none}.tab{padding:0 12px}.tab-count{display:none}.suggestions{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.suggestions::-webkit-scrollbar{display:none}.welcome-title{font-size:30px}.sheet,.modal{padding:0;align-items:flex-end}.sheet-card,.modal-card{width:100%;max-height:92dvh;border-radius:var(--r-xl) var(--r-xl) 0 0}.toasts{left:12px;right:12px;bottom:74px;align-items:stretch}.toast{max-width:none}}.activity-panel{flex:0 0 auto;margin:10px var(--gutter) 0;border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb,var(--panel) 70%,transparent);overflow:hidden;transition:border-color var(--med) var(--ease),background var(--med) var(--ease)}.activity-panel.live{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.activity-head{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 10px;border:0;background:transparent;color:var(--fg-2);font-size:12px;text-align:left;cursor:pointer}.activity-head:hover{background:color-mix(in srgb,var(--fg) 3%,transparent)}.activity-dot{width:6px;height:6px;border-radius:50%;background:var(--fg-3);flex:none}.activity-dot.live{background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 60%,transparent);animation:pulse-ring 1.8s infinite}.activity-dot.err{background:var(--danger,#f0646e)}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}70%{box-shadow:0 0 0 6px transparent}100%{box-shadow:0 0 0 0 transparent}}.activity-headline{color:var(--fg);font-weight:520;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62%}.activity-headline.live{background:linear-gradient(90deg,var(--fg) 0%,var(--fg) 40%,var(--accent) 50%,var(--fg) 60%,var(--fg) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 2.4s linear infinite}@keyframes shimmer{from{background-position:120% 0}to{background-position:-120% 0}}.activity-count{font-family:var(--mono);font-size:10px;letter-spacing:0.04em;text-transform:uppercase;color:var(--fg-3);padding:1px 5px;border-radius:5px;border:1px solid var(--line)}.activity-count.live{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.activity-count.err{color:var(--danger,#f0646e);border-color:color-mix(in srgb,var(--danger,#f0646e) 35%,transparent)}.activity-clock{font-family:var(--mono);font-size:10.5px;color:var(--fg-3);margin-left:auto}.activity-toggle{display:inline-grid;place-items:center;color:var(--fg-3);transition:transform var(--med) var(--ease)}.activity-panel.collapsed .activity-toggle{transform:rotate(-90deg)}.activity-scroll{max-height:min(30vh,260px);overflow-y:auto;overscroll-behavior:contain;padding:0 6px 8px;border-top:1px solid var(--line);scrollbar-width:thin}.activity-panel.collapsed .activity-scroll,.activity-panel.empty .activity-scroll{display:none}.activity-panel.empty .activity-head{cursor:default}.activity-idle{display:flex;align-items:center;gap:10px;padding:12px 8px 14px;color:var(--fg-3);font-size:12px}.activity-idle p{margin:0;max-width:60ch;line-height:1.45}.activity-idle-ring{display:inline-grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;border:1px dashed var(--line-2,var(--line));color:var(--fg-3)}.activity{display:flex;flex-direction:column;padding-top:4px}.activity-step{display:grid;grid-template-columns:22px minmax(0,1fr) 12px;gap:2px;padding:3px 2px 3px 0;border-radius:var(--r-sm);cursor:default;position:relative}.activity-step:has(.activity-detail){cursor:pointer}.activity-step:hover{background:color-mix(in srgb,var(--fg) 3.5%,transparent)}.activity-rail{position:relative;display:flex;justify-content:center}.activity-rail::before{content:'';position:absolute;top:0;bottom:-8px;left:50%;width:1px;background:var(--line);transform:translateX(-0.5px)}.activity-step.last .activity-rail::before{display:none}.activity-node{position:relative;z-index:1;display:grid;place-items:center;width:17px;height:17px;margin-top:2px;border-radius:5px;background:var(--panel);border:1px solid var(--line);color:var(--fg-3)}.activity-step.run .activity-node{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.activity-step.done .activity-node{color:var(--fg-2)}.activity-step.error .activity-node{color:var(--danger,#f0646e);border-color:color-mix(in srgb,var(--danger,#f0646e) 45%,var(--line))}.activity-body{min-width:0}.activity-line{display:flex;align-items:baseline;gap:7px;min-width:0;line-height:1.5}.activity-kind{font-family:var(--mono);font-size:9.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--fg-3);flex:none;width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-title{font-size:12px;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-step.run .activity-title{color:var(--fg)}.activity-meta{font-family:var(--mono);font-size:10px;color:var(--fg-3);flex:none}.activity-caret{display:inline-grid;place-items:center;color:var(--fg-3);transition:transform var(--med) var(--ease);flex:none}.activity-step.open .activity-caret{transform:rotate(180deg)}.activity-detail{display:none;margin:4px 0 2px}.activity-step.open .activity-detail{display:block}.activity-detail pre{margin:0;padding:8px 10px;max-height:180px;overflow:auto;border-radius:var(--r-sm);background:var(--code-bg,color-mix(in srgb,var(--bg) 70%,#000));border:1px solid var(--line);font-family:var(--mono);font-size:11px;line-height:1.55;color:var(--fg-2);white-space:pre-wrap;word-break:break-word}.activity-spinner{display:none}.activity-step.run .activity-spinner{display:block;width:9px;height:9px;margin-top:6px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 30%,transparent);border-top-color:var(--accent);animation:spin 720ms linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.files-bar{display:flex;align-items:center;gap:6px;padding:8px var(--gutter);border-bottom:1px solid var(--line);flex:none}.file-search{display:flex;align-items:center;gap:6px;min-width:0;width:min(260px,42vw);height:28px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb,var(--bg) 55%,transparent);color:var(--fg-3)}.file-search:focus-within{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.file-search input{flex:1;min-width:0;border:0;background:none;color:var(--fg);font:inherit;font-size:12px;outline:none}.files-split{grid-template-columns:minmax(180px,262px) minmax(0,1fr) !important}#view-files.tree-hidden .files-split{grid-template-columns:minmax(0,1fr) !important}#view-files.tree-hidden .files-split>.pane.narrow{display:none}.editor-pane{display:flex;flex-direction:column;min-height:0;padding:0 !important}.editor-tabs{display:flex;align-items:stretch;gap:1px;min-height:34px;overflow-x:auto;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 40%,transparent);scrollbar-width:none}.editor-tabs::-webkit-scrollbar{display:none}.editor-tabs:empty{display:none}.file-tab{display:inline-flex;align-items:center;gap:6px;padding:0 6px 0 10px;font-size:12px;color:var(--fg-3);border-right:1px solid var(--line);white-space:nowrap;cursor:pointer;max-width:200px;position:relative}.file-tab:hover{color:var(--fg-2);background:color-mix(in srgb,var(--fg) 3%,transparent)}.file-tab.active{color:var(--fg);background:var(--bg)}.file-tab.active::before{content:'';position:absolute;inset:0 0 auto;height:1.5px;background:var(--accent)}.tab-name{overflow:hidden;text-overflow:ellipsis}.tab-close{display:grid;place-items:center;width:17px;height:17px;border:0;border-radius:4px;background:none;color:var(--fg-3);opacity:0;cursor:pointer}.file-tab:hover .tab-close,.file-tab.active .tab-close,.file-tab.dirty .tab-close{opacity:1}.tab-close:hover{background:color-mix(in srgb,var(--fg) 10%,transparent);color:var(--fg)}.file-tab.dirty .tab-name::after{content:'•';margin-left:4px;color:var(--accent)}.editor-host{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.editor-panes{flex:1;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr);overflow:hidden}.gutter{margin:0;padding:10px 8px 10px 12px;border:0;background:color-mix(in srgb,var(--bg) 46%,transparent);color:var(--fg-3);font-family:var(--mono);font-size:12px;line-height:1.65;text-align:right;user-select:none;overflow:hidden;will-change:transform}.editor-host .editor{width:100%;height:100%;margin:0;padding:10px 12px;border:0;border-radius:0;background:transparent;color:var(--fg);font-family:var(--mono);font-size:12px;line-height:1.65;resize:none;outline:none;tab-size:2;white-space:pre;overflow:auto}.editor-status{display:flex;align-items:center;gap:12px;height:26px;padding:0 12px;border-top:1px solid var(--line);font-size:11px;color:var(--fg-3);flex:none}.save-state{font-family:var(--mono);font-size:10px;letter-spacing:0.05em;text-transform:uppercase}.save-state.ok{color:var(--fg-3)}.save-state.dirty{color:var(--accent)}.save-state.warn{color:var(--warning,#e8b661)}.editor-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px;color:var(--fg-3);text-align:center;font-size:13px}.editor-empty p{margin:0;color:var(--fg-2);font-size:13.5px}.editor-empty .link{font-size:inherit}.tree-group{display:flex;align-items:center;gap:6px;padding:8px 8px 3px;font-family:var(--mono);font-size:10px;letter-spacing:0.05em;text-transform:uppercase;color:var(--fg-3);overflow:hidden}.tree-group span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row{display:flex;align-items:center;gap:6px;height:27px;padding-right:4px;border-radius:var(--r-sm);color:var(--fg-2);font-size:12.5px;cursor:pointer;position:relative}.tree-row:hover{background:color-mix(in srgb,var(--fg) 4%,transparent);color:var(--fg)}.tree-row.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--fg)}.tree-row.active::before{content:'';position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}.tree-row.flash{animation:row-flash 900ms var(--ease)}@keyframes row-flash{0%{background:color-mix(in srgb,var(--accent) 24%,transparent)}100%{background:transparent}}.tree-row .path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row .size{font-family:var(--mono);font-size:10px;color:var(--fg-3);flex:none}.tree-more{display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:4px;background:none;color:var(--fg-3);opacity:0;cursor:pointer;flex:none}.tree-row:hover .tree-more,.tree-row.active .tree-more,.tree-more:focus-visible{opacity:1}.tree-more:hover{background:color-mix(in srgb,var(--fg) 10%,transparent);color:var(--fg)}.tree-empty{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 10px;color:var(--fg-3);font-size:12px}.tree-empty p{margin:0}.tree-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px}.tree-empty-icon{color:var(--fg-3);opacity:0.6}.ctx-menu{position:fixed;z-index:80;min-width:168px;padding:4px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--raise,var(--panel));box-shadow:var(--sh-pop);animation:pop-in 120ms var(--ease)}.ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:0;border-radius:var(--r-sm);background:none;color:var(--fg-2);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.ctx-item:hover{background:color-mix(in srgb,var(--fg) 7%,transparent);color:var(--fg)}.ctx-item.danger{color:var(--danger,#f0646e)}.ctx-item.danger:hover{background:color-mix(in srgb,var(--danger,#f0646e) 12%,transparent)}.workspace-drop{position:absolute;inset:0;z-index:30;display:none;place-items:center;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(3px)}#view-files{position:relative}.workspace-drop.active{display:grid}.drop-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:30px 40px;border:1.5px dashed color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:var(--r-xl);background:color-mix(in srgb,var(--accent) 6%,var(--panel));text-align:center}.drop-icon{color:var(--accent)}.drop-title{margin:4px 0 0;font-size:14px;color:var(--fg)}.drop-sub{margin:0 0 6px;font-size:12px;color:var(--fg-3);max-width:34ch}.dialog-sheet{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px;background:rgba(4,5,7,0.5);animation:fade-in 140ms var(--ease)}.dialog-sheet[hidden]{display:none}:root[data-theme='light'] .dialog-sheet{background:rgba(30,24,14,0.24)}.dialog-card{width:min(420px,100%);padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raise,var(--panel));box-shadow:var(--sh-pop);animation:pop-in 160ms var(--ease)}.dialog-card h2{margin:0 0 12px;font-size:15px;font-weight:560;letter-spacing:-0.01em}.dialog-label{display:block;margin-bottom:6px;font-size:11.5px;color:var(--fg-3)}.dialog-body{margin:0 0 14px;font-size:13px;line-height:1.55;color:var(--fg-2)}.dialog-card input{width:100%;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--fg);font-size:13px;outline:none}.dialog-card input.mono{font-family:var(--mono);font-size:12.5px}.dialog-card input:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.btn.danger{background:color-mix(in srgb,var(--danger,#f0646e) 82%,#000);color:#fff;border-color:transparent}.term-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.term-wrap .term-host{flex:1;min-height:0}.term-keys{display:flex;align-items:center;gap:4px;padding:6px var(--gutter);border-top:1px solid var(--line);background:var(--panel);flex:none;overflow-x:auto;scrollbar-width:none}.term-keys::-webkit-scrollbar{display:none}.key{min-width:32px;height:26px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--fg) 4%,transparent);color:var(--fg-2);font-family:var(--mono);font-size:11px;cursor:pointer;flex:none}.key:hover{background:color-mix(in srgb,var(--fg) 9%,transparent);color:var(--fg)}.key:active{transform:translateY(0.5px)}.attach-strip{display:flex;flex-wrap:wrap;gap:6px;padding:8px 8px 0}.attach-strip[hidden]{display:none}.attach-chip{display:inline-flex;align-items:center;gap:5px;max-width:210px;height:24px;padding:0 4px 0 7px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--fg) 4%,transparent);font-size:11.5px;color:var(--fg-2)}.attach-chip img{width:16px;height:16px;object-fit:cover;border-radius:3px}.attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-size{font-family:var(--mono);font-size:9.5px;color:var(--fg-3)}.attach-x{display:grid;place-items:center;width:16px;height:16px;border:0;border-radius:4px;background:none;color:var(--fg-3);cursor:pointer}.attach-x:hover{background:color-mix(in srgb,var(--fg) 12%,transparent);color:var(--fg)}.composer-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border:0;border-radius:var(--r-sm);background:none;color:var(--fg-3);cursor:pointer}.composer-icon:hover{background:color-mix(in srgb,var(--fg) 7%,transparent);color:var(--fg)}.composer-hint{font-size:10.5px;color:var(--fg-3);font-family:var(--mono);margin-right:4px;opacity:0.75}.bubble-attachments{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--fg) 12%,transparent)}.bubble-file{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:5px;background:color-mix(in srgb,var(--fg) 8%,transparent);font-family:var(--mono);font-size:10.5px}.bubble-file-size{opacity:0.6}.mobile-nav{display:none}.side-head{display:none}@media (max-width:820px){:root{--gutter:12px}.app{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr)}.workspace{grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr);padding-bottom:58px}.work-col{border-right:0;grid-column:1;min-height:0}.preview-col{grid-column:1;grid-row:1;display:none;min-height:0}.app[data-mobile-pane='preview'] .preview-col{display:flex}.app[data-mobile-pane='preview'] .work-col{display:none}.tabs{display:none}.mobile-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:42;height:58px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:saturate(1.3) blur(18px);border-top:1px solid var(--line)}.mnav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;border:0;background:none;color:var(--fg-3);cursor:pointer;position:relative;transition:color 140ms var(--ease)}.mnav-item.active{color:var(--fg)}.mnav-item.active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:2px;border-radius:0 0 2px 2px;background:var(--accent)}.mnav-label{font-size:10px;letter-spacing:0.01em}.mnav-badge{position:absolute;top:8px;right:calc(50% - 16px);width:5px;height:5px;border-radius:50%;background:var(--accent)}.side-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 10px 12px}.side-head .brand-name{display:inline;font-size:13px;font-weight:560}.composer-dock{padding:6px 10px 10px}.activity-panel{margin:8px 10px 0}.activity-scroll{max-height:34vh}.activity-kind{width:46px}.composer-hint{display:none}.files-bar{flex-wrap:wrap;gap:6px;padding:8px 10px}.file-search{width:100%;order:-1}.files-bar .btn.sm,.files-bar .icon-btn.sm{flex:1 1 auto;justify-content:center}.files-bar .add-wrap{flex:1 1 auto}.files-bar .add-wrap .btn.sm{width:100%}.files-split{grid-template-columns:minmax(0,1fr) !important;grid-template-rows:minmax(0,1fr) !important}.files-split>.pane.narrow{display:flex;border-right:0}#view-files.mobile-editor .files-split>.pane.narrow{display:none}#view-files:not(.mobile-editor) .editor-pane{display:none}.files-bar .file-search{width:100%}.editor-back{display:grid}.editor-host .editor,.gutter{font-size:12.5px}.term-hint{display:none}.term-keys{padding:6px 10px}.deploy-wrap{padding:16px 12px 30px}.view-hero h1{font-size:26px}.deploy-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:820px){.prompt-cards{grid-template-columns:minmax(0,1fr);gap:6px}.prompt-card{padding:9px 12px;gap:10px}.prompt-card .pc-sub{display:none}.prompt-card .pc-title{font-size:13px}.composer-dock .suggestions{order:-1;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.composer-dock .suggestions::-webkit-scrollbar{display:none}.composer-dock .suggestions button{flex:none}.transcript-inner{padding-top:10px;padding-bottom:4px}.welcome{gap:14px;padding-top:4px}.activity-panel.empty{display:none}.suggestions{padding:0 0 2px}}@media (max-width:480px){.brand-name{display:none}.status-pill #status-text{max-width:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab{padding:0 9px}.activity-headline{max-width:52%}.row-actions{gap:2px}}.term-host{overflow-y:auto !important;overflow-x:hidden;font-family:var(--mono);font-size:12.5px;line-height:1.55;cursor:text;scrollbar-width:thin}.term-canvas{min-height:100%}.term-host .row{display:block;flex-wrap:nowrap;gap:0;white-space:pre;min-height:1.55em;color:var(--fg)}.term-host .row.sb{opacity:0.72}.term-input{border:0;outline:0}.editor-bar{display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 40%,transparent);flex:none}.editor-bar .editor-tabs{border-bottom:0;flex:1;min-width:0}.editor-back{display:none;place-items:center;width:34px;border:0;border-right:1px solid var(--line);background:none;color:var(--fg-2);cursor:pointer;flex:none}.editor-back svg{transform:rotate(180deg)}.editor-back:hover{background:color-mix(in srgb,var(--fg) 6%,transparent);color:var(--fg)}.activity-step.note .activity-node{border-style:dashed;color:var(--fg-3)}.activity-step.note .activity-title{color:var(--fg-3);font-style:italic}.activity-node .icon,.activity-step .icon{display:inline-flex}.mobile-nav{height:var(--nav-offset,58px);padding-bottom:var(--safe-bottom,0px)}.workspace{padding-bottom:var(--nav-offset,58px)}.sidebar{padding-top:var(--side-top,12px);padding-bottom:var(--safe-bottom,0px)}.editor-back{display:none}@media (max-width:820px){.editor-back{display:grid}#view-files:not(.mobile-editor) .editor-back{display:none}}.import-progress{display:flex;align-items:center;gap:9px;max-width:420px;font-family:var(--mono);font-size:11px}.import-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.import-spinner{width:11px;height:11px;flex:none;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 30%,transparent);border-top-color:var(--accent);animation:spin 700ms linear infinite}.turn-body:empty{display:none}.turn-meta:has(+.turn-tools){margin-bottom:2px}.ft{display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--fg-3)}.ft-js{color:#e8c15a}.ft-ts{color:#6fa8ff}.ft-html{color:#f08a5d}.ft-css{color:#7fb6e8}.ft-json{color:#d6b45c}.ft-py{color:#6fb4d8}.ft-text{color:var(--fg-2)}.ft-image{color:#a78bfa}.ft-archive{color:#c08a5e}.ft-font{color:#8fd6b4}.ft-lock{color:var(--fg-4)}.ft-config{color:#9aa7b8}.ft-db{color:#7fc4c0}.ft-binary{color:#b8a4d8}.ft-shell{color:#8fd6b4}.ft-file{color:var(--fg-3)}.ft-modules{color:var(--fg-3)}.add-wrap{position:relative;display:inline-flex}.add-menu.ctx-menu{position:absolute;inset:auto 0 auto auto;top:calc(100%+6px);min-width:252px;z-index:60;transform-origin:top right}.add-menu .ctx-item{align-items:flex-start;padding:8px 10px}.add-menu .ctx-label{display:flex;flex-direction:column;gap:2px;line-height:1.25}.add-menu .ctx-label em{font-style:normal;font-size:11px;color:var(--fg-4)}.mount-bar{padding:8px var(--gutter) 0}.mount-chip{display:flex;align-items:center;gap:7px;padding:6px 8px 6px 10px;border:1px solid var(--line-2);border-radius:10px;background:linear-gradient(180deg,var(--raise) 0%,color-mix(in srgb,var(--raise) 70%,transparent) 100%);font-size:12px;color:var(--fg-2)}.mount-chip.needs{border-color:var(--accent-line);background:var(--accent-soft)}.mount-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--ok);box-shadow:0 0 0 3px rgba(69,211,153,0.14)}.mount-dot.busy{background:var(--accent);box-shadow:0 0 0 3px rgba(255,176,46,0.16);animation:pulse-dot 1.4s ease-in-out infinite}.mount-dot.paused{background:var(--warn);box-shadow:0 0 0 3px rgba(255,200,87,0.16)}.mount-name{font-weight:520;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.mount-meta{margin-left:auto;color:var(--fg-4);font-variant-numeric:tabular-nums;white-space:nowrap}@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:0.35}}.deps-card{margin:8px var(--gutter) 0;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);overflow:hidden}.deps-head{display:flex;align-items:center;gap:7px;width:100%;padding:8px 9px;border:0;background:transparent;color:var(--fg-2);font:inherit;font-size:12px;cursor:pointer;text-align:left}.deps-head:hover{color:var(--fg);background:var(--raise)}.deps-count{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--fg-4)}.deps-count.warn{color:var(--warn)}.deps-action{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);font-size:11px}.deps-list{border-top:1px solid var(--line);max-height:190px;overflow-y:auto;padding:4px}.deps-row{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:7px;font-size:12px;color:var(--fg-2)}.deps-row.missing{color:var(--warn)}.deps-name{font-family:var(--mono);font-size:11.5px;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deps-range{margin-left:auto;color:var(--fg-4);font-family:var(--mono);font-size:10.5px}.tree-modules{margin-top:6px;border-top:1px dashed var(--line-2);padding-top:4px}.tree-row.module-head{gap:6px;color:var(--fg-2);font-weight:500}.tree-row.module-head .path{font-family:var(--mono);font-size:11.5px}.tree-row.module-row{padding-left:30px;color:var(--fg-3);font-size:12px}.tree-row.module-row .path{font-family:var(--mono);font-size:11.5px}.tree-row.module-row .size{color:var(--fg-4);font-size:10.5px}.tree-count{margin-left:auto;padding:0 6px;border-radius:999px;background:var(--raise);color:var(--fg-4);font-size:10px;font-variant-numeric:tabular-nums}.tree-empty.small{padding:10px 6px}.tree-empty.small p{font-size:12px;color:var(--fg-4)}.add-menu.ctx-menu{animation:pop-in 120ms var(--ease)}.visual-edit{margin:8px 8px 0;padding:9px 10px;border:1px solid var(--accent-line);border-radius:var(--r-md);background:linear-gradient( 180deg,color-mix(in srgb,var(--accent) 9%,var(--panel-2)),var(--panel-2) );animation:rise var(--med) var(--ease) both}.visual-edit[hidden]{display:none}.ve-head{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-size:11.5px}.ve-tag{flex:none;padding:1px 6px;border-radius:5px;background:var(--accent-soft,color-mix(in srgb,var(--accent) 16%,transparent));color:var(--accent);font-family:var(--font-mono,ui-monospace,monospace);font-size:10.5px;font-weight:600}.ve-where{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-3);font-family:var(--font-mono,ui-monospace,monospace);font-size:10.5px}.ve-close{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:5px;color:var(--fg-3)}.ve-close:hover{color:var(--fg);background:var(--raise)}.ve-actions{display:flex;flex-wrap:wrap;gap:5px}.ve-action{height:24px;padding:0 9px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--panel);color:var(--fg-2);font-size:11.5px;font-weight:500;transition:color var(--fast) var(--ease),background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.ve-action:hover{color:var(--fg);border-color:var(--accent-line);background:var(--raise)}.ve-action[data-action='delete']:hover{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,transparent);background:var(--err-soft)}.ve-input{display:flex;align-items:center;gap:7px}.ve-label{flex:none;color:var(--fg-3);font-size:11.5px}.ve-field{flex:1;min-width:0;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--fg);font-size:12.5px}.ve-field[type='color']{flex:none;width:42px;padding:2px}.ve-field:focus{outline:none;border-color:var(--accent-line)}.composer.editing-element{border-color:var(--accent-line)}