/*
  Senate forecast page standardization layer
  Scope: body.cmep-senate-page (/senate/)
  Contract: match the finalized homepage/election-night visual system with one
  coherent override file. Keep data/widget behavior intact; avoid chained one-off patches.
*/

body.cmep-senate-page{
  --senate-bg:#f3f5f8;
  --senate-bg-soft:#eef2f7;
  --senate-surface:#ffffff;
  --senate-surface-2:#f8fafc;
  --senate-surface-3:#eef2f7;
  --senate-border:#d8dee8;
  --senate-border-strong:#b9c3d1;
  --senate-text:#172033;
  --senate-strong:#08111f;
  --senate-muted:#5d6b7f;
  --senate-subtle:#7b8798;
  --senate-shadow:0 18px 38px rgba(15,23,42,.08);
  --senate-shadow-soft:0 8px 20px rgba(15,23,42,.06);
  --senate-radius:22px;
  --senate-radius-sm:16px;
  --senate-shell:1360px;

  --solid-d:#0076BA;
  --likely-d:#00A2FF;
  --lean-d:#56C1FF;
  --toss-up:#929292;
  --lean-r:#FF968D;
  --likely-r:#FF644E;
  --solid-r:#EE220C;
  --flip-gold:#F6CE46;

  --bg-page:var(--senate-bg);
  --bg-card:var(--senate-surface);
  --bg-card-subtle:var(--senate-surface-2);
  --border-subtle:var(--senate-border);
  --text-main:var(--senate-text);
  --text-muted:var(--senate-muted);
  --text-strong:var(--senate-strong);
  --shadow-soft:var(--senate-shadow);
  --shadow-subtle:var(--senate-shadow-soft);

  --bg:var(--senate-bg);
  --card:var(--senate-surface);
  --card-2:var(--senate-surface-2);
  --border:var(--senate-border);
  --text:var(--senate-text);
  --muted:var(--senate-muted);

  --senate-pill-h:1.72rem;
  --senate-pill-h-lg:1.84rem;
  --senate-pill-px:.68rem;
  --senate-pill-px-lg:.72rem;
  --senate-pill-fs:.72rem;
  --senate-pill-weight:850;

  margin:0 !important;
  padding-top:var(--header-offset,0px);
  background:
    radial-gradient(circle at 12% 18%, rgba(100,116,139,.12), transparent 28rem),
    linear-gradient(180deg,var(--senate-bg),var(--senate-bg-soft)) !important;
  color:var(--senate-text) !important;
  color-scheme:light;
}

@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]):not(.light) body.cmep-senate-page:not(.light):not(.light-mode){
    --senate-bg:#050b16;
    --senate-bg-soft:#020617;
    --senate-surface:#0c1422;
    --senate-surface-2:#111b2a;
    --senate-surface-3:#162235;
    --senate-border:#263347;
    --senate-border-strong:#384861;
    --senate-text:#d9e3f0;
    --senate-strong:#f8fafc;
    --senate-muted:#aeb9c8;
    --senate-subtle:#8fa0b5;
    --senate-shadow:0 22px 50px rgba(0,0,0,.34);
    --senate-shadow-soft:0 12px 26px rgba(0,0,0,.26);
    background:
      radial-gradient(circle at 12% 18%, rgba(148,163,184,.12), transparent 32rem),
      linear-gradient(180deg,var(--senate-bg),var(--senate-bg-soft)) !important;
    color-scheme:dark;
  }
}
html[data-theme="dark"] body.cmep-senate-page,
html.dark body.cmep-senate-page,
body.cmep-senate-page.dark,
body.cmep-senate-page.dark-mode{
  --senate-bg:#050b16;
  --senate-bg-soft:#020617;
  --senate-surface:#0c1422;
  --senate-surface-2:#111b2a;
  --senate-surface-3:#162235;
  --senate-border:#263347;
  --senate-border-strong:#384861;
  --senate-text:#d9e3f0;
  --senate-strong:#f8fafc;
  --senate-muted:#aeb9c8;
  --senate-subtle:#8fa0b5;
  --senate-shadow:0 22px 50px rgba(0,0,0,.34);
  --senate-shadow-soft:0 12px 26px rgba(0,0,0,.26);
  background:
    radial-gradient(circle at 12% 18%, rgba(148,163,184,.12), transparent 32rem),
    linear-gradient(180deg,var(--senate-bg),var(--senate-bg-soft)) !important;
  color-scheme:dark;
}
html[data-theme="light"] body.cmep-senate-page,
html.light body.cmep-senate-page,
body.cmep-senate-page.light,
body.cmep-senate-page.light-mode{
  --senate-bg:#f3f5f8;
  --senate-bg-soft:#eef2f7;
  --senate-surface:#ffffff;
  --senate-surface-2:#f8fafc;
  --senate-surface-3:#eef2f7;
  --senate-border:#d8dee8;
  --senate-border-strong:#b9c3d1;
  --senate-text:#172033;
  --senate-strong:#08111f;
  --senate-muted:#5d6b7f;
  --senate-subtle:#7b8798;
  --senate-shadow:0 18px 38px rgba(15,23,42,.08);
  --senate-shadow-soft:0 8px 20px rgba(15,23,42,.06);
  background:
    radial-gradient(circle at 12% 18%, rgba(100,116,139,.12), transparent 28rem),
    linear-gradient(180deg,var(--senate-bg),var(--senate-bg-soft)) !important;
  color-scheme:light;
}

body.cmep-senate-page *,
body.cmep-senate-page *::before,
body.cmep-senate-page *::after{box-sizing:border-box;}

