:root{--bg:#0b0e14;--bg-2:#121722;--bg-3:#1a2130;--line:#232b3a;--text:#e6eaf2;--muted:#8a93a6;--accent:#6ea8fe;--accent-2:#7ce0c3;--danger:#ff6b6b;--warn:#fc6;--radius:10px;--mono:"SFMono-Regular", ui-monospace, "JetBrains Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}code{font-family:var(--mono);background:var(--bg-3);border-radius:5px;padding:1px 5px}pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;margin:0}button{cursor:pointer;font:inherit}.muted{color:var(--muted)}.app{flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--bg-2);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.brand{align-items:baseline;gap:8px;display:flex}.logo{color:var(--accent-2);font-size:18px}.brand-name{letter-spacing:.5px;font-weight:700}.brand-sub{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:12px}.conn{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.conn .dot{background:var(--danger);border-radius:50%;width:8px;height:8px}.conn.on .dot{background:var(--accent-2);box-shadow:0 0 8px var(--accent-2)}.layout{flex:1;min-height:0;display:flex}.sidebar{border-right:1px solid var(--line);background:var(--bg-2);width:260px;padding:14px;overflow-y:auto}.sidebar-title{text-transform:uppercase;letter-spacing:1px;color:var(--muted);align-items:center;gap:8px;margin:0 0 10px;font-size:12px;display:flex}.droid-section+.droid-section{margin-top:22px}.section-empty{margin:0 0 4px;font-size:12px}.droid-remove{color:var(--muted);background:0 0;border:none;border-radius:5px;flex:none;padding:2px 4px;font-size:13px}.droid-remove:hover{color:var(--danger);background:var(--bg)}.droid-list ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.droid-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-3);align-items:center;gap:10px;padding:10px;display:flex}.droid-item:hover{border-color:var(--accent)}.droid-item.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.droid-meta{flex-direction:column;flex:1;min-width:0;display:flex}.droid-name{font-weight:600}.droid-id{color:var(--muted);font-size:11px}.status-dot{background:var(--muted);border-radius:50%;flex:none;width:9px;height:9px}.status-dot.online{background:var(--accent-2)}.status-dot.busy{background:var(--warn);animation:1.2s infinite pulse}.status-dot.offline{background:#44506a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.badge{text-transform:uppercase;letter-spacing:.5px;background:var(--bg);color:var(--muted);border-radius:20px;padding:2px 7px;font-size:10px}.badge.online{color:var(--accent-2)}.badge.busy{color:var(--warn)}.badge.offline{color:var(--muted)}.badge.big{padding:4px 12px;font-size:12px}.badge.small{vertical-align:middle;margin-left:6px;padding:1px 6px;font-size:9px}.content{flex:1;min-width:0;padding:20px;overflow-y:auto}.empty{text-align:center;max-width:520px;color:var(--muted);margin:80px auto}.empty h2{color:var(--text)}.section-count{color:var(--muted);background:var(--bg-3);letter-spacing:0;border-radius:10px;padding:1px 7px;font-size:10px}.panel{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;display:flex}.panel-head{justify-content:space-between;align-items:center;display:flex}.panel-head h2{margin:0 0 6px}.head-actions{align-items:center;gap:12px;display:flex}.card.adopt p{margin:-2px 0 14px;line-height:1.5}.card.offline-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.card.offline-state p{max-width:420px;margin:0;line-height:1.5}.offline-icon{color:#44506a;margin-bottom:8px;font-size:40px;line-height:1}.caps{gap:6px;display:flex}.cap{text-transform:uppercase;border:1px solid var(--line);border-radius:5px;padding:2px 7px;font-size:10px}.cap.on{color:var(--accent-2);border-color:var(--accent-2)}.cap.off{color:var(--muted);opacity:.5}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card h3{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 12px;font-size:13px}input,select,textarea{background:var(--bg);color:var(--text);border:1px solid var(--line);font:inherit;border-radius:8px;outline:none;padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.config-row{gap:10px;display:flex}.config-row select{flex:none}.config-row input{flex:1}button.primary{background:var(--accent);color:#06122b;border:none;border-radius:8px;padding:9px 16px;font-weight:600}button.primary:disabled{opacity:.45;cursor:not-allowed}button.ghost{color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:8px;padding:6px 12px}button.ghost.small{padding:3px 8px;font-size:12px}.console-head{justify-content:space-between;align-items:center;display:flex}.log{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;height:280px;margin-bottom:12px;padding:12px;display:flex;overflow-y:auto}.update{gap:10px;display:flex}.update-kind{text-transform:uppercase;letter-spacing:.5px;width:70px;color:var(--muted);flex:none;padding-top:2px;font-size:10px}.update.thinking .update-kind{color:var(--accent)}.update.tool_call .update-kind,.update.tool_result .update-kind{color:var(--warn)}.update.response .update-kind{color:var(--accent-2)}.update.error .update-kind{color:var(--danger)}.update-body{flex:1;min-width:0}.update-body pre{font-size:13px;line-height:1.5}.update-body pre.tool{color:var(--warn);font-size:12px}.update.thinking .update-body pre{color:var(--muted);font-style:italic}.prompt-row{align-items:flex-end;gap:10px;display:flex}.prompt-row textarea{resize:vertical;flex:1;min-height:64px}.project-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.project-bar input{flex:1;min-width:220px}.project-bar button{background:var(--bg-3);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px}.app-link{color:var(--accent);font-size:12px}.ws-status{color:var(--muted);font-size:12px}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:12px;display:flex}.tab{color:var(--muted);text-transform:capitalize;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab-body{min-height:320px}.code-view{grid-template-columns:240px 1fr;gap:12px;height:360px;display:grid}.file-tree{background:var(--bg);border:1px solid var(--line);font-family:var(--mono);border-radius:8px;padding:10px;font-size:13px;overflow:auto}.tree-file{cursor:pointer;color:var(--text);border-radius:4px;padding:2px 4px}.tree-file:hover{background:var(--bg-3);color:var(--accent)}.tree-dir-name{color:var(--accent-2);padding:2px 4px}.tree-children{border-left:1px solid var(--line);padding-left:12px}.file-content{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px;overflow:auto}.file-path{font-family:var(--mono);color:var(--muted);margin-bottom:8px;font-size:12px}.file-content pre{font-size:13px;line-height:1.5}.terminal{border:1px solid var(--line);background:#05080f;border-radius:8px;height:360px;padding:12px;overflow:auto}.terminal pre{color:#c7f0d8;font-size:13px}.term-empty{flex-direction:column;align-items:flex-start;gap:8px;padding:8px;display:flex}.term-empty code{font-family:var(--mono);color:var(--accent)}.terminals{grid-template-columns:220px 1fr;gap:12px;height:360px;display:grid}.term-list{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex;overflow:auto}.term-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.term-item:hover{background:var(--bg-3)}.term-item.active{background:var(--bg-3);border-color:var(--accent)}.term-dot{border-radius:50%;flex:none;width:9px;height:9px}.term-dot.running{background:#22c55e;box-shadow:0 0 8px #22c55e}.term-dot.exited{background:var(--muted)}.term-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.term-meta{color:var(--muted);font-size:11px;font-family:var(--mono)}.term-output{border:1px solid var(--line);background:#05080f;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.term-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.term-head code{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.term-output pre{color:#c7f0d8;flex:1;margin:0;padding:12px;font-size:13px;overflow:auto}.browser-bar{gap:8px;margin-bottom:12px;display:flex}.browser-bar input{flex:1}.browser-bar button{background:var(--bg-3);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 14px}.browser-frame{border:1px solid var(--line);border-radius:8px;width:100%}.session-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.session-tab{background:var(--bg-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:8px;max-width:220px;padding:6px 10px;display:flex}.session-tab:hover{border-color:var(--accent)}.session-tab.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.session-title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.session-count{color:var(--muted);background:var(--bg);border-radius:10px;padding:1px 6px;font-size:10px}.session-del{color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:11px}.session-del:hover{color:var(--danger)}.session-new{background:var(--bg-3);border:1px dashed var(--line);color:var(--accent);border-radius:8px;padding:6px 12px}.turn{border-left:2px solid var(--line);margin-bottom:6px;padding-left:12px}.turn-prompt{align-items:center;gap:8px;margin-bottom:6px;font-weight:600;display:flex}.turn-you{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:var(--bg-3);border-radius:10px;padding:2px 7px;font-size:10px}.turn-logs{margin-left:auto}.turn-running{color:var(--warn);padding:2px 0;font-size:12px;font-style:italic}.update.clickable{cursor:pointer;border-radius:6px}.update.clickable:hover{background:var(--bg-3)}.hint{color:var(--accent);font-size:11px}.modal-backdrop{z-index:50;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;flex-direction:column;width:min(820px,100%);max-height:85vh;display:flex;box-shadow:0 20px 60px #00000080}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h3{margin:0;font-size:14px}.modal-body{padding:18px;overflow:auto}.modal-label{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:16px 0 6px;font-size:11px}.modal-label:first-child{margin-top:0}.json{background:var(--bg);border:1px solid var(--line);max-height:360px;color:var(--accent-2);border-radius:8px;padding:12px;font-size:12px;overflow:auto}.meta-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.meta-cell{background:var(--bg);border:1px solid var(--line);border-radius:8px;justify-content:space-between;gap:10px;padding:8px 10px;display:flex}.meta-k{color:var(--muted);font-size:12px}.meta-v{font-family:var(--mono);text-align:right;word-break:break-all;font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--bg-3);border:1px solid var(--line);color:var(--accent-2);border-radius:20px;padding:3px 10px;font-size:12px}
