
@font-face{font-family:"Bricolage";src:url("/assets/fonts/bricolage-latin.woff2") format("woff2");font-weight:200 800;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage";src:url("/assets/fonts/bricolage-ext.woff2") format("woff2");font-weight:200 800;font-display:swap;
  unicode-range:U+0100-0130,U+0132-0151,U+0154-017F,U+0218-021B}
@font-face{font-family:"Archivo";src:url("/assets/fonts/archivo.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --bg:#f4f6f3; --panel:#ffffff; --panel-2:#eef2ee; --line:#dce3dd; --line-2:#c9d3cc;
  --ink:#122019; --ink-2:#45554d; --ink-3:#5d6c64;
  --brand:#0f4c3a; --accent:#156149; --on-brand:#ffffff; --on-brand-2:#c9e2d6; --brand-soft:#e2efe8;
  --link:#0f6b50; --cta:#f2b705; --cta-hover:#ffc928; --cta-ink:#1b1604;
  --good:#1b7a4c; --bad:#a3441c;
  --note-bg:#fff7df; --note-line:#ecd27f; --note-ink:#5b4507;
  --foot:#0b1a14; --foot-ink:#b7c6bf; --foot-link:#e9f2ed; --foot-head:#8fa79b; --foot-muted:#7f978b; --foot-accent:#8fd3b2;
  --tile-bg:#ffffff; --tile-line:#e3e8e4; --tile-ink:#122019;
  --fs-xs:.78rem; --fs-sm:.86rem; --fs-md:.93rem; --fs-base:1rem; --fs-lg:1.08rem; --fs-xl:1.3rem; --fs-num:1.75rem;
  --dur:.15s;
  --shadow:0 1px 2px rgba(18,32,25,.06),0 4px 14px rgba(18,32,25,.06);
  --shadow-lift:0 2px 4px rgba(18,32,25,.07),0 10px 28px rgba(18,32,25,.10);
  --r:10px; --r-sm:6px;
  --f-display:"Bricolage","Archivo","Segoe UI",system-ui,sans-serif;
  --f-body:"Archivo","Segoe UI",system-ui,-apple-system,sans-serif;
  --hdr:64px;
  color-scheme:light;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0c1512; --panel:#13201b; --panel-2:#1a2a23; --line:#25372f; --line-2:#31463c;
  --ink:#e4ece7; --ink-2:#a9bab1; --ink-3:#8d9f95;
  --brand:#0f3f31; --accent:#6cc9a0; --on-brand:#f1f7f3; --on-brand-2:#a9cbbb; --brand-soft:#173a2e;
  --link:#74d4aa; --good:#6fcf9a; --bad:#f0a07c;
  --note-bg:#2a2412; --note-line:#5c4a1c; --note-ink:#ecd9a2;
  --foot:#07100c;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 4px 14px rgba(0,0,0,.25);
  --shadow-lift:0 2px 4px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.35);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0c1512; --panel:#13201b; --panel-2:#1a2a23; --line:#25372f; --line-2:#31463c;
  --ink:#e4ece7; --ink-2:#a9bab1; --ink-3:#8d9f95;
  --brand:#0f3f31; --accent:#6cc9a0; --on-brand:#f1f7f3; --on-brand-2:#a9cbbb; --brand-soft:#173a2e;
  --link:#74d4aa; --good:#6fcf9a; --bad:#f0a07c;
  --note-bg:#2a2412; --note-line:#5c4a1c; --note-ink:#ecd9a2;
  --foot:#07100c;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 4px 14px rgba(0,0,0,.25);
  --shadow-lift:0 2px 4px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.35);
  color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.65;
  font-feature-settings:"kern";-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--f-display);line-height:1.15;margin:0 0 .5em;text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(1.85rem,4.1vw,2.85rem);font-weight:800;letter-spacing:-.025em}
h2{font-size:clamp(1.35rem,2.6vw,1.8rem);font-weight:750;letter-spacing:-.018em;margin-top:2.4rem}
h3{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em;margin-bottom:.35em}
p{margin:0 0 1em;max-width:70ch}
ul.plain,ol.plain{max-width:70ch;padding-left:1.2rem;margin:0 0 1.2em}
ul.plain li,ol.plain li{margin-bottom:.45em;padding-left:.2rem}
ul.plain li::marker{color:var(--accent)}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--cta);outline-offset:2px;border-radius:4px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--cta);color:var(--cta-ink);padding:.6rem 1rem;z-index:100;font-weight:700}
.skip:focus{left:1rem;top:.5rem}

