:root{font:16px system-ui;color-scheme:dark;background:#12151b;color:#e7edf6;--line:#2c3545;--muted:#93a0b4;--accent:#c8f169}
body{margin:0}main{max-width:960px;margin:auto;padding:16px;display:flex;flex-direction:column;height:100dvh;box-sizing:border-box}
header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}h1{font-size:22px;margin:0}h2{font-size:18px}
label{display:block;margin:12px 0 6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
input,textarea,button{font:inherit;border:1px solid #53617a;border-radius:8px;padding:9px;background:#202735;color:inherit}
input,textarea{box-sizing:border-box;width:100%;max-width:100%}textarea{resize:vertical}
button{cursor:pointer;margin:4px 6px 4px 0}button:disabled{opacity:.5;cursor:default}
button.quiet{background:none;border-color:var(--line);color:var(--muted);font-size:13px;padding:5px 9px}
button.primary{background:var(--accent);border-color:var(--accent);color:#11140c;font-weight:600}
button.stop{background:#3a1f22;border-color:#a3464d;color:#ffd7d9}
nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;font-size:13px}a{color:#9bc5ff}
code{font:13px ui-monospace,monospace;background:#1d2430;border-radius:4px;padding:1px 4px;overflow-wrap:anywhere}
#secret{display:block;user-select:all}#error{color:#ffb8b8}#error:empty{display:none}
#desk{display:flex;flex-direction:column;flex:1;min-height:0}
#journal{flex:1;min-height:0;overflow:auto;border-block:1px solid var(--line);margin-top:8px;padding:8px 2px;display:flex;flex-direction:column;gap:10px}
.msg{line-height:1.5;max-width:100%}
.msg.user{align-self:flex-end;background:#232c3b;border-radius:14px;padding:8px 12px;max-width:80%;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.user .tag{display:block;font-size:11px;color:var(--accent);margin-bottom:2px}
.msg.codex{border-left:3px solid var(--accent);padding:0 0 0 12px}.msg.interim{border-left-color:#4a566b;color:#c3ccd9;font-size:14.5px}
.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:.4em 0}.md ul,.md ol{margin:.4em 0;padding-left:1.4em}
.md h3,.md h4,.md h5,.md h6{margin:.6em 0 .3em;font-size:1em}.md blockquote{margin:.4em 0;padding-left:10px;border-left:2px solid var(--line);color:var(--muted)}
.md pre.code{font:13px/1.45 ui-monospace,monospace;background:#0d1016;border:1px solid var(--line);border-radius:8px;padding:8px 10px;overflow:auto;white-space:pre}
.md table{border-collapse:collapse;font-size:14px;margin:.4em 0}.md th,.md td{border:1px solid var(--line);padding:4px 8px;text-align:left}
details.work{align-self:flex-start;max-width:100%;font-size:13px;color:var(--muted)}
details.work>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:7px;background:#1b212c;border-radius:999px;padding:3px 11px}
details.work>summary::-webkit-details-marker{display:none}
.dot{width:7px;height:7px;border-radius:50%;background:#55627a}.dot.running{background:var(--accent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}
.work-list{display:flex;flex-direction:column;gap:2px;margin:6px 0 0 10px;border-left:1px solid var(--line);padding-left:10px}
details.tool>summary{cursor:pointer;display:flex;gap:8px;align-items:baseline;list-style:none}details.tool>summary::-webkit-details-marker{display:none}
.tool-title{font:12.5px ui-monospace,monospace;color:#c3ccd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(78vw,780px)}
.state{font-size:11px;min-width:2.5em}.state.done{color:#8fc27a}.state.failed{color:#ff9a9f}.state.running{color:var(--accent)}
.tool-detail{font:12px/1.4 ui-monospace,monospace;background:#0d1016;border-radius:6px;padding:6px 8px;margin:4px 0 6px;max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#b7c1cf}
.note{font-size:13px;color:var(--muted)}.note.bad{color:#ffb8b8}pre.login{font:13px ui-monospace,monospace;white-space:pre-wrap;margin:0}
#send{margin-top:8px}.actions{display:flex;justify-content:flex-end;gap:6px}
[hidden]{display:none!important}
.ops{margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:7px 11px;font-size:13.5px;display:flex;flex-direction:column;gap:4px}
.ops.bad{border-color:#a3464d;background:#2a1719}
.ops-head{display:flex;align-items:center;gap:8px}.ops-age{margin-left:auto;color:var(--muted);font-size:12px}
.dot.ok{background:#6fb35c}.dot.alarm{background:#ff6b74;animation:pulse 1.2s ease-in-out infinite}
.ops-item{padding-left:15px}.ops-since{color:var(--muted);font-size:12px}.ops-detail{color:#d3c2c4;font-size:13px}
.ops-item.clear{color:#8fc27a;font-size:12.5px}
