@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-display:swap;font-weight:300 900;src:url(/fonts/figtree.woff2) format("woff2")}
@font-face{font-family:"Martian Mono";font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/martian-mono.woff2) format("woff2")}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--surface);color:var(--ink);padding:8px 14px;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.skip:focus{left:12px}
.footnav{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;line-height:1.5}
.footnav>b{font-weight:600;color:var(--ink);min-width:9.5em}
.footnav>span{display:flex;flex-wrap:wrap;gap:2px 14px;flex:1;min-width:0}
.footnav a{color:var(--ink-2);text-decoration:none}
.footnav a:hover{color:var(--ink);text-decoration:underline}
.footnav+p{margin-top:12px;padding-top:14px;border-top:1px solid var(--rule)}
.footnav+.footnav{margin-top:2px}
.ph{min-height:var(--ph)}
@media (max-width:700px){.ph{min-height:var(--phm,var(--ph))}}
/* search */
.search-btn{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 12px;border:0;border-radius:999px;background:rgba(255,255,255,.09);color:var(--mast-ink);font:600 13px var(--sans);cursor:pointer}
.search-btn:hover{background:rgba(255,255,255,.15)}
.search-btn svg{opacity:.85}
.search-btn kbd{font:500 10.5px var(--mono);color:var(--mast-muted);border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:2px 6px}
.cmdk[hidden]{display:none}
.cmdk{position:fixed;inset:0;z-index:300}
.cmdk-back{position:absolute;inset:0;background:rgba(15,13,28,.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.cmdk-panel{position:relative;margin:min(12vh,110px) auto 0;width:min(680px,calc(100% - 24px));background:var(--surface);color:var(--ink);border-radius:20px;box-shadow:0 30px 80px -20px rgba(15,13,28,.5),0 0 0 1px var(--rule);overflow:hidden;display:flex;flex-direction:column;max-height:min(72vh,640px)}
.cmdk-field{display:flex;align-items:center;gap:12px;padding:15px 16px 15px 18px;border-bottom:1px solid var(--hair);color:var(--muted)}
.cmdk-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:500 18px var(--sans);color:var(--ink);-webkit-appearance:none;appearance:none}
.cmdk-field input::placeholder{color:var(--muted)}
.cmdk-field input::-webkit-search-cancel-button{display:none}
.cmdk kbd{font:500 11px var(--mono);border:1px solid var(--rule);border-radius:6px;padding:2px 6px;color:var(--muted);background:var(--sunk)}
.cmdk-field kbd{cursor:pointer}
.cmdk-list{overflow-y:auto;padding:6px;overscroll-behavior:contain}
.cmdk-group{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:12px 12px 6px}
.cmdk-opt{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:12px;text-decoration:none;color:inherit}
.cmdk-opt[aria-selected="true"]{background:var(--sunk)}
.cmdk-type{flex:none;width:76px;font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.cmdk-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.cmdk-main b{font:600 15px/1.3 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-main small{font-size:12.5px;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-odds{flex:none;font:600 13px var(--mono)}
.cmdk-empty{padding:30px 18px;color:var(--muted);text-align:center;font-size:14px}
.cmdk-foot{display:flex;gap:18px;padding:10px 16px;border-top:1px solid var(--hair);font-size:12px;color:var(--muted)}
.cmdk-foot kbd{margin-right:3px}
html.cmdk-on{overflow:hidden}
.pollster .sh .note a{color:inherit}
@media (max-width:640px){.search-btn{padding:0;width:32px;justify-content:center}.search-btn span,.search-btn kbd{display:none}
 .cmdk-panel{margin-top:10px;max-height:calc(100dvh - 20px);border-radius:16px}.cmdk-foot{display:none}.cmdk-type{width:62px}.cmdk-field input{font-size:17px}}
.cmdk .cmdk-field input{border:0;background:none;box-shadow:none;padding:0;border-radius:0;height:auto;outline:0}
.sh,section[id]{scroll-margin-top:128px}
@media (max-width:640px){.sh,section[id]{scroll-margin-top:150px}}
/* Midterm Forecast 2026
   Layout: ink masthead, then wide editorial column; numbers in serif display, labels in mono.
   Chroma is reserved for the parties; everything else is cool ink and paper. */
:root{
  --paper:#F3F5F8; --surface:#FFFFFF; --sunk:#E9EDF2; --ink:#0E1726; --ink-2:#3B4657; --muted:#667386; --rule:#D5DCE4; --hair:#E6EAF0;
  --dem:#2463C9; --dem-2:#7FA6E6; --rep:#C93A30; --rep-2:#E99A93; --ind:#B4780F; --tossup:#ECEAF4;
  --mast:#0E1726; --mast-ink:#E9EEF5; --mast-muted:#93A1B5; --focus:#2463C9;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --shadow:0 1px 2px rgba(14,23,38,.05),0 6px 24px -12px rgba(14,23,38,.16);
  --radius:10px; --radius-sm:7px; --display-wt:600; --display-track:-.02em; --display-case:none; --label-track:.09em;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --paper:#0B1017; --surface:#121A24; --sunk:#0F161F; --ink:#E7ECF2; --ink-2:#C2CBD7; --muted:#8C99AB; --rule:#243041; --hair:#1A2431;
  --dem:#5E97F0; --dem-2:#2E5A9E; --rep:#F06A60; --rep-2:#8F3A34; --ind:#E2A64A; --tossup:#262B3A;
  --mast:#070B11; --mast-ink:#E7ECF2; --mast-muted:#8492A6; --focus:#7FB0FF;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -16px rgba(0,0,0,.7);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15.5px/1.55 var(--sans);font-stretch:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}
.muted{color:var(--muted)}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.d{color:var(--dem)} .r{color:var(--rep)} .i{color:var(--ind)}
h1,h2,h3,h4{margin:0;text-wrap:balance}

/* masthead */
.masthead{background:var(--mast);color:var(--mast-ink);position:sticky;top:0;z-index:20}
.mast-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  padding:12px max(18px,env(safe-area-inset-right,0px)) 10px max(18px,env(safe-area-inset-left,0px))}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand b{display:block;font:700 19px/1 var(--serif);letter-spacing:-.01em}
.brand small{display:block;font:500 11px var(--mono);color:var(--mast-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:3px}
.brand-mark{display:flex;align-items:flex-end;gap:2px;height:22px}
.brand-mark i{display:block;width:9px;background:var(--dem);height:22px;border-radius:1px}
.brand-mark i+i{background:var(--rep);height:15px}
.mainnav{display:flex;gap:2px;flex-wrap:wrap;flex:1}
.mainnav a{font:600 13.5px var(--sans);text-decoration:none;color:var(--mast-muted);padding:7px 11px;border-radius:5px}
.mainnav a:hover{color:var(--mast-ink);background:rgba(255,255,255,.06)}
.mainnav a[aria-current="page"]{color:var(--mast-ink);background:rgba(255,255,255,.1)}
.mast-tools{display:flex;gap:10px;align-items:center}
.seg{position:relative;display:inline-flex;padding:3px;border-radius:999px;background:rgba(255,255,255,.08);isolation:isolate}
.seg button{position:relative;z-index:1;font:600 12.5px var(--sans);border:0;background:transparent;color:var(--mast-muted);padding:5px 12px;border-radius:999px;cursor:pointer;transition:color .25s}
.seg button[aria-pressed="true"]{color:var(--mast)}
.seg .pill{position:absolute;z-index:0;top:3px;bottom:3px;left:0;border-radius:999px;background:var(--mast-ink);transition:transform .35s cubic-bezier(.3,.7,.2,1),width .35s cubic-bezier(.3,.7,.2,1)}
.theme{width:50px;height:28px;border-radius:999px;border:0;background:rgba(255,255,255,.12);cursor:pointer;position:relative;padding:0}
.theme .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--mast-ink);transition:transform .35s cubic-bezier(.3,.7,.2,1),box-shadow .35s}
.theme .knob{box-shadow:inset 0 0 0 0 var(--mast)}
:root[data-theme="dark"] .theme .knob{transform:translateX(22px);box-shadow:inset -7px -3px 0 0 #3a4658}
.runbar{border-top:1px solid rgba(255,255,255,.08);font:500 11.5px var(--mono);color:var(--mast-muted);letter-spacing:.02em}
.runbar{display:flex;justify-content:space-between;gap:10px;max-width:1200px;margin:0 auto;padding:5px max(18px,env(safe-area-inset-right,0px)) 6px max(18px,env(safe-area-inset-left,0px))}
.masthead .runbar{max-width:none;padding-left:max(18px,calc((100% - 1200px)/2 + 18px));padding-right:max(18px,calc((100% - 1200px)/2 + 18px))}

/* page */
main{max-width:1200px;margin:0 auto;padding:30px max(18px,env(safe-area-inset-right,0px)) 60px max(18px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:46px;outline:none}
.eyebrow{font:600 11.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.lede{font:400 19px/1.5 var(--serif);color:var(--ink-2);max-width:62ch}
.pagehead{display:flex;flex-direction:column;gap:10px}
.pagehead h1{font:var(--display-wt) clamp(32px,5vw,52px)/1.03 var(--serif);letter-spacing:var(--display-track);text-transform:var(--display-case)}
.crumbs{font:500 12.5px var(--mono);color:var(--muted)} .crumbs a{color:var(--muted)}
section{display:flex;flex-direction:column;gap:16px;min-width:0}
.sh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:8px}
.sh h2{font:var(--display-wt) 25px/1.15 var(--serif);letter-spacing:var(--display-track);text-transform:var(--display-case)}
.sh .note{font-size:13px;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;min-width:0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:22px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px}
.small{font-size:13px} .tiny{font-size:11.5px}
p{margin:0;max-width:70ch}
.prose{display:flex;flex-direction:column;gap:12px;font-size:15.5px}
.prose p{max-width:68ch}

/* topline */
.chamber{display:flex;flex-direction:column;gap:14px}
.chamber-h{display:flex;justify-content:space-between;align-items:baseline}
.chamber-h h2{font:600 15px var(--sans);letter-spacing:.06em;text-transform:uppercase}
.odds{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.odds .who{display:flex;flex-direction:column;gap:2px}
.odds .who.right{align-items:flex-end;text-align:right}
.odds .who.mid{align-items:center;text-align:center}
.big{font:var(--display-wt) clamp(54px,9vw,88px)/.86 var(--serif);letter-spacing:-.035em;font-variant-numeric:tabular-nums lining-nums}
.mid .big{font-size:30px}
.who .lab{font:500 12.5px var(--sans);color:var(--muted)}
.pbar{display:flex;height:14px;border-radius:3px;overflow:hidden;background:var(--sunk)}
.pbar span{height:100%;transition:width .5s ease}
.chamber .sum{font-size:14.5px;color:var(--ink-2)}
.chamber .sum b{font-family:var(--mono);font-weight:600}
.fig{width:100%;overflow-x:auto}
.fig svg{display:block;width:100%;height:auto;overflow:visible}
.fig .cap{font-size:12.5px;color:var(--muted);margin-top:6px}
.axis text,.lbl{font:500 11px var(--mono);fill:var(--muted)}
.axis line,.axis path{stroke:var(--rule)}
.combo{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.combo div{border-top:4px solid var(--rule);padding-top:8px;display:flex;flex-direction:column;gap:2px}
.combo b{font:600 30px/1 var(--serif);font-variant-numeric:tabular-nums}
.combo span{font-size:13px;color:var(--ink-2)}

/* tables */
.tbl{overflow:auto;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;font-size:14px}
th{font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);white-space:nowrap;position:sticky;top:0;background:var(--surface);z-index:1}
td{padding:9px 12px;border-bottom:1px solid var(--hair);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr{cursor:pointer} tbody tr:hover td{background:var(--sunk)}
td.n,th.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
td a.rowlink{text-decoration:none;font-weight:650}
.cand{font-size:13px;line-height:1.35}
.pr{display:flex;align-items:center;gap:9px;min-width:150px}
.pr .t{flex:1;height:8px;background:var(--rep);border-radius:2px;overflow:hidden;min-width:70px}
.pr .t i{display:block;height:100%;background:var(--dem)}
.pr .t.ind i{background:var(--ind)}
.pr .v{font:600 13px var(--mono);width:46px;text-align:right}
.chip{display:inline-block;font:600 11px var(--sans);padding:2px 8px;border-radius:999px;white-space:nowrap;background:var(--sunk);color:var(--ink-2)}
.chip.d{background:color-mix(in srgb,var(--dem) 16%,transparent);color:var(--dem)}
.chip.r{background:color-mix(in srgb,var(--rep) 16%,transparent);color:var(--rep)}
.chip.t{background:var(--tossup);color:var(--ink-2)}
.flag{font:700 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--rule);padding:1px 5px;border-radius:3px;margin-left:7px;vertical-align:1px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
input[type=search],select{font:14px var(--sans);padding:8px 11px;border:1px solid var(--rule);border-radius:7px;background:var(--surface);color:var(--ink)}
input[type=range]{width:100%;accent-color:var(--ink)}
.btn{font:600 13px var(--sans);padding:8px 13px;border-radius:7px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer}
.btn:hover{background:var(--sunk)}

/* race page */
.racehead{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:end}
@media (max-width:820px){.racehead{grid-template-columns:1fr}}
.matchup{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cbox{border-top:5px solid var(--rule);padding-top:10px;display:flex;flex-direction:column;gap:2px}
.cbox.d{border-color:var(--dem)} .cbox.r{border-color:var(--rep)} .cbox.i{border-color:var(--ind)}
.cbox .nm{font:600 20px/1.2 var(--serif)}
.cbox .pc{font:600 54px/.95 var(--serif);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cbox .sub{font-size:12.5px;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}
.facts.two{grid-template-columns:1fr 1fr}
.facts div{background:var(--surface);padding:13px 15px;display:flex;flex-direction:column;gap:3px}
.facts span{font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.facts b{font:600 22px/1.1 var(--serif);font-variant-numeric:tabular-nums}
.facts em{font-style:normal;font-size:12px;color:var(--muted)}
.build{display:flex;flex-direction:column;gap:10px}
.ratings{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.ratings div{border:1px solid var(--rule);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;background:var(--surface)}
.ratings span{font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* scenarios */
.scen{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:26px;align-items:start}
@media (max-width:900px){.scen{grid-template-columns:1fr}}
.picks{display:flex;flex-direction:column;gap:6px}
.pick{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:7px 0;border-bottom:1px solid var(--hair)}
.pick .st{font-weight:650;font-size:14px}
.pick .st small{display:block;font:500 11px var(--mono);color:var(--muted)}
.tri{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--rule);border-radius:7px;overflow:hidden}
.tri button{font:600 12px var(--sans);border:0;background:var(--surface);color:var(--muted);padding:7px 4px;cursor:pointer;border-right:1px solid var(--rule);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tri button:last-child{border-right:0}
.tri button[aria-pressed="true"].bd{background:var(--dem);color:#fff}
.tri button[aria-pressed="true"].br{background:var(--rep);color:#fff}
.tri button[aria-pressed="true"].bx{background:var(--sunk);color:var(--ink)}
.sticky{position:sticky;top:110px}
.sliderrow{display:flex;flex-direction:column;gap:6px}
.ticks{display:flex;justify-content:space-between;font:500 11px var(--mono);color:var(--muted)}

/* misc */
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);align-items:center}
.legend .sw{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.ramp{display:inline-block;width:150px;height:9px;border-radius:2px;vertical-align:middle}
.tip{position:fixed;z-index:50;pointer-events:none;background:var(--surface);color:var(--ink);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:8px;padding:9px 11px;font-size:12.5px;max-width:280px;line-height:1.4}
.tip b{font-weight:650}
.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px 34px}
.notes h3{font:600 17px var(--serif);margin-bottom:6px}
.notes p{font-size:14.5px;color:var(--ink-2)}
.sitefoot{border-top:1px solid var(--rule);background:var(--surface)}
.sitefoot>div{max-width:1200px;margin:0 auto;padding:22px max(18px,env(safe-area-inset-right,0px)) 40px max(18px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:8px;font-size:13px}
.empty{padding:28px;text-align:center;color:var(--muted)}
.callout{border-left:3px solid var(--ink);padding:4px 0 4px 14px;font:400 17px/1.5 var(--serif);color:var(--ink-2)}
@media (max-width:640px){.mainnav{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap}.mast-inner{gap:10px}.big{font-size:56px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- custom controls ---------- */
.rngwrap{position:relative;padding-top:24px;flex:1;min-width:0}
.rng{-webkit-appearance:none;appearance:none;width:100%;height:24px;background:transparent;margin:0;cursor:pointer;--p:50%}
.rng:focus{outline:none}
.rng::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--ink) 0 var(--p),var(--sunk) var(--p) 100%)}
.rng::-moz-range-track{height:6px;border-radius:99px;background:var(--sunk)}
.rng::-moz-range-progress{height:6px;border-radius:99px;background:var(--ink)}
.rng.div::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--rep),var(--tossup) 50%,var(--dem))}
.rng.div::-moz-range-track{background:linear-gradient(90deg,var(--rep),var(--tossup) 50%,var(--dem))}
.rng.div::-moz-range-progress{background:transparent}
.rng::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--surface);border:2.5px solid var(--ink);box-shadow:0 2px 8px -2px rgba(0,0,0,.35);transition:transform .15s}
.rng::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--surface);border:2.5px solid var(--ink);box-shadow:0 2px 8px -2px rgba(0,0,0,.35)}
.rng:active::-webkit-slider-thumb{transform:scale(1.15)}
.rng:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--focus) 35%,transparent)}
.bubble{position:absolute;top:0;transform:translateX(-50%);font:600 11.5px var(--mono);background:var(--ink);color:var(--surface);padding:2px 7px;border-radius:5px;white-space:nowrap;pointer-events:none}
.bubble::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);border:4px solid transparent;border-bottom:0;border-top-color:var(--ink)}
.tri,.viewseg{position:relative;isolation:isolate}
.tri{background:var(--sunk);border:0;border-radius:999px;padding:3px;gap:0}
.tri button{position:relative;z-index:1;background:transparent!important;border:0!important;border-radius:999px;transition:color .25s}
.tri button[aria-pressed="true"]{color:#fff!important}
.tri button[aria-pressed="true"].bx{color:var(--ink)!important}
.tri .pill,.viewseg .pill{position:absolute;z-index:0;top:3px;bottom:3px;left:0;border-radius:999px;background:var(--surface);box-shadow:0 1px 4px rgba(0,0,0,.15);transition:transform .35s cubic-bezier(.3,.7,.2,1),width .35s cubic-bezier(.3,.7,.2,1),background .3s}
.tri[data-v="D"] .pill{background:var(--dem)} .tri[data-v="R"] .pill{background:var(--rep)}
select{-webkit-appearance:none;appearance:none;padding-right:32px!important;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
.viewseg{display:inline-flex;padding:3px;border-radius:999px;background:var(--sunk)}
.viewseg button{position:relative;z-index:1;font:600 12.5px var(--sans);border:0;background:transparent;color:var(--muted);padding:6px 13px;border-radius:999px;cursor:pointer}
.viewseg button[aria-pressed="true"]{color:var(--ink)}

/* ---------- chamber hero ---------- */
.herocard{padding:26px 26px 22px}
.hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:34px}
@media (max-width:900px){.hero{grid-template-columns:1fr}}
.hero-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.hero-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.hero-side{display:flex;flex-direction:column;gap:22px;min-width:0;border-left:1px solid var(--hair);padding-left:30px}
@media (max-width:900px){.hero-side{border-left:0;padding-left:0;border-top:1px solid var(--hair);padding-top:20px}}
.sidehead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.chamberfig svg{overflow:visible}
.seat{transition:none}
.seat.fx{fill-opacity:.38}
.upseat{stroke:var(--surface);stroke-width:1.5}
.seatlbl{font:600 10.5px var(--mono);pointer-events:none}
.majline{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:3 3}
.majlbl{font:600 11px var(--mono);fill:var(--ink)}
.chbig{font:var(--display-wt) 50px var(--serif);fill:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.chbig.d{fill:var(--dem)} .chbig.r{fill:var(--rep)} .chbig.i{fill:var(--ind)}
.chsub{font:500 13px var(--sans);fill:var(--muted)}
.hseat{transition:none}
.hbig{font:var(--display-wt) 26px var(--serif);fill:var(--ink);font-variant-numeric:tabular-nums}
.hbig.d{fill:var(--dem)} .hbig.r{fill:var(--rep)}
.odot{transition:r .2s}
.odot.on{stroke:var(--ink);stroke-width:2.5}
.simbar{display:flex;align-items:flex-end;gap:14px}
.playbtn{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:var(--surface);cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px -6px rgba(0,0,0,.5);transition:transform .15s}
.playbtn:hover{transform:scale(1.06)}
.playbtn svg{width:18px;height:18px;fill:currentColor}
.playbtn .ic-pause{display:none} .playbtn.playing .ic-pause{display:inline} .playbtn.playing .ic-play{display:none}
.simno{font-size:12.5px;color:var(--muted);min-width:64px;text-align:right;padding-bottom:4px}
.simline{font-size:14px;color:var(--ink-2);min-height:3em;max-width:none}
.oddsstack{display:flex;flex-direction:column;gap:10px}
.oddsrow{display:flex;align-items:baseline;gap:14px}
.ob{font:var(--display-wt) 56px/.9 var(--serif);letter-spacing:-.03em;min-width:2.6ch}
.small-row .ob{font-size:26px}
.ol{font-size:13px;color:var(--muted);line-height:1.3}

/* ---------- chart type scale (charts render at real pixel width) ---------- */
.fig svg{width:100%;max-width:none;height:auto}
.ax{font:500 11px var(--mono);fill:var(--muted)}
.ax.strong{fill:var(--ink)} .ax.d{fill:var(--dem)} .ax.r{fill:var(--rep)}
.dl{font:600 12px var(--mono);fill:var(--ink)} .dl.on{fill:#fff;pointer-events:none}
.cl{font:500 13px var(--sans);fill:var(--ink-2)} .cl.b{font-weight:700;fill:var(--ink)}
.maplbl{font:600 12px var(--mono);pointer-events:none}
.gl{stroke:var(--hair)} .zero{stroke:var(--ink);stroke-dasharray:3 3} .base{stroke:var(--rule)}
.cross{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 3}
.crossdot{fill:var(--ink);stroke:var(--surface);stroke-width:2}
.stick{stroke:var(--muted);stroke-opacity:.45} .rawdot{fill:var(--muted);fill-opacity:.55}
.trend{fill:none;stroke:var(--ink);stroke-width:2.5;pointer-events:none}
.band{fill:var(--ink);fill-opacity:.12}
.polldot{fill-opacity:.6;stroke:var(--surface);stroke-width:1;cursor:pointer}
.mark{transition:opacity .15s}
.mark.dim{opacity:.25}
.state{transition:filter .15s}
.state.hot{filter:brightness(.9) saturate(1.15);stroke:var(--ink)!important;stroke-width:2!important}
.cap{font-size:13px;color:var(--muted);margin-top:8px;max-width:none}
.combo div{cursor:default}
/* quieter styling: no gradient fills or colored glows */
.playbtn{background:var(--ink)!important;color:var(--surface)!important;box-shadow:none}
.herocard{background:var(--surface)!important}
.eyebrow{font:600 13px var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
.facts span,th{font-family:var(--sans);letter-spacing:.02em}
.brand small{font-family:var(--sans);letter-spacing:.02em;text-transform:none}
@media (max-width:640px){#updated{display:none}}

.racehead{align-items:center}
.hero{align-items:center}
.hero-side{align-self:stretch}
/* D · Modern — expressive grotesque, soft violet-tinted neutrals, big radii, floating masthead. */
:root{
 --paper:#F4F3FA; --surface:#FFFFFF; --sunk:#ECEBF5; --ink:#17142B; --ink-2:#3C3858; --muted:#6D6987; --rule:#DCDAEA; --hair:#E9E7F3;
 --dem:#2F55FF; --dem-2:#9DB0FF; --rep:#FF4D3D; --rep-2:#FFA89F; --ind:#E39B00; --tossup:#E7E4F6;
 --mast:#17142B; --mast-ink:#F4F3FA; --mast-muted:#A6A2C4; --focus:#2F55FF;
 --serif:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif; --sans:"Figtree",ui-sans-serif,system-ui,sans-serif; --mono:"Martian Mono",ui-monospace,monospace;
 --radius:22px; --radius-sm:12px; --display-wt:700; --display-track:-.035em;
 --shadow:0 1px 2px rgba(23,20,43,.05),0 8px 24px -16px rgba(23,20,43,.18);
}
:root[data-theme="dark"]{--paper:#0F0D1C; --surface:#18152B; --sunk:#221E3A; --ink:#F1EFFC; --ink-2:#CFCBE8; --muted:#9792B8; --rule:#2B2748; --hair:#221E3A;
 --dem:#6F8BFF; --dem-2:#2F3E99; --rep:#FF7466; --rep-2:#99392F; --ind:#FFB833; --tossup:#2A2545; --mast:#0A0814; --mast-ink:#F1EFFC; --mast-muted:#9792B8;
 --shadow:0 18px 44px -26px rgba(0,0,0,.8)}
.masthead{margin:12px 12px 0;border-radius:20px;top:12px}
.mainnav a{border-radius:999px}
.num,.mono,td.n,th{letter-spacing:-.02em}
.axis text,.lbl,.seatlbl{font-size:10px}
.pagehead h1{font-size:clamp(40px,6.2vw,74px);line-height:.98}
.big,.ob,.chbig{font-weight:800}
.herocard{background:radial-gradient(700px 300px at 25% 0%,color-mix(in srgb,var(--dem) 8%,transparent),transparent 70%),radial-gradient(500px 260px at 100% 100%,color-mix(in srgb,var(--rep) 7%,transparent),transparent 70%),var(--surface)}
.upseat{stroke-width:2}
.playbtn{background:linear-gradient(135deg,var(--dem),#7A4DFF);color:#fff}
.bubble{border-radius:999px}
