/* Extracted from election-night/index.html <style> block 1. Keep page-specific rules here until componentized. */
:root{
    --solid-d:#0076BA; --lean-d:#56C1FF; --toss-up:#929292; --lean-r:#FF968D; --solid-r:#EE220C;
    --bg-page:#f3f4f6; --bg-card:#fff; --border-subtle:#d4d4d8; --text-main:#111827; --text-strong:#000; --text-muted:#6b7280;
    --radius-card:22px; --shadow-soft:0 16px 34px rgba(15,23,42,.08); --shadow-subtle:0 1px 3px rgba(15,23,42,.12);
    --max:960px;
  }
  @media (prefers-color-scheme: dark){
    :root{
      --bg-page:#020617; --bg-card:#020617; --border-subtle:#1f2937;
      --text-main:#e5e7eb; --text-strong:#f8fafc; --text-muted:#9ca3af;
      --shadow-soft:0 16px 34px rgba(0,0,0,.65); --shadow-subtle:0 1px 3px rgba(0,0,0,.55);
    }
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg-page);color:var(--text-main);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
  .wrap{max-width:var(--max);margin:0 auto;padding:18px 16px 36px}
  .head{display:flex;justify-content:center;align-items:center;margin-bottom:12px}
  .brand{margin:0 auto;text-align:center}
  .brand small{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:800}
  .brand h1{margin:.25rem 0 0;font-size:clamp(1.7rem,4vw,2.3rem);font-weight:950;letter-spacing:-.02em;color:var(--text-strong)}
  .panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}
  .hero{padding:18px}
  .sub{margin:10px auto 0;max-width:42rem;color:var(--text-muted);font-size:.95rem;line-height:1.35}
  .choices{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  @media (max-width:720px){ .choices{grid-template-columns:1fr} }
  .choice{
    border:1px solid var(--border-subtle);
    background:var(--bg-card);
    border-radius:18px;
    box-shadow:var(--shadow-subtle);
    padding:14px 14px;
    text-decoration:none;
    color:inherit;
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
    cursor:pointer;
    min-height:84px;
  }
  .choice:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 26px rgba(15,23,42,.10);
    border-color:rgba(0,118,186,.26);
    background:linear-gradient(to bottom, rgba(0,118,186,.04), transparent 70%);
  }
  .choice:focus-visible{
    outline:none;
    border-color:rgba(0,118,186,.42);
    box-shadow:0 0 0 3px rgba(0,118,186,.12), 0 12px 26px rgba(15,23,42,.10);
  }
  .choice .left{min-width:0}
  .choice .title{font-size:1.05rem;font-weight:950;letter-spacing:-.01em;color:var(--text-strong)}
  .choice .meta{margin-top:2px;font-size:.82rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pill{
    flex:0 0 auto;
    border-radius:999px;
    padding:.34rem .62rem;
    font-size:.75rem;
    font-weight:950;
    border:1px solid transparent;
    white-space:nowrap;
  }
  /* Election Night landing action pills: neutral "Go" buttons. */
  .pill.primary,
  .pill.general{
    background:rgba(100,116,139,.14);
    border-color:rgba(100,116,139,.28);
    color:var(--text-main);
  }
  @media (prefers-color-scheme: dark){
    .choice:hover,
    .choice:focus-visible{
      background:rgba(15,23,42,.92) !important;
      color:var(--text-main) !important;
      border-color:rgba(148,163,184,.36) !important;
      box-shadow:0 14px 30px rgba(0,0,0,.42) !important;
    }
    .choice:hover .title,
    .choice:focus-visible .title{ color:var(--text-strong) !important; }
    .choice:hover .meta,
    .choice:focus-visible .meta{ color:var(--text-muted) !important; }
    .choice:hover .pill,
    .choice:focus-visible .pill{
      background:rgba(148,163,184,.18) !important;
      border-color:rgba(148,163,184,.34) !important;
      color:#f8fafc !important;
    }
  }
  .foot{margin:10px 0 0;text-align:center;color:var(--text-muted);font-size:.78rem}


/* 2026-07-01 — Election Night landing injected header EXACT homepage parity.
   Source of truth: final homepage header rules in home-standardization.css.
   This intentionally uses the flat nav row, not the older capsule-track menu. */
body.cmep-election-night-page{
  --en-home-bg:#f3f5f8;
  --en-home-bg-soft:#eef2f7;
  --en-home-surface:#ffffff;
  --en-home-surface-2:#f8fafc;
  --en-home-surface-3:#eef2f7;
  --en-home-border:#d8dee8;
  --en-home-border-strong:#b9c3d1;
  --en-home-text:#172033;
  --en-home-strong:#08111f;
  --en-home-muted:#5d6b7f;
  --en-home-subtle:#7b8798;
}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]):not(.light) body.cmep-election-night-page:not(.light):not(.light-mode){
    --en-home-bg:#050b16;
    --en-home-bg-soft:#020617;
    --en-home-surface:#0c1422;
    --en-home-surface-2:#111b2a;
    --en-home-surface-3:#162235;
    --en-home-border:#263347;
    --en-home-border-strong:#384861;
    --en-home-text:#d9e3f0;
    --en-home-strong:#f8fafc;
    --en-home-muted:#aeb9c8;
    --en-home-subtle:#8fa0b5;
  }
}
html[data-theme="dark"] body.cmep-election-night-page,
html.dark body.cmep-election-night-page,
body.cmep-election-night-page.dark,
body.cmep-election-night-page.dark-mode{
  --en-home-bg:#050b16;
  --en-home-bg-soft:#020617;
  --en-home-surface:#0c1422;
  --en-home-surface-2:#111b2a;
  --en-home-surface-3:#162235;
  --en-home-border:#263347;
  --en-home-border-strong:#384861;
  --en-home-text:#d9e3f0;
  --en-home-strong:#f8fafc;
  --en-home-muted:#aeb9c8;
  --en-home-subtle:#8fa0b5;
}
html[data-theme="light"] body.cmep-election-night-page,
html.light body.cmep-election-night-page,
body.cmep-election-night-page.light,
body.cmep-election-night-page.light-mode{
  --en-home-bg:#f3f5f8;
  --en-home-bg-soft:#eef2f7;
  --en-home-surface:#ffffff;
  --en-home-surface-2:#f8fafc;
  --en-home-surface-3:#eef2f7;
  --en-home-border:#d8dee8;
  --en-home-border-strong:#b9c3d1;
  --en-home-text:#172033;
  --en-home-strong:#08111f;
  --en-home-muted:#5d6b7f;
  --en-home-subtle:#7b8798;
}
body.cmep-election-night-page .cm-header,
body.cmep-election-night-page .cm-header header,
body.cmep-election-night-page header.cm-header,
body.cmep-election-night-page #cm-header{
  position:sticky !important;
  top:0 !important;
  z-index:50 !important;
  background:var(--en-home-surface) !important;
  border-bottom:1px solid var(--en-home-border) !important;
  box-shadow:none !important;
  color:var(--en-home-text) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]):not(.light) body.cmep-election-night-page:not(.light):not(.light-mode) .cm-header,
  html:not([data-theme="light"]):not(.light) body.cmep-election-night-page:not(.light):not(.light-mode) .cm-header header,
  html:not([data-theme="light"]):not(.light) body.cmep-election-night-page:not(.light):not(.light-mode) header.cm-header,
  html:not([data-theme="light"]):not(.light) body.cmep-election-night-page:not(.light):not(.light-mode) #cm-header{
    background:var(--en-home-surface) !important;
    border-bottom-color:var(--en-home-border) !important;
  }
}
html[data-theme="dark"] body.cmep-election-night-page .cm-header,
html.dark body.cmep-election-night-page .cm-header,
body.cmep-election-night-page.dark .cm-header,
body.cmep-election-night-page.dark-mode .cm-header,
html[data-theme="dark"] body.cmep-election-night-page #cm-header,
html.dark body.cmep-election-night-page #cm-header,
body.cmep-election-night-page.dark #cm-header,
body.cmep-election-night-page.dark-mode #cm-header{
  background:var(--en-home-surface) !important;
  border-bottom-color:var(--en-home-border) !important;
}
body.cmep-election-night-page .header-inner{
  max-width:1150px !important;
  padding:.8rem 1rem 1rem !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:.55rem !important;
}
body.cmep-election-night-page .logo-link,
body.cmep-election-night-page .site-title,
body.cmep-election-night-page #cm-header a{
  color:var(--en-home-strong) !important;
}
body.cmep-election-night-page #cm-nav{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  gap:.45rem !important;
  margin-top:.12rem !important;
}
body.cmep-election-night-page #cm-nav a{
  background:transparent !important;
  color:var(--en-home-muted) !important;
  border:0 !important;
  border-radius:999px !important;
  padding:.42rem .85rem !important;
  font-size:.92rem !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
