:root,
[data-theme="light"] {
  --font-body: "Satoshi", "Helvetica Neue", sans-serif;
  --font-mono: "JetBrains Mono", "Courier New", monospace;
  --text-xs: clamp(.75rem, .72rem + .12vw, .8125rem);
  --text-sm: clamp(.875rem, .83rem + .18vw, .9375rem);
  --text-base: clamp(1rem, .96rem + .18vw, 1.0625rem);
  --text-lg: clamp(1.125rem, 1.02rem + .52vw, 1.375rem);
  --text-xl: clamp(1.625rem, 1.35rem + 1.1vw, 2.25rem);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --radius-sm: .25rem;
  --radius-md: .5rem;
  --transition: 180ms cubic-bezier(.16,1,.3,1);
  --bg: #f3f1e9;
  --surface: #fbfaf5;
  --surface-2: #ece9df;
  --surface-3: #dfddd3;
  --ink: #151713;
  --muted: #656960;
  --faint: #989b92;
  --line: rgba(21,23,19,.15);
  --line-strong: rgba(21,23,19,.28);
  --accent: #b7ed2b;
  --accent-ink: #182000;
  --blue: #155bd7;
  --blue-soft: #dce7fb;
  --orange: #b84d1e;
  --orange-soft: #f6dfd3;
  --green: #316f36;
  --green-soft: #dcebd9;
  --shadow: 0 18px 50px rgba(30,32,25,.09);
}
[data-theme="dark"] {
  --bg: #11130f;
  --surface: #191b17;
  --surface-2: #242720;
  --surface-3: #30342a;
  --ink: #eef0e8;
  --muted: #a1a69a;
  --faint: #6d7268;
  --line: rgba(238,240,232,.14);
  --line-strong: rgba(238,240,232,.28);
  --accent: #b7ed2b;
  --accent-ink: #182000;
  --blue: #79a5ff;
  --blue-soft: #263651;
  --orange: #ff9263;
  --orange-soft: #4b3025;
  --green: #8fcb86;
  --green-soft: #2d402b;
  --shadow: 0 18px 50px rgba(0,0,0,.35);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:84px}
body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;color:var(--ink);background:var(--bg);overflow-x:hidden}
body.dialog-open{overflow:hidden}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit}
svg{display:block;max-width:100%;height:auto}
h1,h2,h3{line-height:1.12;text-wrap:balance}
p,li{max-width:72ch;text-wrap:pretty}
table{border-collapse:collapse;width:100%}
::selection{color:var(--accent-ink);background:var(--accent)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
button,a,input,select{transition:color var(--transition),background-color var(--transition),border-color var(--transition),transform var(--transition)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:200;top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--ink);color:var(--bg);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.page-grid{width:min(1480px,100%);margin-inline:auto;padding-inline:clamp(var(--space-4),4vw,var(--space-12))}
.kicker,.metric-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.09em;color:var(--muted);text-transform:uppercase}
.section{padding-block:clamp(var(--space-16),7vw,var(--space-24))}
.section-heading{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);align-items:end;gap:var(--space-8);margin-bottom:var(--space-10)}
.section-heading h2{font-size:var(--text-xl);letter-spacing:-.035em;margin-top:var(--space-2)}
.section-heading>p{justify-self:end;color:var(--muted);font-size:var(--text-sm)}
.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding-inline:var(--space-4);font-size:var(--text-sm);font-weight:700;border:1px solid var(--line-strong)}
.button-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.button-primary:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.button-secondary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.button-secondary:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.button-quiet{background:transparent;color:var(--muted)}
.button-quiet:hover{color:var(--ink);background:var(--surface-2)}
.text-link{min-height:44px;display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.text-link:hover{color:var(--blue)}
.icon-button{width:44px;height:44px;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line);background:var(--surface)}
.icon-button:hover{color:var(--ink);background:var(--surface-2)}
.icon-button svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:square}
.icon-sun{display:none}
[data-theme="dark"] .icon-moon{display:none}
[data-theme="dark"] .icon-sun{display:block}

.site-header{height:72px;position:sticky;top:0;z-index:80;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-6);padding-inline:clamp(var(--space-4),4vw,var(--space-12));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px)}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);width:max-content;text-decoration:none}
.brand-mark{width:36px;color:var(--ink)}
.brand-copy{display:grid;line-height:1.15}
.brand-copy strong{font-size:var(--text-sm);letter-spacing:-.015em}
.brand-copy small{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);font-weight:500}
.header-nav{display:flex;align-items:center;height:100%}
.nav-link{min-height:44px;padding-inline:var(--space-4);color:var(--muted);font-size:var(--text-sm);font-weight:500}
.nav-link:hover{color:var(--ink)}
.header-meta{justify-self:end;display:flex;align-items:center;gap:var(--space-3)}
.header-meta time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
.mode-toggle{display:flex;border:1px solid var(--line-strong);background:var(--surface)}
.mode-toggle button{min-width:72px;min-height:44px;padding-inline:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--muted)}
.mode-toggle button.is-active{background:var(--accent);color:var(--accent-ink)}
[data-mode="easy"] .technical-only{display:none!important}
[data-mode="technical"] .easy-only{display:none!important}

