/* unde-cantaresti-mai-putin — pharmacy enamel + brass. Semantic tokens only. */
:root{
  --bg:#f6f1e7; --bg-surface:#fffdf6; --bg-band:#ece5d3;
  --text-primary:#22201a; --text-secondary:#4c463a; --text-muted:#6a6252;
  --line:#d3c8ac; --line-soft:#e3dac2;
  --accent:#17605a; --accent-strong:#0f4742; --accent-soft:#dcebe4;
  --brass:#9a6b16; --brass-soft:#f0e2bd;
  --light-g:#1d6f8e; --heavy-g:#b3541e;
  --sky-1:#cfe4ee; --sky-2:#eef3ea; --hill:#8ba888; --hill-dark:#5d7d63;
  --rock-1:#c9b18a; --rock-2:#a98f68; --rock-3:#77644c; --sea:#7fb0c7;
  --focus:#b3541e;
  --serif:'Source Serif 4',Georgia,serif; --display:'Fraunces',Georgia,serif;
  --sans:'Atkinson Next',system-ui,sans-serif;
  color-scheme:light;
}
[data-theme="dark"]{
  --bg:#14161a; --bg-surface:#1b1f24; --bg-band:#181b1e;
  --text-primary:#ece7da; --text-secondary:#c4bda9; --text-muted:#9d9684;
  --line:#3d4238; --line-soft:#2b2f2a;
  --accent:#7fd1c0; --accent-strong:#a8e6d8; --accent-soft:#1d332e;
  --brass:#e3b95c; --brass-soft:#38301c;
  --light-g:#7cc4de; --heavy-g:#e89a5c;
  --sky-1:#1c2b3a; --sky-2:#232d2a; --hill:#44604e; --hill-dark:#2e4638;
  --rock-1:#6e5c40; --rock-2:#55462f; --rock-3:#3a3021; --sea:#2c4f63;
  --focus:#f0a868;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
svg[hidden]{display:none}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--text-primary);font-family:var(--serif);
  font-size:1.0625rem;line-height:1.55;-webkit-text-size-adjust:100%}
