
:root{--bg:#fbfaf7;--fg:#1d2126;--mut:#5d6670;--line:#e3e0d8;--card:#fff;--acc:#1f5f8b;--acc2:#b4542a;--ok:#2f7d4f;--soft:#eef3f6}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15181b;--fg:#e8e6e1;--mut:#9aa3ad;--line:#2b3036;--card:#1c2024;--acc:#7cb6e0;--acc2:#e08a5f;--ok:#6cc08f;--soft:#1f2a32}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 "PT Serif",Georgia,"Times New Roman",serif}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.top{border-bottom:1px solid var(--line);background:var(--card)}
header.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding-top:14px;padding-bottom:14px}
.logo{font:700 20px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--fg);letter-spacing:-.01em}
.logo b{color:var(--acc2)}
nav.main{display:flex;flex-wrap:wrap;gap:4px 16px;font:15px system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
nav.main a{color:var(--mut)}nav.main a.on{color:var(--fg);font-weight:600}
main{padding:28px 0 56px}
h1,h2,h3{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.25;letter-spacing:-.01em}
h1{font-size:34px;margin:.2em 0 .4em}h2{font-size:24px;margin:1.8em 0 .6em}h3{font-size:18px;margin:1.4em 0 .4em}
.lead{font-size:20px;color:var(--mut);max-width:760px}
.crumbs{font:14px system-ui,sans-serif;color:var(--mut)}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.card h3{margin-top:0}.card p{margin:.3em 0;color:var(--mut);font-size:15.5px}
.stat{font:700 30px/1.1 system-ui,sans-serif}.stat small{display:block;font:14px system-ui,sans-serif;color:var(--mut);margin-top:4px}
table{width:100%;border-collapse:collapse;font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--mut);font-weight:600}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl{overflow-x:auto}
.spark{color:var(--acc);vertical-align:middle}
.up{color:var(--ok)}.down{color:var(--acc2)}
.tag{display:inline-block;font:12px/1 system-ui,sans-serif;padding:4px 7px;border-radius:20px;background:var(--soft);color:var(--mut)}
figure.chart{margin:12px 0 4px}figure.chart svg{width:100%;height:auto;display:block}
.grid{stroke:var(--line)}.ax{fill:var(--mut);font:12px system-ui,sans-serif}
.ln{fill:none;stroke-width:2.4;stroke-linejoin:round}.ln.s1{stroke:var(--acc)}.ln.s2{stroke:var(--acc2)}
.pt.s1{fill:var(--acc)}.pt.s2{fill:var(--acc2)}
figcaption{font:13px system-ui,sans-serif;color:var(--mut);display:flex;gap:16px;flex-wrap:wrap}
.lg i{display:inline-block;width:14px;height:3px;margin-right:6px;vertical-align:middle}.lg.s1 i{background:var(--acc)}.lg.s2 i{background:var(--acc2)}
.note{font-size:15px;color:var(--mut);border-left:3px solid var(--line);padding:2px 0 2px 14px}
code{font:13px/1.4 ui-monospace,Menlo,Consolas,monospace;background:var(--soft);padding:2px 5px;border-radius:4px;word-break:break-word}
details{margin:8px 0 4px;font:15px system-ui,sans-serif}summary{cursor:pointer;color:var(--acc)}
.calc{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:12px 0}.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 16px;font:14px system-ui,sans-serif}.calc-grid label{display:block;color:var(--mut)}.calc-grid input{display:block;width:100%;margin-top:4px;font:16px system-ui,sans-serif;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg)}.calc-out{margin-top:12px}
dl.terms dt{font-weight:700;margin-top:14px}dl.terms dd{margin:2px 0 0}
footer{border-top:1px solid var(--line);padding:22px 0 40px;font:14px system-ui,sans-serif;color:var(--mut)}
@media (max-width:600px){.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stats .card{padding:10px}.stats .stat{font-size:20px}.stats .stat small{font-size:12px}body{font-size:16px}h1{font-size:27px}.lead{font-size:18px}.hide-s{display:none}}