.hero{padding-top:clamp(var(--space-12),7vw,var(--space-24));display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(var(--space-8),6vw,var(--space-20))}
.dataset-switcher{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,180px));width:max-content;max-width:100%;border:1px solid var(--line-strong);background:var(--surface)}
.dataset-switcher button{min-height:52px;padding-inline:var(--space-5);border-right:1px solid var(--line);font-weight:700;text-align:left}
.dataset-switcher button:last-child{border-right:0}.dataset-switcher button b{font-family:var(--font-mono);color:var(--muted);margin-left:var(--space-2)}
.dataset-switcher button.is-active{background:var(--ink);color:var(--bg)}.dataset-switcher button.is-active b{color:var(--accent)}
.ranking-dataset-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-top:var(--space-12)}
.hero-copy{align-self:center}
.hero h1{font-size:var(--text-xl);letter-spacing:-.045em;max-width:18ch;margin-block:var(--space-4)}
.hero-lede{font-size:var(--text-lg);line-height:1.4;max-width:56ch;color:var(--muted)}
.hero-lede strong{color:var(--ink)}
.model-notice{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--line);display:grid;grid-template-columns:28px 1fr;gap:var(--space-3);font-size:var(--text-sm);color:var(--muted)}
.model-notice>span{font-family:var(--font-mono);font-size:var(--text-lg);line-height:1;color:var(--orange)}
.hero-rank{background:var(--ink);color:var(--bg);padding:clamp(var(--space-6),4vw,var(--space-10));box-shadow:var(--shadow);align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;min-height:390px}
.hero-rank .metric-label{color:color-mix(in srgb,var(--bg) 65%,transparent);margin-bottom:auto}
.hero-score{display:flex;align-items:baseline;font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.08em}
.hero-score span{font-size:clamp(4.5rem,9vw,8.75rem);line-height:.85}
.hero-score small{font-size:var(--text-sm);letter-spacing:0;color:color-mix(in srgb,var(--bg) 60%,transparent)}
.hero-rank h2{font-size:var(--text-lg);margin-top:var(--space-6)}
.hero-rank p{font-size:var(--text-sm);color:color-mix(in srgb,var(--bg) 68%,transparent);margin-top:var(--space-2)}
.hero-rank .text-link{color:var(--accent);margin-top:var(--space-4);width:max-content}
.split-leaders{justify-content:flex-start}.split-leaders>.metric-label{margin-bottom:var(--space-6)}
.split-leader-grid{display:grid;grid-template-columns:1fr 1fr;height:100%;border-top:1px solid color-mix(in srgb,var(--bg) 20%,transparent)}
.split-leader-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-5) var(--space-5) 0 0}.split-leader-grid article+article{border-left:1px solid color-mix(in srgb,var(--bg) 20%,transparent);padding-left:var(--space-5)}
.split-leader-grid .hero-score span{font-size:clamp(2.75rem,5vw,5.2rem)}.split-leader-grid h2{font-size:var(--text-base);margin-top:auto}.split-leader-grid .text-link{font-size:var(--text-xs)}
.type-badge,.new-badge{display:inline-block;padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;border:1px solid currentColor}.new-badge{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.kpi-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin-top:var(--space-6)}
.kpi-strip>div{padding:var(--space-5) var(--space-4);border-right:1px solid var(--line);display:flex;align-items:baseline;gap:var(--space-3)}
.kpi-strip>div:first-child{padding-left:0}.kpi-strip>div:last-child{border-right:0}
.kpi-value{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.kpi-label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.news-callout,.value-callout{grid-column:1/-1;display:grid;align-items:center;gap:var(--space-5);padding:var(--space-5);border:1px solid var(--line-strong);background:var(--surface)}
.news-callout{grid-template-columns:auto 1fr auto}.news-callout p,.value-callout p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-1)}
.value-callout{grid-template-columns:auto 1fr auto;background:var(--surface-2)}

.podium-section{padding-top:var(--space-20)}
.podium{display:grid;grid-template-columns:1.35fr repeat(4,1fr);border:1px solid var(--line-strong);background:var(--surface)}
.podium-card{min-width:0;padding:var(--space-6);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:330px;position:relative}
.podium-card:last-child{border-right:0}.podium-card:first-child{background:var(--accent);color:var(--accent-ink)}
.podium-card button.stretch-button{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.podium-card>*:not(.stretch-button){position:relative;z-index:0;pointer-events:none}
.podium-rank{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}
.podium-rank strong{font-size:var(--text-xl);letter-spacing:-.06em}
.podium-tool{margin-top:auto;padding-top:var(--space-12)}
.podium-tool h3{font-size:var(--text-lg);letter-spacing:-.03em}
.podium-tool .category{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2)}
.podium-card:first-child .category{color:color-mix(in srgb,var(--accent-ink) 70%,transparent)}
.podium-rationale{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-4)}
.podium-card:first-child .podium-rationale{color:color-mix(in srgb,var(--accent-ink) 78%,transparent)}
.podium-award{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid currentColor;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}
.podium-card:has(.stretch-button:hover){background:var(--surface-2)}.podium-card:first-child:has(.stretch-button:hover){background:var(--ink);color:var(--bg)}

.lab-section{background:var(--ink);color:var(--bg);padding-block:clamp(var(--space-12),6vw,var(--space-20))}
.lab-grid{display:grid;grid-template-columns:minmax(250px,.6fr) minmax(0,1.4fr);gap:clamp(var(--space-10),7vw,var(--space-24))}
.lab-intro{display:flex;flex-direction:column;align-items:flex-start}.lab-intro .kicker{color:color-mix(in srgb,var(--bg) 60%,transparent)}
.lab-intro h2{font-size:var(--text-xl);margin-top:var(--space-2)}
.lab-intro>p:not(.kicker){font-size:var(--text-sm);color:color-mix(in srgb,var(--bg) 65%,transparent);margin-top:var(--space-4)}
.sum-display{margin-block:auto var(--space-5);padding-top:var(--space-10);font-family:var(--font-mono)}
.sum-display span{font-size:clamp(3.5rem,7vw,6.5rem);line-height:.9;font-weight:700;color:var(--accent);letter-spacing:-.09em}
.sum-display small{display:block;font-size:var(--text-xs);color:color-mix(in srgb,var(--bg) 60%,transparent);letter-spacing:.04em}
.lab-section .button-secondary{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.lab-section .button-secondary:hover{background:var(--accent);border-color:var(--accent)}
.preset-fieldset{border:0}.preset-fieldset legend{font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--bg) 60%,transparent);margin-bottom:var(--space-3)}
.preset-group{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid color-mix(in srgb,var(--bg) 24%,transparent)}
.preset{min-height:48px;padding:var(--space-2) var(--space-3);border-right:1px solid color-mix(in srgb,var(--bg) 20%,transparent);color:color-mix(in srgb,var(--bg) 70%,transparent);font-size:var(--text-sm);font-weight:700}.preset:last-child{border-right:0}
.preset:hover{color:var(--bg);background:color-mix(in srgb,var(--bg) 8%,transparent)}
.preset.is-active{background:var(--accent);color:var(--accent-ink)}
.sliders{margin-top:var(--space-6);border-top:1px solid color-mix(in srgb,var(--bg) 22%,transparent)}
.slider-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(200px,1.45fr) 54px;align-items:center;gap:var(--space-5);min-height:62px;border-bottom:1px solid color-mix(in srgb,var(--bg) 16%,transparent)}
.slider-row label{font-size:var(--text-sm);font-weight:500}.slider-row label span{display:block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:color-mix(in srgb,var(--bg) 48%,transparent)}
.slider-row output{font-family:var(--font-mono);font-size:var(--text-sm);text-align:right;color:var(--accent);font-variant-numeric:tabular-nums}
input[type="range"]{width:100%;height:44px;accent-color:var(--accent);cursor:pointer;background:transparent}
input[type="range"]::-webkit-slider-runnable-track{height:3px;background:color-mix(in srgb,var(--bg) 30%,transparent)}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:0;background:var(--accent);margin-top:-8px;border:2px solid var(--ink)}
input[type="range"]::-moz-range-track{height:3px;background:color-mix(in srgb,var(--bg) 30%,transparent)}
input[type="range"]::-moz-range-thumb{width:18px;height:18px;border-radius:0;background:var(--accent);border:2px solid var(--ink)}
.formula{margin-top:var(--space-6);padding:var(--space-4);border:1px solid color-mix(in srgb,var(--bg) 20%,transparent);display:grid;gap:var(--space-2)}
.formula>span{font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--bg) 50%,transparent)}
.formula code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);white-space:normal}
.formula p{font-size:var(--text-xs);color:color-mix(in srgb,var(--bg) 58%,transparent)}

