:root{--bg: #1e1e1e;--bg-raised: #252526;--bg-bar: #333333;--border: #3c3c3c;--fg: #cccccc;--fg-dim: #8a8a8a;--accent: #0a7aca;--accent-soft: #094771;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-ui);font-size:14.5px}.shell{display:grid;overflow:hidden;grid-template-areas:"sidebar split-left editor     split-right assist" "sidebar split-left split-h    split-right assist" "sidebar split-left terminal   split-right assist" "status  status     status     status      status";height:100%}.split-left{grid-area:split-left}.split-right{grid-area:split-right}.split-horizontal{grid-area:split-h}.split{background:var(--border)}.resize-handle{width:100%;height:100%;background:transparent;touch-action:none}.resize-handle:hover,.resize-handle:active{background:var(--accent)}.resize-handle-x{cursor:col-resize}.resize-handle-y{cursor:row-resize}.sidebar{grid-area:sidebar;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--bg-raised);border-right:1px solid var(--border);overflow:hidden}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border);flex:none}.sidebar-tab{flex:1;padding:7px 8px;border:0;border-bottom:2px solid transparent;background:none;color:var(--fg-dim);font:inherit;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.sidebar-tab[aria-selected=true]{color:#fff;border-bottom-color:var(--accent)}.tree{overflow:auto}.pane-title{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}.tree{flex:0 1 auto;min-height:0;padding-bottom:12px;overflow:auto}.tree-row{display:flex;align-items:center;gap:6px;width:100%;padding:2px 8px;border:0;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}.tree-row:hover{background:#2a2d2e}.tree-row[aria-current=true]{background:var(--accent-soft)}.tree-glyph{width:12px;color:var(--fg-dim);flex:none}.editor-area{grid-area:editor;display:flex;flex-direction:column;min-width:0;min-height:0}.tabs{display:flex;background:var(--bg-raised);border-bottom:1px solid var(--border);overflow-x:auto}.tab{display:flex;align-items:center;gap:8px;padding:7px 12px;border:0;border-right:1px solid var(--border);background:var(--bg-raised);color:var(--fg-dim);font:inherit;cursor:pointer;white-space:nowrap}.tab[aria-selected=true]{background:var(--bg);color:#fff}.tab .dirty{color:var(--fg);font-size:17.5px;line-height:1}.editor-host{flex:1;min-height:0}.empty{display:grid;place-items:center;height:100%;color:var(--fg-dim)}.terminal-area{grid-area:terminal;min-width:0;display:flex;flex-direction:column;background:#181818;min-height:0}.terminal-host{flex:1;min-height:0;padding:4px 8px}.assist{grid-area:assist;min-width:0;overflow:hidden;background:var(--bg-raised);border-left:1px solid var(--border);display:flex;flex-direction:column}.assist-body{flex:1;padding:12px;color:var(--fg-dim);line-height:1.5}.status{grid-area:status;display:flex;align-items:center;gap:16px;padding:0 12px;background:var(--accent);color:#fff;font-size:12px}.status .spacer{flex:1}.error{padding:8px 12px;background:#5a1d1d;color:#ffd7d7;font-family:var(--font-mono);font-size:13px}.icon-button{border:0;background:none;color:var(--fg-dim);font-size:14.5px;line-height:1;cursor:pointer;padding:2px 4px}.icon-button:hover{color:var(--fg)}.search-panel{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;padding:10px 10px 0;gap:8px}.search-input{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:2px;background:var(--bg);color:var(--fg);font:inherit}.search-input:focus{outline:1px solid var(--accent)}.search-toggle{display:flex;align-items:center;gap:6px;color:var(--fg-dim);font-size:12px}.search-status{color:var(--fg-dim);font-size:12px}.search-results{overflow:auto;padding-bottom:12px}.search-file{padding:6px 2px 2px;color:var(--fg-dim);font-size:12px;word-break:break-all}.search-hit{display:flex;gap:8px;width:100%;padding:2px 4px 2px 10px;border:0;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}.search-hit:hover{background:#2a2d2e}.search-line{color:var(--fg-dim);min-width:28px;text-align:right;flex:none}.search-text{font-family:var(--font-mono);font-size:12px;white-space:pre;overflow:hidden;text-overflow:ellipsis}.view-toggle{display:flex;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--bg-raised)}.view-toggle .chip{padding:3px 10px;border:1px solid var(--border);border-radius:12px;background:none;color:var(--fg-dim);font:inherit;font-size:12px;cursor:pointer}.view-toggle .chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:#fff}.markdown{flex:1;min-height:0;overflow:auto;padding:40px 48px 96px;background:#1b1b1b}.markdown-body{max-width:68ch;margin:0 auto;color:#d4d4d4;font-size:16.5px;line-height:1.7}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:#f2f2f2;line-height:1.25;font-weight:600;letter-spacing:-.01em}.markdown-body h1{font-size:28.5px;margin:0 0 12px}.markdown-body h1+p{color:#a8a8a8}.markdown-body h2{font-size:20px;margin:2.2em 0 .7em;padding-bottom:8px;border-bottom:1px solid #333}.markdown-body h3{font-size:16.5px;margin:1.8em 0 .5em}.markdown-body h4{font-size:15.5px;margin:1.5em 0 .4em;color:#c8c8c8}.markdown-body p{margin:0 0 1.15em}.markdown-body ul,.markdown-body ol{margin:0 0 1.15em;padding-left:1.4em}.markdown-body li{margin:.4em 0;padding-left:.2em}.markdown-body li::marker{color:#8a8a8a}.markdown-body li>p{margin:.3em 0}.markdown-body ul ul,.markdown-body ol ol,.markdown-body ul ol,.markdown-body ol ul{margin:.4em 0}.markdown-body a{color:#79c0ff;text-decoration:underline;text-underline-offset:2px}.markdown-body strong{color:#f2f2f2;font-weight:600}.markdown-body em{color:#e0e0e0}.markdown-body code{padding:2px 6px;border-radius:4px;background:#2f2f2f;color:#e6c07b;font-family:var(--font-mono);font-size:.86em}.markdown-body pre{margin:1.3em 0;padding:14px 16px;overflow:auto;border:1px solid #333;border-radius:6px;background:#151515;line-height:1.55}.markdown-body pre code{padding:0;background:none;color:#d4d4d4;font-size:14px}.markdown-body blockquote{margin:1.3em 0;padding:4px 0 4px 18px;border-left:3px solid #3d3d3d;color:#a8a8a8}.markdown-body table{display:block;overflow-x:auto;border-collapse:collapse;margin:1.3em 0;font-size:15px}.markdown-body th,.markdown-body td{padding:8px 14px;border:1px solid #333;text-align:left}.markdown-body th{background:#242424;color:#f2f2f2;font-weight:600}.markdown-body tr:nth-child(2n) td{background:#1f1f1f}.markdown-body hr{border:0;border-top:1px solid #333;margin:2.4em 0}.markdown-body img{max-width:100%;border-radius:4px}.markdown-body input[type=checkbox]{margin-right:8px}.markdown-body li:has(>input[type=checkbox]){list-style:none;margin-left:-1.2em}.assist-log{flex:1;min-height:0;overflow:auto;padding:10px 12px}.assist-hint{color:var(--fg-dim);font-size:13px;line-height:1.5;margin:4px 0}.budget{color:var(--fg-dim);font-size:12px;font-variant-numeric:tabular-nums}.bubble{margin:8px 0;padding:8px 10px;border-radius:5px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.you{background:var(--accent-soft);color:#fff;margin-left:16px}.bubble.assistant{background:transparent;padding:2px 0 10px;border-bottom:1px solid var(--border);border-radius:0}.bubble.error{background:#4a1f1f;color:#f5a3a3}.prose{white-space:normal;line-height:1.6}.prose>*:first-child{margin-top:0}.prose>*:last-child{margin-bottom:0}.prose p{margin:0 0 .7em}.prose strong{color:#fff;font-weight:600}.prose em{color:var(--fg)}.prose ul,.prose ol{margin:0 0 .7em;padding-left:1.25em}.prose li{margin:.25em 0}.prose li::marker{color:var(--fg-dim)}.prose h1,.prose h2,.prose h3,.prose h4{margin:1.1em 0 .4em;font-size:14.5px;font-weight:600;color:#fff}.prose code{padding:1px 4px;border-radius:3px;background:#2f2f2f;color:#e6c07b;font-family:var(--font-mono);font-size:.86em;overflow-wrap:anywhere}.prose pre{margin:.7em 0;padding:9px 11px;overflow-x:auto;border:1px solid var(--border);border-radius:4px;background:#151515}.prose pre code{padding:0;background:none;color:var(--fg);font-size:12.5px;line-height:1.5}.prose blockquote{margin:.7em 0;padding-left:10px;border-left:2px solid var(--border);color:var(--fg-dim)}.prose a{color:#79c0ff}.prose table{border-collapse:collapse;font-size:12.5px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:3px 7px;text-align:left}.prose hr{border:0;border-top:1px solid var(--border);margin:1em 0}.proposal{margin:10px 0;border:1px solid var(--accent);border-radius:5px;background:var(--bg);overflow:hidden}.proposal-head{display:flex;gap:8px;align-items:baseline;padding:8px 10px;background:var(--accent-soft);font-size:14px;color:#fff}.proposal-tool{padding:1px 7px;border-radius:9px;background:#ffffff2e;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;flex:none}.proposal-file{padding:6px 10px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:12.5px;color:var(--fg-dim)}.proposal-cmd{margin:0;padding:8px 10px;font-family:var(--font-mono);font-size:13px;color:#fff;overflow-x:auto}.proposal-diff{margin:0;max-height:320px;overflow:auto;font-family:var(--font-mono);font-size:12px;line-height:1.45;background:#141414}.proposal-diff .dl{display:block;padding:0 10px;white-space:pre}.proposal-diff .dl.a{background:#12281d;color:#7ee2a8}.proposal-diff .dl.d{background:#2b1614;color:#f5a3a3}.proposal-diff .dl.h{color:var(--fg-dim)}.proposal-actions{display:flex;gap:8px;padding:8px 10px;border-top:1px solid var(--border)}.assist-compose{flex:none;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-top:1px solid var(--border)}.assist-compose textarea{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);font:inherit;font-size:14.5px;resize:vertical}.assist-compose textarea:focus{outline:1px solid var(--accent)}.attach{display:flex;gap:6px;align-items:center;color:var(--fg-dim);font-size:12px}.submitted-banner{padding:8px 14px;background:#14432a;border-bottom:1px solid #1d6b41;color:#a6ecc4;font-size:14px}.attached{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.chip-file{display:inline-flex;align-items:center;gap:5px;padding:2px 4px 2px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--fg);font-size:12px;font-family:var(--font-mono)}.chip-file button{border:0;background:none;color:var(--fg-dim);cursor:pointer;font-size:14.5px;line-height:1;padding:0 2px}.chip-file button:hover{color:#f5a3a3}.chip-add{padding:2px 9px;border:1px dashed var(--border);border-radius:10px;background:none;color:var(--fg-dim);font:inherit;font-size:12px;cursor:pointer}.chip-add:hover{color:var(--fg);border-color:var(--accent)}.attach-picker{flex:none;max-height:44%;display:flex;flex-direction:column;border-top:1px solid var(--border);background:var(--bg)}.attach-head{display:flex;gap:6px;padding:8px 10px 6px}.attach-head input{flex:1;padding:4px 8px;border:1px solid var(--border);border-radius:3px;background:var(--bg-raised);color:var(--fg);font:inherit;font-size:13px}.attach-error{padding:0 10px 6px;color:#f5a3a3;font-size:12px}.attach-list{overflow:auto;padding:0 6px 8px}.attach-row{display:flex;gap:7px;align-items:center;padding:3px 6px;border-radius:3px;cursor:pointer;font-size:13px}.attach-row:hover{background:#2a2d2e}.attach-path{flex:1;font-family:var(--font-mono);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-size{color:var(--fg-dim);font-size:11.5px}.chip-file.whole{padding:2px 9px;border-color:var(--accent);color:var(--fg)}.prose.streaming>:last-child:after{content:"▌";margin-left:2px;color:var(--accent);animation:blink 1.1s steps(2,start) infinite}.prose.thinking{color:var(--fg-dim)}@keyframes blink{to{visibility:hidden}}@media (prefers-reduced-motion: reduce){.prose.streaming>:last-child:after{animation:none}}.session-panel{flex:none;margin-top:auto;border-top:1px solid var(--border);padding-bottom:10px;background:var(--bg-raised)}.pill-done{padding:1px 7px;border-radius:9px;background:#14432a;color:#7ee2a8;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.session-stats{display:flex;gap:18px;margin:0;padding:0 12px 6px}.session-stats>div{display:flex;flex-direction:column;gap:1px}.session-stats dt{color:var(--fg-dim);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase}.session-stats dd{margin:0;font-size:16.5px;font-variant-numeric:tabular-nums;color:var(--fg)}.session-stats dd.urgent{color:#f5a3a3}.bar{height:3px;margin:0 12px 10px;border-radius:2px;background:var(--border);overflow:hidden}.bar span{display:block;height:100%;background:var(--accent)}.bar span.urgent{background:#f5a3a3}.session-note{margin:-4px 12px 10px;color:var(--fg-dim);font-size:12px;line-height:1.4}.hand-in{display:block;width:calc(100% - 24px);margin:2px 12px 0;padding:7px 10px;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:#fff;font:inherit;font-size:14.5px;font-weight:500;cursor:pointer}.hand-in:hover:not(:disabled){filter:brightness(1.12)}.hand-in:disabled{background:none;border-color:var(--border);color:var(--fg-dim);cursor:default}.time-warning{margin:0 12px 10px;padding:7px 9px;border:1px solid var(--warn-line, #e0b464);border-radius:4px;background:#2a2115;color:#e6c67f;font-size:12.5px;line-height:1.45}.time-warning b{color:#fff}.time-warning.done{border-color:#1d6b41;background:#14432a;color:#a6ecc4}.time-warning.paused{border-color:#3f6ea8;background:#16263a;color:#9dc4ef}.session-actions{display:flex;gap:8px;margin:2px 12px 0}.session-actions .hand-in,.session-actions .pause{width:auto;margin:0;flex:1}.pause{padding:7px 10px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--fg);font:inherit;font-size:14.5px;cursor:pointer}.pause:hover:not(:disabled){background:var(--bg-hover, rgba(255, 255, 255, .06))}.pause:disabled{color:var(--fg-dim);cursor:default}.paused-scrim{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0a0c10f5;backdrop-filter:blur(6px)}.paused-scrim>div{max-width:420px;padding:0 24px;text-align:center}.paused-scrim h2{margin:0 0 8px;font-size:22px;font-weight:600}.paused-scrim p{margin:0 0 18px;color:var(--fg-dim);line-height:1.5;font-size:14.5px}.paused-scrim .hand-in{width:100%;margin:0}
