.ide-frame{position:relative;background:var(--bg-grad,#0a0e1a);height:100vh;height:100dvh;display:grid;grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr);overflow:hidden;overscroll-behavior:contain}.ide-frame [role=button],.ide-frame a,.ide-frame button{touch-action:manipulation}.ide-frame{--bg:#0b0f1c;--bg-grad:#0b0f1c;--solid-1:#11161f;--solid-2:#161c27;--solid-3:#1c2331;--solid-4:#232b3a;--surface:rgba(255,255,255,0.06);--surface-2:rgba(255,255,255,0.10);--surface-elev:rgba(255,255,255,0.14);--border:rgba(255,255,255,0.10);--border-strong:rgba(255,255,255,0.18);--edge-hi:inset 0 0 0 1px rgba(255,255,255,0.08);--fg:#e6edf3;--fg-2:#9ba6b3;--fg-3:#7d8694;--accent:#06b6d4;--accent-dark:#0e7490;--accent-2:#c026d3;--accent-glow:rgba(6,182,212,0.4);--danger:#f87171;--warn:#fbbf24;--ok:#34d399;--radius:24px;--radius-md:18px;--radius-sm:12px;--radius-key:14px;--blur:blur(24px) saturate(140%);--shadow-card:0 8px 32px -8px rgba(0,0,0,0.5);--shadow-key:0 2px 0 rgba(255,255,255,0.04) inset,0 -2px 8px rgba(0,0,0,0.3);--font-ui:-apple-system,BlinkMacSystemFont,"SF Pro","Inter",system-ui,sans-serif;--font-mono:"JBMonoIDE","SF Mono","JetBrains Mono","Cascadia Code",ui-monospace,monospace;--t-short:120ms;--t-default:200ms;--t-long:360ms;--ease-out:cubic-bezier(0,0,0.3,1);--ease-enter:cubic-bezier(0.22,1,0.36,1);--ease-exit:cubic-bezier(0.4,0,1,1);--ease-sheet:cubic-bezier(0.32,0.72,0,1);--press-scale:0.96;--ease-spring:cubic-bezier(0.22,1,0.36,1);--text-label:13px;--text-body:14px;--text-section:16px;--text-panel:18px;--text-title:24px;--pane-gap:12px;--pane-pad:16px;--header-h:56px;--row-h:64px;--key-h:56px;--key-w:72px;--chip-h:44px;--kb-inset:0px;font-family:var(--font-ui);color:var(--fg)}.ide-frame .top-nav{display:flex;gap:12px;padding:12px 16px;backdrop-filter:var(--blur);border-bottom:1px solid var(--border);min-height:var(--header-h)}.ide-frame .nav-burger,.ide-frame .top-nav{align-items:center;background:var(--surface)}.ide-frame .nav-burger{min-width:44px;min-height:44px;display:inline-flex;justify-content:center;border-radius:var(--radius-sm);font-size:20px;color:var(--fg-2)}.ide-frame .nav-brand{font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--fg);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.ide-frame .nav-spacer{flex:0 0 auto}.ide-frame .nav-pill{min-height:44px;padding:0 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--fg-2);background:var(--surface);border:1px solid transparent;font-family:var(--font-mono);text-decoration:none;display:inline-flex;align-items:center}.ide-frame .nav-pill-active{color:var(--accent);background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.3)}.ide-frame .nav-avatar{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px;font-weight:600;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff}.ide-frame .session-ribbon{display:none;gap:12px;padding:8px 12px;background:transparent;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;align-items:center;touch-action:pan-x;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:relative;z-index:8;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent)}.ide-frame[data-view=ide] .session-ribbon{display:flex}.ide-frame .ribbon-chip-wrap{display:inline-flex;align-items:stretch;gap:12px;flex:0 0 auto}.ide-frame .ribbon-chip{flex:0 0 auto;min-height:44px;padding:0 14px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid transparent;font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--fg-2);display:inline-flex;align-items:center;gap:8px;transition:transform .08s,border-color .15s,background .15s,color .15s}.ide-frame .ribbon-chip:active{transform:scale(.97)}.ide-frame .ribbon-chip[data-active=true]{background:rgba(6,182,212,.1);border-color:rgba(6,182,212,.28);color:var(--accent)}.ide-frame .ribbon-chip[data-state=working]{color:var(--fg)}.ide-frame .ribbon-chip[data-active=true][data-state=working]{color:var(--accent)}.ide-frame .ribbon-chip[data-state=needs]{border-color:rgba(251,191,36,.35);color:var(--warn);animation:ribbonPulse 1.5s ease-in-out infinite}.ide-frame .ribbon-chip[data-state=done]{color:var(--ok)}@keyframes ribbonPulse{50%{border-color:rgba(251,191,36,.7)}}@media (prefers-reduced-motion:reduce){.ide-frame .ribbon-chip[data-state=needs]{animation:none}}.ide-frame .ribbon-kill{min-width:44px;min-height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid rgba(248,113,113,.32);background:rgba(248,113,113,.1);color:#fca5a5;font-family:var(--font-mono);font-size:16px;font-weight:400;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,transform .08s,color .15s}.ide-frame .ribbon-kill:hover{background:rgba(248,113,113,.16);color:#fecaca;border-color:rgba(248,113,113,.45)}.ide-frame .ribbon-kill:active{transform:scale(.97)}.ide-frame .ribbon-kill:disabled{opacity:.5;cursor:not-allowed}.ide-frame .ribbon-add{min-width:44px;min-height:44px;padding:0 14px;border-radius:22px;background:var(--accent);border:1px solid transparent;color:#031018;font-family:var(--font-mono);font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;gap:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25);transition:transform var(--t-short) var(--ease-out),filter var(--t-short) var(--ease-out)}.ide-frame .ribbon-add:hover{filter:brightness(1.08)}.ide-frame .ribbon-add:active{transform:scale(.97);filter:brightness(.95)}.ide-frame .ribbon-dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto}.ide-frame .ribbon-dot-working{background:var(--accent);box-shadow:0 0 4px var(--accent)}.ide-frame .ribbon-dot-needs{background:var(--warn)}.ide-frame .ribbon-dot-done{background:var(--ok)}.ide-frame .ribbon-dim{color:var(--fg-3)}.ide-frame .ide-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr) minmax(0,1.8fr);gap:var(--pane-gap);padding:var(--pane-gap);background:var(--bg-grad);min-height:0;min-width:0;position:relative;overflow:hidden}.ide-frame[data-orient=portrait] .ide-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.ide-frame[data-orient=portrait] .tab-bar{display:flex}.ide-frame[data-orient=portrait]{grid-template-rows:auto auto auto 1fr}.ide-frame[data-orient=portrait][data-perm=bypass]{grid-template-rows:auto auto auto auto 1fr}.ide-frame[data-orient=portrait][data-portrait-tab=keys] .pane:not(.pane-prev),.ide-frame[data-orient=portrait][data-portrait-tab=terminal] .pane:not(.pane-term),.ide-frame[data-orient=portrait][data-portrait-tab=tree] .pane:not(.pane-tree){display:none}.ide-frame .tab-bar{display:none;background:var(--surface);border-bottom:1px solid var(--border);padding:8px;gap:12px}.ide-frame .tab-btn{flex:1 1 0;min-height:48px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--fg-2);background:transparent;font-family:var(--font-ui)}.ide-frame .tab-btn[aria-selected=true]{background:var(--surface-2);color:var(--fg);box-shadow:0 0 0 1px var(--border) inset}.ide-frame .pane{background:var(--solid-1);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;min-width:0;min-height:0;box-shadow:var(--shadow-card);overflow:hidden;position:relative}.ide-frame .pane-term{background:#121212}.ide-frame .pane-prev{background:var(--surface);backdrop-filter:var(--blur);box-shadow:var(--shadow-card),var(--edge-hi)}.ide-frame .pane[data-focused=true]{box-shadow:inset 3px 0 0 var(--accent),var(--shadow-card),var(--edge-hi)}.ide-frame .pane.pane-prev[data-focused=true],.ide-frame .pane.pane-tree[data-focused=true]{background:var(--solid-2)}.ide-frame .pane.pane-prev[data-focused=true]{background:var(--surface-2);backdrop-filter:var(--blur)}.ide-frame .pane-keys .pane-title,.ide-frame .pane-prev .pane-title{font-family:var(--font-mono);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--fg-3)}.ide-frame .pane-header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);min-height:48px;background:var(--surface)}.ide-frame .pane-title{flex:1 1 auto;font-size:var(--text-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-ui)}.ide-frame .icon-btn{min-width:44px;min-height:44px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--fg-2);font-size:16px;background:transparent;transition:background .15s,color .15s}.ide-frame .icon-btn:hover{background:var(--surface-2);color:var(--fg)}.ide-frame .icon-btn:active{background:var(--surface-elev);transform:scale(var(--press-scale));transition:transform var(--t-short) var(--ease-out)}.ide-frame .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.ide-frame .dot-ok{background:var(--ok);box-shadow:0 0 8px var(--ok)}.ide-frame .agent-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:11px;font-family:var(--font-mono);font-size:var(--text-label);background:var(--surface);color:var(--fg);border:1px solid transparent;white-space:nowrap}.ide-frame .agent-dot{width:8px;height:8px;border-radius:50%;background:var(--fg-3);flex:0 0 auto}.ide-frame .agent-elapsed{color:var(--fg-2);font-variant-numeric:tabular-nums lining-nums}.ide-frame .agent-pill[data-state=working]{background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.3);color:var(--accent)}.ide-frame .agent-pill[data-state=working] .agent-dot{background:var(--accent);box-shadow:0 0 6px var(--accent)}.ide-frame .agent-pill[data-state=thinking]{background:rgba(192,38,211,.12);border-color:rgba(192,38,211,.3);color:#c084fc}.ide-frame .agent-pill[data-state=thinking] .agent-dot{background:var(--accent-2);box-shadow:0 0 6px var(--accent-2);animation:agentDotPulse 1.3s ease-in-out infinite}.ide-frame .agent-pill[data-state=awaiting]{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.35);color:var(--warn)}.ide-frame .agent-pill[data-state=awaiting] .agent-dot{background:var(--warn);box-shadow:0 0 6px var(--warn);animation:agentDotPulse 1.3s ease-in-out infinite}.ide-frame .agent-pill[data-state=idle]{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.3);color:var(--ok)}.ide-frame .agent-pill[data-state=idle] .agent-dot{background:var(--ok);box-shadow:0 0 6px var(--ok)}.ide-frame .agent-pill[data-state=error]{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.35);color:var(--danger)}.ide-frame .agent-pill[data-state=error] .agent-dot{background:var(--danger);box-shadow:0 0 6px var(--danger)}.ide-frame .agent-pill[data-state=stale]{color:var(--warn)}.ide-frame .agent-pill[data-state=stale] .agent-dot{background:var(--fg-3)}@keyframes agentDotPulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.ide-frame .agent-pill .agent-dot{animation:none!important}}.ide-frame .nav-drawer-overlay{position:fixed;inset:0;z-index:50;display:flex}.ide-frame .nav-drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);border:0}.ide-frame .nav-drawer{position:relative;width:320px;max-width:85vw;height:100%;background:rgba(20,24,40,.98);border-right:1px solid var(--border-strong);box-shadow:var(--shadow-card);overflow-y:auto;display:flex;flex-direction:column}.ide-frame .nav-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-size:16px;font-weight:700;color:var(--fg);border-bottom:1px solid var(--border)}.ide-frame .nav-drawer-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--fg-2);font-size:16px}.ide-frame .nav-drawer-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;font-family:var(--font-mono);font-size:14px;color:var(--fg);text-decoration:none;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.05);width:100%;text-align:left}.ide-frame .nav-drawer-row:active{background:var(--surface-2)}.ide-frame .nav-drawer-row.active{color:var(--accent)}.ide-frame .nav-drawer-glyph{width:20px;text-align:center;color:var(--fg-2);flex:0 0 auto}.ide-frame .nav-drawer-row.active .nav-drawer-glyph{color:var(--accent)}.ide-frame .nav-drawer-chev{margin-left:auto;color:var(--fg-3)}.ide-frame .nav-drawer-sep{height:1px;background:var(--border);margin:4px 0}.ide-frame .ribbon-triage{flex:0 0 auto;min-height:44px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11.5px;background:var(--surface);border:1px solid var(--border);color:var(--fg-2)}.ide-frame .ribbon-triage[data-needs=true]{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.35);color:var(--warn)}.ide-frame .ribbon-triage-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.ide-frame .ribbon-triage-dot.ok{background:var(--accent);box-shadow:0 0 6px var(--accent)}.ide-frame .ribbon-triage-dot.needs{background:var(--warn);box-shadow:0 0 6px var(--warn);animation:agentDotPulse 1.3s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.ide-frame .ribbon-triage-dot.needs{animation:none}}.ide-frame .ribbon-lock{width:16px;text-align:center;flex:0 0 auto;font-size:12px}.ide-frame .ribbon-lock-protected{color:var(--fg-2)}.ide-frame .ribbon-lock-locked{color:var(--accent)}.ide-frame .ribbon-lock-attached{color:var(--warn)}.ide-frame .ribbon-htag{font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:6px;background:var(--surface-2);color:var(--fg-3);flex:0 0 auto}.ide-frame .ribbon-htag-locked{color:var(--accent)}.ide-frame .ribbon-htag-attached{color:var(--warn)}.ribbon-sheet{position:relative;width:100%;max-width:560px;padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:rgba(20,24,40,.96);border:1px solid rgba(255,255,255,.18);border-bottom:0;border-top-left-radius:28px;border-top-right-radius:28px;backdrop-filter:blur(24px) saturate(140%);box-shadow:0 -20px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:10px}.ribbon-sheet-grab{width:48px;height:4px;border-radius:2px;background:rgba(255,255,255,.25);margin:0 auto 4px}.ribbon-sheet-head{display:flex;flex-direction:column;gap:2px;padding:0 2px 4px}.ribbon-sheet-title{font-family:var(--font-mono);font-size:16px;font-weight:700;color:#e6edf3;word-break:break-all}.ribbon-sheet-sub{font-size:12px;color:#9ba6b3}.ribbon-sheet-note{font-size:13px;color:#9ba6b3;padding:12px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}.ribbon-sheet-btn{min-height:56px;width:100%;border-radius:18px;font-family:var(--font-mono);font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#e6edf3;transition:transform .08s,filter .15s;cursor:pointer}.ribbon-sheet-btn:active{transform:scale(.98)}.ribbon-sheet-btn:disabled{opacity:.6}.ribbon-sheet-lock{background:rgba(6,182,212,.18);color:var(--accent);border-color:rgba(6,182,212,.45)}.ribbon-sheet-unlock{background:rgba(52,211,153,.16);color:#34d399;border-color:rgba(52,211,153,.45)}.ribbon-sheet-kill{background:rgba(248,113,113,.14);color:#fecaca;border-color:rgba(248,113,113,.4)}.ribbon-sheet-cancel{background:rgba(255,255,255,.04);color:var(--fg-3);border-color:rgba(255,255,255,.12)}.ide-frame .ribbon-confirm{display:inline-flex;align-items:center;gap:12px;padding:0 4px;flex:0 0 auto}.ide-frame .ribbon-confirm-q{display:inline-flex;align-items:center;padding:0 8px;color:var(--danger);font-family:var(--font-mono);font-size:12px;white-space:nowrap}.ide-frame .ribbon-confirm-no,.ide-frame .ribbon-confirm-yes{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:1px solid transparent;border-radius:var(--radius-sm)}.ide-frame .ribbon-confirm-yes{background:var(--danger);color:#2a0606}.ide-frame .ribbon-confirm-no{background:var(--surface);color:var(--fg-2);border-color:var(--border)}.ide-frame .ribbon-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:40;display:inline-flex;align-items:center;gap:14px;padding:12px 16px 14px;border-radius:var(--radius-md);background:rgba(20,24,40,.97);border:1px solid var(--border-strong);box-shadow:var(--shadow-card);font-family:var(--font-ui);font-size:13px;color:var(--fg)}.ide-frame .ribbon-toast code{color:var(--accent);font-family:var(--font-mono)}.ide-frame .ribbon-toast-undo{min-height:44px;padding:0 16px;display:inline-flex;align-items:center;border-radius:var(--radius-sm);font-size:12.5px;font-weight:700;color:var(--accent);background:rgba(6,182,212,.12);border:1px solid rgba(6,182,212,.3)}.ide-frame .ribbon-toast-bar{position:absolute;left:12px;right:12px;bottom:6px;height:2px;border-radius:2px;background:var(--accent);transform-origin:left;animation:ribbonToastBar 5s linear forwards}@keyframes ribbonToastBar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.ide-frame .ribbon-toast-bar{animation:none}}.ide-frame .collapse-shortcuts,.ide-frame .shortcuts-rail{display:none}.ide-frame .shortcuts-rail{width:100%;height:100%;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:14px 0;background:transparent;border:0}.ide-frame .shortcuts-rail-chev{font-size:18px;color:var(--accent)}.ide-frame .shortcuts-rail-label{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-2)}@media (min-width:1500px){.ide-frame[data-orient=landscape] .collapse-shortcuts{display:inline-flex}.ide-frame[data-orient=landscape][data-shortcuts=collapsed] .ide-grid{grid-template-columns:220px minmax(0,1fr) 44px}.ide-frame[data-orient=landscape][data-shortcuts=collapsed] .pane-prev .chip-row,.ide-frame[data-orient=landscape][data-shortcuts=collapsed] .pane-prev .mod-cluster,.ide-frame[data-orient=landscape][data-shortcuts=collapsed] .pane-prev .mod-row,.ide-frame[data-orient=landscape][data-shortcuts=collapsed] .pane-prev .pane-header{display:none}.ide-frame[data-orient=landscape][data-shortcuts=collapsed] .pane-prev .shortcuts-rail{display:flex}}.ide-frame .term-composer{position:absolute;left:8px;right:8px;bottom:calc(8px + var(--kb-inset, 0px));z-index:4;display:flex;align-items:center;gap:12px}.ide-frame .composer-btn{width:44px;height:44px;flex:0 0 auto;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;background:rgba(8,12,22,.72);border:1px solid rgba(6,182,212,.3);color:var(--fg-2);backdrop-filter:blur(10px)}.ide-frame .composer-btn.listening{color:var(--danger);border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.14);animation:agentDotPulse 1.1s ease-in-out infinite}.ide-frame .composer-input{flex:1 1 auto;min-width:0;height:44px;padding:0 14px;border-radius:10px;background:rgba(8,12,22,.72);border:1px solid rgba(6,182,212,.3);outline:none;color:#e6edf3;caret-color:#06b6d4;font-family:var(--font-mono);font-size:16px;backdrop-filter:blur(10px)}.ide-frame .composer-input::placeholder{color:var(--fg-3)}.ide-frame .composer-send{flex:0 0 auto;min-height:44px;padding:0 16px;border-radius:10px;background:var(--accent);color:#031018;font-weight:700;font-size:13px;display:inline-flex;align-items:center;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.25);transition:transform var(--t-short) var(--ease-out),filter var(--t-short) var(--ease-out)}.ide-frame .composer-send:active{transform:scale(var(--press-scale));filter:brightness(.95)}.ide-frame .term-onboard{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;overflow-y:auto;overflow-x:hidden}.ide-frame .term-onboard-banner{font-family:var(--font-mono);font-size:12px;line-height:1.5;margin:0 0 4px;opacity:.8}.ide-frame .term-onboard-glyph{font-size:34px;color:var(--fg-3)}.ide-frame .term-onboard-title{margin:0;font-size:17px;color:var(--fg)}.ide-frame .term-onboard-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:12.5px;color:var(--fg-2);text-align:left}.ide-frame .term-onboard-steps li{display:flex;align-items:center;gap:8px}.ide-frame .term-onboard-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(6,182,212,.15);color:var(--accent);font-size:12px;flex:0 0 auto}.ide-frame .term-onboard-cta{min-height:56px;padding:0 24px;border-radius:14px;background:var(--accent);color:#031018;font-weight:700;font-size:14px;display:inline-flex;align-items:center;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.25);transition:transform var(--t-short) var(--ease-out),filter var(--t-short) var(--ease-out)}.ide-frame .term-onboard-cta:active{transform:scale(var(--press-scale));filter:brightness(.95)}.ide-frame .term-approval{position:absolute;left:8px;right:8px;bottom:calc(64px + var(--kb-inset, 0px));z-index:7;background:rgba(20,24,40,.96);border:1px solid rgba(251,191,36,.45);border-radius:var(--radius-md);padding:12px 14px;backdrop-filter:var(--blur);box-shadow:var(--shadow-card)}.ide-frame .term-approval-h{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn)}.ide-frame .dot-warn{background:var(--warn);box-shadow:0 0 8px var(--warn);animation:agentDotPulse 1.3s ease-in-out infinite}.ide-frame .term-approval-action{display:flex;align-items:center;gap:9px;margin:10px 0;padding:9px 12px;background:rgba(0,0,0,.4);border-radius:10px;font-family:var(--font-mono);font-size:12.5px;color:var(--fg);border-left:3px solid var(--accent);overflow:hidden}.ide-frame .term-approval[data-destructive=true] .term-approval-action{border-left-color:var(--danger)}.ide-frame .term-approval-badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:8px;background:rgba(6,182,212,.18);color:var(--accent);flex:0 0 auto}.ide-frame .term-approval-target{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ide-frame .term-approval-acts{display:flex;gap:12px}.ide-frame .term-appr-always,.ide-frame .term-appr-no,.ide-frame .term-appr-yes{min-height:52px;border-radius:13px;font-family:var(--font-ui);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px}.ide-frame .term-appr-yes{background:var(--ok);color:#04130c;flex:2 1 0;box-shadow:0 0 16px rgba(52,211,153,.35)}.ide-frame .term-appr-no{background:rgba(248,113,113,.18);border:1px solid rgba(248,113,113,.45);color:var(--danger);flex:1 1 0}.ide-frame .term-appr-always{background:var(--surface);border:1px solid var(--border-strong);color:var(--fg-2);flex:1 1 0;font-weight:600}.ide-frame .term-appr-always:disabled,.ide-frame .term-appr-no:disabled,.ide-frame .term-appr-yes:disabled{opacity:.45}.ide-frame .term-appr-always[data-armed=true]{background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.6);color:var(--warn);animation:ribbonPulse 1.1s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.ide-frame .term-appr-always[data-armed=true]{animation:none}}.ide-frame .term-conn{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;background:rgba(10,14,26,.55);backdrop-filter:blur(2px)}.ide-frame .term-conn-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;border-radius:var(--radius-md);background:rgba(20,24,40,.94);border:1px solid rgba(6,182,212,.3);font-family:var(--font-mono);text-align:center;max-width:80%}.ide-frame .term-conn-card.offline{border-color:rgba(251,191,36,.4)}.ide-frame .term-conn-glyph{font-size:22px;color:var(--warn)}.ide-frame .term-conn-title{font-size:13px;color:var(--accent)}.ide-frame .term-conn-card.offline .term-conn-title{color:var(--warn)}.ide-frame .term-conn-sub{font-size:12px;color:var(--fg-2)}.ide-frame .term-retry{min-height:44px;padding:0 16px;margin-top:4px;display:inline-flex;align-items:center;border-radius:var(--radius-sm);background:rgba(6,182,212,.18);border:1px solid rgba(6,182,212,.45);color:var(--accent);font-family:var(--font-mono);font-size:12px;transition:transform var(--t-short) var(--ease-out),filter var(--t-short) var(--ease-out)}.ide-frame .term-retry:active{transform:scale(var(--press-scale));filter:brightness(.95)}.ide-frame .term-spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:termSpin .9s linear infinite}@keyframes termSpin{to{transform:rotate(1turn)}}.ide-frame .term-skeleton{display:block;padding:4px 0}.ide-frame .ide-skeleton-line,.ide-frame .term-skeleton .term-skel-line{display:block;height:12px;margin:8px 0;border-radius:var(--radius-sm);background:rgba(255,255,255,.08);background-image:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.16),rgba(255,255,255,.04));background-size:200% 100%;animation:termShim 1.4s linear infinite}@keyframes termShim{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ide-frame .ide-skeleton-line,.ide-frame .term-skel-line,.ide-frame .term-spinner{animation:none!important}}.ide-frame .ide-inline-danger,.ide-frame .ide-inline-warn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-label);line-height:1.4;border:1px solid transparent}.ide-frame .ide-inline-warn{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.25);color:var(--warn)}.ide-frame .ide-inline-danger{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.25);color:var(--danger)}.ide-frame .pane-term .pane-header{position:relative}.ide-frame .term-esc{padding:0 11px;border-radius:var(--radius-sm);color:var(--fg-2);background:var(--surface);border:1px solid var(--border-strong)}.ide-frame .term-esc,.ide-frame .term-stop{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;flex:0 0 auto}.ide-frame .term-stop{padding:0 12px;gap:6px;border-radius:var(--radius-sm);font-weight:700;color:var(--danger);background:rgba(248,113,113,.16);border:1px solid rgba(248,113,113,.45);transition:transform .06s,background .12s}.ide-frame .term-stop:active{transform:translateY(1px);background:rgba(248,113,113,.28)}.ide-frame .term-esc:disabled,.ide-frame .term-stop:disabled{opacity:.4}.ide-frame .term-menu-backdrop{position:fixed;inset:0;z-index:30;background:transparent;border:0}.ide-frame .term-menu{position:absolute;top:calc(100% + 6px);right:8px;z-index:31;min-width:230px;background:rgba(20,24,40,.97);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column}.ide-frame .term-menu-row{min-height:48px;padding:0 14px;gap:10px;display:flex;align-items:center;width:100%;text-align:left;font-family:var(--font-mono);font-size:13px;color:var(--fg);background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.05)}.ide-frame .term-menu-row:active{background:var(--surface-2)}.ide-frame .term-menu-row.danger{color:var(--danger)}.ide-frame .term-menu-row.danger:active{background:rgba(248,113,113,.1)}.ide-frame .term-menu-enc{margin-left:auto;color:var(--fg-3);font-size:12px}.ide-frame .term-status{font-family:var(--font-mono);font-size:12px;color:var(--fg-2);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ide-frame .tree-quick-strip{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior:contain;min-height:56px;scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent)}.ide-frame .tree-quick-chip{flex:0 0 auto;min-height:44px;min-width:44px;justify-content:center;padding:0 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--fg-2);font-family:var(--font-mono);font-size:12px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;max-width:220px;transition:background .15s,color .15s,border-color .15s,transform .08s}.ide-frame .tree-quick-chip:hover{background:var(--surface-2);color:var(--fg);border-color:var(--border-strong)}.ide-frame .tree-quick-chip:active{transform:scale(.97)}.ide-frame .tree-quick-chip[data-pinned=true]{color:var(--warn);border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.06)}.ide-frame .tree-quick-wrap{display:inline-flex;align-items:stretch;flex:0 0 auto}.ide-frame .tree-quick-wrap .tree-quick-chip{border-top-right-radius:0;border-bottom-right-radius:0}.ide-frame .tree-quick-unpin{flex:0 0 auto;min-width:44px;min-height:44px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border:1px solid rgba(251,191,36,.3);border-left:0;background:rgba(251,191,36,.06);color:var(--fg-3);cursor:pointer;transition:background .12s,color .12s,transform .08s}.ide-frame .tree-quick-unpin:hover{background:rgba(248,113,113,.14);color:#fca5a5}.ide-frame .tree-quick-unpin:active{transform:scale(.96)}.ide-frame .tree-quick-icon{font-size:12px;flex:0 0 auto;opacity:.85}.ide-frame .tree-quick-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.ide-frame .tree-crumbs{display:flex;align-items:center;gap:6px;padding:8px 10px 8px 8px;border-bottom:1px solid var(--border);background:var(--surface);min-height:56px}.ide-frame .tree-crumb-up{flex:0 0 auto;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--fg-2);font-family:var(--font-mono);font-size:18px;line-height:1;transition:background .15s,color .15s,transform .08s}.ide-frame .tree-crumb-up:hover{background:var(--surface-2);color:var(--fg)}.ide-frame .tree-crumb-up:active{transform:scale(.95)}.ide-frame .tree-crumb-up:disabled{opacity:.35;cursor:not-allowed}.ide-frame .tree-crumb-scroll{flex:1 1 auto;display:flex;align-items:center;gap:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior:contain;min-width:0;white-space:nowrap;scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent)}.ide-frame .tree-crumb-row{display:inline-flex;align-items:center;flex:0 0 auto}.ide-frame .tree-crumb{min-width:44px;min-height:44px;padding:0 12px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--fg-2);font-family:var(--font-mono);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.ide-frame .tree-crumb:active,.ide-frame .tree-crumb:hover{background:var(--surface);color:var(--fg)}.ide-frame .tree-crumb[data-active=true]{background:rgba(6,182,212,.1);border-color:rgba(6,182,212,.28);color:var(--accent)}.ide-frame .tree-crumb-sep{color:var(--fg-3);font-family:var(--font-mono);font-size:13px;padding:0 2px;user-select:none}.ide-frame .tree-search{padding:10px 12px;border-bottom:1px solid var(--border)}.ide-frame .tree-search input{width:100%;height:44px;padding:0 14px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--fg);font-size:16px;font-family:var(--font-ui)}.ide-frame .tree-search input::placeholder{color:var(--fg-3)}.ide-frame .tree{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:6px 0 96px;touch-action:pan-y;overscroll-behavior:contain}.ide-frame .tree-row-wrap{display:flex;align-items:stretch;width:100%}.ide-frame .tree-row{display:flex;gap:8px;padding:0 12px;min-height:var(--row-h);font-size:14px;color:var(--fg);font-family:var(--font-mono);position:relative;transition:background .12s;flex:1 1 auto;min-width:0;text-align:left}.ide-frame .tree-row,.ide-frame .tree-row-kebab{align-items:center;cursor:pointer;background:transparent;border:0}.ide-frame .tree-row-kebab{flex:0 0 auto;min-width:44px;min-height:44px;display:inline-flex;justify-content:center;color:var(--fg-3);font-size:16px;transition:background .12s,color .12s}.ide-frame .tree-row-kebab:hover{background:var(--surface-2);color:var(--fg)}.ide-frame .tree-row-kebab:active{background:var(--surface-elev)}.ide-frame .tree-row:hover{background:var(--surface-2)}.ide-frame .tree-row:active{background:var(--surface-elev)}.ide-frame .tree-row[data-active=true]{background:rgba(6,182,212,.1);box-shadow:inset 3px 0 0 var(--accent)}.ide-frame .tree-chevron{min-width:28px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-3);font-size:12px;transition:transform .15s;background:transparent;border:0;flex:0 0 auto}.ide-frame .tree-row[data-collapsed=true] .tree-chevron{transform:rotate(-90deg)}.ide-frame .tree-row[data-leaf=true] .tree-chevron{visibility:hidden}.ide-frame .tree-icon{width:20px;text-align:center;font-size:14px;flex:0 0 auto}.ide-frame .tree-name{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ide-frame .tree-badge{min-width:18px;height:18px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-size:12px;font-weight:700;font-family:var(--font-mono);margin-left:auto;flex:0 0 auto}.ide-frame .badge-M{background:rgba(251,191,36,.18);color:var(--warn)}.ide-frame .badge-A{background:rgba(52,211,153,.18);color:var(--ok)}.ide-frame .badge-D{background:rgba(248,113,113,.18);color:var(--danger)}.ide-frame .badge-Q{background:rgba(139,148,158,.18);color:var(--fg-2)}.ide-frame .tree-row[data-depth="0"]{padding-left:12px}.ide-frame .tree-row[data-depth="1"]{padding-left:28px}.ide-frame .tree-row[data-depth="2"]{padding-left:44px}.ide-frame .tree-row[data-depth="3"]{padding-left:60px}.ide-frame .tree-row[data-depth="4"]{padding-left:76px}.ide-frame .term{flex:1 1 auto;min-height:0;padding:16px 20px;background:var(--surface);overflow:hidden;position:relative;overscroll-behavior:contain;touch-action:manipulation}.ide-frame .term[data-live=true]{background:linear-gradient(180deg,#070b14 0,var(--bg) 100%)}.ide-frame .pane-term:has(.term[data-live=true]){box-shadow:0 0 0 1px rgba(6,182,212,.18),var(--shadow-card)}.ide-frame .term-xterm{position:relative;height:100%;width:100%;box-sizing:border-box;overflow:hidden;touch-action:pan-y;overscroll-behavior:contain}.ide-frame .term-xterm[data-select-mode=true]{touch-action:none}.ide-frame .term-xterm[data-select-mode=true] .xterm-rows,.ide-frame .term-xterm[data-select-mode=true] .xterm-screen{user-select:text;-webkit-user-select:text}.ide-frame .term-xterm[data-select-mode=true]{box-shadow:inset 0 0 0 2px rgba(34,211,238,.55)}.ide-frame .term-xterm .xterm{height:100%;padding:0 0 56px;box-sizing:border-box}.ide-frame .term-xterm .xterm-viewport{background-color:#121212!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.ide-frame .term-xterm .xterm-viewport::-webkit-scrollbar{width:10px}.ide-frame .term-xterm .xterm-viewport::-webkit-scrollbar-thumb{background:rgba(148,163,184,.4);border-radius:6px}.xterm,.xterm *,html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.xterm .xterm-rows,.xterm-char-measure-element,.xterm-width-cache-measure-container{font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0,"calt" 0,"dlig" 0}.ide-frame .term-jump-live{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(64px + var(--kb-inset, 0px));min-width:88px;min-height:44px;padding:0 14px;border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(6,182,212,.22),rgba(6,182,212,.06));border:1px solid rgba(6,182,212,.45);color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:600;box-shadow:0 4px 18px rgba(6,182,212,.3);display:inline-flex;align-items:center;justify-content:center;z-index:10}.ide-frame .term-jump-live:active{transform:translateX(-50%) scale(.96)}.ide-frame .term-tools{position:absolute;top:8px;left:12px;z-index:9;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;max-width:calc(100% - 120px)}.ide-frame .term-tool{min-height:44px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-sm);background:rgba(8,12,22,.82);border:1px solid rgba(6,182,212,.3);color:var(--fg-2);font-family:var(--font-mono);font-size:12px;font-weight:600;backdrop-filter:blur(10px);transition:background .12s,border-color .12s,transform .08s,color .12s}.ide-frame .term-tool:active{transform:scale(.96)}.ide-frame .term-tool[data-on=true]{background:rgba(6,182,212,.2);border-color:rgba(6,182,212,.55);color:var(--accent)}.ide-frame .term-copy-hint{left:50%;top:50%;transform:translate(-50%,-50%);z-index:11;padding:10px 16px;border-radius:var(--radius-sm);background:rgba(8,12,22,.92);border:1px solid rgba(6,182,212,.4);color:var(--accent);font-size:13px;box-shadow:var(--shadow-card);backdrop-filter:blur(12px);pointer-events:none;white-space:nowrap}.ide-frame .term-copy-hint,.ide-frame .term-type-hint{position:absolute;font-family:var(--font-mono);font-weight:600}.ide-frame .term-type-hint{left:8px;bottom:calc(64px + var(--kb-inset, 0px));z-index:6;min-height:44px;max-width:calc(100% - 16px);padding:0 16px;display:inline-flex;align-items:center;gap:8px;border-radius:22px;background:rgba(8,12,22,.86);border:1px dashed rgba(6,182,212,.45);color:var(--fg-2);font-size:12px;backdrop-filter:blur(10px);animation:agentDotPulse 2.4s ease-in-out infinite}.ide-frame .term-type-hint:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.ide-frame .term-type-hint{animation:none}}.ide-frame .t-ok{color:var(--ok)}.ide-frame .t-warn{color:var(--warn)}.ide-frame .t-acc{color:var(--accent)}.ide-frame .t-acc2{color:var(--accent-2)}.ide-frame .t-dim{color:var(--fg-3)}.ide-frame .t-tool{color:var(--accent);font-weight:600}.ide-frame .t-danger{color:var(--danger)}.ide-frame .t-fg{color:var(--fg)}.ide-frame .term-cursor{display:inline-block;width:8px;height:16px;background:var(--accent);vertical-align:text-bottom;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.ide-frame .term-cursor{animation:none}}.ide-frame .preview{flex:1 1 auto;padding:16px;overflow:auto;background:var(--solid-1);touch-action:pan-x pan-y}.ide-frame .preview-mock{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ide-frame .mock-card{padding:18px;border-radius:var(--radius-md);background:var(--solid-2);border:1px solid var(--border);box-shadow:var(--edge-hi);min-height:96px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;color:inherit;text-decoration:none}.ide-frame .mock-card b{font-size:var(--text-label);font-weight:700;color:var(--fg-2);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono)}.ide-frame .mock-card span{font-size:11px;color:var(--fg-2)}.ide-frame .mock-card .mock-num{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:auto;font-family:var(--font-mono);color:var(--fg);font-variant-numeric:tabular-nums lining-nums}.ide-frame .mock-card.span2{grid-column:span 2}.ide-frame .mock-card.mock-skill{background:color-mix(in srgb,var(--accent) 12%,var(--solid-2))}.ide-frame .mock-sparkline{height:28px;opacity:.5;color:var(--fg-2)}.ide-frame .chip-row{display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface);flex:0 0 auto;align-content:flex-start}.ide-frame .chip{flex:0 0 auto;min-height:var(--chip-h);min-width:44px;padding:0 10px;border-radius:22px;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--fg);background:var(--surface-2);border:1px solid var(--border);display:inline-flex;align-items:center;gap:6px;transition:background .12s,transform .08s,border-color .12s}.ide-frame .chip:active{transform:scale(var(--press-scale));background:color-mix(in srgb,var(--accent) 18%,var(--surface-2))}.ide-frame .chip[data-pin=true]{background:rgba(6,182,212,.18);color:var(--accent);border-color:rgba(6,182,212,.4)}.ide-frame .chip[data-destructive=true]{border-color:rgba(248,113,113,.32);color:#fca5a5}.ide-frame .chip[data-armed=true]{background:rgba(248,113,113,.2);border-color:rgba(248,113,113,.65);color:#fecaca;animation:ribbonPulse 1.1s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.ide-frame .chip[data-armed=true]{animation:none}}.ide-frame .mod-row{align-content:flex-start}.ide-frame .mod-cluster,.ide-frame .mod-row{display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px;background:var(--surface-2);border-top:1px solid var(--border);flex:0 0 auto}.ide-frame .mod-cluster{align-items:center}.ide-frame .arrow-tri{display:grid;grid-template-areas:".    up    ." "left down right";grid-template-columns:repeat(3,minmax(52px,1fr));grid-auto-rows:44px;gap:12px}.ide-frame .arrow-tri .key{min-width:0;width:100%}.ide-frame .arrow-tri .key[data-key=Up]{grid-area:up}.ide-frame .arrow-tri .key[data-key=Left]{grid-area:left}.ide-frame .arrow-tri .key[data-key=Down]{grid-area:down}.ide-frame .arrow-tri .key[data-key=Right]{grid-area:right}.ide-frame .key.key-enter{min-width:64px;min-height:92px;padding:0 14px;font-size:18px}.ide-frame .key{flex:0 0 auto;min-width:52px;min-height:44px;padding:0 8px;border-radius:var(--radius-key);font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--fg);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-key);display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:transform var(--t-default) var(--ease-spring),background var(--t-short) var(--ease-out);position:relative}.ide-frame .key:active{transform:translateY(2px) scale(var(--press-scale));background:var(--surface-elev);box-shadow:none;transition:transform var(--t-short) var(--ease-out),background var(--t-short) var(--ease-out)}.ide-frame .key[data-danger=true]{color:var(--danger)}.ide-frame .key[data-accent=true]{color:var(--accent)}.ide-frame .key[data-wide=true]{min-width:calc(var(--key-w) * 1.5)}.ide-frame .key[data-toggled=true]{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.ide-frame .key[data-ctrl-state=armed]{background:rgba(6,182,212,.18);color:var(--accent);border-color:rgba(6,182,212,.45);box-shadow:0 0 6px var(--accent-glow);animation:ctrlArmed 1s ease-in-out infinite}.ide-frame .key[data-ctrl-state=sticky]{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 14px var(--accent-glow)}@keyframes ctrlArmed{50%{box-shadow:0 0 12px var(--accent-glow)}}@media (prefers-reduced-motion:reduce){.ide-frame .key[data-ctrl-state=armed]{animation:none}}.ide-frame .fab-add{position:absolute;bottom:24px;right:24px;z-index:12;min-width:64px;min-height:64px;padding:0 22px;border-radius:22px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 12px 32px -8px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.25);transition:transform var(--t-short) var(--ease-out),box-shadow var(--t-short) var(--ease-out);border:0}.ide-frame .fab-add:active{transform:scale(.95)}.ide-frame .fab-add-plus{font-size:22px;line-height:1}.ide-frame .palette-fab{position:fixed;bottom:24px;right:88px;z-index:9;min-width:56px;min-height:56px;border-radius:28px;background:var(--surface-elev);backdrop-filter:var(--blur);border:1px solid var(--border-strong);color:var(--fg);font-size:20px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.4),var(--edge-hi);transition:transform var(--t-short) var(--ease-out)}.ide-frame .palette-fab:active{transform:scale(.95)}@media (min-width:601px){.ide-frame[data-orient=portrait][data-portrait-tab=terminal] .palette-fab,.ide-frame[data-orient=portrait][data-portrait-tab=tree] .palette-fab{bottom:104px}}.ide-frame .perm-banner{display:none;margin:10px 16px 0;padding:14px 16px;background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.4);border-radius:var(--radius-sm);color:var(--fg);font-size:13px;align-items:flex-start;gap:12px}.ide-frame[data-perm=bypass] .perm-banner{display:flex}.ide-frame .perm-banner-icon{font-size:20px;color:var(--danger);flex:0 0 auto}.ide-frame .perm-banner-body{flex:1;line-height:1.45}.ide-frame .perm-banner-body b{color:var(--danger)}@media (min-width:1100px) and (max-width:1499px) and (orientation:landscape){.ide-frame[data-orient=landscape] .ide-grid{grid-template-columns:200px minmax(0,1fr) 340px}.ide-frame .chip{padding:0 10px;font-size:12px}.ide-frame .chip-row,.ide-frame .mod-row{padding:8px 10px;gap:8px}.ide-frame .key{min-width:48px;padding:0 6px;font-size:12px}.ide-frame .tree-row{min-height:48px;font-size:13px}.ide-frame .tree-quick-chip{max-width:160px}.ide-frame .tree-quick-label{max-width:120px}}@media (min-width:700px) and (max-width:1099px) and (orientation:landscape){.ide-frame[data-orient=landscape] .ide-grid{grid-template-columns:180px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"tree term" "keys keys"}.ide-frame[data-orient=landscape] .pane-tree{grid-area:tree}.ide-frame[data-orient=landscape] .pane-term{grid-area:term}.ide-frame[data-orient=landscape] .pane-keys,.ide-frame[data-orient=landscape] .pane-prev{grid-area:keys;max-height:min(360px,40vh);min-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.ide-frame .palette-fab{bottom:calc(min(360px, 40vh) + 84px);right:16px}.ide-frame .pane-prev .pane-header{min-height:36px;padding:6px 12px}.ide-frame .pane-prev .pane-title{font-size:12px}.ide-frame .chip{padding:0 9px;font-size:12px;min-height:44px}.ide-frame .chip-row,.ide-frame .mod-cluster,.ide-frame .mod-row{padding:6px 8px;gap:8px}.ide-frame .key{min-width:48px;min-height:44px;padding:0 6px;font-size:12px}.ide-frame .arrow-tri{grid-auto-rows:44px;gap:12px}.ide-frame .key.key-enter{min-height:84px}.ide-frame .tree-row{min-height:44px;font-size:12px;padding:0 8px}.ide-frame .tree-row[data-depth="0"]{padding-left:8px}.ide-frame .tree-row[data-depth="1"]{padding-left:20px}.ide-frame .tree-row[data-depth="2"]{padding-left:32px}.ide-frame .tree-row[data-depth="3"]{padding-left:44px}.ide-frame .tree-row[data-depth="4"]{padding-left:56px}.ide-frame .tree-quick-chip{max-width:90px;padding:0 6px;font-size:12px}.ide-frame .tree-quick-label{max-width:70px}.ide-frame .pane-tree .fab-add{bottom:12px;right:12px;min-width:48px;min-height:48px;padding:0 14px;font-size:12px}.ide-frame .pane-term .pane-header{gap:12px;padding:8px 10px;flex-wrap:nowrap}.ide-frame .pane-term .pane-header .agent-elapsed,.ide-frame .pane-term .pane-header .pane-title,.ide-frame .pane-term .pane-header .term-esc{display:none}.ide-frame .pane-term .pane-header .agent-pill{flex:0 1 auto;min-width:0;overflow:hidden}.ide-frame .pane-term .pane-header .agent-pill>span:not(.agent-dot){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ide-frame .pane-term .pane-header .icon-btn[data-action=term-menu],.ide-frame .pane-term .pane-header .term-stop{flex:0 0 auto}}@media (min-width:700px) and (max-width:1499px) and (orientation:landscape){.ide-frame .term-tools{flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior:contain}.ide-frame .term-tools .term-tool{flex:0 0 auto;min-width:44px;justify-content:center;padding:0 10px}.ide-frame .term-tools .term-tool-label{display:none}.ide-frame .term .term-tools .term-tool-fontgrp{margin-left:8px}.ide-frame .term .term-tools .term-tool-fontval{min-width:34px;font-size:11px}.ide-frame .term-xterm .xterm{padding:52px 0 56px}.ide-frame .top-nav{gap:8px;padding:8px 12px}.ide-frame .nav-brand-prefix{display:none}.ide-frame .nav-brand{font-size:13px}.ide-frame .icon-btn[data-action=pip],.ide-frame .icon-btn[data-action=search],.ide-frame .icon-btn[data-action=snippets],.ide-frame .nav-pill:not(.nav-pill-active){display:none}}@media (max-width:600px){.ide-frame{--pane-gap:6px;--pane-pad:10px;--radius:14px;--header-h:52px;grid-template-rows:auto auto auto 1fr}.ide-frame[data-perm=bypass]{grid-template-rows:auto auto auto auto 1fr}.ide-frame .top-nav{padding:8px 10px;gap:8px;min-height:56px}.ide-frame .nav-burger{font-size:18px}.ide-frame .nav-brand{font-size:13px}.ide-frame .nav-brand-prefix{display:none}.ide-frame .icon-btn{padding:0 6px;font-size:15px}.ide-frame .icon-btn[data-action=pip],.ide-frame .icon-btn[data-action=search],.ide-frame .icon-btn[data-action=snippets],.ide-frame .nav-avatar,.ide-frame .nav-pill{display:none}.ide-frame .session-ribbon{padding:6px 8px;gap:8px}.ide-frame .ribbon-chip{padding:0 10px;font-size:12px;gap:6px}.ide-frame .ribbon-kill{padding:0 8px}.ide-frame .ribbon-add{padding:0 10px;font-size:12px}.ide-frame .tab-bar{display:flex;padding:6px 8px;gap:8px}.ide-frame .tab-btn{min-height:44px;font-size:13px}.ide-frame[data-orient] .ide-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.ide-frame[data-portrait-tab=keys] .pane:not(.pane-prev),.ide-frame[data-portrait-tab=terminal] .pane:not(.pane-term),.ide-frame[data-portrait-tab=tree] .pane:not(.pane-tree){display:none}.ide-frame .pane{border-radius:14px}.ide-frame .pane-header{padding:10px 12px;min-height:44px;gap:8px}.ide-frame .pane-title{font-size:12px}.ide-frame .pane-term .pane-header{flex-wrap:nowrap;gap:12px}.ide-frame .pane-term .pane-header .agent-elapsed,.ide-frame .pane-term .pane-header .pane-title,.ide-frame .pane-term .pane-header .term-esc{display:none}.ide-frame .pane-term .pane-header .agent-pill{flex:0 1 auto;min-width:0;overflow:hidden}.ide-frame .pane-term .pane-header .icon-btn[data-action=term-menu],.ide-frame .pane-term .pane-header .term-stop{flex:0 0 auto}.ide-frame .chip-row{min-height:56px;padding:8px 10px;gap:8px}.ide-frame .chip{padding:0 12px;font-size:12px;min-height:44px}.ide-frame .mod-row{min-height:64px;padding:8px;gap:8px}.ide-frame .key{min-width:52px;min-height:48px;padding:0 8px;font-size:13px}.ide-frame .key[data-wide=true]{min-width:78px}.ide-frame .tree-quick-chip{max-width:140px}.ide-frame .tree-quick-label{max-width:100px}.ide-frame .tree-row{min-height:52px;font-size:13px}.ide-frame .tree{padding-bottom:80px}.ide-frame .preview-mock{grid-template-columns:repeat(2,1fr)}.ide-frame .fab-add{bottom:14px;right:14px;min-width:56px;min-height:56px;padding:0 18px;font-size:14px}.ide-frame .palette-fab{bottom:14px;right:14px;min-width:50px;min-height:50px;font-size:18px}.ide-frame[data-portrait-tab=tree] .palette-fab{bottom:84px}.ide-frame .term-tools{flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior:contain}.ide-frame .term-tools .term-tool{flex:0 0 auto;min-width:44px;justify-content:center;padding:0 10px}.ide-frame .term-tools .term-tool-label{display:none}.ide-frame .term .term-tools .term-tool-fontgrp{margin-left:8px}.ide-frame .term .term-tools .term-tool-fontval{min-width:34px;font-size:11px}.ide-frame .term-xterm .xterm{padding:52px 0 56px}}@media (max-width:600px) and (max-height:480px){.ide-frame .palette-fab,.ide-frame .pane:not(.pane-term) .pane-header,.ide-frame .session-ribbon,.ide-frame .tab-bar,.ide-frame .top-nav{display:none}.ide-frame{grid-template-rows:1fr}.ide-frame[data-perm=bypass]{grid-template-rows:auto 1fr}.ide-frame .chip-row{min-height:48px;padding:6px 10px;gap:8px}.ide-frame .mod-row{min-height:56px;padding:6px 8px;gap:8px}.ide-frame .key{min-width:44px;min-height:44px;padding:0 6px;font-size:12px}.ide-frame .key[data-wide=true]{min-width:64px}.ide-frame .pane-term .pane-header{position:sticky;top:0;z-index:8;gap:12px;padding:6px 10px;min-height:44px;flex-wrap:nowrap;background:var(--solid-2);border-bottom:1px solid var(--border)}.ide-frame .pane-term .pane-header .agent-elapsed,.ide-frame .pane-term .pane-header .pane-title,.ide-frame .pane-term .pane-header .term-esc{display:none}.ide-frame .pane-term .pane-header .agent-pill{flex:0 1 auto;min-width:0;overflow:hidden}.ide-frame .pane-term .pane-header .agent-pill>span:not(.agent-dot){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ide-frame .pane-term .pane-header .icon-btn[data-action=term-menu],.ide-frame .pane-term .pane-header .term-stop{flex:0 0 auto}}@media (prefers-reduced-motion:reduce){.ide-frame{--ease-spring:linear}.ide-frame *,.ide-frame :after,.ide-frame :before{transition:none!important;animation:none!important}}.ide-frame [role=button]:focus-visible,.ide-frame [tabindex]:focus-visible,.ide-frame a:focus-visible,.ide-frame button:focus-visible,.ide-frame input:focus-visible,.ide-frame textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.ide-frame .chip,.ide-frame .key,.ide-frame .nav-pill,.ide-frame .ribbon-add,.ide-frame .tab-btn,.ide-frame .term-onboard-cta,.ide-frame .tree-row{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@keyframes aos-sheet-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes aos-sheet-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(8px);opacity:0}}@keyframes aos-backdrop-in{0%{opacity:0}to{opacity:1}}.ide-frame .aos-sheet-in{transform-origin:bottom center;animation:aos-sheet-in var(--t-long) var(--ease-sheet) both}.ide-frame .aos-sheet-out{transform-origin:bottom center;animation:aos-sheet-out var(--t-default) var(--ease-exit) both}.ide-frame .aos-backdrop-in{animation:aos-backdrop-in var(--t-default) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.ide-frame .aos-backdrop-in,.ide-frame .aos-sheet-in,.ide-frame .aos-sheet-out{animation:none!important}}@media (prefers-contrast:more){.ide-frame .nav-drawer,.ide-frame .palette-fab,.ide-frame .pane-prev,.ide-frame .ribbon-sheet,.ide-frame .term-menu,.ide-frame .top-nav{border:1px solid var(--border-strong)}.ide-frame a:focus-visible,.ide-frame button:focus-visible{outline-width:3px}}@media (forced-colors:active){.ide-frame .nav-pill-active,.ide-frame .tab-btn[aria-selected=true]{outline:1px solid}.ide-frame .dot,.ide-frame .ribbon-dot{forced-color-adjust:none}}@media (prefers-reduced-transparency:reduce){.ide-frame .nav-drawer,.ide-frame .palette-fab,.ide-frame .pane-prev,.ide-frame .ribbon-sheet,.ide-frame .top-nav{background:var(--solid-3)!important;backdrop-filter:none!important}}