.rankings-section{padding-bottom:var(--space-20)}
.ranking-heading{margin-bottom:var(--space-6)}.ranking-heading>p{font-family:var(--font-mono);font-size:var(--text-xs)}
.filters{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(4,minmax(140px,.65fr)) auto;gap:var(--space-3);align-items:end;padding:var(--space-4);border:1px solid var(--line);background:var(--surface)}
.filters label{display:grid;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
.filters input,.filters select{width:100%;min-height:44px;padding-inline:var(--space-3);border:1px solid var(--line-strong);border-radius:0;background:var(--bg);font-family:var(--font-body);font-size:var(--text-sm)}
.dimension-key{display:flex;flex-wrap:wrap;gap:var(--space-4);padding-block:var(--space-4);font-size:var(--text-xs);color:var(--muted)}
.dimension-key b{font-family:var(--font-mono);color:var(--ink)}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior:contain;border:1px solid var(--line-strong);background:var(--surface)}
.ranking-table{min-width:1380px;font-size:var(--text-xs)}
.ranking-table thead{position:sticky;top:0;z-index:3;background:var(--ink);color:var(--bg)}
.ranking-table th{height:48px;padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;text-align:left;white-space:nowrap}
.ranking-table td{padding:var(--space-3);border-bottom:1px solid var(--line);vertical-align:middle}
.ranking-table tr:last-child td{border-bottom:0}
.ranking-table tbody tr:hover{background:var(--surface-2)}
[data-mode="easy"] .ranking-table:not(.model-table) th:nth-child(4),
[data-mode="easy"] .ranking-table:not(.model-table) td:nth-child(4),
[data-mode="easy"] .ranking-table:not(.model-table) th:nth-child(5),
[data-mode="easy"] .ranking-table:not(.model-table) td:nth-child(5),
[data-mode="easy"] .ranking-table:not(.model-table) th:nth-child(6),
[data-mode="easy"] .ranking-table:not(.model-table) td:nth-child(6),
[data-mode="easy"] .ranking-table:not(.model-table) th:nth-child(8),
[data-mode="easy"] .ranking-table:not(.model-table) td:nth-child(8),
[data-mode="easy"] .ranking-table:not(.model-table) th:nth-child(9),
[data-mode="easy"] .ranking-table:not(.model-table) td:nth-child(9){display:none}
[data-mode="easy"] .ranking-table:not(.model-table){min-width:760px}
.rank-cell{width:70px;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums}.movement{display:block;font-size:var(--text-xs);color:var(--muted);font-weight:500}.movement.up{color:var(--green)}.movement.down{color:var(--orange)}
.tool-cell{width:190px}.tool-cell button{min-height:44px;text-align:left;font-weight:700;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.tool-cell button:hover{text-decoration-color:var(--blue);color:var(--blue)}
.tool-company{display:block;font-weight:400;color:var(--muted)}.category-tag{display:block;margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
.overall-cell{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums}
.profile{display:grid;grid-template-columns:repeat(7,32px);gap:var(--space-1)}
.profile-item{display:grid;gap:3px;text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
.mini-bar{height:4px;background:var(--surface-3);overflow:hidden}.mini-bar span{display:block;height:100%;background:var(--blue)}
.price-cell{width:190px;line-height:1.35;color:var(--muted)}.export-cell{width:130px}.best-cell{width:230px;line-height:1.35;color:var(--muted)}
.confidence{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line-strong);font-family:var(--font-mono);font-weight:700}.confidence-a{background:var(--green-soft);color:var(--green)}.confidence-b{background:var(--blue-soft);color:var(--blue)}.confidence-c{background:var(--orange-soft);color:var(--orange)}
.flag-cell{width:160px}.award-badge,.status-badge{display:inline-block;padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}.award-badge{background:var(--accent);color:var(--accent-ink)}.status-badge{background:var(--orange-soft);color:var(--orange);margin-top:var(--space-1)}
.compare-check{
  appearance:none;
  width:44px;
  height:44px;
  padding:12px;
  border:0;
  outline:1px solid var(--line-strong);
  outline-offset:-13px;
  background:transparent;
  background-clip:content-box;
  cursor:pointer;
}
.compare-check:checked{background-color:var(--blue)}
.compare-check:focus-visible{outline:2px solid var(--blue);outline-offset:-12px}
.mobile-rankings{display:none}.empty-state{text-align:center;padding:var(--space-16);border:1px solid var(--line);background:var(--surface)}.empty-state p{margin:var(--space-2) auto var(--space-5);color:var(--muted)}

.model-lab-section{padding-bottom:var(--space-8)}
.model-presets{display:flex;flex-wrap:wrap;border-block:1px solid var(--line-strong)}
.model-presets button{min-height:52px;padding-inline:var(--space-4);border-right:1px solid var(--line);font-size:var(--text-sm);font-weight:700;color:var(--muted)}
.model-presets button:hover{color:var(--ink);background:var(--surface-2)}.model-presets button.is-active{background:var(--accent);color:var(--accent-ink)}
.model-weight-line{padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);border-bottom:1px solid var(--line)}
.directional-note{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--line);background:var(--surface-2);font-size:var(--text-xs);color:var(--muted)}
.model-table{min-width:1240px}.model-table .model-name-cell{width:230px}.model-table .best-cell{width:260px}.model-table .technical-cell{max-width:250px;color:var(--muted);line-height:1.4}
.model-table tr[data-confidence="C"]{background:var(--orange-soft)}
.model-table tr.is-muse .model-name-cell button::after{content:"NEW";display:inline-block;margin-left:var(--space-2);padding:2px var(--space-1);background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-size:var(--text-xs)}
.open-dot{display:inline-block;width:8px;height:8px;background:var(--accent);border:1px solid currentColor;margin-right:var(--space-1)}