/* ---------- header ---------- */
.masthead{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--panel);border-bottom:1px solid var(--line)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--hdr)}
.wordmark{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);
  font-family:var(--f-display);font-weight:800;font-size:var(--fs-xl);letter-spacing:-.03em}
.wordmark .mark-svg{flex:0 0 auto;border-radius:8px}
.wordmark b{color:var(--accent);font-weight:800}
.mainnav ul{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}
.mainnav a{display:block;padding:.45rem .7rem;border-radius:var(--r-sm);text-decoration:none;color:var(--ink-2);
  font-weight:600;font-size:var(--fs-md);line-height:1.3}
.mainnav a:hover{background:var(--panel-2);color:var(--ink)}
.mainnav a[aria-current="page"]{color:var(--accent);background:var(--brand-soft)}
.navbtn{display:none;align-items:center;gap:.5rem;background:var(--panel-2);color:var(--ink);border:1px solid var(--line);
  border-radius:var(--r-sm);font:600 var(--fs-md)/1 var(--f-body);padding:.6rem .8rem;cursor:pointer}
.navbtn .bars,.navbtn .bars::before,.navbtn .bars::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;content:""}
.navbtn .bars::before{position:absolute;top:-6px}
.navbtn .bars::after{position:absolute;top:6px}

/* ---------- page head ---------- */
.phead{background:var(--panel);border-bottom:1px solid var(--line);padding-block:1.4rem 1.8rem;margin-bottom:2rem}
.crumbs{font-size:var(--fs-sm);color:var(--ink-3);margin:0 0 .9rem;display:flex;flex-wrap:wrap;gap:.25rem .45rem;align-items:center}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--link);text-decoration:underline}
.crumbs .sep{color:var(--line-2)}
.phead h1{margin-bottom:.6rem;max-width:26ch}
.byline{display:flex;gap:.75rem;align-items:center;font-size:var(--fs-md);color:var(--ink-3);margin:0}
.byline .av{flex:0 0 auto;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--brand-soft);color:var(--accent);
  display:grid;place-items:center;font:800 var(--fs-sm)/1 var(--f-display);letter-spacing:.02em}
.byline a{color:var(--ink);font-weight:650;text-decoration:none}
.byline a:hover{text-decoration:underline}
.byline .dot{margin:0 .35rem;color:var(--line-2)}

/* ---------- home hero ---------- */
.hero{background:var(--brand);color:var(--on-brand);padding-block:2.4rem 2.6rem;margin-bottom:2.2rem;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;
  background:repeating-linear-gradient(90deg,transparent 0 46px,#fff 46px 47px)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:end}
.hero h1{color:var(--on-brand);max-width:20ch;margin-bottom:.7rem}
.hero .sub{color:var(--on-brand-2);font-size:var(--fs-lg);max-width:58ch;margin-bottom:1.3rem}
.hero .byline{color:var(--on-brand-2)}
.hero .byline a{color:var(--on-brand)}
.hero .byline .av{background:rgba(255,255,255,.14);color:var(--on-brand)}
.hero .byline .dot{color:var(--on-brand-2)}
.stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.stats li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:.85rem .9rem .8rem}
.stats b{display:block;font:800 var(--fs-num)/1 var(--f-display);letter-spacing:-.02em;color:var(--on-brand);font-variant-numeric:tabular-nums}
.stats span{display:block;font-size:var(--fs-sm);line-height:1.3;color:var(--on-brand-2);margin-top:.4rem}
.stats a{color:var(--on-brand);text-decoration:none}
.stats a:hover span{text-decoration:underline}

/* ---------- content ---------- */
.lead p{font-size:var(--fs-lg);color:var(--ink-2);max-width:68ch}
.block{margin-top:3rem}
.block > h2:first-child{margin-top:0}
.sechead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1.5rem;margin:0 0 1rem}
.sechead h2{margin:0}
.disclosure{font-size:var(--fs-sm);color:var(--ink-3);max-width:80ch;margin:-.3rem 0 1rem}
.note{margin:.4rem 0 0;font-size:var(--fs-sm);color:var(--ink-3);max-width:66ch}