/* Header: same visual contract as the finalized homepage. */
body.cmep-senate-page .cm-header,
body.cmep-senate-page .cm-header header,
body.cmep-senate-page header.cm-header,
body.cmep-senate-page #cm-header{
  position:sticky !important;
  top:0 !important;
  z-index:50 !important;
  background:var(--senate-surface) !important;
  border-bottom:1px solid var(--senate-border) !important;
  box-shadow:none !important;
  color:var(--senate-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-senate-page:not(.light):not(.light-mode) .cm-header,
  html:not([data-theme="light"]):not(.light) body.cmep-senate-page:not(.light):not(.light-mode) .cm-header header,
  html:not([data-theme="light"]):not(.light) body.cmep-senate-page:not(.light):not(.light-mode) header.cm-header,
  html:not([data-theme="light"]):not(.light) body.cmep-senate-page:not(.light):not(.light-mode) #cm-header{
    background:var(--senate-surface) !important;
    border-bottom-color:var(--senate-border) !important;
  }
}
html[data-theme="dark"] body.cmep-senate-page .cm-header,
html.dark body.cmep-senate-page .cm-header,
body.cmep-senate-page.dark .cm-header,
body.cmep-senate-page.dark-mode .cm-header,
html[data-theme="dark"] body.cmep-senate-page #cm-header,
html.dark body.cmep-senate-page #cm-header,
body.cmep-senate-page.dark #cm-header,
body.cmep-senate-page.dark-mode #cm-header{
  background:var(--senate-surface) !important;
  border-bottom-color:var(--senate-border) !important;
}
body.cmep-senate-page .header-inner{
  max-width:1150px !important;
  padding:.8rem 1rem 1rem !important;
  gap:.55rem !important;
}
body.cmep-senate-page .logo-link,
body.cmep-senate-page .site-title,
body.cmep-senate-page #cm-header a{color:var(--senate-strong) !important;}
body.cmep-senate-page #cm-nav{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  gap:.45rem !important;
}
body.cmep-senate-page #cm-nav a{
  background:transparent !important;
  color:var(--senate-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;
}
body.cmep-senate-page #cm-nav a:hover,
body.cmep-senate-page #cm-nav a.active,
body.cmep-senate-page #cm-nav a.is-active,
body.cmep-senate-page #cm-nav a.selected,
body.cmep-senate-page #cm-nav a.current,
body.cmep-senate-page #cm-nav a[aria-current="page"]{
  background:var(--senate-surface-3) !important;
  color:var(--senate-strong) !important;
  box-shadow:none !important;
}
@media (max-width:760px){
  body.cmep-senate-page .header-inner{
    padding:.58rem .45rem .72rem !important;
    gap:.42rem !important;
  }
  body.cmep-senate-page #cm-nav{
    gap:.22rem !important;
  }
  body.cmep-senate-page #cm-nav a{
    padding:.38rem .58rem !important;
    font-size:.82rem !important;
  }
}

/* Page shell: same width and gutters as the homepage. */
body.cmep-senate-page .senate-main{width:100%;min-width:0;}
body.cmep-senate-page .container,
body.cmep-senate-page .senate-top-container{
  width:min(100%,var(--senate-shell)) !important;
  max-width:var(--senate-shell) !important;
  margin:0 auto !important;
  padding:clamp(14px,2.2vw,30px) clamp(12px,2.4vw,34px) !important;
}
body.cmep-senate-page .senate-top-container{padding-bottom:0 !important;}

/* Hero. */
body.cmep-senate-page .senate-hero,
body.cmep-senate-page .cmep-page-hero.senate-hero{
  width:100% !important;
  max-width:none !important;
  margin:0 auto clamp(18px,2vw,28px) !important;
  padding:clamp(22px,3vw,44px) clamp(18px,4vw,54px) !important;
  border:1px solid var(--senate-border) !important;
  border-radius:clamp(22px,2.4vw,34px) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(148,163,184,.16), transparent 34rem),
    linear-gradient(180deg,var(--senate-surface),var(--senate-surface-2)) !important;
  box-shadow:var(--senate-shadow) !important;
  text-align:center !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
body.cmep-senate-page #senate-title,
body.cmep-senate-page .senate-hero h1{
  display:block !important;
  width:min(100%,980px) !important;
  margin:0 auto !important;
  color:var(--senate-strong) !important;
  font-size:clamp(2.1rem,4.4vw,4rem) !important;
  line-height:.96 !important;
  letter-spacing:-.065em !important;
  font-weight:1000 !important;
  text-align:center !important;
  text-wrap:balance;
}
body.cmep-senate-page .senate-hero__lede{
  display:block !important;
  width:min(100%,860px) !important;
  margin:.82rem auto 0 !important;
  color:var(--senate-muted) !important;
  font-size:clamp(.95rem,1.42vw,1.1rem) !important;
  line-height:1.43 !important;
  font-weight:700 !important;
  text-align:center !important;
  text-wrap:balance;
}

/* Cards and section headers. */
body.cmep-senate-page .card,
body.cmep-senate-page .panel,
body.cmep-senate-page .map-card,
body.cmep-senate-page .ratings-card,
body.cmep-senate-page .changelog-card,
body.cmep-senate-page .cmep-card{
  border:1px solid var(--senate-border) !important;
  border-radius:clamp(20px,2vw,28px) !important;
  background:
    linear-gradient(180deg,var(--senate-surface),var(--senate-surface-2)) !important;
  box-shadow:var(--senate-shadow) !important;
  color:var(--senate-text) !important;
  overflow:hidden;
}
body.cmep-senate-page .card{padding:clamp(16px,2vw,28px) !important;margin-bottom:clamp(16px,2vw,28px) !important;}
body.cmep-senate-page .card-header,
body.cmep-senate-page .section-header,
body.cmep-senate-page .cmep-section-header{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:.42rem !important;
  margin:0 auto clamp(14px,1.7vw,22px) !important;
}
body.cmep-senate-page .card-header>div,
body.cmep-senate-page .section-header>div{width:100%;text-align:center !important;}
body.cmep-senate-page .card-title,
body.cmep-senate-page .section-title,
body.cmep-senate-page .cmep-section-title,
body.cmep-senate-page h2{
  margin:0 auto !important;
  color:var(--senate-strong) !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
  line-height:1.05 !important;
  text-align:center !important;
  text-wrap:balance;
}
body.cmep-senate-page .card-title,
body.cmep-senate-page .section-title{font-size:clamp(1.38rem,2.25vw,2.1rem) !important;}
body.cmep-senate-page .card-subtitle,
body.cmep-senate-page .section-subtitle,
body.cmep-senate-page .subtle,
body.cmep-senate-page .muted{
  max-width:820px !important;
  margin:.25rem auto 0 !important;
  color:var(--senate-muted) !important;
  font-size:.94rem !important;
  line-height:1.45 !important;
  text-align:center !important;
}

