:root{--bg:#0f1419;--panel:#171e26;--panel2:#1d2631;--text:#e8eef4;--muted:#9db0c1;--accent:#4da3ff;--accent2:#2dd4a8;--warn:#ffb84d;--bad:#ff7a7a;--line:#2a3746}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent)}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.layout{display:flex;min-height:100vh}.side{width:250px;flex:0 0 250px;background:#0b0f14;border-right:1px solid var(--line);padding:18px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.logo{font-size:22px;font-weight:800}.logo span{color:var(--accent2)}.tag{color:var(--muted);font-size:12px;line-height:1.5}.nav{display:grid;grid-gap:6px;gap:6px;margin-top:18px}.nav button{background:transparent;border:1px solid transparent;color:var(--text);text-align:left;padding:10px 12px;border-radius:10px}.nav button:hover{background:var(--panel)}.nav button.on{background:var(--panel2);border-color:var(--line)}.main{flex:1 1;padding:26px;max-width:1180px;margin:0 auto;width:100%}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin:14px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.btn{background:var(--accent);color:#04101f;border:0;padding:11px 16px;border-radius:11px;font-weight:700}.btn.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.btn.good{background:var(--accent2)}.btn.danger{background:transparent;color:var(--bad);border:1px solid var(--bad)}input,select,textarea{width:100%;background:#0b0f14;color:var(--text);border:1px solid var(--line);border-radius:11px;padding:11px;margin:6px 0 12px}label{font-size:13px;color:var(--muted);font-weight:600}code,pre{font-family:ui-monospace,Menlo,Consolas,monospace}pre{background:#0b0f14;border:1px solid var(--line);border-radius:12px;padding:14px;overflow:auto;font-size:12.5px;line-height:1.55;white-space:pre-wrap}.pill{display:inline-block;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700;border:1px solid var(--line);margin-right:6px}.observed{color:var(--accent2)}.inferred{color:var(--warn)}.unverified{color:var(--bad)}.muted{color:var(--muted);font-size:14px;line-height:1.6}h1{font-size:30px;margin:4px 0 8px}h2{font-size:21px;margin:18px 0 8px}h3{margin:14px 0 6px}.filebtn{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--text);padding:9px 6px;font-family:ui-monospace,monospace;font-size:12.5px}.filebtn:hover{background:var(--panel2)}.map{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.node{background:var(--panel2);border:1px solid var(--accent);border-radius:14px;padding:12px;min-width:170px}.arrow{color:var(--muted)}.step{border-left:3px solid var(--accent);padding:10px 14px;margin:10px 0;background:var(--panel)}.kv{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:820px){.layout{flex-direction:column}.side{width:100%;flex:none;height:auto;position:static}.nav{grid-template-columns:1fr 1fr}.main{padding:16px}}.flowviz{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin:12px 0}.flowstep{flex:1 1 140px;min-width:140px;background:#0b0f14;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:13px;padding:11px;text-align:left;color:var(--text)}.flowstep:hover{border-color:var(--accent)}.flowstep.obs{border-top-color:var(--accent2)}.flowstep.inf{border-top-color:var(--warn)}.flowstep.unv{border-top-color:var(--bad)}.flowstep .ic{font-size:22px}.flowstep b{display:block;margin:4px 0;font-size:13px}.flowstep span{color:var(--muted);font-size:11.5px;line-height:1.45;display:block}.flowarrow{align-self:center;color:var(--muted);font-size:18px}.stacktower{margin:12px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.stacklayer{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid hsla(0,0%,100%,.08);color:#fff}.stacklayer .ic{font-size:24px}.stacklayer b{font-size:14px}.stacklayer small{opacity:.85;line-height:1.4}.anatomy{display:grid;grid-template-columns:1fr auto 1.4fr auto 1fr;grid-gap:10px;gap:10px;align-items:center;margin:12px 0}.anat{background:#0b0f14;border:1px solid var(--line);border-radius:13px;padding:12px}.anat.fn{border-color:var(--accent2);text-align:center}.anat .ic{font-size:20px}@media(max-width:820px){.anatomy{grid-template-columns:1fr}.anatomy .flowarrow{transform:rotate(90deg);justify-self:center}}.roadmap{position:relative;margin:14px 0 14px 14px;padding-left:28px;border-left:3px solid var(--line)}.roadmap .rm{position:relative;margin:0 0 14px}.roadmap .rm:before{content:attr(data-n);position:absolute;left:-44px;top:12px;width:30px;height:30px;border-radius:50%;background:var(--panel2);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}.roadmap .rm.done:before{background:var(--accent2);color:#04241a;border-color:var(--accent2)}.roadmap .rm.gap:before{border-color:var(--bad);color:var(--bad)}.progressbar{height:14px;background:#0b0f14;border:1px solid var(--line);border-radius:99px;overflow:hidden}.progressbar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}.bigicon{font-size:26px}.svgwrap{background:#0b0f14;border:1px solid var(--line);border-radius:14px;overflow:auto;margin:12px 0}.svgtools{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.svgtools button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:7px 12px;font-weight:700}svg text{fill:var(--text);font-family:system-ui,sans-serif}svg .mut{fill:var(--muted)}.browserlayout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);grid-gap:14px;gap:14px;align-items:start}.browserpane,.learnpane{min-width:0}.browserbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.browserbar input{flex:1 1 260px;min-width:180px;margin:0}.browserframe{height:min(72vh,820px);min-height:460px;background:#0b0f14;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:12px 0}.browserframe iframe{display:block;width:100%;height:100%;border:0;background:#fff}.browserplaceholder{height:100%;min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.techcrumb{padding:10px 0;border-bottom:1px solid var(--line)}.techcrumb p{margin:5px 0}.techcrumb small{color:var(--muted);line-height:1.4;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:980px){.browserlayout{grid-template-columns:1fr}.browserframe{height:62vh;min-height:400px}}