.legal{display:flex;gap:.8rem;align-items:flex-start;background:var(--note-bg);border:1px solid var(--note-line);
  border-radius:var(--r);padding:.8rem 1rem;margin:0 0 1.4rem;color:var(--note-ink)}
.legal .ico{flex:0 0 auto;width:1.6rem;height:1.6rem;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;
  font:700 var(--fs-sm)/1 var(--f-display);margin-top:.05rem}
.legal p{margin:0;font-size:var(--fs-md);line-height:1.55;max-width:none}
.legal a{color:inherit;font-weight:600}

/* ---------- ranking ---------- */
.rank{display:grid;gap:.85rem;margin:0 0 1rem}
.entry{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  padding:1.1rem 1.25rem;display:grid;grid-template-columns:2.4rem 150px minmax(0,1fr) 5.2rem 11.5rem;
  grid-template-areas:"pos logo body score cta";gap:.5rem 1.25rem;align-items:center}
.entry.solo{grid-template-columns:150px minmax(0,1fr) 5.2rem 11.5rem;grid-template-areas:"logo body score cta"}
.entry.top{border-color:var(--accent);box-shadow:var(--shadow-lift)}
.entry .flag{position:absolute;top:-.7rem;left:1.1rem;background:var(--cta);color:var(--cta-ink);font:700 var(--fs-xs)/1 var(--f-body);
  letter-spacing:.06em;text-transform:uppercase;padding:.35rem .6rem;border-radius:999px}
.pos{grid-area:pos;width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);
  color:var(--ink);font:800 var(--fs-base)/1 var(--f-display);font-variant-numeric:tabular-nums}
.entry.top .pos{background:var(--brand);color:var(--on-brand)}
.lt{grid-area:logo;background:var(--tile-bg);border:1px solid var(--tile-line);border-radius:var(--r-sm);height:76px;display:flex;align-items:center;justify-content:center;padding:.5rem .7rem}
.lt img{max-width:100%;max-height:58px;width:auto;height:auto}
.lt-name{font-family:var(--f-display);font-weight:700;color:var(--tile-ink);text-align:center;line-height:1.15}
.ebody{grid-area:body;min-width:0}
.ename{margin:0 0 .1rem;font:700 var(--fs-base)/1.25 var(--f-display);letter-spacing:-.01em}
.ename a{display:inline-block;padding-block:.15rem;color:var(--ink-2);text-decoration:none}
.ename a:hover{color:var(--link);text-decoration:underline}
.bonus{margin:0 0 .55rem;font:750 var(--fs-lg)/1.3 var(--f-display);letter-spacing:-.01em;color:var(--ink);max-width:none}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}
.chips li{font-size:var(--fs-xs);line-height:1.2;padding:.32rem .55rem;border-radius:999px;background:var(--panel-2);color:var(--ink-2);font-weight:600}
.chips li.hi{background:var(--brand-soft);color:var(--accent)}
.ebody .note{margin-top:.5rem}
.score{grid-area:score;text-align:center;border-left:1px solid var(--line);padding-left:1rem}
.score b{display:block;font:800 var(--fs-num)/1 var(--f-display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.score b small{font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);letter-spacing:0}
.score span{display:block;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:.35rem;font-weight:600}
.act{grid-area:cta;display:grid;gap:.45rem;justify-items:stretch;text-align:center}
.go{display:block;background:var(--cta);color:var(--cta-ink);text-decoration:none;font:700 var(--fs-base)/1.2 var(--f-body);
  padding:.85rem 1rem;border-radius:var(--r-sm);box-shadow:inset 0 -2px 0 rgba(0,0,0,.12);transition:background var(--dur),transform var(--dur)}
.go:hover{background:var(--cta-hover);text-decoration:none}
.go:active{transform:translateY(1px);box-shadow:none}
.go:focus-visible{outline-color:var(--ink)}
.rev{font-size:var(--fs-sm);color:var(--ink-2);text-decoration:none;padding:.3rem 0}
.rev:hover{color:var(--link);text-decoration:underline}

/* ---------- grids and cards ---------- */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem 1.8rem;margin:1.2rem 0 1.4rem}
.grid3 > div{border-top:2px solid var(--accent);padding-top:.8rem}
.grid3 p{font-size:var(--fs-md);color:var(--ink-2);margin:0}
.grid3 .plain{margin:0}
.grid3 > div.pros{border-color:var(--good)}
.grid3 > div.cons{border-color:var(--bad)}
.pros li::marker{content:"+  ";color:var(--good);font-weight:800}
.cons li::marker{content:"−  ";color:var(--bad);font-weight:800}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.8rem;margin-top:1.2rem}
.card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:1rem 1.1rem;text-decoration:none;color:var(--ink);transition:border-color var(--dur),box-shadow var(--dur)}
.card:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.card h3{margin:0 0 .3rem;font-size:var(--fs-base)}
.card p{font-size:var(--fs-md);color:var(--ink-2);margin:0 0 .8rem;flex:1}
.card .more{font-size:var(--fs-sm);font-weight:700;color:var(--link)}
.card .more::after{content:" →"}