body.cmep-election-night-page #cm-nav a:hover,
body.cmep-election-night-page #cm-nav a.active,
body.cmep-election-night-page #cm-nav a.is-active,
body.cmep-election-night-page #cm-nav a.selected,
body.cmep-election-night-page #cm-nav a.current,
body.cmep-election-night-page #cm-nav a[aria-current="page"]{
  background:var(--en-home-surface-3) !important;
  color:var(--en-home-strong) !important;
  box-shadow:none !important;
}
@media (max-width:760px){
  body.cmep-election-night-page .header-inner{
    padding:.58rem .45rem .72rem !important;
    gap:.42rem !important;
  }
  body.cmep-election-night-page .logo-link{gap:.55rem !important;}
  body.cmep-election-night-page .logo-link img{height:38px !important;}
  body.cmep-election-night-page .logo-link strong{font-size:.88rem !important; letter-spacing:.12em !important;}
  body.cmep-election-night-page #cm-nav{
    gap:.22rem !important;
    max-width:100% !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }
  body.cmep-election-night-page #cm-nav::-webkit-scrollbar{display:none !important;}
  body.cmep-election-night-page #cm-nav a{
    padding:.38rem .58rem !important;
    font-size:.82rem !important;
  }
  html body.cmep-election-night-page #cm-header{
    position:sticky !important;
    top:0 !important;
    z-index:10000 !important;
  }
  html body.cmep-election-night-page #cm-header > .cm-header{
    position:relative !important;
    top:auto !important;
    z-index:auto !important;
  }
}

