
:root{color-scheme:dark;--bg:#090f1b;--panel:#111c30;--panel2:#172640;--border:#2d3c56;--text:#f2f6ff;--muted:#adbed4;--accent:#6ce3c3;--accent2:#a8b7ff;--shadow:0 18px 60px rgba(0,0,0,.22)}
:root[data-theme="light"]{color-scheme:light;--bg:#f7f9fd;--panel:#fff;--panel2:#edf2fa;--border:#d6dfec;--text:#172339;--muted:#485b72;--accent:#046e62;--accent2:#3c49aa;--shadow:0 18px 50px rgba(27,47,78,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.7 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent2);text-underline-offset:.2em}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.wrap{width:min(1180px,calc(100% - 34px));margin:auto}.skip{position:absolute;left:-9999px;background:var(--panel);padding:8px}.skip:focus{left:1rem;top:1rem;z-index:99}.top{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.top-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:69px}.brand{font-size:1.08rem;font-weight:800;text-decoration:none;color:var(--text);white-space:nowrap}.brand b{color:var(--accent)}.nav{display:flex;align-items:center;gap:13px;overflow-x:auto;padding:8px 0;scrollbar-width:thin}.nav a{color:var(--muted);font-size:.87rem;white-space:nowrap;text-decoration:none}.nav a:hover,.nav .here{color:var(--accent)}.theme{padding:6px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text)}.hero{padding:60px 0 34px;background:radial-gradient(ellipse at 75% 0%,rgba(74,120,225,.23),transparent 55%)}.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--accent)}h1,h2,h3{line-height:1.19}h1{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.045em;margin:.5rem 0 1rem;max-width:900px}h2{font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.02em}h3{font-size:1.15rem}.lead{color:var(--muted);font-size:1.12rem;max-width:850px;line-height:1.7}.hero-actions,.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);color:var(--text);padding:10px 17px;text-decoration:none;font-weight:700}.btn.primary{background:var(--accent);color:#08221e;border-color:transparent}.btn:hover{transform:translateY(-1px);color:var(--text)}.btn.primary:hover{color:#08221e}.stats{display:flex;flex-wrap:wrap;gap:14px}.stat{border:1px solid var(--border);padding:10px 14px;border-radius:12px;background:var(--panel);color:var(--muted)}.stat b{color:var(--text)}main{min-height:70vh}.section{padding:32px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.card p{color:var(--muted);margin:10px 0}.card h3{margin:.5rem 0}.card a.stretch{color:var(--text);text-decoration:none}.card a.stretch:hover{color:var(--accent)}.pill{display:inline-flex;border:1px solid var(--border);background:var(--panel2);color:var(--accent);padding:3px 9px;border-radius:100px;font-size:.75rem;font-weight:750;letter-spacing:.03em}.card .cta{font-weight:700;font-size:.9rem}.toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:20px 0}.field{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text)}.muted{color:var(--muted)}.crumb{font-size:.84rem;color:var(--muted);padding-top:18px}.crumb a{color:var(--muted)}.article{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:34px;align-items:start}.prose{min-width:0}.prose section{margin:0 0 28px;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.prose h2{margin-top:0}.prose li{padding:.18rem 0;line-height:1.75}.prose p{color:var(--muted)}.prose li::marker{color:var(--accent)}.toc{position:sticky;top:88px;padding:18px;border:1px solid var(--border);border-radius:15px;background:var(--panel)}.toc a{display:block;text-decoration:none;color:var(--muted);padding:6px 0;font-size:.9rem}.toc a:hover{color:var(--accent)}.callout{border-left:4px solid var(--accent);background:var(--panel2);padding:15px;border-radius:10px;margin:17px 0}.callout.warn{border-color:#f2b55f}.codebox{background:#071323;color:#eef9ff;border-radius:14px;border:1px solid #29415d;margin:15px 0;padding:15px;overflow-wrap:anywhere}.codebox pre{white-space:pre-wrap;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;margin:0}.codebox .copy{float:right;font-size:.8rem;background:#25425c;color:white;border:1px solid #49758e;border-radius:8px;padding:4px 10px;margin:0 0 10px 10px}.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.footer{margin-top:60px;border-top:1px solid var(--border);padding:30px 0 45px;color:var(--muted)}.footer a{color:var(--muted)}.footer-nav{display:flex;flex-wrap:wrap;gap:17px}.hide{display:none!important}.checklist label{display:flex;gap:11px;align-items:flex-start;cursor:pointer;padding:8px 0}.checklist input{accent-color:#21b995;transform:translateY(5px)}.disclaimer{font-size:.87rem}.mini{font-size:.86rem}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.highlight{border-color:var(--accent)!important}.smallnum{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--border);border-radius:50%;margin-right:8px;color:var(--accent)}.outlink{word-break:break-word}.code-state{padding:12px;background:var(--panel2);border-radius:10px}.empty{display:none;padding:25px;border:1px dashed var(--border);border-radius:14px}.sticky-go{display:flex;flex-wrap:wrap;gap:9px;margin:19px 0}.sticky-go .btn{font-size:.86rem}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article{grid-template-columns:1fr}.toc{position:static;order:-1}.top-inner{flex-wrap:wrap;padding:9px 0}.nav{order:2;width:100%}}
@media(max-width:620px){.grid,.two{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.hero{padding:33px 0 15px}.prose section{padding:17px}.brand{font-size:1rem}.stat{font-size:.86rem}.btn{width:auto}.top-inner{gap:6px}.nav{gap:12px}}
@media print{.top,.footer,.toc,.actions,.hero-actions,.toolbar,.copy,.theme,.skip,.sticky-go{display:none!important}body{background:white;color:black}.prose section{border:1px solid #bbb;break-inside:avoid}.prose p{color:#333}.article{display:block}a{color:black;text-decoration:underline}}