table.data{border-collapse:collapse;width:100%;font-size:var(--fs-md);font-variant-numeric:tabular-nums}
.tscroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);margin:1rem 0 1.2rem}
table.data th,table.data td{padding:.65rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
table.data tr:last-child td{border-bottom:0}
table.data th{background:var(--panel-2);font-weight:700;font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
table.data td:first-child{font-weight:600;color:var(--ink)}
table.data tr:nth-child(2n+3) td{background:color-mix(in srgb,var(--panel-2) 45%,transparent)}

.faqs{display:grid;gap:.5rem;margin-top:1rem}
details{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:0 1.1rem}
details[open]{border-color:var(--line-2)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;
  padding:.9rem 0;font:700 var(--fs-base)/1.35 var(--f-display);color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:0 0 auto;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--panel-2);
  display:grid;place-items:center;font:700 var(--fs-lg)/1 var(--f-body);color:var(--accent)}
details[open] summary::after{content:"−"}
details p{margin:0 0 1rem;font-size:var(--fs-md);color:var(--ink-2)}

.games{display:grid;gap:.7rem;margin-top:1rem}
.game{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1.1rem}
.game h3{margin:0 0 .25em}
.game p{margin:0;font-size:var(--fs-md);color:var(--ink-2)}

.letters{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0 1.5rem;padding:0;list-style:none}
.letters a{display:inline-grid;place-items:center;min-width:2.3rem;height:2.3rem;padding:0 .5rem;border:1px solid var(--line);
  border-radius:var(--r-sm);background:var(--panel);text-decoration:none;font:700 var(--fs-md)/1 var(--f-display);color:var(--ink)}
.letters a:hover{border-color:var(--accent);background:var(--brand-soft);color:var(--accent)}
.gl h2{margin-top:2.4rem;padding-bottom:.35rem;border-bottom:2px solid var(--accent);display:inline-block}
.gl dl{margin:.4rem 0 0}
.gl dt{font:700 var(--fs-base)/1.3 var(--f-display);margin-top:1.1rem}
.gl dd{margin:.25rem 0 0;max-width:72ch;color:var(--ink-2);font-size:var(--fs-md)}

.authorbox{display:flex;gap:1rem;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:1.2rem 1.3rem;margin-top:3rem}
.authorbox .av{flex:0 0 auto;width:3rem;height:3rem;border-radius:50%;background:var(--brand-soft);color:var(--accent);
  display:grid;place-items:center;font:800 var(--fs-base)/1 var(--f-display)}
.authorbox h2{margin:0 0 .3rem;font-size:var(--fs-base)}
.authorbox p{font-size:var(--fs-md);color:var(--ink-2);margin-bottom:.6rem}
.authorbox a{font-weight:600;font-size:var(--fs-md)}

/* ---------- footer ---------- */
footer{background:var(--foot);color:var(--foot-ink);padding-block:2.8rem 2rem;margin-top:4rem;font-size:var(--fs-md)}
footer .cols{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:2rem;margin-bottom:2rem}
footer .wordmark{color:var(--foot-link);font-size:var(--fs-xl);margin-bottom:.8rem}
footer .wordmark b{color:var(--foot-accent)}
footer h2{font:700 var(--fs-xs)/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--foot-head);margin:0 0 .8rem}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
footer a{color:var(--foot-link);text-decoration:none}
footer p a{text-decoration:underline}
footer li a{display:inline-block;padding-block:.2rem}
footer a:hover{text-decoration:underline}
footer p{max-width:72ch;margin:0 0 .8rem;line-height:1.6}
footer .fine{border-top:1px solid rgba(255,255,255,.1);padding-top:1.4rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem 1.2rem;align-items:start}
.age{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:2px solid var(--cta);color:var(--cta);border-radius:50%;
  font:800 var(--fs-sm)/1 var(--f-display)}