.all-section{padding-top:var(--space-16)}.all-explainer{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);padding:var(--space-5);background:var(--ink);color:var(--bg);margin-bottom:var(--space-10)}.all-explainer p{font-size:var(--text-sm);color:color-mix(in srgb,var(--bg) 70%,transparent)}
.catalogue-group{margin-top:var(--space-12)}.catalogue-group>h3{font-size:var(--text-lg);padding-bottom:var(--space-3);border-bottom:1px solid var(--line-strong)}.catalogue-group>h3 span{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--muted);margin-left:var(--space-2)}
.catalogue-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);margin-top:var(--space-5)}
.catalogue-card{min-width:0;min-height:250px;padding:var(--space-5);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;background:var(--surface)}
.catalogue-card-head{display:flex;justify-content:space-between;gap:var(--space-3)}.catalogue-score{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;color:var(--blue)}.catalogue-card h4{font-size:var(--text-base);margin-top:var(--space-8)}.catalogue-card p{font-size:var(--text-sm);color:var(--muted);margin-block:var(--space-2) var(--space-4)}.catalogue-card button{min-height:44px;margin-top:auto;text-align:left;font-weight:700;text-decoration:underline;text-underline-offset:3px}

.champions-section{padding-top:var(--space-12);border-top:1px solid var(--line)}
.champion-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);border-block:1px solid var(--line-strong)}
.champion-card{padding:var(--space-6);border-right:1px solid var(--line);min-height:220px;display:flex;flex-direction:column}.champion-card:last-child{border-right:0}
.champion-card .number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.champion-card h3{font-size:var(--text-lg);margin-top:auto}.champion-card p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-2)}
.champion-card button{min-height:44px;text-align:left;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;margin-top:var(--space-4);text-decoration:underline;text-underline-offset:3px}.champion-card button:hover{color:var(--blue)}
.timeline-section{background:var(--surface-2);padding-block:var(--space-20)}
.timeline{list-style:none;border-top:1px solid var(--line-strong)}
.timeline li{display:grid;grid-template-columns:140px 180px 1fr auto;gap:var(--space-5);align-items:start;padding-block:var(--space-5);border-bottom:1px solid var(--line);font-size:var(--text-sm);max-width:none}
.timeline time,.timeline .timeline-tool{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}.timeline .timeline-tool{color:var(--blue)}.timeline p{color:var(--muted)}.timeline a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;text-decoration:underline;text-underline-offset:3px}.timeline a:hover{color:var(--blue)}

.methodology-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(var(--space-10),7vw,var(--space-24));padding-block:var(--space-24)}
.methodology-lead{grid-row:span 3}.methodology-lead h2{font-size:var(--text-xl);letter-spacing:-.04em;margin-block:var(--space-3)}.methodology-lead>p:last-child{color:var(--muted)}
.method-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-strong)}
.method-grid article{padding:var(--space-5) var(--space-5) var(--space-6) 0;border-bottom:1px solid var(--line)}.method-grid article:nth-child(odd){border-right:1px solid var(--line)}.method-grid article:nth-child(even){padding-left:var(--space-5)}
.method-grid span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--faint)}.method-grid h3{font-size:var(--text-base);margin-block:var(--space-4) var(--space-2)}.method-grid p{font-size:var(--text-sm);color:var(--muted)}
.method-detail{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}.method-detail h3{font-size:var(--text-base);margin-bottom:var(--space-3)}.method-detail code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--blue)}.method-detail p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-2)}
.source-links{display:flex;flex-wrap:wrap;border-top:1px solid var(--line)}.source-links a{min-height:44px;display:inline-flex;align-items:center;padding-right:var(--space-5);margin-right:var(--space-5);font-size:var(--text-sm);font-weight:700;text-decoration:underline;text-underline-offset:3px}.source-links a:hover{color:var(--blue)}
.method-footnote{grid-column:2;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);padding-top:var(--space-4);border-top:1px solid var(--line)}
.site-footer{min-height:120px;border-top:1px solid var(--line-strong);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);font-size:var(--text-xs);color:var(--muted)}
.footer-brand{display:flex;align-items:center;gap:var(--space-2);color:var(--ink)}.footer-brand svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.5}.status-dot{display:inline-block;width:8px;height:8px;background:var(--accent);border:1px solid var(--ink);margin-right:var(--space-2)}