/* Generic controls. */
body.cmep-senate-page button:not(.path-button):not(.maplibregl-ctrl button),
body.cmep-senate-page .cm-btn,
body.cmep-senate-page .cl-load-btn,
body.cmep-senate-page .range-btn,
body.cmep-senate-page .changelog-seg button,
body.cmep-senate-page .cmep-share-row button{
  min-height:2.25rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.58rem .86rem;
  border:1px solid var(--senate-border);
  border-radius:999px !important;
  background:var(--senate-surface-2);
  color:var(--senate-muted);
  box-shadow:none !important;
  text-decoration:none;
  font-size:.82rem;
  line-height:1.05;
  font-weight:850;
  letter-spacing:-.01em;
  cursor:pointer;
}
body.cmep-senate-page button:not(.path-button):not(.maplibregl-ctrl button):hover,
body.cmep-senate-page .cm-btn:hover,
body.cmep-senate-page .range-btn:hover,
body.cmep-senate-page .changelog-seg button:hover,
body.cmep-senate-page .cmep-share-row button:hover{
  background:var(--senate-surface) !important;
  color:var(--senate-strong) !important;
  border-color:var(--senate-border-strong) !important;
}
body.cmep-senate-page .changelog-seg,
body.cmep-senate-page .segmented,
body.cmep-senate-page .control-seg{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:.18rem !important;
  padding:.22rem !important;
  border:1px solid var(--senate-border) !important;
  border-radius:999px !important;
  background:var(--senate-surface-2) !important;
}
body.cmep-senate-page .changelog-seg button.active,
body.cmep-senate-page .changelog-seg button[aria-pressed="true"],
body.cmep-senate-page .changelog-seg button[aria-selected="true"],
body.cmep-senate-page .segmented button.active,
body.cmep-senate-page .control-seg button.active{
  background:var(--senate-strong) !important;
  border-color:var(--senate-strong) !important;
  color:var(--senate-surface) !important;
}

/* Senate arc layout: no horizontal scroll, no masked blank space. */
body.cmep-senate-page .senate-control-card{overflow:visible !important;}
body.cmep-senate-page #cmep-senate-arc-native{
  container-type:inline-size;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  overflow:visible !important;
}
body.cmep-senate-page #cmep-senate-arc-native .legend{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:.42rem !important;
  margin:.1rem auto .65rem !important;
}
body.cmep-senate-page #cmep-senate-arc-native .arc-wrap{
  width:min(100%,1040px) !important;
  margin:.25rem auto 0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(16px,3vw,40px) !important;
  overflow:visible !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
}
body.cmep-senate-page #cmep-senate-arc-native #arc-svg{
  display:block !important;
  width:100% !important;
  max-width:860px !important;
  height:auto !important;
  aspect-ratio:360 / 190 !important;
  margin:0 auto !important;
  overflow:visible !important;
}
body.cmep-senate-page #cmep-senate-arc-native #path-controls{
  position:static !important;
  transform:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  gap:24px !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
}
body.cmep-senate-page #cmep-senate-arc-native .path-button{
  position:relative !important;
  width:120px !important;
  height:120px !important;
  flex:0 0 120px !important;
  border-radius:50% !important;
  border:4px solid rgba(255,255,255,.9) !important;
  color:#fff !important;
  box-shadow:var(--shadow-soft) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.16rem !important;
  padding:.76rem !important;
  font-size:.9rem !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  text-align:center !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  white-space:normal !important;
  transition:transform var(--transition-med, 220ms cubic-bezier(.22,.61,.36,1)), box-shadow var(--transition-med, 220ms cubic-bezier(.22,.61,.36,1)), background-color var(--transition-med, 220ms cubic-bezier(.22,.61,.36,1)), border-color var(--transition-med, 220ms cubic-bezier(.22,.61,.36,1)), color var(--transition-med, 220ms cubic-bezier(.22,.61,.36,1)) !important;
}
body.cmep-senate-page #cmep-senate-arc-native .path-button.path-dem{background:var(--solid-d) !important;}
body.cmep-senate-page #cmep-senate-arc-native .path-button.path-gop{background:var(--solid-r) !important;}
body.cmep-senate-page #cmep-senate-arc-native .path-button:hover{transform:translateY(-1px) scale(1.02) !important;box-shadow:0 22px 45px rgba(15,23,42,.18) !important;}
body.cmep-senate-page #cmep-senate-arc-native .path-button.active{box-shadow:0 0 0 2px rgba(15,23,42,.15) !important;}
body.cmep-senate-page #cmep-senate-arc-native .path-button.path-dem.active{background:color-mix(in srgb,var(--solid-d) 14%,transparent) !important;border-color:var(--solid-d) !important;color:var(--solid-d) !important;}
body.cmep-senate-page #cmep-senate-arc-native .path-button.path-gop.active{background:color-mix(in srgb,var(--solid-r) 14%,transparent) !important;border-color:var(--solid-r) !important;color:var(--solid-r) !important;}
@supports not (background: color-mix(in srgb, red 10%, transparent)){
  body.cmep-senate-page #cmep-senate-arc-native .path-button.path-dem.active{background:rgba(0,118,186,.12) !important;}
  body.cmep-senate-page #cmep-senate-arc-native .path-button.path-gop.active{background:rgba(238,34,12,.12) !important;}
}
body.cmep-senate-page #cmep-senate-arc-native .path-button span.label{
  display:block !important;
  width:100% !important;
  pointer-events:none !important;
  letter-spacing:.03em !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  text-align:center !important;
}
body.cmep-senate-page #cmep-senate-arc-native .path-button span.close-icon{
  display:none !important;
  position:static !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  font-size:1.26rem !important;
  line-height:.9 !important;
  font-weight:900 !important;
  pointer-events:none !important;
}
body.cmep-senate-page #cmep-senate-arc-native .path-button.active span.label{display:block !important;}
body.cmep-senate-page #cmep-senate-arc-native .path-button.active span.close-icon{display:block !important;}
body.cmep-senate-page #cmep-senate-arc-native :where(.path-explainer:empty,.path-banner:empty){display:none !important;min-height:0 !important;height:0 !important;margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important;}
body.cmep-senate-page #cmep-senate-arc-native .path-banner:not(:empty){display:flex !important;justify-content:center !important;margin:.5rem auto !important;}
body.cmep-senate-page #cmep-senate-arc-native .path-explainer:not(:empty){display:block !important;max-width:780px !important;margin:.7rem auto 0 !important;text-align:center !important;}
@media (max-width:900px), (hover:none), (pointer:coarse){
  body.cmep-senate-page #cmep-senate-arc-native .arc-wrap{display:flex !important;flex-direction:column !important;gap:16px !important;width:100% !important;}
  body.cmep-senate-page #cmep-senate-arc-native #path-controls{flex-direction:row !important;gap:16px !important;margin-top:8px !important;}
  body.cmep-senate-page #cmep-senate-arc-native .path-button{width:96px !important;height:96px !important;flex-basis:96px !important;font-size:.8rem !important;border-width:4px !important;}
  body.cmep-senate-page #cmep-senate-arc-native .path-button span.close-icon{font-size:1.12rem !important;}
}
@media (max-width:420px){
  body.cmep-senate-page #cmep-senate-arc-native .path-button{width:84px !important;height:84px !important;flex-basis:84px !important;font-size:.75rem !important;border-width:3px !important;}
}

