/* Gear Fit Atlas — site tokens and site-only rules (structure lives in base.css). Pine green on cool snow-white. */
:root{
  --bg:#F2F5F3; --surface:#FFFFFF; --ink:#16231C; --muted:#56655C; --line:#D8E1DB; --line-strong:#AFBFB5;
  --accent:#2E6B3F; --accent-ink:#FFFFFF; --accent-soft:#E3EDE6;
  --cool:#2C6E8A; --cool-soft:#DCEBF1; --ok:#2E6B3F; --ok-soft:#E3EDE6; --warm:#B0611A; --warm-soft:#F8E8D6; --bad:#A8342C; --bad-soft:#F8E2DF;
  --r:10px; --max:1080px;
  --sans:Inter,"Avenir Next","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --mono:ui-monospace,Menlo,Consolas,monospace;
  --display:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",var(--sans); --glass:#D6E4EE; --hero-art-bg:#E3EDE6;
  --skin:#E9C9A8; --peak:#C9D8CF; --lake:#CFE3EA; --trail:#D8CBB4;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0F1612; --surface:#17211B; --ink:#E6EEE9; --muted:#9DAEA4; --line:#26342C; --line-strong:#3D4F44;
  --accent:#7FC495; --accent-ink:#0C2414; --accent-soft:#183324;
  --cool:#7CC0DD; --cool-soft:#15303B; --ok:#7FC495; --ok-soft:#183324; --warm:#F0B072; --warm-soft:#3A2814; --bad:#F09088; --bad-soft:#3E1F1C; color-scheme:dark;
  --hero-art-bg:#183324; --skin:#C9A383; --peak:#24402F; --lake:#1B3440; --trail:#3A3326; --glass:#2A3F4C;
}}
.brand-mark{width:16px;height:16px;border-radius:4px;background:var(--accent)}
/* artwork */
.art .art-peak{fill:var(--peak)}.art .art-cap{fill:var(--surface)}.art .art-snow{fill:var(--surface)}
.art .art-lake{fill:var(--lake)}.art .art-ripple{fill:none;stroke:var(--surface);stroke-width:3;opacity:.8}.art .art-trail{fill:var(--trail)}
.art .art-skin{fill:var(--skin);stroke:var(--ink);stroke-width:2}
.art .art-shadow-soft{fill:var(--ink);opacity:.12}
.art .art-ghost{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:8 6;opacity:.55}
.art .art-rule{stroke:var(--ink);stroke-width:2;opacity:.6}.art .art-tick{stroke:var(--accent);stroke-width:3}
.art .art-rt{font-size:17px}
.art .art-shaft{stroke:var(--muted);stroke-width:6;stroke-linecap:round}
.art .art-pad{fill:var(--accent-soft);stroke:var(--ink);stroke-width:1.5}
.art .art-air{fill:var(--bg)}.art .art-spoke{stroke:var(--muted);stroke-width:1.5}
.art .art-tube{fill:none;stroke:var(--accent);stroke-width:10;stroke-linejoin:round;stroke-linecap:round}
.art .art-bar{fill:none;stroke:var(--ink);stroke-width:6;stroke-linecap:round}
.art .art-lid{fill:var(--accent);stroke:var(--ink);stroke-width:2;filter:brightness(.85)}
.art .art-ghost-low{stroke:var(--surface);opacity:.9}
.art .art-strap{stroke:var(--ink);stroke-width:5}
/* figures */
.viz-open{opacity:.65}.viz-bar-no{opacity:.3}
.viz-load{stroke:var(--warm);stroke-width:3;stroke-dasharray:6 4}
.viz-label.viz-on{fill:var(--accent-ink)}
/* home tool */
.tool-top{margin-top:4px}
.tool-top h1{font-size:clamp(1.6rem,4.6vw,2.6rem);margin:.1em 0 .5em}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
@media (max-width:700px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-top h1{font-size:1.55rem}.tool-top .eyebrow{display:none}}
.answers{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.answer .value{font-family:var(--display);font-size:1.7rem}
@media (max-width:700px){.answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.answer{padding:10px}.answer .value{font-size:1.35rem}.answer .note{font-size:.78rem}}
details.more{margin:6px 0 10px}details.more summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-weight:600;color:var(--accent)}
.hero h2{font-family:var(--display);font-size:clamp(1.6rem,3.6vw,2.4rem);margin-top:.2em}
tr.best td{background:var(--accent-soft)}