.compare-tray{position:fixed;z-index:75;left:50%;bottom:var(--space-5);transform:translateX(-50%);width:min(760px,calc(100% - 32px));background:var(--ink);color:var(--bg);border:1px solid color-mix(in srgb,var(--bg) 25%,transparent);box-shadow:var(--shadow);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}
.compare-tray[hidden]{display:none}.compare-tray strong{font-family:var(--font-mono);font-size:var(--text-xs)}.compare-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}
.compare-chip{display:inline-flex;align-items:center;height:28px;border:1px solid color-mix(in srgb,var(--bg) 25%,transparent);padding-left:var(--space-2);font-size:var(--text-xs)}.compare-chip button{width:28px;height:28px;color:var(--bg)}
.tray-actions{display:flex;gap:var(--space-2);flex-shrink:0}.compare-tray .button-quiet{color:color-mix(in srgb,var(--bg) 70%,transparent);border-color:color-mix(in srgb,var(--bg) 24%,transparent)}
.dialog-backdrop{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.58);display:flex;justify-content:flex-end;align-items:stretch}.dialog-backdrop[hidden]{display:none}
.drawer{width:min(760px,100%);height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);box-shadow:var(--shadow)}
.drawer-header{min-height:84px;position:sticky;top:0;z-index:4;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-4) clamp(var(--space-5),4vw,var(--space-8));border-bottom:1px solid var(--line)}.drawer-header h2{font-size:var(--text-lg);margin-top:var(--space-1)}.drawer-header .icon-button{font-family:var(--font-mono);font-size:var(--text-lg)}
.drawer-content{padding:var(--space-8) clamp(var(--space-5),4vw,var(--space-8)) var(--space-16)}
.detail-hero{display:grid;grid-template-columns:1fr auto;gap:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--line-strong)}.detail-hero p{color:var(--muted);margin-top:var(--space-3)}.detail-score{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;color:var(--blue)}
.detail-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.detail-tag{padding:var(--space-1) var(--space-2);border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--text-xs)}
.detail-profile{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2);padding-block:var(--space-6);border-bottom:1px solid var(--line)}.detail-dimension{text-align:center}.detail-dimension strong{display:block;font-family:var(--font-mono);font-size:var(--text-lg)}.detail-dimension span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.detail-dimension .meter{height:5px;background:var(--surface-3);margin-top:var(--space-2)}.detail-dimension .meter i{display:block;height:100%;background:var(--blue)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);padding-block:var(--space-6);border-bottom:1px solid var(--line)}.detail-block h3{font-size:var(--text-sm);margin-bottom:var(--space-2)}.detail-block p,.detail-block li{font-size:var(--text-sm);color:var(--muted)}.detail-block ul{padding-left:var(--space-4);display:grid;gap:var(--space-2)}
.detail-rationale{padding-block:var(--space-6);border-bottom:1px solid var(--line)}.detail-rationale h3{font-size:var(--text-base);margin-bottom:var(--space-3)}.detail-rationale p{font-size:var(--text-sm);color:var(--muted)}
.detail-developments{padding-top:var(--space-6)}.detail-developments h3{font-size:var(--text-base);margin-bottom:var(--space-3)}.detail-developments li{font-size:var(--text-sm);color:var(--muted);margin-left:var(--space-4);margin-bottom:var(--space-2)}
.detail-sources{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.detail-sources a{min-height:44px;display:inline-flex;align-items:center;padding-inline:var(--space-3);border:1px solid var(--line-strong);font-size:var(--text-sm);font-weight:700}.detail-sources a:hover{background:var(--ink);color:var(--bg)}
.detail-warning{padding:var(--space-4);margin-top:var(--space-5);background:var(--orange-soft);color:var(--orange);border:1px solid currentColor;font-size:var(--text-sm)}
.detail-section{padding-block:var(--space-6);border-bottom:1px solid var(--line)}.detail-section h3{font-size:var(--text-base);margin-bottom:var(--space-3)}.detail-section p,.detail-section li{font-size:var(--text-sm);color:var(--muted)}.detail-section ul{padding-left:var(--space-5);display:grid;gap:var(--space-2)}
.technical-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.technical-facts>div{padding:var(--space-4) var(--space-4) var(--space-4) 0;border-bottom:1px solid var(--line)}.technical-facts strong{display:block;font-size:var(--text-xs);font-family:var(--font-mono);margin-bottom:var(--space-1)}.technical-facts p{font-size:var(--text-sm);color:var(--muted)}
.subscore-notes{display:grid;gap:var(--space-3)}.subscore-note{padding:var(--space-3);background:var(--surface-2)}.subscore-note b{font-family:var(--font-mono);font-size:var(--text-xs)}
.compare-dialog{margin:auto;width:min(1180px,calc(100% - 32px));max-height:calc(100% - 32px);overflow-y:auto;overscroll-behavior:contain;background:var(--bg);box-shadow:var(--shadow)}
.compare-dialog-content{display:grid;padding:var(--space-6);gap:var(--space-4)}.compare-table{min-width:760px}.compare-table th,.compare-table td{padding:var(--space-3);border:1px solid var(--line);text-align:left;vertical-align:top;font-size:var(--text-sm)}.compare-table th{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--surface-2)}.compare-table .compare-tool-head{background:var(--ink);color:var(--bg)}.remove-compare{min-height:44px;text-decoration:underline;text-underline-offset:3px;color:var(--orange)}

