:root{--bg: #1e1e1e;--bg-light: #252526;--bg-user: #1a2733;--text: #d4d4d4;--text-dim: #808080;--text-muted: #5a5a5a;--white: #ffffff;--blue: #569cd6;--orange: #ce9178;--green: #6a9955;--red: #f44747;--yellow: #dcdcaa;--cyan: #4ec9b0;--purple: #c586c0;--amber: #e8a838;--border: #333333}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:Menlo,SF Mono,Monaco,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.5;height:100vh;display:flex;flex-direction:column}#upload-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}#upload-screen h1{font-size:20px;color:var(--white);font-weight:600}#upload-screen p{color:var(--text-dim);font-size:13px}#drop-zone{width:460px;max-width:90vw;height:180px;border:2px dashed var(--border);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .2s}#drop-zone:hover,#drop-zone.drag-over{border-color:var(--blue);background:#569cd60d}#drop-zone .icon{font-size:36px;opacity:.4}#drop-zone .label{color:var(--text-dim);font-size:13px}#drop-zone .sublabel{color:var(--text-muted);font-size:11px}#file-input{display:none}.upload-error{color:#f44747;font-size:12px;margin-top:8px;text-align:center}.setting-checkbox{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.setting-checkbox input[type=checkbox]{accent-color:var(--blue);width:14px;height:14px;cursor:pointer}#replay-screen{display:none;flex:1;flex-direction:column;height:100vh}#controls{background:var(--bg-light);border-bottom:1px solid var(--border);padding:6px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0}.ctrl-btn{background:transparent;border:1px solid var(--border);color:var(--text);padding:4px 12px;border-radius:4px;cursor:pointer;font-family:inherit;font-size:12px;transition:all .15s}.ctrl-btn:hover{background:var(--border)}.ctrl-btn.active{background:var(--blue);border-color:var(--blue);color:var(--white)}#speed-display{color:var(--text-dim);font-size:12px;min-width:36px;text-align:center}#progress-bar{flex:1;height:12px;background:var(--border);border-radius:3px;cursor:pointer;position:relative;display:flex;align-items:stretch}#progress-fill{height:100%;background:var(--blue);border-radius:3px;width:0%;transition:width .1s;position:absolute;top:0;left:0;pointer-events:none}#progress-ticks{position:absolute;inset:0;display:flex;pointer-events:none}.progress-tick{flex:1;border-right:1px solid rgba(255,255,255,.08);position:relative}.progress-tick:last-child{border-right:none}.progress-tick.tick-user{background:#569cd626}.progress-tick.tick-assistant{background:transparent}#progress-bar:hover .progress-tick{border-right-color:#ffffff26}#progress-bar.dragging{cursor:grabbing}#progress-bar.dragging #progress-fill{transition:none}.ctrl-sep{width:1px;height:20px;background:var(--border)}#msg-counter{color:var(--text-muted);font-size:11px}#new-file-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:11px;padding:4px 8px;border-radius:4px}#new-file-btn:hover{color:var(--text);background:var(--border)}#chat{flex:1;overflow-y:auto}#chat-inner{min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:16px 20px}#chat::-webkit-scrollbar{width:8px}#chat::-webkit-scrollbar-track{background:var(--bg)}#chat::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.msg-user{background:var(--bg-user);border-radius:6px;padding:10px 14px;margin:12px 0}.msg-user .user-prompt{color:var(--blue);margin-right:8px;font-weight:700}.msg-user .user-text{color:var(--white);white-space:pre-wrap;word-wrap:break-word}.assistant-block{margin:4px 0}.bullet-text{padding:4px 0;white-space:pre-wrap;word-wrap:break-word}.bullet-text .bullet{color:var(--text-dim);margin-right:6px}.bullet-text strong{color:var(--white);font-weight:700}.bullet-text em{color:var(--text-dim);font-style:italic}.bullet-text code{background:#ffffff14;color:var(--cyan);padding:1px 5px;border-radius:3px;font-size:12px}.bullet-text pre{background:#0d0d0d;border:1px solid var(--border);border-radius:4px;padding:8px 12px;margin:6px 0;overflow-x:auto}.bullet-text pre code{background:none;padding:0;color:var(--text)}.bullet-text h1,.bullet-text h2,.bullet-text h3{color:var(--white);margin:12px 0 6px;font-weight:600}.bullet-text h1{font-size:16px}.bullet-text h2{font-size:14px}.bullet-text h3{font-size:13px}.bullet-text ul,.bullet-text ol{margin:4px 0;padding-left:20px}.bullet-text li{margin:2px 0}.bullet-text blockquote{border-left:2px solid var(--blue);padding-left:10px;color:var(--text-dim);margin:6px 0}.bullet-text a{color:var(--blue);text-decoration:none}.bullet-text table{border-collapse:collapse;margin:6px 0}.bullet-text th,.bullet-text td{border:1px solid var(--border);padding:4px 10px;text-align:left}.bullet-text th{background:var(--bg-light);font-weight:600}.tool-call{margin:6px 0 2px}.tool-call-header{display:flex;align-items:baseline;gap:0;cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 0}.tool-call-header:hover{opacity:.85}.tool-call-header .bullet{color:var(--text-dim);margin-right:6px}.tool-call-name{color:var(--amber);font-weight:700}.tool-call-paren{color:var(--text-dim)}.tool-call-summary{color:var(--text)}.tool-call-body{display:none;margin-left:20px;padding:4px 0;color:var(--text-dim);font-size:12px;white-space:pre-wrap;word-wrap:break-word}.tool-call.open .tool-call-body{display:block}.tool-call-expand{margin-left:20px;color:var(--text-muted);font-size:11px;cursor:pointer}.tool-call.open .tool-call-expand{display:none}.tool-result{margin:0 0 4px}.tool-result-line{display:flex;align-items:baseline;gap:0;padding:1px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.tool-result-line:hover{opacity:.85}.tool-result-connector{color:var(--text-muted);margin-right:6px;font-size:12px}.tool-result-preview{color:var(--text-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.tool-result-body{display:none;margin-left:20px;padding:4px 0;color:var(--text-dim);font-size:12px;white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow-y:auto}.tool-result.open .tool-result-body{display:block}.tool-result-expand{margin-left:20px;color:var(--text-muted);font-size:11px;cursor:pointer}.tool-result.open .tool-result-expand{display:none}.tool-result.error .tool-result-preview{color:var(--red)}.status-line{color:var(--text-muted);font-size:12px;margin:8px 0;padding:2px 0}.status-line .status-icon{color:var(--amber);margin-right:4px}.typing-cursor{display:inline-block;width:7px;height:14px;background:var(--text);animation:blink .6s step-end infinite;vertical-align:text-bottom;margin-left:1px}@keyframes blink{50%{opacity:0}}#status-bar{background:var(--bg-light);border-top:1px solid var(--border);padding:3px 16px;display:flex;align-items:center;gap:16px;font-size:11px;color:var(--text-muted);flex-shrink:0}.status-item{display:flex;align-items:center;gap:4px}.status-dot{width:6px;height:6px;border-radius:50%}.status-dot.active{background:var(--green)}.status-dot.paused{background:var(--amber)}.status-dot.idle{background:var(--text-muted)}.status-spacer{flex:1}#task-panel{display:none;flex-shrink:0;padding:10px 20px;border-bottom:1px solid var(--border);font-size:13px;max-height:40vh;overflow-y:auto}#task-panel.visible{display:block}.task-list-header{display:flex;align-items:baseline;gap:6px;padding:2px 0}.task-list-header .task-header-icon{color:var(--amber)}.task-list-header .task-header-text{color:var(--amber);font-weight:700}.task-list-items{margin-left:14px;border-left:1px solid var(--border);padding-left:10px}.task-item{display:flex;align-items:baseline;gap:6px;padding:1px 0}.task-item .task-check{font-size:12px;width:14px;flex-shrink:0}.task-item.pending .task-check{color:var(--white)}.task-item.in-progress .task-check{color:var(--amber)}.task-item.completed .task-check{color:var(--green)}.task-item.completed .task-subject{color:var(--text-muted);text-decoration:line-through}.task-item.pending .task-subject{color:var(--white)}.task-item.in-progress .task-subject{color:var(--text)}.task-overflow{color:var(--text-muted);font-size:12px;padding:2px 0}
