:root{--bg:#0f1115;--bg2:#151821;--bg3:#1c202b;--bg4:#242a37;--line:#2a3040;--text:#e7e9ef;--muted:#8f97ab;--faint:#5d6579;--accent:#6d8cff;--accent-bg:#6d8cff24;--ok:#2fbf71;--warn:#e0a526;--err:#ef5b5b;--radius:10px;--touch:42px;--mono:ui-monospace, "JetBrains Mono", "Cascadia Mono", "Roboto Mono", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:15px}:root[data-scale=large]{--touch:46px;font-size:17px}:root[data-scale=xl]{--touch:50px;font-size:19px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;line-height:1.4;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent)}code,pre,.mono{font-family:var(--mono);font-size:.9em}.btn{min-height:var(--touch);border-radius:var(--radius);background:var(--bg3);border:1px solid var(--line);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.btn:hover{background:var(--bg4)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0b0d12;font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.ok{background:var(--ok);border-color:var(--ok);color:#06140c;font-weight:600}.btn.danger{border-color:var(--err);color:var(--err);background:0 0}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg3)}.btn.small{min-height:32px;padding:0 10px;font-size:.9rem}.icon-btn{width:var(--touch);height:var(--touch);border-radius:var(--radius);cursor:pointer;color:var(--muted);background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg3);color:var(--text)}.icon-btn{position:relative}.icon-btn>.badge{min-width:18px;height:18px;padding:0 4px;font-size:.7rem;position:absolute;top:2px;right:0;margin:0!important}.icon-btn.active{color:var(--accent);background:var(--accent-bg)}.input,.textarea,.select{width:100%;min-height:var(--touch);border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);outline:none;padding:8px 12px}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent)}.textarea{resize:none;line-height:1.45}.app{height:100%;flex-direction:column;height:100dvh;display:flex}.topbar{padding:0 8px;padding-top:env(safe-area-inset-top);height:calc(50px + env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--bg2);flex:none;align-items:center;gap:6px;display:flex}.topbar .title{align-items:center;gap:8px;min-width:0;font-weight:650;display:flex}.topbar .spacer{flex:1}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.conn{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.main{flex:1;min-height:0;display:flex}.panel{background:var(--bg2);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.panel-head{min-height:var(--touch);border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex:none;align-items:center;gap:6px;padding:0 8px;font-size:.85rem;font-weight:600;display:flex}.panel-body{flex:1;min-height:0;overflow:auto}.sep{background:var(--line);outline:none;flex:none;position:relative}.sep[aria-orientation=vertical]{cursor:col-resize;width:1px}.sep[aria-orientation=horizontal]{cursor:row-resize;height:1px}.sep:after{content:"";position:absolute;inset:-9px 0}.sep[aria-orientation=vertical]:after{inset:0 -9px}.sep:hover,.sep[data-separator-state=drag],.sep[data-separator=active]{background:var(--accent)}.nav{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding:6px;display:flex}.nav-item{min-height:var(--touch);border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:0 10px;display:flex}.nav-item:hover{background:var(--bg3)}.nav-item.active{background:var(--accent-bg);color:var(--text)}.nav-item .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.badge{background:var(--bg4);min-width:22px;height:22px;color:var(--text);border-radius:11px;justify-content:center;align-items:center;padding:0 6px;font-size:.8rem;display:inline-flex}.badge.warn{background:var(--warn);color:#1a1205;font-weight:700}.badge.run{background:var(--accent);color:#0b0d12;font-weight:700}.demo-tag{color:#f5c451;letter-spacing:.05em;background:#4a3a10;border-radius:6px;padding:1px 6px;font-size:.7rem;font-weight:700}.tree{padding:4px 0 20px;font-size:.95rem}.tree-row{cursor:pointer;white-space:nowrap;text-align:left;width:100%;min-height:34px;color:var(--text);background:0 0;border:0;align-items:center;gap:6px;padding-right:8px;display:flex}.tree-row:hover{background:var(--bg3)}.tree-row.dim{color:var(--faint)}.tree-row .name{text-overflow:ellipsis;overflow:hidden}.tree-row .git{margin-left:auto;font-size:.75rem;font-weight:700}.git-M{color:var(--warn)}.git-A,.git-new{color:var(--ok)}.git-D{color:var(--err)}.tabs{background:var(--bg2);border-bottom:1px solid var(--line);scrollbar-width:none;flex:none;align-items:stretch;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{min-height:var(--touch);border-right:1px solid var(--line);cursor:pointer;white-space:nowrap;color:var(--muted);background:0 0;border-top:0;border-bottom:2px solid #0000;border-left:0;flex:none;align-items:center;gap:6px;max-width:240px;padding:0 6px 0 12px;display:flex}.tab.active{color:var(--text);background:var(--bg);border-bottom-color:var(--accent)}.tab .label{text-overflow:ellipsis;overflow:hidden}.tab .x{width:30px;height:30px;color:var(--faint);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.tab .x:hover{background:var(--bg4);color:var(--text)}.pane{background:var(--bg);flex-direction:column;min-width:0;height:100%;display:flex}.pane.focused .tabs{box-shadow:inset 0 2px 0 var(--accent)}.pane-body{flex:1;min-height:0;position:relative}.empty{height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.bottom-tabs{border-bottom:1px solid var(--line);background:var(--bg2);scrollbar-width:none;flex:none;align-items:center;gap:2px;padding:0 4px;display:flex;overflow-x:auto}.bottom-tab{min-height:38px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.bottom-tab.active{color:var(--text);background:var(--bg3)}.agent-tabs{border-bottom:1px solid var(--line);flex:none;gap:4px;padding:6px;display:flex}.agent-tab{min-height:var(--touch);border-radius:var(--radius);border:1px solid var(--line);background:var(--bg3);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex}.agent-tab.active{border-color:var(--accent);background:var(--accent-bg)}.thread-bar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:6px;padding:6px;display:flex}.thread-bar .select{min-height:38px}.composer{border-top:1px solid var(--line);background:var(--bg2);flex-direction:column;flex:none;gap:6px;padding:8px;display:flex}.composer-row{align-items:center;gap:6px;display:flex}.limits{color:var(--muted);flex-wrap:wrap;gap:10px;padding:4px 8px;font-size:.8rem;display:flex}.meter{align-items:center;gap:5px;display:inline-flex}.meter .bar{background:var(--bg4);border-radius:3px;width:46px;height:6px;overflow:hidden}.meter .bar i{background:var(--accent);height:100%;display:block}.feed{flex-direction:column;gap:8px;padding:10px;display:flex}.turn-user{background:var(--accent-bg);white-space:pre-wrap;word-break:break-word;border:1px solid #6d8cff59;border-radius:12px 12px 2px;align-self:flex-end;max-width:92%;padding:8px 12px}.ev-text{white-space:pre-wrap;word-break:break-word;line-height:1.5}.ev-text pre{background:var(--bg);border:1px solid var(--line);white-space:pre;border-radius:8px;margin:6px 0;padding:8px 10px;overflow-x:auto}.ev-text code{background:var(--bg3);border-radius:4px;padding:1px 4px}.ev-text pre code{background:0 0;padding:0}.ev-status{color:var(--faint);align-items:center;gap:6px;font-size:.82rem;display:flex}.ev-error{color:var(--err);white-space:pre-wrap;word-break:break-word;background:#ef5b5b14;border:1px solid #ef5b5b4d;border-radius:8px;padding:8px 10px}.ev-result{color:var(--ok);flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.tool{border:1px solid var(--line);background:var(--bg2);border-radius:8px;overflow:hidden}.tool-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 10px;font-size:.9rem;display:flex}.tool-head .what{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.tool-body{border-top:1px solid var(--line);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;max-height:320px;color:var(--muted);padding:8px 10px;font-size:.8rem;overflow:auto}.tool.err .tool-head{color:var(--err)}.thinking{color:var(--faint);font-size:.85rem;font-style:italic}.approval-card{border:1px solid var(--warn);background:#e0a52614;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.approval-card .cmd{font-family:var(--mono);background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:200px;padding:8px;font-size:.85rem;overflow:auto}.approval-card .actions{flex-wrap:wrap;gap:8px;display:flex}.st{background:var(--bg4);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:.8rem;display:inline-flex}.st.running{color:#a9bcff;background:#6d8cff2e}.st.waiting_approval{color:#f5c451;background:#e0a52633}.st.succeeded{color:#67dd9b;background:#2fbf7129}.st.failed,.st.interrupted{color:#ff8f8f;background:#ef5b5b29}.st.cancelled,.st.queued{color:var(--muted)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;padding:16px;display:flex}.page h2{margin:0;font-size:1.3rem}.page h3{margin:0 0 8px;font-size:1.05rem}.card{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:14px}.cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.proj-card{cursor:pointer;text-align:left;color:inherit;font:inherit;flex-direction:column;gap:8px;display:flex}.proj-card:hover{border-color:var(--accent)}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.85rem}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.list{flex-direction:column;display:flex}.list-item{border-bottom:1px solid var(--line);min-height:var(--touch);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border-top:0;border-left:0;border-right:0;align-items:center;gap:10px;padding:10px 12px;display:flex}.list-item:hover{background:var(--bg3)}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip{background:var(--bg4);color:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.8rem;display:inline-flex}.notice{border:1px solid var(--line);background:var(--bg3);color:var(--muted);border-radius:10px;padding:10px 12px}.notice.warn{color:#f5c451;background:#e0a5260f;border-color:#e0a52680}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;font-size:.9rem;display:grid}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;margin:0}.login{justify-content:center;align-items:center;height:100%;padding:20px;display:flex}.login-box{flex-direction:column;gap:14px;width:100%;max-width:380px;display:flex}.login-box h1{align-items:center;gap:10px;margin:0;font-size:1.5rem;display:flex}.error-text{color:var(--err);font-size:.9rem}.term-wrap{background:#0b0d11;padding:4px 0 0 6px;position:absolute;inset:0}.term-keys{border-top:1px solid var(--line);background:var(--bg2);flex:none;gap:4px;padding:4px 6px;display:flex;overflow-x:auto}.term-keys button{border:1px solid var(--line);background:var(--bg3);min-width:44px;min-height:34px;font-family:var(--mono);cursor:pointer;border-radius:8px;font-size:.85rem}.toasts{right:12px;top:calc(58px + env(safe-area-inset-top));z-index:100;flex-direction:column;gap:8px;max-width:min(420px,100vw - 24px);display:flex;position:fixed}.toast{background:var(--bg3);border:1px solid var(--line);border-left:4px solid var(--accent);cursor:pointer;border-radius:10px;padding:10px 14px;box-shadow:0 6px 24px #0006}.toast.error{border-left-color:var(--err)}.toast.ok{border-left-color:var(--ok)}.drawer-backdrop{z-index:40;background:#00000080;position:fixed;inset:0}.drawer{z-index:41;background:var(--bg2);width:min(380px,88vw);padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;box-shadow:0 0 40px #00000080}.drawer.left{border-right:1px solid var(--line);left:0}.drawer.right{border-left:1px solid var(--line);width:min(460px,94vw);right:0}.modal-backdrop{z-index:60;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:12px;width:100%;max-width:460px;padding:16px;display:flex}.modal h3{margin:0}.choice{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.choice.active{border-color:var(--accent);background:var(--accent-bg)}.choice input{margin-top:4px}.diff-pre{font-family:var(--mono);white-space:pre;margin:0;padding:8px 12px;font-size:.85rem}.diff-add{color:#67dd9b}.diff-del{color:#ff8f8f}.diff-hunk{color:#8fb0ff}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