@media (max-width:1180px){
  .podium,.champion-grid{grid-template-columns:repeat(3,1fr)}.podium-card:first-child,.champion-card:first-child{grid-column:span 2}.podium-card:nth-child(3),.champion-card:nth-child(3){border-right:0}.podium-card,.champion-card{border-bottom:1px solid var(--line)}
  .filters{grid-template-columns:repeat(3,1fr)}
  .methodology-section{grid-template-columns:1fr;gap:var(--space-10)}.methodology-lead{grid-row:auto}.method-footnote{grid-column:1}
  .catalogue-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .site-header{grid-template-columns:1fr auto}.header-nav,.header-meta time{display:none}
  .hero{grid-template-columns:1fr}.hero-rank{min-height:320px}.hero-score span{font-size:clamp(5rem,18vw,8rem)}
  .kpi-strip{grid-template-columns:1fr 1fr}.kpi-strip>div:nth-child(2){border-right:0}.kpi-strip>div:first-child,.kpi-strip>div:nth-child(2){border-bottom:1px solid var(--line)}.kpi-strip>div:nth-child(3){padding-left:0}
  .lab-grid{grid-template-columns:1fr}.sum-display{margin-bottom:var(--space-5)}
  .section-heading{grid-template-columns:1fr}.section-heading>p{justify-self:start}
  .timeline li{grid-template-columns:120px 1fr auto}.timeline .timeline-tool{grid-column:2}.timeline p{grid-column:2}.timeline a{grid-column:3;grid-row:1/3}
  .rankings-section>.table-wrap{display:none}.mobile-rankings{display:grid;gap:var(--space-3)}
  .catalogue-grid{grid-template-columns:repeat(2,1fr)}
  .mobile-card{border:1px solid var(--line-strong);background:var(--surface);padding:var(--space-4)}.mobile-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:var(--space-3)}.mobile-rank{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700}.mobile-tool button{min-height:44px;text-align:left;font-weight:700}.mobile-tool span{display:block;font-size:var(--text-xs);color:var(--muted)}.mobile-score{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;color:var(--blue)}.mobile-profile{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1);margin-block:var(--space-4)}.mobile-profile .profile-item{grid-template-columns:1fr}.mobile-meta{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);font-size:var(--text-xs);color:var(--muted);border-top:1px solid var(--line);padding-top:var(--space-3)}.mobile-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-3)}.mobile-actions label{min-height:44px;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.mobile-actions button{min-height:44px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
}
@media (max-width:680px){
  .header-meta time{display:none}.brand-copy small{display:none}.site-header{height:64px}
  .section{padding-block:var(--space-16)}.hero{padding-top:var(--space-10)}
  .dataset-switcher{width:100%;grid-template-columns:repeat(3,1fr)}.dataset-switcher button{padding-inline:var(--space-2);text-align:center}
  .mode-toggle button{min-width:58px;padding-inline:var(--space-2)}
  .kpi-strip>div{display:grid;gap:var(--space-1)}
  .news-callout,.value-callout{grid-template-columns:1fr}.news-callout .button{width:100%}
  .split-leader-grid{grid-template-columns:1fr}.split-leader-grid article+article{border-left:0;border-top:1px solid color-mix(in srgb,var(--bg) 20%,transparent);padding-left:0;padding-top:var(--space-5)}.split-leader-grid article{min-height:190px}
  .podium,.champion-grid{grid-template-columns:1fr}.podium-card:first-child,.champion-card:first-child{grid-column:auto}.podium-card,.champion-card{min-height:230px;border-right:0}.podium-card:nth-child(3),.champion-card:nth-child(3){border-right:0}
  .preset-group{grid-template-columns:1fr 1fr}.preset:nth-child(2){border-right:0}.preset:nth-child(-n+2){border-bottom:1px solid color-mix(in srgb,var(--bg) 20%,transparent)}
  .slider-row{grid-template-columns:1fr 50px;gap:var(--space-3);padding-block:var(--space-2)}.slider-row input{grid-column:1/-1;grid-row:2}.slider-row output{grid-column:2;grid-row:1}
  .filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.filters .button{grid-column:1/-1}
  .timeline li{grid-template-columns:1fr auto;gap:var(--space-2)}.timeline time,.timeline .timeline-tool,.timeline p{grid-column:1}.timeline a{grid-column:2;grid-row:1/4}
  .method-grid,.method-detail{grid-template-columns:1fr}.method-grid article:nth-child(odd){border-right:0}.method-grid article:nth-child(even){padding-left:0}.source-links{display:grid}.source-links a{margin:0}
  .site-footer{padding-block:var(--space-8);align-items:flex-start;flex-direction:column;gap:var(--space-3)}
  .compare-tray{bottom:var(--space-2);align-items:stretch;flex-direction:column;gap:var(--space-2)}.tray-actions .button{flex:1}.tray-actions{width:100%}
  .detail-hero{grid-template-columns:1fr}.detail-profile{grid-template-columns:repeat(4,1fr)}.detail-grid{grid-template-columns:1fr}.drawer-header{min-height:72px}.drawer-content{padding-top:var(--space-5)}
  .compare-dialog{width:100%;max-height:100%;height:100%}.compare-dialog-content{overflow-x:auto;padding:var(--space-4)}
  .catalogue-grid{grid-template-columns:1fr}.catalogue-card{min-height:220px}.all-explainer{grid-template-columns:1fr}.technical-facts{grid-template-columns:1fr}.model-presets button{flex:1 1 45%}
}
@media (max-width:430px){.page-grid{padding-inline:var(--space-4)}.hero-score span{font-size:4.8rem}.split-leader-grid .hero-score span{font-size:3.2rem}.filters{grid-template-columns:1fr}.search-field{grid-column:auto}.filters .button{grid-column:auto}.mobile-profile{grid-template-columns:repeat(4,1fr)}.detail-profile{grid-template-columns:repeat(3,1fr)}.brand-copy strong{font-size:.78rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ==========================================================================
   AI Scoreboard 2026.09 redesign layer
   Paper / ink / lime DNA + evidence blue + caution amber. Rules, not shadows.
   ========================================================================== */
:root,[data-theme="light"]{--mark-field:#151713;--mark-bar:#f3f1e9;--header-h:64px;--strip-h:34px}
[data-theme="dark"]{--mark-field:#0c0d0a;--mark-bar:#eef0e8}
html{scroll-padding-top:calc(var(--header-h) + 56px)}

/* ---- mode column visibility ---- */
[data-mode="easy"] .technical-col{display:none}
[data-mode="technical"] .easy-col{display:none}

/* ---- utility strip ---- */
.utility-strip{border-bottom:1px solid var(--line);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--text-xs)}
.utility-inner{display:flex;align-items:center;gap:var(--space-2);min-height:var(--strip-h);flex-wrap:wrap;color:var(--muted);max-width:none}
.utility-inner b{color:var(--ink);font-weight:700}
.utility-inner a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;font-weight:700}
.util-sep{color:var(--faint)}

/* ---- header ---- */
.site-header{height:auto;position:sticky;top:0;z-index:80;display:block;padding-inline:0;gap:0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{min-height:var(--header-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-6)}
.brand-mark{width:30px;height:30px;flex:none}
.brand-copy strong{font-size:var(--text-base);font-weight:900;letter-spacing:-.02em}
.header-nav{display:flex;align-items:center;gap:var(--space-5);justify-self:center}
.header-nav a{font-size:var(--text-sm);font-weight:700;color:var(--muted);text-decoration:none;padding-block:var(--space-2);border-bottom:2px solid transparent}
.header-nav a:hover{color:var(--ink)}
.header-nav a.is-current{color:var(--ink);border-bottom-color:var(--accent)}
.header-actions{display:flex;align-items:center;gap:var(--space-2);justify-self:end}
.menu-button{display:none;align-items:center;gap:var(--space-2);min-height:44px;padding-inline:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;border:1px solid var(--line-strong);background:var(--surface)}
.menu-bars{display:grid;gap:3px}.menu-bars i{display:block;width:14px;height:2px;background:currentColor}
.mobile-nav{border-top:1px solid var(--line);background:var(--surface);max-height:calc(100dvh - var(--header-h));overflow:auto}
.mobile-nav-inner{display:grid;padding-block:var(--space-3) var(--space-6)}
.mobile-nav-inner a{padding-block:var(--space-4);font-size:var(--text-lg);font-weight:700;text-decoration:none;border-bottom:1px solid var(--line)}
.mobile-nav-modes{margin-top:var(--space-5);display:grid;gap:var(--space-3);justify-items:start}
.mode-explainer{font-size:var(--text-sm);color:var(--muted)}

/* ---- hero ---- */
.hero{padding-top:clamp(var(--space-8),4vw,var(--space-16));padding-bottom:clamp(var(--space-8),4vw,var(--space-12));display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(var(--space-8),4vw,var(--space-16));align-items:start}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:900;letter-spacing:-.05em;line-height:.95;max-width:none;margin-block:var(--space-4) var(--space-5)}
.hero-lede{font-size:var(--text-lg);line-height:1.45;max-width:52ch;color:var(--muted)}
.hero-lede b{color:var(--ink);font-weight:700;box-shadow:inset 0 -.42em 0 color-mix(in srgb,var(--accent) 45%,transparent)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.hero-actions .button{text-decoration:none}
.hero-note{margin-top:var(--space-5);font-size:var(--text-xs);font-family:var(--font-mono);color:var(--muted);max-width:60ch}
.hero-note a{color:var(--blue);font-weight:700}
.hero-note span{color:var(--orange);font-weight:700}

/* ---- rank rail: the iconic object ---- */
.rank-rail{border:1px solid var(--line-strong);background:var(--surface);display:grid;align-content:start}
.rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--ink);color:var(--bg)}
.rail-head h2{font-size:var(--text-base);letter-spacing:-.02em}
.rail-stamp{font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--bg) 62%,transparent)}
.rail-lane{padding:var(--space-4) var(--space-5) var(--space-5)}
.rail-lane+.rail-lane{border-top:1px solid var(--line)}
.lane-label{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.rail-list{list-style:none;margin-top:var(--space-3);display:grid}
.rail-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"rank name score" "bar bar bar";align-items:center;gap:var(--space-1) var(--space-3);padding-block:var(--space-3);text-align:left;border-bottom:1px solid var(--line)}
.rail-row:hover{background:var(--surface-2)}
.rail-rank{grid-area:rank;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.rail-name{grid-area:name;display:grid;font-weight:700;font-size:var(--text-base);line-height:1.2;min-width:0}
.rail-name small{font-weight:400;font-size:var(--text-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail-score{grid-area:score;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.rail-bar{grid-area:bar;display:block;height:5px;background:var(--surface-3)}
.rail-bar i{display:block;height:100%;background:var(--ink)}
.rail-list li:first-child .rail-bar i{background:var(--accent)}
.rail-more{display:inline-block;margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--blue)}
.rail-skeleton{display:grid;gap:8px;padding-block:var(--space-3)}
.rail-skeleton span{display:block;height:14px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:railpulse 1.4s ease-in-out infinite}
.rail-error{font-size:var(--text-sm);color:var(--orange);padding-block:var(--space-3)}
@keyframes railpulse{0%{background-position:0 0}100%{background-position:-200% 0}}

.type-badge.type-tool{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.type-badge.type-model{background:var(--blue-soft);color:var(--blue);border-color:currentColor}

/* ---- job chips ---- */
.job-chips{grid-column:1/-1;display:grid;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--line)}
.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.job-chip{min-height:44px;padding-inline:var(--space-4);font-size:var(--text-sm);font-weight:700;border:1px solid var(--line-strong);background:var(--surface)}
.job-chip:hover{background:var(--surface-2)}
.job-chip.is-active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

/* ---- legend ---- */
.legend-band{padding-block:var(--space-8);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.legend-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-5)}
.legend-sub{font-size:var(--text-sm);color:var(--muted)}
.legend-items,.legend-dock-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5) var(--space-8)}
.legend-item{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start}
.legend-chip{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:64px}
.legend-copy b{display:block;font-size:var(--text-sm)}
.legend-copy p{font-size:var(--text-xs);color:var(--muted);margin-top:2px;max-width:46ch}
.legend-score{font-family:var(--font-mono);font-weight:700;font-size:var(--text-base);border-bottom:2px solid var(--accent)}
.legend-bars{display:flex;align-items:flex-end;gap:2px;height:20px}
.legend-bars i{display:block;width:5px;background:var(--ink)}
.legend-link{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:3px}

