:root{
  --ink:#2C2C2A; --ink2:#5F5E5A; --ink3:#6E6D66;
  --paper:#FAF8F2; --card:#F1EFE8; --line:#D3D1C7; --line2:#B4B2A9;
  --accent:#993C1D; --accent-bg:#FAECE7; --accent-line:#D85A30;
  --accent2:#0F6E56; --accent2-bg:#E1F5EE; --accent2-line:#1D9E75;
  --warn:#854F0B; --warn-bg:#FAEEDA; --warn-line:#EF9F27;
  --serif:'Fraunces',Georgia,'Iowan Old Style',serif;
  --body-serif:'Literata',Georgia,serif;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#EDECE6; --ink2:#B4B2A9; --ink3:#9C9A91;
    --paper:#1C1B18; --card:#26241F; --line:#3A3833; --line2:#4A483F;
    --accent:#F0997B; --accent-bg:#3A2318; --accent-line:#D85A30;
    --accent2:#5DCAA5; --accent2-bg:#0F2A22; --accent2-line:#1D9E75;
    --warn:#EF9F27; --warn-bg:#3A2C0E; --warn-line:#854F0B;
  }
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif}
.wrap{max-width:760px;margin:0 auto;padding:0 1.5rem}
.top{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;padding-bottom:1.5rem;font:500 .85rem -apple-system,sans-serif}
.top a{color:var(--ink2);text-decoration:none}
.top a:hover{color:var(--ink)}
.langbar span[aria-current]{color:var(--ink);font-weight:700}
.langbar a{margin-left:.4rem;color:var(--ink3);text-decoration:none}
main{padding-bottom:5rem}
.masthead{padding:1.5rem 0 1rem}
.kicker{display:inline-block;font:600 .72rem/1 -apple-system,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-line);border-radius:999px;padding:.35rem .8rem;margin-bottom:1.4rem}
h1{font-family:var(--serif);font-size:clamp(2rem,6vw,3rem);line-height:1.12;margin:0 0 .3rem;font-weight:700}
.deck{font-family:var(--body-serif);font-size:1.15rem;color:var(--ink2);margin:1rem 0 1.4rem}
.byline{font:500 .85rem -apple-system,sans-serif;color:var(--ink3);margin:0 0 2.4rem}
h2{font-family:var(--serif);font-size:1.5rem;margin:3rem 0 1rem;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:.5rem}
p{font-family:var(--body-serif);font-size:1.08rem;margin:0 0 1.1rem}
.lead{font-size:1.2rem}
.eng{color:var(--ink3);font-size:.85rem;font-style:italic;margin-top:-.6rem;font-family:-apple-system,sans-serif}
.timeline{border-left:2px solid var(--line2);margin:1.5rem 0 2rem;padding-left:1.4rem}
.tl-item{position:relative;margin-bottom:1.8rem}
.tl-item::before{content:"";position:absolute;left:-1.86rem;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--paper)}
.tl-era{font:700 .78rem/1 -apple-system,sans-serif;letter-spacing:.03em;color:var(--accent);text-transform:uppercase;margin-bottom:.25rem}
.tl-term{font-family:var(--serif);font-weight:700;font-size:1.2rem;margin:0 0 .3rem}
.tl-term .orig{font-size:.85rem;color:var(--ink3);font-weight:400;font-style:italic;font-family:-apple-system,sans-serif}
.tl-body{font-family:var(--body-serif);font-size:1rem;color:var(--ink2);margin:0}
.formula-box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.6rem 1.6rem;margin:1.6rem 0;text-align:center}
.formula{font-family:var(--serif);font-size:1.6rem;font-weight:700;margin-bottom:.6rem}
.formula-key{display:flex;justify-content:center;gap:1.6rem;flex-wrap:wrap;font:500 .82rem -apple-system,sans-serif;color:var(--ink2)}
.formula-key b{color:var(--ink)}
.sim{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.6rem}
.sim h3{font:700 .95rem -apple-system,sans-serif;margin:0 0 1.2rem;color:var(--ink2);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}
.ctrl{margin-bottom:1.3rem}
.ctrl-label{display:flex;justify-content:space-between;font:500 .9rem -apple-system,sans-serif;margin-bottom:.4rem}
.ctrl-label span:last-child{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
.ctrl-desc{font-size:.8rem;color:var(--ink3);margin:.25rem 0 0;font-family:-apple-system,sans-serif}
input[type=range]{width:100%;accent-color:var(--accent);height:4px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:1.4rem 0}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:.85rem .9rem}
.stat-label{font:500 .68rem -apple-system,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3);margin-bottom:.3rem}
.stat-val{font:700 1.25rem -apple-system,sans-serif;font-variant-numeric:tabular-nums}
.chart-wrap{margin-top:1.2rem}
canvas{width:100%;display:block}
.legend{display:flex;gap:1.2rem;font:500 .78rem -apple-system,sans-serif;color:var(--ink2);margin-top:.6rem;flex-wrap:wrap}
.legend span{display:inline-flex;align-items:center;gap:.4rem}
.dot{width:9px;height:9px;border-radius:2px;display:inline-block}
.verdict{margin-top:1.3rem;padding:.9rem 1.1rem;border-radius:8px;font:500 .92rem -apple-system,sans-serif;border:1px solid var(--line2)}
footer.site{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.src{font-size:.82rem;color:var(--ink3);font-family:-apple-system,sans-serif;line-height:1.55}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:480px){
  .stats{grid-template-columns:1fr 1fr}
  .formula-key{gap:.8rem}
}
