:root{--ground:#F7F9FA;--surface:#FFFFFF;--ink:#13213A;--muted:#55627A;--line:#D9E0E8;--accent:#0B7A5A;--accent-ink:#FFFFFF;--accent-soft:#E3F2EC;--stub:#EEF5F2;--stub-line:#C8DDD4;
--display:"Sora","Avenir Next","Segoe UI",system-ui,sans-serif;--body:"Atkinson Hyperlegible","Verdana","Segoe UI",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ground:#0C1320;--surface:#131D2E;--ink:#E8EEF6;--muted:#A1AEC2;--line:#26344A;--accent:#3FC79A;--accent-ink:#06150F;--accent-soft:#12332A;--stub:#13261F;--stub-line:#24453A;color-scheme:dark}}
:root[data-theme="dark"]{--ground:#0C1320;--surface:#131D2E;--ink:#E8EEF6;--muted:#A1AEC2;--line:#26344A;--accent:#3FC79A;--accent-ink:#06150F;--accent-soft:#12332A;--stub:#13261F;--stub-line:#24453A;color-scheme:dark}
*{box-sizing:border-box}
html{font-size:18px}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);line-height:1.65;padding-inline:20px}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--display);line-height:1.15;letter-spacing:-0.015em;text-wrap:balance}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
header.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);margin-inline:-20px;padding-inline:20px}
.bar{display:flex;align-items:center;gap:16px;padding-block:12px;max-width:1160px;margin-inline:auto}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--display);font-weight:700;font-size:1.1rem;white-space:nowrap}
.logo-mark{width:34px;height:24px;border-radius:5px;border:2px solid var(--accent);display:grid;place-items:center;position:relative}
.logo-mark::after{content:"";position:absolute;left:5px;right:5px;bottom:5px;border-bottom:2px dashed var(--accent)}
.logo-mark span{font-family:var(--mono);font-size:.62rem;color:var(--accent);font-weight:600;margin-top:-6px}
nav.links{display:flex;gap:4px;flex:1;min-width:0}
nav.links a{padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:700;font-size:.88rem;white-space:nowrap}
nav.links a:hover,nav.links a[aria-current]{color:var(--ink);background:var(--surface)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:13px 22px;font-weight:700;text-decoration:none;font-family:var(--body)}
.btn.sm{padding:9px 16px;font-size:.88rem}
.btn.ghost{background:transparent;color:var(--accent);border:2px solid var(--accent)}
@media (max-width:720px){nav.links{display:none}.bar{justify-content:space-between}}
@media (max-width:420px){.logo{font-size:.95rem}.btn.sm{padding:8px 12px;font-size:.8rem}}
main{max-width:1160px;margin-inline:auto}
.crumbs{font-size:.82rem;color:var(--muted);margin:28px 0 0}
.crumbs a{color:var(--muted)}
article{max-width:720px;margin-inline:auto;padding-bottom:24px}
.eyebrow{font-family:var(--display);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
article h1{font-size:clamp(1.9rem,4.4vw,2.7rem);margin:10px 0 14px}
.dek{font-size:1.15rem;color:var(--muted);margin:0 0 20px}
.byline{display:flex;align-items:center;gap:12px;font-size:.85rem;color:var(--muted);padding:14px 0;border-block:1px solid var(--line);margin-bottom:28px}
.av{width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--accent);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.85rem;flex:none}
:root[data-theme="dark"] .av{background:var(--surface)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .av{background:var(--surface)}}
.byline b{color:var(--ink)}
.take{background:var(--stub);border:1px solid var(--stub-line);border-radius:16px;padding:20px 24px;margin:0 0 32px}
.take h2{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;color:var(--accent)}
.take ul{margin:0;padding-left:20px}
.take li{margin:6px 0}
article h2{font-size:1.45rem;margin:40px 0 12px}
article h3{font-size:1.1rem;margin:0 0 10px}
article p{margin:0 0 16px}
article ul,article ol{padding-left:24px;margin:0 0 18px}
article li{margin:8px 0}
.table-wrap{overflow-x:auto;margin:8px 0 22px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--display);font-size:.8rem;font-weight:600;color:var(--muted)}
td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
tr:last-child td{border-bottom:0}
tr.total td{font-weight:700;background:var(--accent-soft)}
.checklist{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;padding:20px 24px;margin:28px 0}
.checklist ol{margin:0}
.cta{background:var(--ink);color:#F3F6F8;border-radius:20px;padding:28px;margin:40px 0 28px;display:flex;flex-direction:column;gap:12px}
.cta h2{margin:0;font-size:1.4rem;color:#fff}
.cta p{margin:0;color:#C9D3E0}
.cta .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.cta .btn{background:#3FC79A;color:#06150F}
.cta .btn.ghost{background:transparent;color:#3FC79A;border-color:#3FC79A}
.author{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;font-size:.9rem;color:var(--muted)}
.author b{color:var(--ink)}
.related{max-width:720px;margin:36px auto 0}
.related h2{font-size:1.15rem;margin:0 0 14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card h3{font-size:1.02rem;margin:0}
.card p{font-size:.88rem;color:var(--muted);margin:0}
.card .meta{font-size:.75rem;color:var(--muted);margin-top:auto}
.hub-head{max-width:760px;margin:40px 0 28px}
.hub-head h1{font-size:clamp(2rem,4.6vw,3rem);margin:10px 0 12px}
.hub-head p{font-size:1.1rem;color:var(--muted);margin:0}
.hub-sec{margin:0 0 40px}
.hub-sec h2{font-size:1.25rem;margin:0 0 14px}
.legal{max-width:720px;margin-inline:auto}
footer{max-width:1160px;margin:56px auto 0;padding:28px 0 40px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
footer nav{display:flex;gap:18px;flex-wrap:wrap;font-size:.88rem}
footer p{font-size:.75rem;color:var(--muted);line-height:1.55;margin:0;max-width:900px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}