/* ---- finder ---- */
.finder-section{padding-block:clamp(var(--space-12),5vw,var(--space-20));background:var(--bg)}
.finder-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.2fr);gap:clamp(var(--space-6),3vw,var(--space-10));align-items:start}
.finder-intro h2{font-size:var(--text-xl);letter-spacing:-.04em;margin-block:var(--space-2) var(--space-3)}
.finder-intro p{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-4)}
.finder-form{display:grid;gap:var(--space-5)}
.finder-question{border:0}
.finder-question legend{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-3)}
.finder-step{display:grid;place-items:center;width:22px;height:22px;font-family:var(--font-mono);font-size:var(--text-xs);background:var(--ink);color:var(--bg)}
.finder-options{display:grid;gap:6px}
.finder-option{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);background:var(--surface);font-size:var(--text-sm);cursor:pointer}
.finder-option:hover{border-color:var(--line-strong)}
.finder-option.is-selected{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}
.finder-option input{accent-color:var(--ink);width:16px;height:16px}
.finder-option:focus-within{outline:2px solid var(--blue);outline-offset:2px}
.finder-results{border:1px solid var(--line-strong);background:var(--surface);padding:var(--space-5);display:grid;gap:var(--space-4);align-content:start}
.finder-placeholder{font-size:var(--text-sm);color:var(--muted)}
.finder-status{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.finder-picks{list-style:none;display:grid;gap:var(--space-3)}
.finder-pick{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}
.finder-pick-index{display:grid;place-items:center;width:26px;height:26px;font-family:var(--font-mono);font-weight:700;font-size:var(--text-xs);background:var(--accent);color:var(--accent-ink)}
.finder-pick h3{font-size:var(--text-base)}
.finder-pick-meta{display:block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--muted);margin-top:2px}
.finder-why,.finder-watch{font-size:var(--text-sm);margin-top:var(--space-2);color:var(--muted)}
.finder-why b{color:var(--ink)}.finder-watch b{color:var(--orange)}
.finder-pick-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.chip-check{display:inline-flex;align-items:center;gap:6px;min-height:36px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--muted)}
.finder-tracked,.finder-model{border-top:1px solid var(--line);padding-top:var(--space-3);display:grid;gap:var(--space-2)}
.finder-tracked-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.finder-tracked-row b{font-size:var(--text-sm)}
.finder-tracked-row p{flex-basis:100%;font-size:var(--text-xs);color:var(--muted)}

/* ---- lane bar ---- */
.lane-bar{position:sticky;top:var(--header-h);z-index:60;background:var(--bg);border-block:1px solid var(--line-strong)}
.lane-bar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-height:56px}
.lane-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);white-space:nowrap}
.lane-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}
.chip-button{min-height:36px;padding-inline:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted)}
.chip-button:hover{color:var(--ink);background:var(--surface-2)}
.chip-button.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.legend-dock{border-top:1px solid var(--line);background:var(--surface);max-height:52dvh;overflow:auto}
.legend-dock-inner{padding-block:var(--space-5)}