footer .copy{color:var(--foot-muted);font-size:var(--fs-sm);margin-top:1.2rem}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .js .navbtn{display:inline-flex}
  .masthead .wrap{flex-wrap:wrap}
  html:not(.js) .mainnav{position:static;box-shadow:none;border:0;width:100%}
  html:not(.js) .mainnav ul{flex-direction:row;flex-wrap:wrap;width:auto;padding:0 0 .6rem}
  html:not(.js) .mainnav a{border:0;padding:.4rem .6rem}
  .js .mainnav{display:none}
  .mainnav{position:absolute;left:0;right:0;top:100%;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lift)}
  .nav-open .mainnav{display:block}
  .mainnav ul{flex-direction:column;gap:0;width:min(1120px,100% - 2.5rem);margin:0 auto;padding:.4rem 0 .8rem}
  .mainnav a{padding:.8rem .6rem;font-size:var(--fs-base);border-bottom:1px solid var(--line);border-radius:0}
  .mainnav li:last-child a{border-bottom:0}
}
@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;align-items:start}
  .entry{grid-template-columns:2.4rem 130px minmax(0,1fr) 5rem;grid-template-areas:"pos logo body score" "pos logo cta cta"}
  .entry.solo{grid-template-columns:130px minmax(0,1fr) 5rem;grid-template-areas:"logo body score" "logo cta cta"}
  .act{grid-template-columns:auto auto;justify-content:start;align-items:center;gap:1rem;text-align:left}
  footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  body{font-size:16px}
  :root{--hdr:58px}
  .wordmark{font-size:var(--fs-xl)}
  .hero{padding-block:1.5rem 1.6rem;margin-bottom:1.4rem}
  .hero .sub{font-size:var(--fs-base);margin-bottom:1rem}
  .hero .wrap{gap:0}
  .hide-m{display:none}
  .stats{display:none}
  .disclosure{font-size:var(--fs-xs);line-height:1.5}
  .legal{padding:.7rem .8rem;gap:.6rem}
  .legal p{font-size:var(--fs-sm)}
  .phead{padding-block:1rem 1.3rem;margin-bottom:1.5rem}
  .entry,.entry.solo{grid-template-columns:2.2rem minmax(0,1fr) auto;grid-template-areas:"pos logo score" "body body body" "cta cta cta";
    padding:1rem;gap:.75rem .8rem}
  .entry.solo{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo score" "body body" "cta cta"}
  .pos{width:2.2rem;height:2.2rem;font-size:var(--fs-md)}
  .lt{height:64px;max-width:190px}
  .lt img{max-height:48px}
  .score{border-left:0;padding-left:0;text-align:right}
  .score b{font-size:1.5rem}
  .act{grid-template-columns:1fr;justify-content:stretch;text-align:center;gap:.5rem}
  .bonus{font-size:var(--fs-base)}
  footer .cols{grid-template-columns:1fr 1fr;gap:1.5rem}
  footer .cols > div:first-child{grid-column:1 / -1}
}
/* ---------- tools: calculator ---------- */
.btn2{display:inline-block;background:var(--panel);color:var(--accent);border:1.5px solid var(--accent);border-radius:var(--r-sm);
  padding:.7rem 1rem;font:700 var(--fs-md)/1.2 var(--f-body);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background var(--dur)}
.btn2:hover{background:var(--brand-soft);text-decoration:none}
.toolcta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;background:var(--brand-soft);
  border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.25rem;margin:1.6rem 0}
