:root{--bg:#0A0C0F;--panel:#111418;--line:#a98c4655;--gold:#C9A84C;--text:#E8E0D0;--muted:#B8B0A0;--green:#44d59b;--red:#f17676;--mono:'IBM Plex Mono',ui-monospace,monospace}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#15191E,#0D1014 60%);color:var(--text);font:14px/1.5 var(--font-body,'IBM Plex Sans',system-ui,sans-serif)}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:var(--gold)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line)}.brand{font:400 34px/1 var(--font-body,'IBM Plex Sans',system-ui,sans-serif);text-decoration:none;color:var(--gold)}.brand small{font:12px var(--font-body,'IBM Plex Sans',system-ui,sans-serif);color:var(--muted);margin-left:14px}.global-nav{display:flex;gap:6px;flex-wrap:wrap}.global-nav a{padding:10px 12px;text-decoration:none;color:var(--muted);font-size:12px}.global-nav .on{color:var(--gold);border:1px solid var(--line);background:#e3be5a0a}.hot{color:var(--red);font-weight:900;margin-left:5px}.app-top{padding:20px 24px 0}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:.16em;color:var(--gold);text-transform:uppercase}.app-top h1{font:400 32px/1.2 var(--font-body,'IBM Plex Sans',system-ui,sans-serif);margin:5px 0 16px}.app-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.app-controls label{display:block;font:10px/1.5 var(--mono);color:var(--muted)}select,input,textarea{color:var(--text);background:#111418;border:1px solid #4A4540;border-radius:4px;padding:10px 12px;min-height:44px}select{min-width:190px;max-width:100%}.app-controls .context{margin-left:auto;font:12px/1.5 var(--mono);color:var(--muted)}.main-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-top:20px;overflow-x:auto}.main-tabs button{border:1px solid var(--line);border-bottom:0;border-radius:6px 6px 0 0;color:#E8E0D0;background:#111418;padding:13px 22px;min-height:48px;white-space:nowrap}.main-tabs button[aria-selected=true]{background:linear-gradient(#1E1A10,#15191E);border-color:var(--gold);color:#E8E0D0;box-shadow:inset 0 -3px var(--gold)}.stage{padding:18px 24px}.geography-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.map-panel,.panel{border:1px solid var(--line);background:linear-gradient(130deg,#111418,#0D1014);border-radius:6px;padding:18px}.panel h2{font:400 22px var(--font-body,'IBM Plex Sans',system-ui,sans-serif);color:#E8E0D0;margin:0 0 12px}.panel p{font-size:13px;color:var(--muted)}.map-shell{position:relative;border:1px solid var(--line);background:radial-gradient(ellipse,#15191E,#0D1014);overflow:hidden;min-height:360px}.map-tag{position:absolute;top:12px;left:16px;color:var(--gold);font:10px var(--mono);letter-spacing:.1em;z-index:2}.compass{position:absolute;right:20px;top:20px;width:54px;opacity:.6;pointer-events:none}.geomap{display:block;width:100%;height:550px;touch-action:none}.geomap .region{cursor:pointer;stroke:#B8B0A0;stroke-width:1.1px;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .15s}.geomap .region:hover,.geomap .region:focus{fill:#C9A84C;stroke:#F0C96B;outline:none}.geomap .selected{fill:#C9A84C!important}.zoom-ctl{position:absolute;right:12px;bottom:32px;display:flex;gap:4px}.zoom-ctl button{width:36px;height:36px;background:#111418;color:var(--gold);border:1px solid var(--line)}.zoom-hint{position:absolute;right:12px;bottom:9px;font:10px var(--mono);color:var(--muted)}.map-trail{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px;font-size:12px}.map-trail button{color:var(--gold);background:none;border:0;min-height:36px;padding:3px}.map-caption{font-size:12px;color:var(--muted);margin-top:10px}.race-list{display:flex;flex-direction:column;gap:8px;max-height:490px;overflow:auto}.race-item{color:var(--text);background:#111418;text-align:left;padding:12px;border:1px solid var(--line);border-radius:5px}.race-item b,.race-item small{display:block}.race-item small{color:var(--muted);margin-top:5px}.race-item.selected{border-color:var(--gold);background:#263126}.countdown{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.countdown b{display:block;color:var(--red);font:400 24px var(--font-body,'IBM Plex Sans',system-ui,sans-serif)}.scope-note{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.pane-frame{border:1px solid var(--line);width:100%;height:calc(100vh - 260px);min-height:650px;background:#0D1014;border-radius:6px}.tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.tools button,.tools a,.button{border:1px solid var(--line);color:var(--gold);background:#15191E;padding:10px 14px;min-height:44px;border-radius:4px;text-decoration:none}.subtle{font-size:12px;color:var(--muted)}.empty-state{border:1px dashed #4A4540;padding:28px;max-width:850px;background:#111418}.empty-state h2{font:400 26px var(--font-body,'IBM Plex Sans',system-ui,sans-serif);margin:0 0 12px}.access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.access-tile{padding:18px;border:1px solid #67747c55;border-radius:5px;background:#111418;color:#B8B0A0}.access-tile b{display:block;color:#d2ccba;margin-bottom:6px}.sandbox-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.sandbox-grid .panel{min-width:0}.sandbox-grid ul{padding-left:18px;font-size:12px;color:var(--muted)}textarea{display:block;width:100%;min-height:100px;resize:vertical}.review-banner{background:#1E1A10;color:#F0C96B;text-align:center;padding:8px;font:11px var(--mono)}.header-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.header-gallery button{padding:0;background:#111418;color:var(--gold);border:1px solid var(--line);text-align:left}.header-gallery img{display:block;width:100%;aspect-ratio:3/1;object-fit:cover}.header-gallery span{display:block;padding:12px}.phone-wrap{max-width:390px;margin:auto}.app-footer{padding:10px 24px;color:var(--muted);font:10px var(--mono);border-top:1px solid var(--line)}
@media(max-width:900px){.site-header{align-items:start;flex-direction:column}.app-top,.stage{padding-left:14px;padding-right:14px}.geography-layout{grid-template-columns:1fr}.geomap{height:420px}.app-controls .context{margin-left:0;width:100%}.main-tabs button{padding:12px 15px}.sandbox-grid,.access-grid{grid-template-columns:1fr}.pane-frame{min-height:780px;height:80vh}.global-nav a{padding:8px}.brand small{display:none}.header-gallery{grid-template-columns:1fr}.app-controls label{flex:1;min-width:140px}.app-controls select{min-width:0;width:100%}.app-top h1{font-size:27px}}

.election-hero{position:relative;isolation:isolate;min-height:250px;display:flex;align-items:center;margin:-20px -24px 20px;padding:36px 32px;background:#111418 url('/assets/elections/analyst-instrument.webp') center 54%/cover;border-bottom:1px solid #a98c4666}.election-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#06101af0 0%,#06101acc 35%,#06101a20 80%)}.hero-copy{max-width:580px}.hero-copy h1{font-size:clamp(30px,3.4vw,48px);line-height:1.08;max-width:480px;text-wrap:balance;margin:10px 0 16px}.hero-intro{color:#B8B0A0;font-size:15px;max-width:350px}.archive-drawer{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.archive-drawer summary{cursor:pointer;color:var(--gold);min-height:44px}.archive-entry{padding:12px 0;border-top:1px solid var(--line)}.archive-entry b,.archive-entry small{display:block}.archive-entry small{color:var(--muted)}.alaska-inset{margin-top:12px;padding:12px;border:1px solid var(--line)}.alaska-inset .map-shell{min-height:180px}.alaska-inset .geomap{height:200px}.alaska-inset .compass{display:none}
@media(max-width:900px){.election-hero{margin:-20px -14px 18px;padding:28px 20px;min-height:240px;background-position:72% center}.election-hero:before{background:linear-gradient(90deg,#06101af2,#06101a75)}.hero-copy{max-width:420px}.hero-intro{max-width:270px}}
/* I.Q.A. public corpus dashboard and state-first discovery. */
.state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.state-tile{background:#111418;border:1px solid var(--line);border-radius:6px;padding:12px;text-align:left;color:var(--text);min-width:0}.state-tile:hover{border-color:var(--gold);background:#181D23}.state-tile b,.state-tile span,.state-tile small{display:block}.state-tile span,.state-tile small{font-size:11px;color:var(--muted);margin-top:5px}#state-browser .state-grid{max-height:520px;overflow:auto}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:18px;flex-wrap:wrap}.section-heading h2{margin:5px 0 12px;font:400 30px var(--font-body,'IBM Plex Sans',system-ui,sans-serif)}.candidate-browser{margin:18px 0}.contender-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.contender-tile{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:18px;background:#111418;border:1px solid var(--line);border-radius:6px;min-width:0}.contender-tile img,.portrait-unavailable{width:72px;height:88px;border-radius:5px;object-fit:cover;background:#15191E}.portrait-unavailable{display:grid;place-items:center;font-size:30px;color:#8A8070}.contender-tile h3{margin:0;color:var(--gold);font-size:16px;overflow-wrap:anywhere}.contender-tile p{margin:7px 0}.contender-tile .button{margin:7px 0;display:block}.contender-tile small,.contender-tile .micro{display:block}.research-metrics,.research-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.research-metric{padding:18px;background:#15191E;border:1px solid var(--line);border-radius:6px;min-width:0}.research-metric strong{display:block;color:var(--gold);font:400 32px var(--font-body,'IBM Plex Sans',system-ui,sans-serif)}.research-metric span,.research-metric small{display:block}.research-metric small{color:var(--muted);margin-top:6px}.research-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.research-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.research-columns .panel{min-width:0}#coverage-layer>.panel{margin:18px 0}.table-scroll{overflow:auto;max-width:100%}.coverage-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.coverage-table th,.coverage-table td{padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.coverage-table th{color:var(--gold);font-weight:500;text-transform:capitalize}.text-button{background:none;border:0;color:var(--gold);min-height:38px;text-align:left;padding:0}.lifecycle-counts{display:grid;grid-template-columns:1fr auto;gap:12px}.lifecycle-counts dd{margin:0;color:var(--gold)}.unconnected-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.unconnected-grid b,.unconnected-grid span,.unconnected-grid small{display:block}.unconnected-grid b{text-transform:capitalize}.unconnected-grid span{color:var(--gold);margin:8px 0}.unconnected-grid small{color:var(--muted)}#coverage-layer details summary{cursor:pointer;min-height:44px;color:var(--gold)}
@media(max-width:900px){.research-metrics,.research-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.research-columns{grid-template-columns:1fr}.unconnected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contender-grid{grid-template-columns:1fr}.research-metric{padding:12px}.section-heading h2{font-size:25px}}
#state-search{margin:12px 0 18px;padding:12px 0;border-bottom:1px solid var(--line)}#state-search label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}#candidate-search{width:100%;padding:10px;border:1px solid var(--line);background:#111418;color:var(--text);border-radius:4px}.candidate-match{display:block;width:100%;padding:12px;margin-top:6px;text-align:left;border:1px solid var(--line);background:#15191E;color:var(--gold);border-radius:4px}.candidate-match small{display:block;color:var(--muted);margin-top:4px}select:disabled{opacity:.65;cursor:not-allowed}

.election-scope{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;padding:14px 24px;border-block:1px solid var(--line);background:#15191E;font-size:13px}.election-scope strong{color:var(--gold)}.election-scope span{flex:1 1 420px;color:var(--muted)}.election-scope a{color:var(--gold)}


#released-authority-directory{margin-bottom:18px}.released-authority-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.released-authority-card{border:1px solid #6d654d;border-radius:6px;padding:16px;min-width:0}.released-authority-card h3{margin-top:0}.released-authority-card a{color:#F0C96B;overflow-wrap:anywhere}.released-authority-card a:focus-visible{outline:3px solid #F0C96B;outline-offset:4px}@media(max-width:540px){.released-authority-grid{grid-template-columns:1fr}}

/* ── I.Q. in the house style (Oct 2026) ─────────────────────────────────────── */
body.c3-skin{font-family:var(--font-body)}
.iq-hero{margin:0}.iq-hero .hero-title{font-size:clamp(52px,8vw,104px)}
.election-coverage{max-width:700px;margin:14px auto 0;font:400 11px/1.7 var(--font-mono);letter-spacing:.06em;color:#B8B0A0;text-shadow:0 2px 8px #000}
.app-top{padding:0 32px;max-width:1500px;margin:0 auto}
.election-scope{margin:0 -32px 18px;padding:12px 32px;background:var(--bg2);border-block:1px solid var(--border);font-size:13px}
.app-controls label{font:500 10px/1.5 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}
select,input,textarea{background:var(--bg2);border-color:rgba(201,168,76,.25);border-radius:2px;font-family:var(--font-mono);font-size:12px}
.main-tabs{gap:0;margin-top:22px;border-bottom:1px solid var(--border)}
.main-tabs button{display:flex;align-items:center;gap:10px;padding:0 20px;min-height:50px;border:0;border-left:1px solid var(--border);border-radius:0;background:none;color:var(--text-dim);font:500 11px/1 var(--font-mono);letter-spacing:.15em;text-transform:uppercase}
.main-tabs button:last-child{border-right:1px solid var(--border)}
.main-tabs button i{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--border-bright);border-radius:50%;font:600 10px/1 var(--font-mono);font-style:normal;letter-spacing:0;color:var(--gold)}
.main-tabs button:hover{color:var(--gold);background:rgba(201,168,76,.05)}
.main-tabs button[aria-selected=true]{background:rgba(201,168,76,.07);color:var(--gold);box-shadow:inset 0 -2px var(--gold)}
.main-tabs button[aria-selected=true] i{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.main-tabs .tab-meta{margin-left:auto;color:var(--text-muted);font-size:10px}
.iq-path{margin:10px 0 0;font:400 11px/1.6 var(--font-mono);letter-spacing:.05em;color:var(--text-dim)}
.iq-notice{margin:14px 0 0;padding:11px 16px;border:1px solid var(--border);border-left:3px solid var(--gold);background:var(--bg2);font-size:13px;line-height:1.6;color:#B8B0A0}
.iq-notice strong{margin-right:8px;font:500 10px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.iq-notice a{color:var(--gold-bright);text-underline-offset:3px}.iq-notice span{color:var(--text-dim)}
.stage{max-width:1500px;margin:0 auto;padding:20px 32px}
.map-panel,.panel{background:var(--bg2);border-color:var(--border);border-radius:2px}
.panel h2,.section-heading h2,.empty-state h2{font:400 26px/1.1 var(--font-display);letter-spacing:.06em;color:var(--text)}
.countdown b{font:400 34px/1 var(--font-display);letter-spacing:.04em}
.eyebrow{font-family:var(--font-mono);color:var(--gold)}
.race-item,.state-tile,.contender-tile,.research-metric,.candidate-match{background:var(--bg3);border-color:var(--border);border-radius:2px}
.race-item.selected,.state-tile:hover{background:#1E1A10;border-color:var(--gold)}
.research-metric strong{font:400 38px/1 var(--font-display);letter-spacing:.03em}
.tools button,.tools a,.button{background:var(--bg3);border-color:var(--border-bright);border-radius:2px;font:500 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center}
.pane-frame{background:var(--bg);border-color:var(--border);border-radius:2px}
.app-footer{max-width:1500px;margin:0 auto;padding:16px 32px 40px;border-color:var(--border);color:var(--text-dim)}
.app-footer a{margin-left:10px;color:var(--text-dim)}
@media(max-width:900px){.app-top,.stage{padding-left:16px;padding-right:16px}.election-scope{margin:0 -16px 16px;padding:12px 16px}.main-tabs button{padding:0 14px}.main-tabs .tab-meta{margin-left:0}.app-footer{padding:16px}}
