/* Rig & Ride — tokens. Palette: deep teal (road at dusk), sunset orange, chrome grey. */
:root{
  --bg:#F3F5F4; --surface:#FFFFFF; --ink:#16201F; --muted:#56625F; --line:#D8E0DD; --line-strong:#AEBBB7;
  --accent:#2C5D63; --accent-ink:#FFFFFF; --accent-soft:#DCEBEC;
  --cool:#2C5D63; --cool-soft:#DCEBEC; --ok:#2E7A52; --ok-soft:#DDF0E4; --warm:#C2621E; --warm-soft:#F9E5D5; --bad:#A63A2C; --bad-soft:#F7E0DA;
  --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);
  --hero-art-bg:#E3EDEB; --sunset:#E07A35; --chrome:#9AA6A4; --road:#3B4644; --mount:#BFD3CF;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#101716; --surface:#18211F; --ink:#E8EFED; --muted:#A0ADAA; --line:#26322F; --line-strong:#43524E;
  --accent:#7FC1C7; --accent-ink:#0B2224; --accent-soft:#183436; --cool:#7FC1C7; --cool-soft:#183436;
  --ok:#7CC79A; --ok-soft:#1A3326; --warm:#F0A060; --warm-soft:#3D2714; --bad:#F09A8E; --bad-soft:#3E1F1C;
  --hero-art-bg:#1A2624; --sunset:#E8904E; --chrome:#6E7B78; --road:#2B3533; --mount:#2B3D3A; color-scheme:dark;
}}
.brand-mark{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--sunset) 0 40%,var(--accent) 41%)}
.hero{background:linear-gradient(180deg,var(--surface),var(--bg))}
.hero-art{background:linear-gradient(180deg,var(--warm-soft),var(--hero-art-bg))}
.art .art-mount{fill:var(--mount)}.art .art-sun{fill:var(--sunset);opacity:.85}.art .art-road{fill:var(--road)}.art .art-lane{stroke:#F2C230;stroke-width:4;stroke-dasharray:26 20;fill:none}
.art .art-trailer{fill:var(--surface);stroke:var(--ink);stroke-width:3}.art .art-stripe{fill:var(--sunset)}.art .art-door{fill:var(--accent-soft);stroke:var(--ink);stroke-width:2}.art .art-hitch{stroke:var(--ink);stroke-width:5;fill:none}
.art .art-truck{fill:var(--accent);stroke:var(--ink);stroke-width:3}.art .art-glass{fill:#CFE3EA;stroke:var(--ink);stroke-width:2}
.art .art-tyre{fill:var(--ink)}.art .art-rim{fill:var(--chrome)}.art .art-hub{fill:var(--ink)}
.art .art-frame{stroke:var(--ink);stroke-width:5;fill:none;stroke-linejoin:round}.art .art-tank{fill:var(--sunset);stroke:var(--ink);stroke-width:2}.art .art-bars{stroke:var(--ink);stroke-width:4;fill:none}
.art .art-rider{stroke:var(--ink);stroke-width:9;fill:none;stroke-linecap:round}.art .art-leg{stroke:var(--accent);stroke-width:8;fill:none;stroke-linecap:round}
.art .art-head{fill:#E2B48F;stroke:var(--ink);stroke-width:2}.art .art-helmet{fill:var(--accent);stroke:var(--ink);stroke-width:2}.art .art-helmet-full{fill:var(--accent);stroke:var(--ink);stroke-width:2.5}.art .art-visor{fill:#CFE3EA}
.tool{border-top:5px solid var(--sunset)}
.tier{display:inline-block;font:700 .78rem var(--display);letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:999px}
.tier.high{background:var(--bad-soft);color:var(--bad)}.tier.mid{background:var(--warm-soft);color:var(--warm)}.tier.low{background:var(--ok-soft);color:var(--ok)}
.law{display:inline-block;font:700 .78rem var(--display);letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px}
.law.universal{background:var(--ok-soft);color:var(--ok)}.law.partial{background:var(--warm-soft);color:var(--warm)}.law.none{background:var(--bad-soft);color:var(--bad)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0 6px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;border-left:4px solid var(--sunset)}
.kpi .k{font:600 .76rem var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.kpi .v{font:700 1.55rem/1.1 var(--display);color:var(--ink)}.kpi .s{font-size:.8rem;color:var(--muted)}
.check-list{list-style:none;padding:0;margin:14px 0;display:grid;gap:8px}
.check-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:11px 14px;border-left:4px solid var(--accent)}
.check-list b{display:block}.check-list span{color:var(--muted);font-size:.93rem}
.state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:14px 0}
.state-grid a{display:flex;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-decoration:none;color:var(--ink);font-size:.94rem}
.state-grid a:hover{border-color:var(--accent)}.state-grid small{color:var(--muted);font-variant-numeric:tabular-nums}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:6px}
.check{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);cursor:pointer}
.check input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.check:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.sources{font-size:.84rem;color:var(--muted);border-left:3px solid var(--sunset);padding:6px 12px;margin:14px 0}.sources a{color:var(--muted)}
.band{margin:30px -16px;padding:26px 16px;background:var(--road);color:#EEF3F2;border-top:6px solid var(--sunset)}
.band h2{color:#fff;margin-top:0}.band a{color:#F5C08F}.band .cards .card{background:rgba(255,255,255,.07);border-color:transparent;color:#EEF3F2}.band .card span{color:#C9D3D1}