.toolcta b{display:block;font:750 var(--fs-lg)/1.3 var(--f-display);color:var(--ink);margin-bottom:.2rem}
.toolcta p{margin:0;font-size:var(--fs-md);color:var(--ink-2)}
.calc{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.25rem;align-items:start;margin:.5rem 0 1rem}
.calc-form{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:1.2rem 1.3rem}
.calc-form fieldset{border:0;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 1rem}
.calc-form fieldset:last-of-type{margin-bottom:0}
.calc-form legend{grid-column:1 / -1;font:750 var(--fs-base)/1.3 var(--f-display);color:var(--ink);padding:0;margin:0 0 .6rem}
.field{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.field label{font-size:var(--fs-sm);font-weight:650;color:var(--ink-2);line-height:1.3}
.field .hint{font-size:var(--fs-xs);color:var(--ink-3);line-height:1.35}
.field .err{font-size:var(--fs-xs);color:var(--bad);font-weight:650;line-height:1.35}
.ctl{display:flex;align-items:center;background:var(--bg);border:1.5px solid var(--line-2);border-radius:var(--r-sm);transition:border-color var(--dur)}
.ctl:focus-within{border-color:var(--accent)}
.ctl input,.ctl select{flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--ink);
  font:650 var(--fs-base)/1.2 var(--f-body);padding:.65rem .7rem;font-variant-numeric:tabular-nums;appearance:none;-webkit-appearance:none}
.ctl input:focus,.ctl select:focus{outline:none}
.ctl:has(input:focus-visible),.ctl:has(select:focus-visible){outline:3px solid var(--cta);outline-offset:2px}
.ctl .u{padding:0 .7rem 0 0;color:var(--ink-3);font-size:var(--fs-sm);font-weight:650}
.ctl.sel{position:relative}
.ctl.sel::after{content:"";position:absolute;right:.8rem;top:50%;width:.45rem;height:.45rem;border-right:2px solid var(--ink-3);
  border-bottom:2px solid var(--ink-3);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.field.bad .ctl{border-color:var(--bad)}
.calc-out{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:1.2rem 1.3rem;
  position:sticky;top:calc(var(--hdr) + 1rem)}
.calc h2{margin:0 0 .8rem;font-size:var(--fs-lg)}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:0 0 .8rem}
.kpis div{background:var(--panel-2);border-radius:var(--r-sm);padding:.65rem .75rem}
.kpis dt{font-size:var(--fs-xs);color:var(--ink-3);font-weight:650;line-height:1.3}
.kpis dd{margin:.25rem 0 0;font:800 var(--fs-xl)/1.1 var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ev{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-radius:var(--r-sm);padding:.8rem .9rem;margin:0 0 .7rem;
  border:1.5px solid var(--line-2)}
.ev span{font-size:var(--fs-sm);font-weight:700;color:var(--ink-2)}
.ev b{font:800 var(--fs-num)/1 var(--f-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ev.is-pos{border-color:var(--good)} .ev.is-pos b{color:var(--good)}
.ev.is-neg{border-color:var(--bad)} .ev.is-neg b{color:var(--bad)}
.verdict{font-size:var(--fs-md);color:var(--ink);margin:0 0 .6rem}
.warnbox{font-size:var(--fs-sm);background:var(--note-bg);border:1px solid var(--note-line);color:var(--note-ink);border-radius:var(--r-sm);padding:.6rem .75rem;margin:0 0 .6rem}
.calc-out .note{margin:0 0 .8rem}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem}
.share [role=status]{font-size:var(--fs-sm);color:var(--good);font-weight:650}
.calc-mini{display:none}
.calc-mini b.is-pos{color:var(--good)} .calc-mini b.is-neg{color:var(--bad)}
.formula{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;margin:1rem 0 1.2rem}
.formula p{margin:0 0 .5rem;font-size:var(--fs-md)}
.formula p:last-child{margin:0}
.formula code{font:650 .92em/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--panel-2);padding:.1rem .35rem;border-radius:4px;color:var(--ink)}
@media (max-width:980px){
  .calc{grid-template-columns:1fr}
  .calc-out{position:static}
  .calc-mini{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .6rem;position:sticky;bottom:0;z-index:5;
    margin-top:-.5rem;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r) var(--r) 0 0;box-shadow:var(--shadow-lift);
    padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom,0px))}
  .calc-mini span{font-size:var(--fs-sm);color:var(--ink-2);font-weight:650}
  .calc-mini b{font:800 var(--fs-xl)/1 var(--f-display);font-variant-numeric:tabular-nums}
  .calc-mini .t{flex-basis:100%;font-weight:500;font-size:var(--fs-xs);color:var(--ink-3)}
}
@media (max-width:640px){
  .calc-form fieldset{grid-template-columns:1fr 1fr}
  .calc-form fieldset > div:nth-of-type(3){grid-column:1 / -1}
  .calc-form,.calc-out{padding:1rem}
  .toolcta .btn2{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* long compound words (nb/de/hu) */
h1,h2,h3,.lead p,summary{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