body.cmep-senate-page #cmep-senate-arc-native .mobile-path-majority{display:none;}
@media (max-width:900px), (hover:none), (pointer:coarse){
  body.cmep-senate-page #cmep-senate-arc-native .arc-wrap{display:flex !important;flex-direction:column !important;gap:16px !important;width:100% !important;}
  body.cmep-senate-page #cmep-senate-arc-native #path-controls{flex-direction:row !important;gap:16px !important;margin-top:8px !important;}
  body.cmep-senate-page #cmep-senate-arc-native .path-button{width:96px !important;height:96px !important;flex-basis:96px !important;font-size:.8rem !important;border-width:4px !important;}
  body.cmep-senate-page #cmep-senate-arc-native .path-button span.close-icon{font-size:1.12rem !important;}
}
@media (max-width:420px){
  body.cmep-senate-page #cmep-senate-arc-native .path-button{width:84px !important;height:84px !important;flex-basis:84px !important;font-size:.75rem !important;border-width:3px !important;}
}

/* Pill contract: exactly one sizing system, including arc, map, changelog, and seat widgets. */
body.cmep-senate-page :where(
  #cmep-senate-arc-native .legend-item,
  #cmep-senate-arc-native .legend-pill,
  .seat-road-legend .legend-pill,
  .legend .legend-item,
  .cl-pill,
  .ct-chip,
  .rating-pill,
  .race-rating-pill,
  .pill.solid-D,
  .pill.likely-D,
  .pill.lean-D,
  .pill.toss-up,
  .pill.lean-R,
  .pill.likely-R,
  .pill.solid-R,
  .pill.noel-d,
  .pill.noel-r,
  .pill.no-election,
  .pill[class*="solid-"],
  .pill[class*="likely-"],
  .pill[class*="lean-"],
  .pill[class*="toss"]
){
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:var(--senate-pill-h) !important;
  padding:.39rem var(--senate-pill-px) !important;
  border-radius:999px !important;
  font-size:var(--senate-pill-fs) !important;
  line-height:1 !important;
  font-weight:var(--senate-pill-weight) !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
body.cmep-senate-page :where(
  #cmep-senate-arc-native .legend-item.leg-no-election-d,
  #cmep-senate-arc-native .legend-item.leg-no-election-r,
  #cmep-senate-arc-native .legend-pill.noel-d,
  #cmep-senate-arc-native .legend-pill.noel-r,
  .seat-road-legend .legend-pill.noel-d,
  .seat-road-legend .legend-pill.noel-r,
  #cmep-senate-arc-native #tooltip .ct-chip.no-election,
  body.cmep-senate-page > #tooltip.senate-arc-tooltip .ct-chip.no-election,
  #cmep-senate-map-tooltip .ct-chip.no-election,
  #cmep-senate-map-tooltip .ct-chip.no-race,
  #cmep-global-tooltip .ct-chip.no-election,
  #cmep-global-tooltip .ct-chip.no-race,
  .cmep-site-tooltip .ct-chip.no-election,
  .cmep-site-tooltip .ct-chip.no-race,
  .pill.no-election,
  .pill.noel-d,
  .pill.noel-r
){
  min-height:var(--senate-pill-h-lg) !important;
  padding:.38rem var(--senate-pill-px-lg) !important;
  border-width:2px !important;
}
body.cmep-senate-page :where(
  #cmep-senate-arc-native #tooltip .ct-chip.no-election,
  body.cmep-senate-page > #tooltip.senate-arc-tooltip .ct-chip.no-election,
  #cmep-senate-map-tooltip .ct-chip.no-election,
  #cmep-senate-map-tooltip .ct-chip.no-race,
  #cmep-senate-map-tooltip .ct-chip[class*="no-election"],
  #cmep-global-tooltip .ct-chip.no-election,
  #cmep-global-tooltip .ct-chip.no-race,
  .cmep-site-tooltip .ct-chip.no-election,
  .cmep-site-tooltip .ct-chip.no-race,
  .pill.no-election
){
  min-height:var(--senate-pill-h-lg) !important;
  padding:.38rem var(--senate-pill-px-lg) !important;
  border:2px solid #475569 !important;
  background:#475569 !important;
  color:#fff !important;
  text-transform:none !important;
  box-shadow:none !important;
}
body.cmep-senate-page :where(#cmep-senate-arc-native .legend-item.leg-no-election-d,.legend-pill.noel-d,.pill.noel-d){background:var(--solid-d) !important;color:#fff !important;border-color:var(--toss-up) !important;}
body.cmep-senate-page :where(#cmep-senate-arc-native .legend-item.leg-no-election-r,.legend-pill.noel-r,.pill.noel-r){background:var(--solid-r) !important;color:#fff !important;border-color:var(--toss-up) !important;}
body.cmep-senate-page :where(.rating-pill.solid-D,.pill.solid-D,.cl-pill.solid-D,.ct-chip.solid-D){background:var(--solid-d) !important;color:#fff !important;}
body.cmep-senate-page :where(.rating-pill.likely-D,.pill.likely-D,.cl-pill.likely-D,.ct-chip.likely-D){background:var(--likely-d) !important;color:#fff !important;}
body.cmep-senate-page :where(.rating-pill.lean-D,.pill.lean-D,.cl-pill.lean-D,.ct-chip.lean-D){background:var(--lean-d) !important;color:#fff !important;}
body.cmep-senate-page :where(.rating-pill.toss-up,.pill.toss-up,.cl-pill.toss-up,.ct-chip.toss-up){background:var(--toss-up) !important;color:#fff !important;}
body.cmep-senate-page :where(.rating-pill.lean-R,.pill.lean-R,.cl-pill.lean-R,.ct-chip.lean-R){background:var(--lean-r) !important;color:#fff !important;}
body.cmep-senate-page :where(.rating-pill.likely-R,.pill.likely-R,.cl-pill.likely-R,.ct-chip.likely-R){background:var(--likely-r) !important;color:#fff !important;}
body.cmep-senate-page :where(.rating-pill.solid-R,.pill.solid-R,.cl-pill.solid-R,.ct-chip.solid-R){background:var(--solid-r) !important;color:#fff !important;}
body.cmep-senate-page :where(.majority-pill){min-height:var(--senate-pill-h) !important;padding:.37rem var(--senate-pill-px-lg) !important;gap:.34rem !important;font-size:var(--senate-pill-fs) !important;line-height:1 !important;}
body.cmep-senate-page :where(.majority-pill .ring){flex:0 0 auto !important;width:.72rem !important;height:.72rem !important;border-width:2px !important;}
body.cmep-senate-page .seat-road-legend .legend-pill.majority-pill{display:none !important;}
@media (max-width:720px){
  body.cmep-senate-page{--senate-pill-h:1.64rem;--senate-pill-h-lg:1.76rem;--senate-pill-px:.58rem;--senate-pill-px-lg:.62rem;--senate-pill-fs:.68rem;}
}

/* Tooltips. */
body.cmep-senate-page #cmep-senate-arc-native #tooltip,
body.cmep-senate-page > #tooltip.senate-arc-tooltip,
body.cmep-senate-page #cmep-senate-map-tooltip,
body.cmep-senate-page #cmep-global-tooltip,
body.cmep-senate-page .chart-tooltip{
  z-index:9999 !important;
  max-width:min(340px,calc(100vw - 18px)) !important;
  border:1px solid var(--senate-border) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.94) !important;
  color:var(--senate-text) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.18) !important;
  backdrop-filter:blur(12px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(135%) !important;
  overflow:visible !important;
}
body.cmep-senate-page #cmep-senate-arc-native #tooltip .ct-chip,
body.cmep-senate-page > #tooltip.senate-arc-tooltip .ct-chip,
body.cmep-senate-page #cmep-senate-map-tooltip .ct-chip{width:auto !important;min-width:auto !important;max-width:100% !important;margin:0 !important;}
body.cmep-senate-page #cmep-senate-arc-native #tooltip .ct-name,
body.cmep-senate-page > #tooltip.senate-arc-tooltip .ct-name,
body.cmep-senate-page #cmep-senate-map-tooltip .ct-name{white-space:normal !important;overflow-wrap:anywhere !important;}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]):not(.light) body.cmep-senate-page:not(.light):not(.light-mode) #cmep-senate-arc-native #tooltip,
  html:not([data-theme="light"]):not(.light) body.cmep-senate-page:not(.light):not(.light-mode) #cmep-senate-map-tooltip,
  html:not([data-theme="light"]):not(.light) body.cmep-senate-page:not(.light):not(.light-mode) #cmep-global-tooltip,
  html:not([data-theme="light"]):not(.light) body.cmep-senate-page:not(.light):not(.light-mode) .chart-tooltip{background:rgba(12,20,34,.94) !important;box-shadow:0 18px 46px rgba(0,0,0,.42) !important;}
}

/* All Seats / bucket cards: neutral cards; color belongs in pills and probability bars. */
body.cmep-senate-page .cmep-collapse{
  border:1px solid var(--senate-border) !important;
  border-radius:18px !important;
  background:var(--senate-surface-2) !important;
  overflow:hidden !important;
}
body.cmep-senate-page .cmep-collapse-summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  padding:1rem 1.1rem !important;
  cursor:pointer !important;
  text-align:left !important;
}
body.cmep-senate-page .cmep-collapse-left{display:flex !important;flex-direction:column !important;align-items:flex-start !important;text-align:left !important;gap:.18rem !important;}
body.cmep-senate-page .cmep-collapse-title{font-weight:900 !important;color:var(--senate-strong) !important;letter-spacing:-.02em !important;}
body.cmep-senate-page .cmep-collapse-subtitle{color:var(--senate-muted) !important;font-size:.86rem !important;}
body.cmep-senate-page .cmep-collapse-right{display:flex !important;align-items:center !important;gap:.6rem !important;}
body.cmep-senate-page .district-list,
body.cmep-senate-page .seat-card-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)) !important;
  gap:.75rem !important;
  width:100% !important;
  margin-top:.75rem !important;
}
body.cmep-senate-page .district-card,
body.cmep-senate-page a.district-card,
body.cmep-senate-page .seat-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  gap:.65rem !important;
  padding:.95rem !important;
  border:1px solid var(--senate-border) !important;
  border-radius:18px !important;
  background:var(--senate-surface-2) !important;
  box-shadow:var(--senate-shadow-soft) !important;
  color:var(--senate-text) !important;
  text-decoration:none !important;
  overflow:hidden !important;
}
body.cmep-senate-page .district-card::before,
body.cmep-senate-page a.district-card::before{display:none !important;content:none !important;}
body.cmep-senate-page .district-card:hover,
body.cmep-senate-page a.district-card:hover{background:var(--senate-surface) !important;border-color:var(--senate-border-strong) !important;transform:translateY(-1px);}
body.cmep-senate-page .district-header{display:flex !important;align-items:flex-start !important;justify-content:space-between !important;gap:.65rem !important;flex-wrap:wrap !important;}
body.cmep-senate-page .district-name{font-weight:900 !important;color:var(--senate-strong) !important;letter-spacing:-.02em !important;line-height:1.15 !important;}
body.cmep-senate-page .district-right{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:.42rem !important;flex-wrap:wrap !important;}
body.cmep-senate-page .district-subheader{display:flex !important;align-items:center !important;gap:.35rem !important;flex-wrap:wrap !important;color:var(--senate-muted) !important;font-size:.84rem !important;}
body.cmep-senate-page .pill.inc-D-pill,
body.cmep-senate-page .inc-D-pill{background:var(--solid-d) !important;color:#fff !important;border-color:transparent !important;}
body.cmep-senate-page .pill.inc-R-pill,
body.cmep-senate-page .inc-R-pill{background:var(--solid-r) !important;color:#fff !important;border-color:transparent !important;}
body.cmep-senate-page .flip-pill,
body.cmep-senate-page .pill-flip{background:var(--flip-gold) !important;color:#111827 !important;border-color:transparent !important;text-transform:uppercase !important;}
body.cmep-senate-page .prob-row{display:grid !important;grid-template-columns:auto minmax(120px,1fr) auto !important;align-items:center !important;gap:.5rem !important;width:100% !important;flex-wrap:nowrap !important;}
body.cmep-senate-page .prob-label{font-size:.75rem !important;font-weight:800 !important;white-space:nowrap !important;}
body.cmep-senate-page .prob-label-d{color:var(--solid-d) !important;}
body.cmep-senate-page .prob-label-r{color:var(--solid-r) !important;margin-left:0 !important;}
body.cmep-senate-page .prob-bar-wrapper{min-width:0 !important;width:100% !important;display:block !important;}
body.cmep-senate-page .prob-bar{position:relative !important;display:flex !important;width:100% !important;height:.72rem !important;border-radius:999px !important;overflow:hidden !important;background:var(--senate-surface) !important;border:1px solid var(--senate-border) !important;}
body.cmep-senate-page .prob-bar-d{display:block !important;height:100% !important;background:var(--solid-d) !important;float:none !important;}
body.cmep-senate-page .prob-bar-r{display:block !important;height:100% !important;background:var(--solid-r) !important;float:none !important;margin-left:auto !important;}

/* Map, changelog, and minor page cleanups. */
body.cmep-senate-page .map-wrapper,
body.cmep-senate-page .map-container,
body.cmep-senate-page #map,
body.cmep-senate-page #senate-map{border-radius:18px !important;overflow:hidden !important;}
body.cmep-senate-page .changelog-controls,
body.cmep-senate-page .cl-controls{display:flex !important;justify-content:center !important;align-items:center !important;gap:.6rem !important;flex-wrap:wrap !important;text-align:center !important;}
body.cmep-senate-page .cl-entry{border:1px solid var(--senate-border) !important;border-radius:16px !important;background:var(--senate-surface-2) !important;color:var(--senate-text) !important;text-decoration:none !important;}
body.cmep-senate-page .cl-entry:hover{background:var(--senate-surface) !important;border-color:var(--senate-border-strong) !important;}
body.cmep-senate-page .cmep-share-row{display:flex !important;justify-content:center !important;margin:.2rem auto .8rem !important;}

@media (max-width:720px){
  body.cmep-senate-page .container,
  body.cmep-senate-page .senate-top-container{padding:14px 12px !important;}
  body.cmep-senate-page .card{padding:15px !important;}
  body.cmep-senate-page .card-header,
  body.cmep-senate-page .section-header{margin-bottom:14px !important;}
  body.cmep-senate-page .changelog-controls,
  body.cmep-senate-page .cl-controls{justify-content:flex-start !important;overflow-x:auto !important;flex-wrap:nowrap !important;padding-bottom:.12rem !important;scrollbar-width:none !important;}
  body.cmep-senate-page .changelog-controls::-webkit-scrollbar,
  body.cmep-senate-page .cl-controls::-webkit-scrollbar{display:none;}
  body.cmep-senate-page .cmep-collapse-summary{padding:.9rem !important;}
  body.cmep-senate-page .prob-row{grid-template-columns:1fr !important;gap:.35rem !important;}
  body.cmep-senate-page .prob-label-r{text-align:left !important;}
}

/* Arc and U.S. map tooltip parity.
   Keep the arc tooltip in its native absolute-positioning model; the arc script
   writes left/top values relative to the arc container. Do not convert it to
   fixed positioning. */
body.cmep-senate-page #cmep-senate-arc-native #tooltip.senate-arc-tooltip:not(.mobile){
  /* Homepage-equivalent desktop behavior: pointer-following viewport tooltip.
     Do not constrain this to the arc card; the inline arc script writes fixed left/top values. */
  position:fixed !important;
  transform:none !important;
  right:auto !important;
  bottom:auto !important;
  z-index:9999 !important;
  pointer-events:none !important;
}

/* Homepage No Election tooltip pill contract.
   This intentionally matches the finalized homepage: dark gray fill, dark gray border, white text, same larger no-election dimensions. */
body.cmep-senate-page #cmep-senate-arc-native #tooltip.senate-arc-tooltip .ct-chip.no-election,
body.cmep-senate-page #cmep-senate-map-tooltip .ct-chip.no-election,
body.cmep-senate-page #cmep-senate-map-tooltip .ct-chip.no-race,
body.cmep-senate-page #cmep-senate-map-tooltip .ct-chip.map-no-election,
body.cmep-senate-page .cmep-site-tooltip .ct-chip.no-election,
body.cmep-senate-page .map-tooltip .ct-chip.no-election{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:var(--senate-pill-h-lg) !important;
  padding:.38rem var(--senate-pill-px-lg) !important;
  border:2px solid #475569 !important;
  border-radius:999px !important;
  background:#475569 !important;
  background-color:#475569 !important;
  background-image:none !important;
  color:#fff !important;
  font-size:var(--senate-pill-fs) !important;
  font-weight:var(--senate-pill-weight) !important;
  line-height:var(--senate-pill-lh,1) !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  text-shadow:none !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}

/* All Seats by State: compact closed buckets, full-width open bucket, cleaner cards. */
body.cmep-senate-page #cmep-senate-by-state-card .card-header,
body.cmep-senate-page #cmep-senate-by-state-card .card-header > div{
  text-align:center !important;
  align-items:center !important;
  justify-content:center !important;
}
body.cmep-senate-page .cmep-by-state-controls{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.75rem !important;
  flex-wrap:wrap !important;
  margin:0 auto 1rem !important;
  text-align:center !important;
}
body.cmep-senate-page .cmep-by-state-filter{
  width:min(100%,420px) !important;
  min-height:2.6rem !important;
  border-radius:999px !important;
  border:1px solid var(--senate-border) !important;
  background:var(--senate-surface-2) !important;
  color:var(--senate-strong) !important;
  padding:.65rem 1rem !important;
  font-weight:750 !important;
  outline:none !important;
}
body.cmep-senate-page .cmep-by-state-filter:focus{
  border-color:var(--senate-border-strong) !important;
  box-shadow:0 0 0 3px rgba(100,116,139,.16) !important;
}
body.cmep-senate-page .cmep-by-state-meta{
  color:var(--senate-muted) !important;
  font-size:.84rem !important;
  font-weight:850 !important;
}
body.cmep-senate-page .cmep-by-state-list{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr)) !important;
  gap:.72rem !important;
  align-items:start !important;
}
body.cmep-senate-page .cmep-by-state-list .cmep-state[open]{
  grid-column:1 / -1 !important;
}
body.cmep-senate-page .cmep-state .cmep-collapse-summary{
  min-height:4.1rem !important;
  border-radius:18px !important;
}
body.cmep-senate-page .cmep-state[open] .cmep-collapse-summary{
  border-bottom:1px solid var(--senate-border) !important;
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
  background:var(--senate-surface) !important;
}
body.cmep-senate-page .cmep-collapse-body{
  padding:1rem !important;
  background:linear-gradient(180deg,var(--senate-surface),var(--senate-surface-2)) !important;
}
body.cmep-senate-page .cmep-collapse-chevron{
  width:.68rem !important;
  height:.68rem !important;
  border-right:2px solid var(--senate-muted) !important;
  border-bottom:2px solid var(--senate-muted) !important;
  transform:rotate(45deg) translateY(-2px) !important;
  transition:transform 160ms ease !important;
}
body.cmep-senate-page details[open] > summary .cmep-collapse-chevron{
  transform:rotate(225deg) translate(-1px,-1px) !important;
}
body.cmep-senate-page .district-list{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)) !important;
  gap:.85rem !important;
  margin-top:0 !important;
}
body.cmep-senate-page .district-card,
body.cmep-senate-page a.district-card{
  padding:1rem !important;
  gap:.78rem !important;
  background:var(--senate-surface-2) !important;
  border-color:var(--senate-border) !important;
}
body.cmep-senate-page .district-card .rating-pill,
body.cmep-senate-page a.district-card .rating-pill{
  border-radius:999px !important;
  padding:.39rem var(--senate-pill-px) !important;
  min-height:var(--senate-pill-h) !important;
  box-shadow:none !important;
}
body.cmep-senate-page .district-subheader:empty{display:none !important;}
body.cmep-senate-page .prob-row{
  grid-template-columns:auto minmax(150px,1fr) auto !important;
}
body.cmep-senate-page .prob-bar{
  height:.78rem !important;
  background:var(--senate-surface) !important;
}
@media (max-width:720px){
  body.cmep-senate-page .cmep-by-state-list{grid-template-columns:1fr !important;}
  body.cmep-senate-page .cmep-collapse-body{padding:.85rem !important;}
  body.cmep-senate-page .prob-row{grid-template-columns:1fr !important;}
}


