.nav-backdrop{background:rgba(8,12,20,.55);inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:200}.nav-backdrop.show{opacity:1;pointer-events:auto}body.drawer-open{overflow:hidden}.portal-drawer{background:var(--hl-dark,#262b35);box-shadow:-8px 0 28px rgba(0,0,0,.35);color:#fff;display:flex;flex-direction:column;height:100%;overflow-y:auto;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .28s ease;width:min(330px,86vw);z-index:210;-webkit-overflow-scrolling:touch}.portal-drawer.open{transform:translateX(0)}.drawer-head{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.14);display:flex;justify-content:space-between;padding:1rem 1.1rem}.drawer-title{color:#c4c9d1;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.drawer-close{align-items:center;background:transparent;border:1px solid hsla(0,0%,100%,.3);border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:1.4rem;height:38px;justify-content:center;line-height:1;padding:0;transition:background .15s ease;width:38px}.drawer-close:hover{background:hsla(0,0%,100%,.12)}.drawer-nav{display:flex;flex-direction:column;gap:.3rem;padding:.85rem .9rem 1.4rem}.drawer-section-label{color:#8b93a2;font-size:.68rem;font-weight:700;letter-spacing:.1em;margin:.7rem .35rem .15rem;text-transform:uppercase}.drawer-section-label:first-child{margin-top:0}.drawer-nav .nav-link{border:1px solid transparent;border-radius:10px;color:#fff;display:block;font-size:1rem;padding:.7rem .85rem;white-space:normal}.drawer-nav .nav-link:hover{background:hsla(0,0%,100%,.1);color:#fff}.drawer-nav .nav-link[aria-current=page]{background:hsla(0,0%,100%,.16);border-color:hsla(0,0%,100%,.45);font-weight:700}.drawer-divider{background:hsla(0,0%,100%,.14);height:1px;margin:.7rem .35rem}.drawer-nav .nav-link-home{border-color:hsla(0,0%,100%,.3);font-weight:600}.hl-drawer-ghostnav .nav{display:flex;flex-direction:column;gap:.3rem;list-style:none;margin:0 0 .3rem;padding:0}.hl-drawer-ghostnav .nav li{margin:0}.hl-drawer-ghostnav .nav a{border:1px solid transparent;border-radius:10px;color:#fff;display:block;font-size:1rem;padding:.7rem .85rem;text-decoration:none}.hl-drawer-ghostnav .nav a:hover{background:hsla(0,0%,100%,.1)}.hl-drawer-ghostnav .nav li.nav-current a{background:hsla(0,0%,100%,.16);border-color:hsla(0,0%,100%,.45);font-weight:700}.hl-drawer-ghostnav-secondary .nav a{color:hsla(0,0%,100%,.75);font-size:.9rem}html.hl-text-sm{font-size:87.5%}html.hl-text-lg{font-size:112.5%}.hl-text-size{border-bottom:1px solid hsla(0,0%,100%,.14);margin:0 0 .4rem;padding:.6rem .9rem .9rem}.hl-text-size-label{color:#8b93a2;display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.hl-text-size-buttons{display:flex;gap:.4rem}.hl-text-size-btn{background:transparent;border:1px solid hsla(0,0%,100%,.3);border-radius:8px;color:#fff;cursor:pointer;flex:1 1 0;font-family:inherit;font-size:.95rem;font-weight:700;padding:.5rem 0}.hl-text-size-btn:hover{background:hsla(0,0%,100%,.1)}.hl-text-size-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.hl-text-size-btn[aria-pressed=true]{background:#fff;border-color:#fff;color:var(--hl-dark,#262b35)}@media (prefers-reduced-motion:reduce){.nav-backdrop,.nav-link,.portal-drawer{transition:none!important}}.drawer-nav .nav-link,.hl-drawer-ghostnav .nav li a{align-items:center;display:flex;min-height:44px}.hl-text-size-btn{min-height:44px}.drawer-close{height:44px;width:44px}.nav-toggle{min-height:44px;min-width:44px}.nav-toggle svg{display:block;height:20px;width:20px}.nav-link .hl-nav-icon{flex:none;height:18px;margin-right:.6rem;opacity:.85;vertical-align:-3px;width:18px}.nav-link:hover .hl-nav-icon{opacity:1}:root{--bg:#0e1219;--bg-raised:#141925;--bg-card:#1a2030;--ink:#f6f7f9;--dim:rgba(246,247,249,.62);--faint:rgba(246,247,249,.32);--rule:rgba(246,247,249,.12);--rule-soft:rgba(246,247,249,.07);--blue:#4885ed;--blue-soft:#9dc0f6;--green:#3cba54;--green-bright:#65e084;--gold:#f2b84c;--gold-warm:#e08910;--red-soft:#fca5a5;--radius:10px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{color:var(--blue-soft);text-decoration:none}a:hover,strong{color:var(--ink)}strong{font-weight:700}.rainbow-rule{background:linear-gradient(90deg,var(--gold-warm) 0,#ff7a59 30%,#e85d8a 55%,#7e5bef 80%,var(--blue) 100%);height:4px;left:0;position:fixed;right:0;top:0;z-index:200}.grid-bg{background-image:linear-gradient(to right,var(--rule) 1px,transparent 1px),linear-gradient(to bottom,var(--rule) 1px,transparent 1px);background-size:60px 60px;inset:0;opacity:.35}.glow,.grid-bg{pointer-events:none;position:fixed;z-index:0}.glow{background:radial-gradient(ellipse 1000px 320px at 50% 50%,rgba(72,133,237,.14),transparent 70%);height:420px;left:0;right:0;top:120px}.site-header{backdrop-filter:blur(8px);background:rgba(14,18,25,.85);border-bottom:1px solid var(--rule);padding:1rem 1.25rem;position:relative;z-index:10}.header-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1100px}.brand{display:flex;flex-direction:column;line-height:1.2}.brand-name{color:var(--ink);font-size:1.05rem;font-weight:800;letter-spacing:.12em}.brand-name,.brand-tag{text-transform:uppercase}.brand-tag{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.18em}.header-nav{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.header-nav .nav-link{border:1px solid var(--rule);border-radius:999px;color:var(--dim);font-size:.85rem;font-weight:600;padding:.45rem .9rem;transition:all .15s ease;white-space:nowrap}.header-nav .nav-link:hover{background:rgba(72,133,237,.12);border-color:var(--blue);color:var(--ink)}.header-nav .nav-link[aria-current=page]{background:rgba(72,133,237,.18);border-color:var(--blue);color:var(--ink)}.nav-toggle{align-items:center;background:transparent;border:1px solid var(--rule);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:1.15rem;height:42px;justify-content:center;line-height:1;padding:0;transition:background .15s ease,border-color .15s ease;width:42px}.nav-toggle:hover,.nav-toggle[aria-expanded=true]{background:rgba(72,133,237,.12);border-color:var(--blue)}@media (max-width:640px){.header-inner{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.nav-toggle{display:inline-flex}.header-nav.collapsible{border-top:1px solid var(--rule);display:none;flex-basis:100%;flex-direction:column;gap:.4rem;margin-top:.25rem;padding-top:.75rem}.header-nav.collapsible.open{display:flex}.header-nav.collapsible .nav-link{font-size:.95rem;padding:.6rem .95rem;text-align:center}}main{position:relative;z-index:1}.breadcrumbs{color:var(--faint);font-size:.78rem;letter-spacing:.1em;margin:0 auto;max-width:1100px;padding:1.25rem 1.5rem 0;text-transform:uppercase}.breadcrumbs a{color:var(--dim)}.breadcrumbs a:hover{color:var(--ink)}.breadcrumbs .sep{color:var(--faint);margin:0 .5rem}.race-hero{margin:0 auto;max-width:1100px;padding:1.5rem 1.5rem 1rem}.race-eyebrow{color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.race-hero h1{color:var(--ink);font-size:clamp(2rem,5.5vw,3.5rem);font-weight:900;letter-spacing:-.025em;line-height:1;margin-top:.6rem;text-transform:uppercase}.race-hero h1 .accent{color:var(--gold)}.race-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.race-meta .pill{align-items:center;background:rgba(246,247,249,.04);border:1px solid var(--rule);border-radius:999px;color:var(--dim);display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:.35rem .75rem;text-transform:uppercase}.race-meta .pill.r{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.28);color:var(--red-soft)}.race-meta .pill.d{background:rgba(72,133,237,.12);border-color:rgba(72,133,237,.28);color:var(--blue-soft)}.race-meta .pill.n{background:rgba(60,186,84,.12);border-color:rgba(60,186,84,.28);color:var(--green-bright)}.race-blurb{color:var(--dim);font-size:1rem;margin-top:1.1rem;max-width:720px}.race-blurb strong{color:var(--ink)}.disclaimer{margin:1.25rem auto 0;max-width:1100px;padding:0 1.5rem}.disclaimer-card{background:rgba(72,133,237,.06);border:1px solid rgba(72,133,237,.22);border-left:3px solid var(--blue);border-radius:var(--radius);color:var(--dim);font-size:.88rem;line-height:1.55;padding:.9rem 1.1rem}.disclaimer-card strong{color:var(--ink)}.district-toc{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.5rem auto 0;max-width:1100px;padding:0 1.5rem}.district-toc a{border:1px solid var(--rule);border-radius:999px;color:var(--dim);font-size:.78rem;font-weight:700;letter-spacing:.06em;padding:.4rem .8rem;text-transform:uppercase;transition:all .15s ease}.district-toc a:hover{background:rgba(72,133,237,.12);border-color:var(--blue);color:var(--ink)}.contest{margin:2rem auto 0;max-width:1100px;padding:0 1.5rem}.contest-head{align-items:baseline;border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.85rem}.contest-head h2{color:var(--ink);font-size:1.15rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.contest-head .matchup{color:var(--faint);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contest-head .matchup .accent{color:var(--gold)}.candidates{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.candidates.three-up{grid-template-columns:repeat(3,1fr)}.candidates.solo{grid-template-columns:minmax(0,520px)}@media (max-width:800px){.candidates,.candidates.three-up{grid-template-columns:1fr}}.candidate{background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.candidate.r{border-top:3px solid rgba(239,68,68,.55)}.candidate.d{border-top:3px solid rgba(72,133,237,.55)}.candidate.n{border-top:3px solid rgba(60,186,84,.55)}.candidate-head{padding:1.1rem 1.2rem .85rem}.candidate-name{color:var(--ink);font-size:1.4rem;font-weight:900;letter-spacing:-.015em;line-height:1.1}.candidates.three-up .candidate-name{font-size:1.2rem}.candidate-meta{align-items:center;color:var(--dim);display:flex;flex-wrap:wrap;font-size:.78rem;gap:.4rem;margin-top:.55rem}.candidate-meta .party-pill{background:rgba(246,247,249,.08);border-radius:4px;color:var(--dim);font-size:.65rem;font-weight:800;letter-spacing:.1em;padding:.12rem .5rem;text-transform:uppercase}.candidate-meta .party-pill.r{background:rgba(239,68,68,.15);color:var(--red-soft)}.candidate-meta .party-pill.d{background:rgba(72,133,237,.15);color:var(--blue-soft)}.candidate-meta .party-pill.n{background:rgba(60,186,84,.15);color:var(--green-bright)}.candidate-meta .ballot{color:var(--faint);letter-spacing:.04em}.embed-wrap{aspect-ratio:16/9;background:rgba(0,0,0,.35);border-bottom:1px solid var(--rule);border-top:1px solid var(--rule);overflow:hidden;position:relative}.embed-wrap iframe{border:0;height:100%;inset:0;position:absolute;width:100%}.embed-placeholder{align-items:center;background:linear-gradient(135deg,rgba(72,133,237,.08),rgba(60,186,84,.06) 50%,rgba(242,184,76,.08)),radial-gradient(ellipse at center,rgba(246,247,249,.04),transparent 70%);display:flex;flex-direction:column;gap:.6rem;inset:0;justify-content:center;padding:1.25rem;position:absolute;text-align:center}.embed-placeholder .ph-status{color:var(--gold);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.embed-placeholder.aired .ph-status{color:var(--green-bright)}.embed-placeholder.no-register .ph-status{color:var(--faint)}.embed-placeholder.uncontested .ph-status{color:var(--blue-soft)}.embed-placeholder .ph-msg{color:var(--ink);font-size:.95rem;font-weight:600;line-height:1.4;max-width:360px}.embed-placeholder .ph-sub{color:var(--dim);font-size:.82rem;max-width:360px}.embed-placeholder .ph-cta{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.4rem}.embed-placeholder .ph-cta a{align-items:center;border:1px solid var(--rule);border-radius:999px;color:var(--ink);display:inline-flex;font-size:.78rem;font-weight:700;gap:.3rem;letter-spacing:.04em;padding:.4rem .85rem}.embed-placeholder .ph-cta a.fb{background:rgba(72,133,237,.18);border-color:rgba(72,133,237,.45);color:var(--blue-soft)}.embed-placeholder .ph-cta a.fb:hover{background:rgba(72,133,237,.32);color:#fff}.embed-placeholder .ph-cta a.yt{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.45);color:var(--red-soft)}.embed-placeholder .ph-cta a.yt:hover{background:rgba(239,68,68,.32);color:#fff}.candidate-foot{color:var(--dim);display:flex;flex-direction:column;font-size:.85rem;gap:.35rem;padding:.9rem 1.2rem 1.1rem}.candidate-foot .interview-time{color:var(--ink);font-size:.88rem;font-weight:700}.candidate-foot .interview-time .label{color:var(--faint);font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-right:.35rem;text-transform:uppercase}.candidate-foot .note{color:var(--dim)}.candidate-foot .fb-link{align-items:center;align-self:flex-start;background:rgba(72,133,237,.18);border:1px solid rgba(72,133,237,.45);border-radius:999px;color:var(--blue-soft);display:inline-flex;font-size:.78rem;font-weight:700;gap:.3rem;letter-spacing:.04em;margin-top:.15rem;padding:.35rem .75rem;text-decoration:none;transition:all .15s ease}.candidate-foot .fb-link:hover{background:rgba(72,133,237,.32);color:#fff}.candidate-foot .yt-live-link{align-items:center;align-self:flex-start;background:rgba(239,68,68,.18);border:1px solid rgba(239,68,68,.45);border-radius:999px;color:var(--red-soft);display:inline-flex;font-size:.78rem;font-weight:700;gap:.3rem;letter-spacing:.04em;margin-top:.15rem;padding:.35rem .75rem;text-decoration:none;transition:all .15s ease}.candidate-foot .yt-live-link:hover{background:rgba(239,68,68,.32);color:#fff}.ge-notice{margin:2.5rem auto 0;max-width:1100px;padding:0 1.5rem}.ge-card{background:var(--bg-raised);border:1px solid var(--rule);border-left:3px solid var(--gold);border-radius:var(--radius);padding:1.1rem 1.3rem}.ge-card h3{color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.16em;margin-bottom:.5rem;text-transform:uppercase}.ge-card p{color:var(--dim);font-size:.92rem}.ge-card strong{color:var(--ink)}.other-races{border-top:1px solid var(--rule);margin:3rem auto 0;max-width:1100px;padding:1.5rem 1.5rem 0}.other-races h3{color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.16em;margin-bottom:.85rem;text-transform:uppercase}.other-races-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.other-races-grid a{border:1px solid var(--rule);border-radius:var(--radius);color:var(--dim);font-size:.85rem;font-weight:600;padding:.7rem .95rem;transition:all .15s ease}.other-races-grid a:hover{background:rgba(72,133,237,.08);border-color:var(--blue);color:var(--ink)}.site-footer{border-top:1px solid var(--rule);color:var(--dim);font-size:.82rem;margin:3rem auto 0;max-width:1100px;padding:1.5rem 1.5rem 2.5rem}.site-footer .footer-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.site-footer .pill{border-radius:999px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-left:.3rem;padding:.2rem .6rem;text-transform:uppercase}.site-footer .pill.fb{background:rgba(72,133,237,.18);color:var(--blue-soft)}.site-footer .pill.yt{background:rgba(239,68,68,.18);color:var(--red-soft)}.site-footer .handle{color:var(--ink);font-weight:700;letter-spacing:.06em}.footer-fine{color:var(--faint);font-size:.8rem;line-height:1.6}@media print{body{background:#fff;color:#000}.glow,.grid-bg,.rainbow-rule{display:none!important}.other-races,.site-footer,.site-header{border-color:#ccc}}.info{margin:2rem auto 0;max-width:920px;padding:0 1.5rem}.info-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.info-card{background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1.2rem 1.35rem}.info-card h3{color:var(--ink);font-size:1rem;margin-bottom:.5rem}.info-card p{color:var(--dim);font-size:.92rem;line-height:1.6}.info-card p em,.info-card p strong{color:var(--ink)}.register-prompt{background:linear-gradient(135deg,rgba(72,133,237,.14),rgba(60,186,84,.1));border:1px solid rgba(72,133,237,.4);border-radius:var(--radius-lg);margin:1.75rem auto 0;max-width:680px;padding:1.4rem 1.6rem;text-align:center}.register-prompt h2{color:var(--ink);font-size:1.05rem;margin-bottom:.5rem}.register-prompt p{color:var(--dim);font-size:.94rem;line-height:1.6}.register-prompt-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1rem}.register-prompt-actions a{align-items:center;border-radius:999px;display:inline-flex;font-size:.85rem;font-weight:800;letter-spacing:.03em;padding:.55rem 1.1rem}.register-prompt-actions .btn-primary{background:var(--blue);color:#fff}.register-prompt-actions .btn-primary:hover{background:#5a92ef;color:#fff}.register-prompt-actions .btn-ghost{border:1px solid var(--rule);color:var(--ink)}.register-prompt-actions .btn-ghost:hover{border-color:var(--blue);color:var(--blue-soft)}.gh-post-upgrade-cta{margin:1.5rem auto!important;max-width:680px}.tally-embed{margin:1.75rem auto 0;max-width:620px}.tally-embed iframe{background:transparent;border:0;display:block;width:100%!important}.ge-standards{margin-left:auto;margin-right:auto;width:min(920px,calc(100% - 3rem))}/*# sourceMappingURL=race-page.css.map */