.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--bg-surface);padding:.6rem 1rem;z-index:60}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}
a{color:var(--accent-strong)}
[data-theme="dark"] a{color:var(--accent)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.topbar{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.topbar-in{max-width:72rem;margin:0 auto;padding:.45rem 1rem;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.topbar .home{font-family:var(--display);font-weight:680;text-decoration:none;color:var(--text-primary);font-size:1rem}
.topbar nav{display:flex;gap:.9rem;margin-left:auto;font-family:var(--sans);font-size:.83rem}
.topbar nav a{color:var(--text-secondary);text-decoration:none}
.topbar nav a:hover{color:var(--text-primary);text-decoration:underline}
.topbar .btns{display:flex;gap:.45rem;align-items:center}
.tbtn{min-width:44px;height:44px;border:1px solid var(--line);background:var(--bg-surface);color:var(--text-primary);
  border-radius:999px;font-family:var(--sans);font-size:.85rem;cursor:pointer;padding:0 .8rem;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.tbtn:hover{border-color:var(--accent)}
@media(max-width:640px){.topbar nav{display:none}}

.wrap{max-width:72rem;margin:0 auto;padding:0 1rem}
.col{max-width:44rem}
h1{font-family:var(--display);font-weight:700;font-size:clamp(2rem,5.4vw,3.4rem);line-height:1.06;
  letter-spacing:-.015em;max-width:24ch;margin:.4rem 0 .8rem}
h2{font-family:var(--display);font-weight:680;font-size:clamp(1.55rem,3.2vw,2.2rem);line-height:1.12;margin:0 0 .7rem}
h3{font-family:var(--display);font-size:1.25rem;margin:1.4rem 0 .5rem}
.kicker{font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;
  color:var(--accent);font-weight:700;margin:0}
.lede{font-size:1.2rem;line-height:1.5;max-width:62ch}
.muted{color:var(--text-muted)} .small{font-size:.9rem}
.byline{font-family:var(--sans);font-size:.85rem;color:var(--text-muted)}
.hero{padding:1.6rem 0 .8rem}
.answer{background:var(--accent-soft);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;margin-top:1rem;max-width:62ch}
.answer strong{font-family:var(--display)}
.shared-note{background:var(--brass-soft);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin-top:.8rem;max-width:62ch;font-family:var(--sans);font-size:.92rem}

figure{margin:0}
.stage{margin-top:1rem}
.scene-box{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--sky-2)}
canvas.scene,canvas.mapc{width:100%;height:auto;display:block}
.stage figcaption,.mapcard figcaption{font-size:.88rem;color:var(--text-secondary);margin-top:.5rem;max-width:70ch}
/* phone: the 1200x560 scene keeps its aspect (about 160px tall at 375px, under 40svh) */

section{padding:2.2rem 0 1rem}
.finder{background:var(--bg-surface);border:1px solid var(--line);border-radius:12px;padding:1.1rem}
.finder .row{display:grid;grid-template-columns:1fr 1fr auto;gap:.8rem;align-items:end}
@media(max-width:700px){.finder .row{grid-template-columns:1fr 1fr}}
label.lab{display:block;font-family:var(--sans);font-size:.82rem;font-weight:650;color:var(--text-secondary);margin-bottom:.3rem}
input[type="number"],select{width:100%;min-height:48px;padding:.55rem .7rem;border:1px solid var(--line);
  border-radius:8px;background:var(--bg);color:var(--text-primary);font-family:var(--sans);font-size:1rem}
input[type="range"]{width:100%;min-height:44px;accent-color:var(--accent)}
.btn{min-height:48px;padding:.55rem 1.1rem;border-radius:8px;border:1px solid var(--accent);cursor:pointer;
  background:var(--accent);color:var(--bg-surface);font-family:var(--sans);font-size:.95rem;font-weight:650}
[data-theme="dark"] .btn{color:#0d1512}
.btn.ghost{background:transparent;color:var(--accent-strong)}
[data-theme="dark"] .btn.ghost{color:var(--accent)}
.presets{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.presets .btn{min-height:44px;padding:.4rem .8rem;font-size:.88rem}
.result-head{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:baseline;margin:1.1rem 0 .3rem}
.result-head h3{margin:0;font-size:1.5rem}
.bigstat{font-family:var(--display);font-size:1.15rem}
.bars{display:grid;gap:.45rem;margin:.8rem 0;max-width:44rem}
.bar-row{display:grid;grid-template-columns:9.5rem 1fr 7.5rem;gap:.6rem;align-items:center;font-family:var(--sans);font-size:.85rem}
@media(max-width:560px){.bar-row{grid-template-columns:7.2rem 1fr 6.4rem}}
.bar-track{position:relative;height:14px;background:var(--bg-band);border-radius:4px;overflow:hidden}
.bar-fill{position:absolute;top:0;bottom:0}
.bar-zero{position:absolute;top:0;bottom:0;width:1px;background:var(--text-muted)}
.extremes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0}
.era{background:var(--bg-surface);border:1px solid var(--line);border-radius:10px;padding:.6rem .9rem}
.era .n{font-family:var(--display);font-size:1.9rem;line-height:1.1}

.mapcard{position:relative;background:var(--bg-surface);border:1px solid var(--line);border-radius:12px;padding:.8rem;margin-top:1rem}
.legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-family:var(--sans);font-size:.78rem;color:var(--text-secondary);margin-top:.45rem;align-items:center}
.legend .ramp{display:inline-block;width:9rem;height:.7rem;border-radius:3px;border:1px solid var(--line);
  background:linear-gradient(90deg,var(--light-g),var(--bg-band),var(--heavy-g))}
.mpop{position:absolute;z-index:5;max-width:17rem;background:var(--bg-surface);border:1px solid var(--line);
  border-radius:10px;padding:.7rem .8rem;box-shadow:0 8px 28px rgba(0,0,0,.18);font-family:var(--sans);font-size:.9rem}
.mpop .x{position:absolute;top:.2rem;right:.35rem;border:0;background:transparent;color:var(--text-secondary);
  font-size:1.15rem;cursor:pointer;min-width:36px;min-height:36px;line-height:1}
.mpop b{font-family:var(--display);font-size:1.05rem}

.share-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.share-row .lab2{font-family:var(--sans);font-size:.82rem;color:var(--text-muted)}
.shbtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-soft);background:transparent;
  color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}
.shbtn:hover{border-color:var(--accent);color:var(--accent)}

table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{padding:.45rem .5rem;border-bottom:1px solid var(--line-soft);text-align:left}
th{font-family:var(--sans);font-size:.8rem;color:var(--text-secondary)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl-wrap{overflow-x:auto}
details.more{margin-top:.4rem}
details.more summary{font-family:var(--sans);font-size:.9rem;cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--accent-strong)}
[data-theme="dark"] details.more summary{color:var(--accent)}
.note{background:var(--bg-band);border-left:4px solid var(--accent);padding:.9rem 1rem;border-radius:0 8px 8px 0}
.srcs{font-size:.93rem}
.causes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1rem}
.cause{background:var(--bg-surface);border:1px solid var(--line);border-radius:10px;padding:.9rem}
.cause h3{margin-top:.2rem}
.cause .n{font-family:var(--display);font-size:1.8rem;line-height:1.1}
footer{border-top:1px solid var(--line);margin-top:3rem;padding:1.6rem 0 2.4rem;font-family:var(--sans);font-size:.86rem;color:var(--text-secondary)}
footer nav{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.5rem}
footer a{color:var(--text-secondary)}
.rail{position:fixed;right:.55rem;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:.5rem}
.rail a{position:relative;width:12px;height:12px;border-radius:50%;border:2px solid var(--text-muted);background:transparent;display:block}
.rail a[aria-current="true"]{background:var(--accent);border-color:var(--accent)}
.rail a span{position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--bg-surface);
  border:1px solid var(--line);border-radius:6px;padding:.2rem .5rem;font-family:var(--sans);font-size:.75rem;color:var(--text-primary);
  opacity:0;pointer-events:none}
.rail a:hover span,.rail a:focus-visible span{opacity:1}
@media(max-width:1100px){.rail{display:none}}
@media print{.rail,.topbar .btns,.share-row{display:none}}
