
:root{--bg:#0b0c0e;--surface:#15181c;--text:#eceef1;--muted:#a9afb7;--accent:#20c6cb;--line:#343940;--sans:'Archivo',system-ui,sans-serif;--mono:'IBM Plex Mono',monospace;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--sans)}::selection{background:#15686d;color:#fff}a{color:var(--accent);text-underline-offset:4px}a:hover{color:#86eff2}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:2px}header,main,footer{max-width:1180px;margin:auto}header{display:flex;align-items:center;gap:32px;padding:26px 32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--text);font-size:19px;font-weight:600;text-decoration:none;white-space:nowrap}.brand img{background:#fff;border-radius:6px;padding:3px}header nav{flex:1;display:flex;justify-content:flex-end;gap:24px;font-size:14px}header nav a{color:var(--muted);text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;background:var(--accent);color:#091213;text-decoration:none;font-weight:600;border-radius:6px;min-height:48px}.button:hover{background:#86eff2;color:#091213}.button.small{padding:9px 15px;min-height:44px;font-size:14px}.intro{padding:82px 32px 58px;max-width:960px}h1{font-size:clamp(42px,6vw,76px);line-height:1.08;letter-spacing:-.055em;margin:0 0 28px;font-weight:600}.lede{font-size:21px;line-height:1.55;color:var(--muted);max-width:720px;margin:0 0 28px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.price{font-family:var(--mono);font-size:14px;color:var(--text);margin:22px 0 0}.price span{color:var(--muted)}.reading{display:grid;grid-template-columns:245px minmax(0,1fr);gap:64px;border-top:1px solid var(--line);padding:48px 32px 0}aside{align-self:start;position:sticky;top:26px}aside h2{font-size:15px;margin:0 0 12px}aside ul{list-style:none;padding:0;margin:0}aside li{margin:12px 0;line-height:1.4}aside a{font-size:14px;color:var(--muted);text-decoration:none}aside p{font-size:12px;color:var(--muted);margin-top:32px}article section{margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--line)}h2{font-size:27px;line-height:1.25;letter-spacing:-.025em;margin:0 0 20px;font-weight:600}p{margin:0 0 20px;color:var(--muted)}article li{color:var(--muted);padding-left:3px;margin:12px 0}code{font:14px var(--mono);color:var(--text);overflow-wrap:anywhere}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}caption{text-align:left;color:var(--muted);font-size:13px;padding-bottom:14px}th,td{text-align:left;vertical-align:top;padding:14px 12px;border-bottom:1px solid var(--line)}th{font-weight:500;color:var(--text)}td{color:var(--muted)}dt{font-weight:600;margin-top:18px}dd{margin:4px 0;color:var(--muted)}.next{margin:12px 32px 64px;padding-top:32px}.next nav{display:flex;gap:16px 28px;flex-wrap:wrap}footer{padding:32px;border-top:1px solid var(--line)}footer nav{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;margin-bottom:24px}footer p{font-size:13px}.skip{position:absolute;left:16px;top:-90px;z-index:10;background:var(--accent);color:var(--bg);padding:12px}.skip:focus{top:12px}::-webkit-scrollbar{width:10px;height:8px}::-webkit-scrollbar-thumb{background:#49515b;border:2px solid var(--bg);border-radius:8px}::-webkit-scrollbar-track{background:var(--bg)}
@media(max-width:900px){header{flex-wrap:wrap;gap:20px}header nav{order:3;justify-content:flex-start;width:100%;flex-basis:100%;flex-wrap:wrap;gap:12px 22px}header>.button{margin-left:auto}.reading{gap:32px;grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:660px){header{padding:20px}.intro{padding:48px 20px 36px}.lede{font-size:18px}.reading{display:block;padding:28px 20px 0}aside{position:static;margin-bottom:36px}aside ul{display:flex;flex-wrap:wrap;gap:10px 20px}aside li{margin:0}aside p{margin-top:20px}article section{margin-bottom:32px;padding-bottom:24px}h2{font-size:24px}.next{margin:20px 20px 40px}footer{padding:28px 20px}.price span{display:block}.actions{gap:18px}th,td{padding:12px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
