:root{--paper: #faf9f6;--fill: #f3f1ec;--border: #e6e4de;--edge-strong: #cfccc4;--ink: #1a1a1a;--muted: #737373;--faint: #a8a8a8;--accent: #2f3f6e;--accent-d: #26335a;--tint: #eaecf3;--pos: #4a6741;--pos-bg: #edf1eb;--neg: #a8483a;--neg-bg: #f6ebe9;--warn: #9a6b1f;--warn-bg: #f7eed9;--radius-control: 4px;--radius-card: 8px;--font: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #17191c;--fill: #202226;--border: #2b2e33;--edge-strong: #3d4148;--ink: #e9e7e1;--muted: #9b978e;--faint: #6d6a62;--accent: #8ea3d6;--accent-d: #a9bbe6;--tint: #232a3d;--pos: #83a473;--pos-bg: #212a20;--neg: #cd8375;--neg-bg: #2f2320;--warn: #c9a25e;--warn-bg: #2a2316;color-scheme:dark}}:root[data-theme=dark]{--paper: #17191c;--fill: #202226;--border: #2b2e33;--edge-strong: #3d4148;--ink: #e9e7e1;--muted: #9b978e;--faint: #6d6a62;--accent: #8ea3d6;--accent-d: #a9bbe6;--tint: #232a3d;--pos: #83a473;--pos-bg: #212a20;--neg: #cd8375;--neg-bg: #2f2320;--warn: #c9a25e;--warn-bg: #2a2316;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);font-size:14px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:500;margin:0;letter-spacing:-.01em}h1{font-size:22px;line-height:1.25}h2{font-size:16px}p{margin:0}code{font-family:var(--mono);font-size:12.5px;background:var(--fill);border:1px solid var(--border);border-radius:var(--radius-control);padding:1px 5px}.meta{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px 24px}.card.tinted{background:var(--tint);border-color:transparent}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-control);font-size:13px;font-weight:500;font-family:inherit;line-height:1.2;cursor:pointer;border:1px solid var(--border);background:var(--paper);color:var(--ink)}.btn:hover{border-color:var(--edge-strong)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.btn.primary:hover{background:var(--accent-d);border-color:var(--accent-d)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.quiet{border-color:transparent;color:var(--muted);padding-left:6px;padding-right:6px}.btn.quiet:hover{color:var(--ink);background:var(--fill)}.pill{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:3px 9px;border-radius:999px;background:var(--fill);color:var(--muted)}.pill.pos{background:var(--pos-bg);color:var(--pos)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.tint{background:var(--tint);color:var(--accent-d)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.rail{border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:20px;background:var(--paper)}.brand{display:flex;align-items:baseline;gap:8px;padding:0 8px}.brand .word{font-size:17px;font-weight:500;letter-spacing:-.01em}.brand .org{color:var(--muted);font-size:13px}.nav{display:flex;flex-direction:column;gap:2px}.nav a,.nav span{display:flex;justify-content:space-between;align-items:center;padding:7px 8px;border-radius:var(--radius-control);font-size:13.5px;color:var(--ink)}.nav a:hover{background:var(--fill)}.nav a.active{background:var(--tint);color:var(--accent-d);font-weight:500}.nav span{color:var(--faint)}.nav .soon{font-size:11px;color:var(--faint)}.rail .who{margin-top:auto;padding:0 8px;display:flex;flex-direction:column;gap:6px;font-size:13px}.work{padding:32px 40px;max-width:980px;display:flex;flex-direction:column;gap:24px}.work header{display:flex;flex-direction:column;gap:6px}.kv{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px 16px;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{margin:0}.milestones{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.milestones li{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid var(--border);font-size:13.5px}.milestones li:first-child{border-top:0}.milestones .id{font-family:var(--mono);font-size:12px;color:var(--muted)}.tscroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;font:500 11px/1.4 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--fill);padding:9px 14px;border-bottom:1px solid var(--border)}.table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}.table tr:last-child td{border-bottom:0}.table .num,.table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.transcript{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:12.5px;line-height:1.5;background:var(--fill);border:1px solid var(--border);border-radius:var(--radius-control);padding:10px 12px;max-height:360px;overflow:auto}details.reveal>summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center;flex-wrap:wrap}details.reveal>summary::-webkit-details-marker{display:none}details.reveal>summary:before{content:"→";color:var(--muted)}details.reveal[open]>summary:before{content:"↓"}input[type=text]{font-family:inherit;font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-control);padding:8px 10px}input[type=text]:focus{outline:none;border-color:var(--accent)}.pill.neg{background:var(--neg-bg);color:var(--neg)}.nav a .pill{margin-left:auto}.chat{min-height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-width:860px;margin:0 auto;padding:0 20px}.chat.embed{max-width:none;padding:0 12px}.chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--paper);z-index:1}.chat-head .word{font-weight:500;font-size:16px}.chat-head select{font-family:inherit;font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-control);padding:6px 8px}.chat-log{display:flex;flex-direction:column;gap:18px;padding:20px 0;overflow-y:auto}.turn{display:flex;flex-direction:column;gap:10px}.msg{max-width:78%;padding:10px 14px;border-radius:var(--radius-card);font-size:14px;line-height:1.55}.msg.user{align-self:flex-end;background:var(--tint);color:var(--ink)}.msg.assistant{align-self:flex-start;background:var(--fill);border:1px solid var(--border)}.msg.assistant.failed{border-color:var(--neg)}.msg-meta{margin-top:6px;font-size:12px;color:var(--muted)}.chat-compose{display:flex;gap:10px;align-items:flex-end;padding:14px 0 18px;border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--paper)}.chat-compose textarea{flex:1;font-family:inherit;font-size:14px;line-height:1.5;color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-control);padding:10px 12px;resize:vertical;min-height:44px}.chat-compose textarea:focus{outline:none;border-color:var(--accent)}.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.gate .card{width:min(420px,100%);display:flex;flex-direction:column;gap:18px}.gate h1{font-size:20px}.alert{background:var(--neg-bg);color:var(--neg);border-radius:var(--radius-control);padding:10px 12px;font-size:13px}.note{background:var(--fill);border-radius:var(--radius-control);padding:10px 12px;font-size:13px;color:var(--muted)}.error{max-width:520px;margin:15vh auto;padding:24px;display:flex;flex-direction:column;gap:12px}@media(max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.rail{border-right:0;border-bottom:1px solid var(--border)}.work{padding:20px}.kv{grid-template-columns:minmax(0,1fr)}}
