:root{--ink:#111;--muted:#5b5b66;--line:#e6e6ea;--bg:#fff;--soft:#f6f6f8;--accent:#c8102e;--link:#1a4fd6}@media (prefers-color-scheme:dark){:root{--ink:#eee;--muted:#a3a3ad;--line:#2a2a30;--bg:#111114;--soft:#1a1a1f;--link:#7fa4ff}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:17px/1.65 Georgia,Times New Roman,serif}a{color:var(--link)}.wrap{max-width:1080px;margin:0 auto;padding:0 16px}header.site{border-bottom:3px double var(--ink);text-align:center;padding:18px 0 10px}header.site .brand{color:var(--ink);letter-spacing:-.02em;font:700 2.4rem/1 Georgia,serif;text-decoration:none}header.site nav{text-transform:uppercase;letter-spacing:.08em;justify-content:center;gap:20px;margin-top:10px;font:600 .8rem system-ui,sans-serif;display:flex}header.site nav a{color:var(--ink);text-decoration:none}.tag{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font:700 .72rem system-ui,sans-serif}.meta{color:var(--muted);font:.85rem system-ui,sans-serif}.grid{grid-template-columns:1fr 300px;gap:40px;padding:28px 0 60px;display:grid}@media (max-width:860px){.grid{grid-template-columns:1fr}}.card{border-bottom:1px solid var(--line);padding:18px 0}.card h2,.card h3{margin:4px 0 6px;line-height:1.2}.card h2 a,.card h3 a{color:var(--ink);text-decoration:none}.card p{color:var(--muted);margin:0 0 6px}.lead h2{font-size:2rem}article h1{margin:8px 0 10px;font-size:2.3rem;line-height:1.15}article .body h2{margin-top:1.8em;line-height:1.25}article .body img{max-width:100%}article .body table{border-collapse:collapse;width:100%;font:.9rem system-ui,sans-serif;display:block;overflow-x:auto}article .body th,article .body td{border:1px solid var(--line);text-align:left;padding:6px 8px}.disclosure{background:var(--soft);border-left:3px solid var(--accent);color:var(--muted);margin:16px 0;padding:10px 14px;font:.85rem/1.5 system-ui,sans-serif}aside .promo{border:1px solid var(--line);background:var(--soft);margin-bottom:16px;padding:16px;font-family:system-ui,sans-serif}aside .promo strong{font-size:1.05rem}aside .promo p{color:var(--muted);margin:6px 0 12px;font-size:.9rem}.btn{background:var(--ink);color:var(--bg);padding:8px 14px;font:600 .85rem system-ui,sans-serif;text-decoration:none;display:inline-block}.inline-promo{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0;padding:14px 0;font-family:system-ui,sans-serif;font-size:.95rem}.sources{font:.85rem system-ui,sans-serif}footer.site{border-top:1px solid var(--line);color:var(--muted);padding:24px 0 40px;font:.85rem system-ui,sans-serif}article .body h2{counter-increment:chapter}.deep article .body{counter-reset:chapter}.deep article .body h2:before{content:"Chapter " counter(chapter);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font:700 .72rem system-ui,sans-serif;display:block}article .body figure{border:1px solid var(--line);background:var(--soft);margin:28px 0;padding:16px}article .body figure svg{width:100%;height:auto;display:block}article .body figcaption{color:var(--muted);margin-top:8px;font:.82rem/1.5 system-ui,sans-serif}article .body .fig-title{margin:0 0 10px;font:700 .95rem system-ui,sans-serif}article .body .lesson{border-left:3px solid var(--accent);margin:20px 0;padding:8px 14px;font:.95rem/1.55 system-ui,sans-serif}article .body .lesson strong:first-child{color:var(--accent)}.consent{z-index:20;background:var(--ink);max-width:520px;color:var(--bg);align-items:center;gap:16px;padding:14px 16px;font:14px/20px system-ui,sans-serif;display:flex;position:fixed;bottom:16px;left:16px;box-shadow:0 6px 24px #0003}.consent[hidden]{display:none}.consent p{margin:0}.consent-actions{flex:none;gap:8px;display:flex}.consent-actions button{border:1px solid var(--bg);background:var(--bg);color:var(--ink);cursor:pointer;padding:7px 14px;font:600 13px system-ui,sans-serif}.consent-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (max-width:560px){.consent{flex-direction:column;align-items:stretch;gap:12px;bottom:8px;left:8px;right:8px}.consent-actions button{flex:1}}