/* ---- table extras ---- */
.why-cell{font-size:var(--text-sm);color:var(--muted);max-width:34ch}
.overall-cell.is-soft{text-decoration:underline dotted var(--orange);text-underline-offset:5px}
.carryover-flag{display:inline-block;margin-top:4px;padding:2px 6px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--orange);background:var(--orange-soft)}
.disambiguation-row td{background:var(--blue-soft);color:var(--ink);font-size:var(--text-sm);padding:var(--space-4)!important}
.disambiguation-row b{color:var(--blue)}
.empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}
.mobile-score small{display:block;font-size:var(--text-xs);font-weight:500;color:var(--muted);letter-spacing:0}
.mobile-spark{display:flex;align-items:flex-end;gap:3px;height:26px;margin-top:var(--space-2)}
.mobile-spark i{flex:1;background:var(--surface-3);border-bottom:2px solid var(--ink)}

/* ---- tracked block ---- */
.tracked-block{margin-top:var(--space-12);border:1px solid var(--line-strong);border-left:4px solid var(--orange);background:var(--surface);padding:clamp(var(--space-5),3vw,var(--space-8))}
.tracked-head h3{font-size:var(--text-lg);letter-spacing:-.03em}
.tracked-head p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-2);max-width:80ch}
.tracked-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-5);margin-top:var(--space-5)}
.tracked-card{border:1px solid var(--line);background:var(--bg);padding:var(--space-5);display:grid;align-content:start;gap:var(--space-2);min-width:0}
.tracked-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.tracked-rank{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--faint)}
.tracked-badge{background:var(--orange-soft);color:var(--orange);border:1px solid currentColor}
.tracked-card h4{font-size:var(--text-lg);letter-spacing:-.03em}
.tracked-company{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
.tracked-why,.tracked-not,.tracked-reason{font-size:var(--text-sm);color:var(--muted)}
.tracked-why b,.tracked-not b,.tracked-reason b{color:var(--ink)}
.tracked-sources{display:flex;flex-wrap:wrap;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}
.tracked-sources a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.tracked-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}
.scope-note{margin-top:var(--space-8);padding:var(--space-5);border:1px dashed var(--line-strong);font-size:var(--text-sm);color:var(--muted)}
.scope-note strong{display:block;color:var(--ink);margin-bottom:var(--space-2)}
.catalogue-card.is-tracked{border-left:3px solid var(--orange)}
.catalogue-card .status-badge{width:max-content;margin-bottom:var(--space-2)}

/* ---- changelog ---- */
.changelog{display:grid;gap:0;border-top:1px solid var(--line)}
.changelog-entry{display:grid;grid-template-columns:190px minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-6);border-bottom:1px solid var(--line)}
.changelog-meta{display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
.changelog-tag{width:max-content;padding:2px 8px;font-weight:700;background:var(--surface-3);color:var(--ink)}
.tone-accent .changelog-tag{background:var(--accent);color:var(--accent-ink)}
.tone-blue .changelog-tag{background:var(--blue-soft);color:var(--blue)}
.tone-amber .changelog-tag{background:var(--orange-soft);color:var(--orange)}
.changelog-body h3{font-size:var(--text-lg);letter-spacing:-.03em}
.changelog-body p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-2)}
.changelog-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}
.changelog-links a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.timeline-title{margin-top:var(--space-12);font-size:var(--text-lg);letter-spacing:-.03em}

/* ---- compare section ---- */
.compare-panel{border:1px solid var(--line-strong);background:var(--surface);padding:clamp(var(--space-5),3vw,var(--space-8));display:grid;gap:var(--space-4)}
.compare-empty p{font-size:var(--text-sm);color:var(--muted)}
.compare-empty b{color:var(--ink)}
.compare-live-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.compare-table .na{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--orange)}

/* ---- method + drawer extras ---- */
.method-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-block:var(--space-8) var(--space-6)}
.method-detail{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.detail-score-none{font-family:var(--font-mono);color:var(--orange);font-size:var(--text-xl)!important;letter-spacing:-.03em}
.detail-why{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
.drawer-header-actions{display:flex;align-items:center;gap:var(--space-2)}
.footer-brand svg{width:26px;height:26px;stroke:none}
.footer-brand span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}

/* ---- toast ---- */
.toast{position:fixed;left:50%;bottom:calc(var(--space-8) + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:200;padding:var(--space-3) var(--space-5);background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;max-width:min(90vw,520px)}

/* ---- responsive ---- */
@media (max-width:1180px){
  .finder-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .finder-intro{grid-column:1/-1}
  .legend-items,.legend-dock-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .header-nav{display:none}
  .menu-button{display:inline-flex}
  .hero{grid-template-columns:1fr}
  .hero h1{font-size:clamp(2.4rem,9vw,3.4rem)}
  .rank-rail{order:-1}
}
@media (max-width:760px){
  .finder-grid{grid-template-columns:1fr}
  .legend-items,.legend-dock-inner{grid-template-columns:1fr}
  .changelog-entry{grid-template-columns:1fr;gap:var(--space-3)}
  .changelog-meta{flex-direction:row;align-items:center;gap:var(--space-3)}
  .lane-bar-inner{gap:var(--space-2);padding-block:var(--space-2)}
  .lane-actions{margin-left:0;width:100%;overflow-x:auto;padding-bottom:2px}
  .tracked-grid{grid-template-columns:1fr}
  .brand-copy small{display:block}
  .utility-inner{font-size:11px;row-gap:2px}
}
@media (max-width:430px){
  .hero-actions .button{width:100%}
  .rail-name small{white-space:normal}
  .job-chip{width:100%}
}
@media (max-width:620px){
  .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3)}
  .header-actions .mode-toggle{display:none}
  .brand{min-width:0}
  .brand-copy strong,.brand-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .menu-button{padding-inline:var(--space-2)}
}
/* ---- fold + finder refinements ---- */
.hero{padding-top:clamp(var(--space-6),3vw,var(--space-12));padding-bottom:var(--space-8)}
.hero h1{font-size:clamp(2.5rem,5vw,4.1rem)}
.job-chips{margin-top:var(--space-6);padding-top:var(--space-5)}
@media (min-width:981px){.finder-results{position:sticky;top:calc(var(--header-h) + var(--space-6))}}
@media (max-width:980px){
  .rank-rail{order:0}
  .hero-lede{font-size:var(--text-base)}
  .hero{gap:var(--space-8)}
}
@media (max-width:620px){
  .filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
  .filters .search-field{grid-column:1/-1}
  .filters .button{grid-column:1/-1}
  .filters label span{font-size:11px}
}
