:root{--bg: #08090b;--bg-raised: #0e1014;--bg-sunken: #050609;--panel: #101318;--line: #1c2128;--line-bright: #2a323d;--ink: #e6e9ee;--ink-dim: #8b94a3;--ink-faint: #5a6170;--signal: #ffb020;--run: #58a6ff;--idle: #6e7681;--bad: #ff5f56;--good: #3fb950;--accent: #d7b377;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--serif: "Instrument Serif", Georgia, serif;--r: 3px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(88,166,255,.06),transparent),repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 3px)}button,input,textarea,select{font:inherit;color:inherit}button{background:transparent;border:1px solid var(--line-bright);border-radius:var(--r);padding:5px 10px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}button:hover:not(:disabled){background:var(--bg-raised);border-color:var(--ink-faint)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--run);border-color:var(--run);color:#06121f;font-weight:600}button.primary:hover:not(:disabled){background:#79b8ff;border-color:#79b8ff}button.danger{border-color:#58252288;color:#ff8a80}button.danger:hover:not(:disabled){background:#2a1614;border-color:var(--bad)}button.ghost{border-color:transparent;color:var(--ink-dim)}button.ghost:hover:not(:disabled){color:var(--ink);background:var(--bg-raised)}.label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.app{display:grid;grid-template-rows:auto 1fr;height:100%}.topbar{display:flex;align-items:center;gap:18px;padding:0 14px;height:46px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg-raised),var(--bg))}.wordmark{font-family:var(--serif);font-size:21px;letter-spacing:.01em;color:var(--accent);-webkit-user-select:none;user-select:none}.wordmark em{font-style:italic;color:var(--ink)}.topbar .spacer{flex:1}.metrics{display:flex;gap:16px;align-items:center}.metric{display:flex;flex-direction:column;gap:2px;min-width:76px}.metric .val{font-size:12px;font-variant-numeric:tabular-nums}.meter{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.meter>i{display:block;height:100%;background:var(--run);transition:width .4s ease}.meter.warn>i{background:var(--signal)}.meter.hot>i{background:var(--bad)}.body{display:grid;grid-template-columns:292px 1fr;min-height:0}@media(max-width:860px){.body{grid-template-columns:1fr}.rail{display:none}.rail.open{display:flex;position:fixed;top:46px;right:0;bottom:0;left:0;z-index:40;background:var(--bg)}}.rail{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--bg-sunken);min-height:0}.rail-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.rail-list{overflow-y:auto;flex:1}.session-row{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-left:2px solid transparent;padding:9px 12px;border-radius:0;background:transparent}.session-row:hover{background:var(--bg-raised)}.session-row.active{background:var(--panel);border-left-color:var(--run)}.session-row .top{display:flex;align-items:center;gap:7px}.session-row .title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.session-row .sub{display:flex;gap:8px;margin-top:3px;font-size:10.5px;color:var(--ink-faint)}.dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--idle)}.dot.running{background:var(--run);box-shadow:0 0 #58a6ff99;animation:pulse 1.8s infinite}.dot.requires_action{background:var(--signal);animation:pulse 1.2s infinite}.dot.error,.dot.dead{background:var(--bad)}.dot.starting{background:var(--run);opacity:.5}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor;opacity:1}70%{box-shadow:0 0 0 5px transparent;opacity:.75}to{box-shadow:0 0 0 0 transparent;opacity:1}}.main{display:grid;grid-template-rows:auto 1fr auto;min-height:0;min-width:0}.session-head{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--bg-raised);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.session-head::-webkit-scrollbar{display:none}.session-head>*{flex:none}.session-head .name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.session-head .chip{max-width:300px;overflow:hidden;text-overflow:ellipsis}.session-head .spacer{flex:1 1 auto;min-width:8px}.chip{border:1px solid var(--line-bright);border-radius:999px;padding:2px 9px;font-size:10.5px;color:var(--ink-dim);white-space:nowrap}.chip.button:hover{color:var(--ink);border-color:var(--ink-faint);cursor:pointer}.transcript{overflow-y:auto;overflow-x:hidden;padding:18px 16px 26px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth;min-width:0;position:relative}.transcript-inner{max-width:940px;width:100%;margin:0 auto;min-width:0;display:flex;flex-direction:column;gap:14px}.turn-user{border-left:2px solid var(--accent);padding:2px 0 2px 12px;color:var(--ink);white-space:pre-wrap;word-break:break-word}.turn-user .who{font-size:10px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}.assistant{display:flex;flex-direction:column;gap:9px}.md{word-break:break-word}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md h1,.md h2,.md h3{font-family:var(--serif);font-weight:400;margin:14px 0 6px;line-height:1.2}.md h1{font-size:21px}.md h2{font-size:18px}.md h3{font-size:16px}.md ul,.md ol{margin:0 0 8px;padding-left:20px}.md li{margin:2px 0}.md code{background:var(--bg-sunken);border:1px solid var(--line);padding:0 4px;border-radius:var(--r);font-size:12px}.md pre{background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;overflow-x:auto;margin:0 0 8px}.md pre code{background:none;border:0;padding:0;font-size:12px;line-height:1.5}.md a{color:var(--run)}.md strong{color:#fff;font-weight:600}.md blockquote{margin:0 0 8px;padding-left:10px;border-left:2px solid var(--line-bright);color:var(--ink-dim)}.thinking{border:1px dashed var(--line-bright);border-radius:var(--r);background:#ffffff03}.thinking>summary{cursor:pointer;list-style:none;padding:5px 10px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.thinking>summary::-webkit-details-marker{display:none}.thinking .content{padding:0 10px 9px;color:var(--ink-dim);white-space:pre-wrap;font-size:12px}.card{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden}.card>header{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;border-bottom:1px solid transparent}.card.open>header{border-bottom-color:var(--line)}.card .tool-name{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}.card .tool-arg{flex:1;min-width:0;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.card .status{font-size:10.5px;color:var(--ink-faint);white-space:nowrap}.card .out{padding:8px 10px;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px;color:var(--ink-dim);background:var(--bg-sunken)}.card.err{border-color:#4a2320}.card.err .out{color:#ffb4ae}.diff{font-size:12px;background:var(--bg-sunken)}.diff .row{display:flex;gap:8px;padding:0 10px;white-space:pre-wrap;word-break:break-word}.diff .row.add{background:#3fb9501a;color:#a7e8b0}.diff .row.del{background:#ff5f5617;color:#ffb0aa}.diff .row .mark{color:var(--ink-faint);-webkit-user-select:none;user-select:none}.todo{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:8px 10px}.todo .item{display:flex;gap:8px;align-items:baseline}.todo .item.completed{color:var(--ink-faint);text-decoration:line-through}.todo .item.in_progress{color:var(--signal)}.divider{display:flex;align-items:center;gap:10px;color:var(--ink-faint);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.result-foot{display:flex;gap:14px;justify-content:flex-end;color:var(--ink-faint);font-size:10.5px;font-variant-numeric:tabular-nums}.ask{border:1px solid var(--signal);border-radius:var(--r);background:linear-gradient(180deg,#ffb02017,#ffb02008);padding:11px 12px;display:flex;flex-direction:column;gap:9px}.ask .kind{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--signal)}.ask .preview{background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--r);padding:7px 9px;font-size:12px;word-break:break-all;max-height:130px;overflow:auto}.ask .actions{display:flex;gap:8px;flex-wrap:wrap}.ask.resolved{border-color:var(--line);background:var(--panel);opacity:.72}.ask.resolved .kind{color:var(--ink-faint)}.composer{border-top:1px solid var(--line);background:var(--bg-raised);padding:10px 14px 12px}.composer-inner{max-width:940px;margin:0 auto;display:flex;flex-direction:column;gap:7px}.composer textarea{width:100%;resize:none;min-height:46px;max-height:190px;background:var(--bg-sunken);border:1px solid var(--line-bright);border-radius:var(--r);padding:9px 11px;outline:none}.composer textarea:focus{border-color:var(--run)}.composer .row{display:flex;align-items:center;gap:8px}.composer .hint{color:var(--ink-faint);font-size:10.5px}.banner{padding:5px 14px;font-size:11.5px;border-bottom:1px solid var(--line);background:#ffb0201a;color:var(--signal)}.banner.bad{background:#ff5f561a;color:#ff8a80}.empty{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;height:100%;color:var(--ink-faint);text-align:center;padding:30px}.empty .big{font-family:var(--serif);font-size:26px;color:var(--ink-dim)}.login{height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login form{width:min(420px,100%);display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:22px}.login input{background:var(--bg-sunken);border:1px solid var(--line-bright);border-radius:var(--r);padding:9px 11px;outline:none;width:100%}.login input:focus{border-color:var(--run)}.login .err{color:#ff8a80;font-size:11.5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040507b8;display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.modal{width:min(460px,100%);border:1px solid var(--line-bright);border-radius:var(--r);background:var(--panel);padding:18px;display:flex;flex-direction:column;gap:12px}.modal select,.modal input{width:100%;background:var(--bg-sunken);border:1px solid var(--line-bright);border-radius:var(--r);padding:7px 9px;outline:none}.field{display:flex;flex-direction:column;gap:4px}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jump{position:sticky;bottom:6px;align-self:flex-end;margin-top:-34px;background:var(--panel);border-color:var(--line-bright);box-shadow:0 6px 20px #0000008c;z-index:5}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-bright);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}
