:root{--bg:#ffffff;--s1:#f4f4f6;--s2:#eceef3;--line:#d3d6e0;--tx:#12142b;--tx2:#4a5168;--accent:#047857;--accent-ink:#ffffff;--brand:#0ea371;--blue:#0369a1;--gold:#a16207;--bar:#047857;--bar2:#0369a1;--track:#e2e3e9;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#0a0e1a;--s1:#111520;--s2:#1a2030;--line:#2a3350;--tx:#eef2fb;--tx2:#aab4cc;--accent:#34d399;--accent-ink:#04120c;--blue:#7cc4f0;--gold:#e8b44c;--bar:#34d399;--bar2:#7cc4f0;--track:#1e2840}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:60rem;margin:0 auto;padding-inline:1rem}
main.wrap{padding-block:1.5rem 3rem}
a{color:var(--blue);text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}
header.site{border-bottom:1px solid var(--line);background:var(--s1)}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.25rem;padding-block:.6rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--tx);text-decoration:none;font-weight:700}
.brand img{border-radius:8px;display:block}
.brand b{font-weight:500;color:var(--tx2)}
nav{display:flex;flex-wrap:wrap;gap:.25rem .9rem}
nav a{color:var(--tx);text-decoration:none;padding:.35rem .1rem;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--brand)}
h1{font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.2;margin:.5rem 0 .75rem}
h2{font-size:1.4rem;line-height:1.3;margin:2.25rem 0 .6rem}
h3{font-size:1.1rem;margin:1.5rem 0 .4rem}
p,li{max-width:46rem}
.lede{font-size:1.15rem;color:var(--tx2)}
.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:1.25rem 0;padding:0;list-style:none}
.card{border:1px solid var(--line);background:var(--s1);border-radius:12px;padding:1rem 1.1rem}
.card h3{margin:.1rem 0 .3rem}
.card p{margin:.2rem 0 .6rem}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:.6rem 1.1rem;border-radius:8px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font:inherit;font-weight:600}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--tx);border:1px solid var(--line)}
.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}
.note{border-left:4px solid var(--gold);background:var(--s1);padding:.7rem 1rem;border-radius:0 8px 8px 0;margin:1.25rem 0}
.small{font-size:.875rem;color:var(--tx2)}
footer.site{border-top:1px solid var(--line);background:var(--s1);padding-block:1.25rem;margin-top:2rem}
footer.site p{margin:.3rem 0}
.crumbs{font-size:.9rem;color:var(--tx2)}
.stats{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin:1rem 0;padding:0;list-style:none}
.stats li{border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;background:var(--s1)}
.stats b{display:block;font-size:1.5rem;color:var(--accent)}
figure{margin:1.25rem 0}
figcaption{font-size:.9rem;color:var(--tx2);margin-top:.35rem}
.chart{width:100%;max-width:34rem;height:auto;display:block}
.chart .lbl{font-size:13px;fill:var(--tx)}
.chart .val{font-size:13px;fill:var(--tx2);font-variant-numeric:tabular-nums}
.chart .track{fill:var(--track)}
.chart .bar{fill:var(--bar)}
.chart .bar2{fill:var(--bar2)}
.tablewrap{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border-bottom:1px solid var(--line);padding:.45rem .6rem;text-align:left;vertical-align:top}
th{background:var(--s1)}
code{background:var(--s2);padding:.1rem .3rem;border-radius:4px;font-size:.9em}
fieldset{border:1px solid var(--line);border-radius:10px;margin:0 0 1rem;padding:.7rem 1rem}
legend{font-weight:600;padding:0 .4rem}
.opts{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.opts label{display:inline-flex;gap:.4rem;align-items:flex-start;max-width:100%}
.opts input{margin-top:.35rem}
.score{position:sticky;bottom:0;background:var(--bg);border-top:2px solid var(--brand);padding:.7rem 0;margin-top:1rem}
.score output{font-size:1.5rem;font-weight:700;color:var(--accent)}
.grid2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
label.f{display:block;font-weight:600;margin-bottom:.2rem}
input[type=number]{width:100%;font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--tx)}
.hint{font-weight:400;color:var(--tx2);font-size:.85rem;display:block}
.result{border:2px solid var(--brand);border-radius:12px;padding:1rem 1.2rem;margin:1.25rem 0;background:var(--s1)}
.result .big{font-size:2rem;font-weight:800;color:var(--accent);line-height:1.2}
@media print{header.site nav,.skip,.noprint,.btn,footer.site .small{display:none!important}
body{background:#fff;color:#000;font-size:11pt}
a{color:#000;text-decoration:none}
.score{position:static;border:0}
fieldset{break-inside:avoid;border-color:#999}
.card{break-inside:avoid}
header.site{background:none;border:0}
.print-url{display:block!important}}
.print-url{display:none}
