:root,:root[data-theme=light]{--ink: #151515;--ink-soft: #515151;--paper: #ffffff;--surface: #ffffff;--wash: #f7f7f7;--rule: #e2e8f0;--rule-soft: #eef2f6;--accent: #ff3939;--accent-text: #9c0a01;--accent-solid: #b81207;--accent-wash: #fff1f0;--muted: #6b7280;--good: #519670;--good-wash: #eef5f0;--warn: #8a6414;--warn-wash: #fdf6e6;--bad: #b81207;--bad-wash: #fff1f0;--info: #2f5f86;--info-wash: #f1f5f9;--shadow: 0 1px 2px rgba(21, 21, 21, .05);--font-book: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--hl: rgba(255, 182, 18, .32);--hl-strong: rgba(255, 182, 18, .55);--jump: rgba(255, 57, 57, .2);--jump-strong: rgba(255, 57, 57, .42)}:root[data-theme=dark]{--ink: #e0e0e0;--ink-soft: #b0b0b0;--paper: #16181b;--surface: #1d2024;--wash: #23262b;--rule: #333940;--rule-soft: #292d33;--accent: #ff5c4d;--accent-text: #ff8578;--accent-solid: #d43a2c;--accent-wash: #2b1d1b;--muted: #9a9a9a;--good: #7fae7b;--good-wash: #1e2620;--warn: #d3a34e;--warn-wash: #2a2318;--bad: #e08b84;--bad-wash: #2b1e1e;--info: #7fa8cf;--info-wash: #1c242c;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--font-book: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--hl: rgba(255, 182, 18, .26);--hl-strong: rgba(255, 182, 18, .48);--jump: rgba(255, 92, 77, .28);--jump-strong: rgba(255, 92, 77, .5)}*{box-sizing:border-box}html{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);transition:background .12s ease,color .12s ease}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;color:var(--ink);border:1px solid var(--rule);background:var(--surface);border-radius:6px;padding:6px 12px;box-shadow:var(--shadow)}button:hover{border-color:var(--accent)}button.primary{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}button.primary:hover{filter:brightness(1.12)}button.small{padding:2px 8px;font-size:12px}button.ghost{background:transparent;border-color:transparent;box-shadow:none;padding:4px 8px}button.ghost:hover{background:var(--wash);border-color:transparent}textarea,input,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:8px;width:100%}textarea:focus,input:focus{outline:2px solid var(--accent);outline-offset:-1px}::placeholder{color:var(--muted)}.topbar{display:flex;align-items:center;gap:20px;padding:10px 20px;border-bottom:1px solid var(--rule);background:var(--surface);position:sticky;top:0;z-index:50}.topbar .brand{font-weight:700;letter-spacing:.5px;color:var(--ink);display:flex;align-items:center;gap:8px}.topbar .brand .mark{width:13px;height:13px;border-radius:2px;transform:rotate(45deg);background:var(--accent)}.topbar nav{display:flex;gap:14px}.topbar .spacer{flex:1}.topbar .who{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:10px}.page{max-width:1100px;margin:0 auto;padding:24px 20px}.lede{color:var(--muted);font-size:13px;margin:0 0 18px}.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.card{border:1px solid var(--rule);border-radius:10px;padding:16px;background:var(--surface);box-shadow:var(--shadow)}.card h3{margin:0 0 6px;font-family:var(--font-book);font-size:18px}.card .meta{color:var(--muted);font-size:13px}.readerwrap{display:grid;grid-template-columns:230px minmax(0,1fr) 320px;height:calc(100vh - 49px)}.chapnav{border-right:1px solid var(--rule);overflow-y:auto;padding:12px;font-size:13px;background:var(--surface)}.chapnav a{display:block;padding:5px 8px;border-radius:6px;color:var(--ink)}.chapnav a:hover{background:var(--wash);text-decoration:none}.chapnav a.active{background:var(--accent-wash);color:var(--accent-text);font-weight:600}.chapnav a .cnt{color:var(--muted);font-size:11px;margin-left:4px}.bookhost{overflow-y:auto;background:var(--paper)}.annrail{border-left:1px solid var(--rule);overflow-y:auto;padding:12px;background:var(--surface)}.annrail h4{margin:4px 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.ann{border:1px solid var(--rule);border-radius:8px;padding:10px;margin-bottom:10px;font-size:13px;background:var(--surface)}.ann.orphaned{border-style:dashed;border-color:var(--warn)}.ann .who{color:var(--muted);font-size:11px;margin-bottom:4px}.ann .quote{color:var(--muted);font-style:italic;border-left:3px solid var(--rule);padding-left:8px;margin:6px 0;overflow-wrap:anywhere}.ann .actions{display:flex;gap:6px;margin-top:8px}.chips{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.chip{border:1px solid var(--rule);border-radius:999px;padding:4px 12px;font-size:13px;background:var(--surface);cursor:pointer;color:var(--ink)}.chip:hover{border-color:var(--accent)}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.queue{display:flex;flex-direction:column;gap:12px}.item{border:1px solid var(--rule);border-radius:10px;padding:14px 16px;background:var(--surface);box-shadow:var(--shadow)}.item.mine{border-left:4px solid var(--accent)}.item .keys{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.item h3{margin:6px 0;font-size:17px;font-family:var(--font-book)}.item .body{font-size:14px;white-space:pre-wrap;color:var(--ink-soft)}.item .body.md{white-space:normal;font-size:15px;line-height:1.62;max-width:68ch}.item .body.md h3,.item .body.md h4,.item .body.md h5{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin:22px 0 6px}.item .body.md p{margin:0 0 .9em}.item .body.md ul,.item .body.md ol{margin:0 0 .9em;padding-left:22px}.item .body.md li{margin-bottom:4px}.item .body.md blockquote{margin:0 0 .9em;padding:8px 14px;border-left:3px solid var(--accent);background:var(--wash);border-radius:0 6px 6px 0;color:var(--ink)}.item .body.md pre{background:var(--wash);border:1px solid var(--rule);border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:13px;line-height:1.45}.item .body.md code{background:var(--wash);border-radius:3px;padding:1px 4px;font-size:.92em}.item .body.md pre code{background:none;padding:0}.item .body.md hr{border:0;border-top:1px solid var(--rule);margin:18px 0}.item .body.md strong{color:var(--ink)}.item .draft{background:var(--wash);border-radius:8px;padding:10px;font-size:13px;margin-top:8px}.item .draft b{color:var(--accent-text)}.item .actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:center}.ask{background:var(--accent-wash);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;padding:9px 12px;margin:8px 0;font-size:14px}.ask b{color:var(--accent-text)}.badge{display:inline-block;border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600}.badge.matt{background:var(--good-wash);color:var(--good)}.badge.cto{background:var(--warn-wash);color:var(--warn)}.badge.agent{background:var(--info-wash);color:var(--info)}.badge.external,.badge.live-discussion,.badge.nobody{background:var(--wash);color:var(--muted)}.badge.both{background:var(--bad-wash);color:var(--bad)}.badge.state{background:var(--wash);color:var(--muted)}.badge.target{background:var(--accent-solid);color:#fff}.badge.target:hover{text-decoration:none;filter:brightness(1.12)}.badge.stale{background:var(--bad-wash);color:var(--bad)}.badge.nosection{background:var(--warn-wash);color:var(--warn)}.grouphead{margin:20px 0 8px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.note{color:var(--muted);font-size:13px}.login{max-width:380px;margin:12vh auto;padding:0 20px}.login h2{font-family:var(--font-book)}.error{color:var(--bad);background:var(--bad-wash);border-radius:8px;padding:10px 14px}@media (max-width: 900px){.readerwrap{grid-template-columns:1fr;height:auto}.chapnav,.annrail{border:0;border-top:1px solid var(--rule)}}.typectl{display:flex;align-items:center;gap:2px;margin:0 4px 12px;padding-bottom:10px;border-bottom:1px solid var(--rule);font-size:11px;color:var(--muted)}.typectl span{min-width:34px;text-align:center}
