:root{color-scheme:dark;--bg:#071715;--panel:#102420;--line:#28433b;--text:#edf4eb;--muted:#a1b6aa;--accent:#b8edbd;--teal:#5fdbc2;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.7;background-image:radial-gradient(ellipse at 85% 0,#143b3040,transparent 40%)}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--teal);outline-offset:5px}::selection{background:var(--teal);color:var(--bg)}.shell{max-width:1320px;margin:auto;padding:0 clamp(20px,5vw,72px)}.header{min-height:104px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;min-height:48px}.brand>span{font-size:2rem;letter-spacing:-.065em;font-weight:650}.brand-dot{color:var(--teal)}.brand img{display:block}.home-link{display:inline-flex;gap:14px;align-items:center;min-height:48px;font-size:.85rem;text-decoration:none}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:var(--accent);color:var(--bg);padding:12px 20px;border-radius:4px}.skip:focus{top:16px}.intro{padding:72px 0 56px;max-width:950px}.eyebrow,.chapter{font-size:.69rem;letter-spacing:.14em;font-weight:650}.eyebrow{color:var(--muted);margin:0 0 22px}.chapter{color:var(--teal);margin:0 0 16px}h1,h2,h3{letter-spacing:-.035em;line-height:1.16;font-weight:500}h1{font-size:clamp(2.8rem,6.1vw,5.5rem);margin:0 0 32px}h1 span{color:var(--accent)}.lead{font-size:1.15rem;max-width:65ch;margin:0 0 24px;color:var(--text)}.scope{max-width:75ch;color:var(--muted);font-size:.9rem;margin:0}.guide-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(36px,5vw,72px);border-top:1px solid var(--line);padding-top:40px}.toc{align-self:start;position:sticky;top:28px}.toc .eyebrow{margin-bottom:12px}.toc ol{list-style:none;padding:0;margin:0}.toc a{display:flex;align-items:center;min-height:44px;padding:8px 0;color:var(--muted);font-size:.81rem;text-decoration:none;line-height:1.45}.toc a:hover{color:var(--accent)}.chapters{min-width:0}.chapters section{padding:0 0 58px;margin:0 0 48px;border-bottom:1px solid var(--line);scroll-margin-top:28px}.chapters section:last-child{border:0;margin-bottom:0}.chapters p{max-width:76ch;margin:0 0 22px}.chapters p.chapter{margin-bottom:16px}h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:0 0 26px}h3{font-size:1.3rem;margin:32px 0 18px}.chapters ul{padding-left:1.25rem;margin:20px 0 26px}.chapters li{padding-left:5px;margin-bottom:14px}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}p code,li code,td code,th code,.note code{font-size:.88em;color:#d0efd7;overflow-wrap:anywhere;background:#173027;padding:2px 4px;border-radius:3px}pre{background:#0b201a;border:1px solid #345447;border-radius:14px;padding:24px;font-size:.85rem;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;margin:24px 0;color:#d0efd7;tab-size:2}.note{background:#14342a;border-left:3px solid var(--teal);padding:20px 22px;font-size:.9rem;overflow-wrap:anywhere;border-radius:0 10px 10px 0}.note strong{color:var(--text)}.formula{font-size:1.15rem;color:var(--accent);background:var(--panel);border-radius:12px;padding:20px 24px}.table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:26px 0}.table-wrap:focus-visible{outline-offset:2px}table{border-collapse:collapse;width:100%;font-size:.84rem;table-layout:fixed}caption{text-align:left;color:var(--muted);padding:16px 18px;font-size:.76rem;border-bottom:1px solid var(--line)}th,td{text-align:left;vertical-align:top;padding:17px 18px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}thead th{color:var(--muted);font-size:.75rem;font-weight:550;background:#102720}th:first-child{width:19%}th:nth-child(2){width:26%}tbody th{font-weight:600;color:var(--accent)}tbody tr:last-child>*{border-bottom:0}.implementation-note{color:var(--muted);font-size:.86rem}.back-top{display:inline-flex;gap:20px;align-items:center;min-height:48px;margin-top:8px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 36px;font-size:.76rem;color:var(--muted)}footer p{margin:0}footer a{display:inline-flex;align-items:center;min-height:48px;white-space:nowrap}
@media(max-width:900px){.guide-layout{grid-template-columns:1fr;gap:40px}.toc{position:static;border-bottom:1px solid var(--line);padding-bottom:28px}.toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.toc a{min-height:48px}.intro{padding-top:48px}.chapters section{scroll-margin-top:22px}}
@media(max-width:560px){body{font-size:15px}.shell{padding:0 20px}.header{min-height:88px;gap:14px}.brand>span{font-size:1.65rem}.brand img{width:30px;height:30px}.brand{gap:9px}.home-link{font-size:.75rem;gap:6px}.intro{padding:40px 0}.lead{font-size:1rem}.scope{font-size:.85rem}.toc ol{grid-template-columns:1fr}.toc a{font-size:.88rem}h1{font-size:clamp(2.5rem,10vw,3.5rem);margin-bottom:26px}.chapters section{padding-bottom:36px;margin-bottom:34px}pre{padding:18px 14px;font-size:.76rem;border-radius:10px}.table-wrap{border-radius:8px}table{font-size:.79rem;table-layout:auto;min-width:480px}caption{font-size:.73rem}th,td{padding:14px 12px}.note{padding:17px 18px}.formula{font-size:1rem;padding:18px}footer{flex-direction:column;align-items:flex-start;gap:6px}}
@media print{:root{color-scheme:light;--bg:#fff;--text:#111;--muted:#444;--accent:#183e2e;--teal:#183e2e;--panel:#f3f5f3;--line:#bbb}body{background:#fff}.shell{max-width:none;padding:0}.header,.toc,.skip,.back-top,footer{display:none}.intro{padding-top:0}.guide-layout{display:block;border:0;padding:0}.chapters section{break-inside:auto}h2,h3{break-after:avoid}pre,.note{background:#f4f6f4;color:#111;border-color:#aaa;break-inside:avoid}p code,li code,td code,th code,.note code{color:#111;background:transparent}.table-wrap{overflow:visible}table{min-width:0!important}.home-link{display:none}thead th{background:#eee;color:#222}}