/* CMEP 2026-06-27: Senate pivotal pill parity with House/homepage pill contract. */
body.cmep-senate-page :where(.pill-flip,.flip-pill,.pill-pivotal,.pivotal-pill){
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:var(--senate-pill-h) !important;
  padding:.39rem var(--senate-pill-px) !important;
  border-radius:999px !important;
  border:1px solid transparent !important;
  background:var(--flip-gold) !important;
  color:#111827 !important;
  font-size:var(--senate-pill-fs) !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}
body.cmep-senate-page .district-card :where(.pill-flip,.flip-pill,.pill-pivotal,.pivotal-pill),
body.cmep-senate-page .race-card :where(.pill-flip,.flip-pill,.pill-pivotal,.pivotal-pill){
  margin:0 !important;
}


/* CMEP 2026-06-27: Senate mobile parity with finalized House page.
   Keep mobile arc tooltips full, restore horizontally swipeable Path to Majority cards,
   fill path dots with rating colors, and make National Senate Map tooltips linkable. */
@media (max-width:820px), (hover:none), (pointer:coarse){
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile,
  body.cmep-senate-page #cmep-senate-arc-native .senate-arc-tooltip.mobile{
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 18px) !important;
    transform:translateX(-50%) !important;
    width:min(320px, calc(100vw - 28px)) !important;
    max-width:calc(100vw - 28px) !important;
    max-height:min(46vh, 320px) !important;
    overflow:auto !important;
    padding:.72rem .82rem !important;
    border-radius:20px !important;
    pointer-events:auto !important;
    z-index:9999 !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile .ct-head,
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-card .ct-head{display:block !important;}
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile .ct-summary,
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-card .ct-summary{display:flex !important;}
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile .ct-rows,
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-card .ct-rows{display:grid !important;gap:.36rem !important;}
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile .ct-row,
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-card .ct-row{
    display:flex !important;align-items:center !important;justify-content:space-between !important;gap:.8rem !important;
  }

  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-majority.show{
    display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;overflow:visible !important;
    margin-top:14px !important;padding-top:6px !important;padding-bottom:4px !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-dots{
    display:flex !important;align-items:center !important;justify-content:center !important;gap:9px !important;
    margin:0 0 12px !important;padding:8px 14px 12px !important;min-height:44px !important;overflow:visible !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-cards{
    display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:12px !important;
    width:100% !important;max-width:100% !important;min-width:0 !important;
    overflow-x:auto !important;overflow-y:visible !important;scroll-snap-type:x mandatory !important;-webkit-overflow-scrolling:touch !important;
    padding:14px 12px 18px !important;scrollbar-width:none !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-cards::-webkit-scrollbar{display:none !important;}
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-card{
    flex:0 0 min(320px, calc(100vw - 32px)) !important;width:min(320px, calc(100vw - 32px)) !important;max-width:calc(100vw - 32px) !important;
    min-width:0 !important;scroll-snap-align:center !important;display:block !important;padding:.72rem .82rem !important;border-radius:20px !important;overflow:hidden !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-card.majority-maker,
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-card.majority-maker :where(.ct-head,.ct-summary,.ct-left,.ct-name,.ct-right,.ct-pct){color:var(--senate-strong) !important;}
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-card.majority-maker .ct-chip{color:#111827 !important;}

  body.cmep-senate-page #cmep-senate-map-tooltip.mobile{
    position:fixed !important;left:50% !important;right:auto !important;top:auto !important;bottom:calc(env(safe-area-inset-bottom, 0px) + 18px) !important;
    transform:translateX(-50%) !important;width:min(320px, calc(100vw - 28px)) !important;min-width:0 !important;max-width:calc(100vw - 28px) !important;
    max-height:min(46vh, 320px) !important;overflow:auto !important;box-sizing:border-box !important;margin:0 !important;pointer-events:auto !important;
  }
  body.cmep-senate-page #cmep-senate-map-tooltip.mobile .ct-row{gap:.75rem !important;}

  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-dot{
    opacity:1 !important;background:var(--dot-color, #929292) !important;border-color:var(--dot-color, #929292) !important;
    box-shadow:0 0 0 2px color-mix(in srgb, var(--dot-color, #929292) 22%, transparent), 0 6px 16px rgba(15,23,42,.14) !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-dot:not(.active){
    background:color-mix(in srgb, var(--dot-color, #929292) 58%, transparent) !important;border-color:var(--dot-color, #929292) !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-dot.active{
    background:var(--dot-color, #929292) !important;border-color:var(--dot-color, #929292) !important;transform:translateY(-2px) scale(1.14) !important;
    box-shadow:0 0 0 3px color-mix(in srgb, var(--dot-color, #929292) 26%, transparent), 0 10px 22px rgba(15,23,42,.18) !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-dot.majority-maker,
  body.cmep-senate-page #cmep-senate-arc-native .mobile-path-dot.majority-maker.active{
    border-color:var(--flip-gold, #F6CE46) !important;box-shadow:0 0 0 3px rgba(246,206,70,.24), 0 10px 22px rgba(15,23,42,.18) !important;
  }
}

body.cmep-senate-page .cmep-senate-map-tooltip-link,
body.cmep-senate-page #cmep-senate-map-tooltip .cmep-senate-map-tooltip-link{
  display:block !important;color:inherit !important;text-decoration:none !important;cursor:pointer !important;min-width:0 !important;max-width:100% !important;
}
body.cmep-senate-page .cmep-senate-map-tooltip-link:focus-visible{
  outline:2px solid var(--flip-gold, #F6CE46) !important;outline-offset:4px !important;border-radius:18px !important;
}
body.cmep-senate-page .cmep-senate-map-tooltip-link:hover .ct-head,
body.cmep-senate-page .cmep-senate-map-tooltip-link:focus-visible .ct-head{
  text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;
}


/* CMEP 2026-06-28: Senate mobile arc tooltip native House parity.
   The Senate arc uses its own #tooltip, but mobile placement/interaction should
   match the House arc: fixed bottom card, viewport-anchored, tappable. */
@media (max-width:820px), (hover:none), (pointer:coarse){
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile,
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.cmep-mobile-arc-card-link{
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 18px) !important;
    transform:translateX(-50%) !important;
    width:min(320px, calc(100vw - 28px)) !important;
    max-width:calc(100vw - 28px) !important;
    max-height:min(46vh, 320px) !important;
    overflow:auto !important;
    z-index:2147483000 !important;
    display:block !important;
    box-sizing:border-box !important;
    padding:.72rem .82rem !important;
    border-radius:20px !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    touch-action:manipulation !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile .ct-head{display:block !important;}
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile .ct-summary{display:flex !important;}
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile .ct-rows{display:grid !important;gap:.36rem !important;}
  body.cmep-senate-page #cmep-senate-arc-native #tooltip.mobile .ct-row{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:.8rem !important;}
}

/* 2026-06-28 mobile width utilization pass */
@media (max-width:720px){
  body.cmep-senate-page .senate-main,
  body.cmep-senate-page .container,
  body.cmep-senate-page .senate-top-container{
    width:100% !important;
    max-width:100% !important;
    margin-inline:0 !important;
    padding-left:max(6px, env(safe-area-inset-left)) !important;
    padding-right:max(6px, env(safe-area-inset-right)) !important;
  }
  body.cmep-senate-page .senate-top-container{padding-bottom:0 !important;}
  body.cmep-senate-page .senate-hero,
  body.cmep-senate-page .cmep-page-hero.senate-hero,
  body.cmep-senate-page .card{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  body.cmep-senate-page .senate-hero,
  body.cmep-senate-page .cmep-page-hero.senate-hero{
    padding:18px 12px !important;
    border-radius:20px !important;
  }
  body.cmep-senate-page .card{
    padding:10px !important;
    border-radius:16px !important;
  }
  body.cmep-senate-page #cmep-senate-arc-native .arc-wrap{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}
@media (max-width:390px){
  body.cmep-senate-page .container,
  body.cmep-senate-page .senate-top-container{
    padding-left:max(5px, env(safe-area-inset-left)) !important;
    padding-right:max(5px, env(safe-area-inset-right)) !important;
  }
  body.cmep-senate-page .card{padding:9px !important;}
}

/* CMEP_CHANGELOG_MENU_HOUSE_PARITY_20260629
   Keep Senate changelog range control visually identical to House. */
body.cmep-senate-page .cl-controls{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  text-align:center !important;
  margin:0 0 1rem !important;
  overflow:visible !important;
}
body.cmep-senate-page .cl-seg{
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:4px !important;
  padding:4px !important;
  border:1px solid var(--senate-border) !important;
  border-radius:999px !important;
  background:var(--senate-surface-2) !important;
  box-shadow:none !important;
}
body.cmep-senate-page .cl-seg button{
  appearance:none !important;
  border:0 !important;
  background:transparent !important;
  color:var(--senate-muted) !important;
  border-radius:999px !important;
  min-height:34px !important;
  padding:.48rem .86rem !important;
  font-size:.82rem !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.005em !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
body.cmep-senate-page .cl-seg button.active{
  background:var(--senate-strong) !important;
  color:var(--senate-surface) !important;
  box-shadow:none !important;
}
@media (max-width:720px){
  body.cmep-senate-page .cl-controls{justify-content:center !important; overflow:visible !important; flex-wrap:wrap !important; padding-bottom:0 !important;}
  body.cmep-senate-page .cl-seg button{min-height:32px !important; padding:.44rem .74rem !important; font-size:.78rem !important;}
}
