.map-heading-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}
.main-grid.archive-map{grid-template-columns:minmax(0,1fr)}
.screen-cycle-label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.screen-cycle-label select{background:#223e56;color:#fff;border-color:#4a6174;width:min(100%,440px);padding:9px 30px 9px 10px;font-size:13px;margin:0}.screen-cycle-label option{background:#223e56;color:#fff}
#screen-chat-toggle,#screen-tv-toggle{background:#ffffff0c;color:#d4e2ec;border-color:#496073;padding:8px 12px;font-size:11px;white-space:nowrap}#screen-chat-toggle[aria-expanded=true],#screen-tv-toggle[aria-expanded=true]{background:#38617b;border-color:#628399;color:white}
.map-screen-tv{flex-shrink:0;padding:0 18px 14px;min-width:0}
.screen-tv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.screen-tv-tile{display:flex;flex-direction:column;min-width:0;background:#0f1f2e;border:1px solid #24405a;border-radius:11px;overflow:hidden;color:#fff}
.screen-tv-tile.screen-tv-audible{border-color:#57a877;box-shadow:0 0 0 2px #57a87755}
.screen-tv-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px}
.screen-tv-head strong{display:flex;align-items:center;gap:7px;min-width:0;font-size:11px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.screen-tv-head strong::before{content:'';width:8px;height:8px;border-radius:50%;background:#6b7f91;flex-shrink:0}
.screen-tv-tile[data-state=playing] .screen-tv-head strong::before{background:#3ddc84;box-shadow:0 0 6px #3ddc84}
.screen-tv-tile[data-state=connecting] .screen-tv-head strong::before,.screen-tv-tile[data-state=buffering] .screen-tv-head strong::before{background:#f2c14e}
.screen-tv-tile[data-state=error] .screen-tv-head strong::before{background:#e05a5a}
.screen-tv-sound{flex-shrink:0;padding:4px 9px;font-size:10px;border-radius:6px;background:#ffffff14;color:#fff;border:1px solid #4a6174}
.screen-tv-sound:disabled{opacity:.45}.screen-tv-sound[aria-pressed=true]{background:#3f7d5a;border-color:#57a877}
.screen-tv-stage{position:relative;aspect-ratio:16/9;max-height:21dvh;background:#000;display:grid;place-items:center}
.screen-tv-stage video{width:100%;height:100%;object-fit:cover;display:block}
.screen-tv-stage .tv-placeholder{display:grid;gap:6px;justify-items:center;padding:10px;font-size:10px;color:#c7d3e0;text-align:center}.screen-tv-stage .tv-placeholder button,.screen-tv-stage .tv-placeholder a{font-size:10px;padding:5px 9px;color:#fff;background:#ffffff14;border:1px solid #4a6174;border-radius:6px}
.screen-tv-status{margin:0;padding:5px 10px;font-size:9px;line-height:1.5;color:#a8bdcc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.screen-tv-stop{display:none!important}
.map-screen-shell.with-tv .map-screen-header{padding:11px 26px}.map-screen-shell.with-tv .map-screen-header .eyebrow{margin-bottom:4px}.map-screen-shell.with-tv .map-screen-clock time{font-size:24px}
.map-screen-shell.with-tv .map-screen-body{padding:12px 18px;gap:14px}
#overview #map-screen .with-tv .map-card{padding:14px 20px}#overview #map-screen .with-tv #map{padding:18px 8px 44px}#overview #map-screen .with-tv .map-wrap{margin-top:6px}#overview #map-screen .with-tv .map-foot{display:none}
.map-screen-shell.with-tv .screen-timing{padding:9px 18px}.map-screen-shell.with-tv .screen-timing strong{font-size:20px}.map-screen-shell.with-tv .screen-sidebar-heading{padding:12px 18px 8px}
#screen-chat-slot{display:none;min-width:0;min-height:0}#screen-chat-slot:has(>#overview-chat:not([hidden])){display:flex}
.map-screen-body:has(#overview-chat:not([hidden])){grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr) minmax(255px,.8fr)}
#map-screen #overview-chat{position:static;top:auto;max-height:none;width:100%;min-height:0;border-radius:13px;overflow:auto;grid-row:auto}
#map-screen #chat:not(.panel-collapsed)>.panel-fold-bar{display:none}#map-screen #overview-chat #chat-messages{height:clamp(160px,32dvh,350px)}#map-screen #overview-chat #chat{padding:14px}#map-screen #overview-chat .chat-actions .small{font-size:9px}#map-screen #overview-chat .chat-actions button{width:100%}#map-screen #overview-chat .chat-message strong{font-size:10px}
.map-screen-button{display:grid;place-items:center;width:36px;height:36px;padding:8px!important;border:1px solid #d8e3eb;border-radius:9px;background:#fff;color:#35546b;flex-shrink:0}
.map-screen-button svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.map-screen-button:hover{background:#edf4f9;border-color:#91a9bc}.map-screen-open{overflow:hidden}
#map-screen{position:fixed;inset:0;margin:0;border:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#f0f4f8;color:#21394f;overflow:hidden}
#map-screen::backdrop{background:#13283c}
.map-screen-shell{width:100%;height:100%;display:flex;flex-direction:column;background:#f0f4f8}
.map-screen-shell:fullscreen{width:100vw;height:100dvh}
.map-screen-header{display:flex;align-items:center;gap:24px;flex-shrink:0;padding:18px 26px;background:#152d43;color:white;border-bottom:3px solid #bc4350}
.map-screen-header>div:first-child{flex:1;min-width:0}.map-screen-header .eyebrow{color:#a8bdcc;font-size:9px;margin:0 0 7px}.map-screen-header h2{font-size:19px;line-height:1.4;letter-spacing:-.3px}
.map-screen-header .map-screen-button{background:#ffffff0c;color:white;border-color:#496073}.map-screen-header .map-screen-button:hover{background:#ffffff20}
.map-screen-clock{text-align:right;display:grid;gap:1px;font-variant-numeric:tabular-nums}.map-screen-clock time{font-size:29px;font-weight:700;letter-spacing:1px;line-height:1.25}.map-screen-clock span{font-size:10px;color:#bdccda}.map-screen-clock small{font-size:9px;color:#92acbf}
.map-screen-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(345px,390px);gap:18px;flex:1;min-height:0;padding:18px}
#screen-map-slot{min-width:0;min-height:0;display:flex}
#overview #map-screen .map-card{padding:20px;align-self:stretch;display:flex;flex-direction:column;width:100%;min-width:0;min-height:0;overflow:hidden;box-shadow:none;border-radius:13px}
#map-screen .map-card>.panel-fold-bar,#map-screen .legend-wrap{display:none!important}
#overview #map-screen .map-card .card-heading{flex-shrink:0}.map-screen-body .map-region-tabs{margin:12px 0 0;flex-shrink:0}
#overview #map-screen .map-wrap{height:auto;min-height:160px;flex:1;margin-top:12px}
#overview #map-screen #map{padding:42px 8px 75px}
#overview #map-screen #map-hover{max-height:54px;bottom:10px;left:10px;right:10px;padding:9px 12px;font-size:10px}
#overview #map-screen #map-progress{margin:8px 0 0;font-size:9px;flex-shrink:0}
#overview #map-screen .map-foot{padding:9px 0 0;margin-top:8px;font-size:9px;flex-shrink:0}
.map-screen-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;background:white;border:1px solid #dde5ed;border-radius:13px;overflow:hidden}
.screen-source-label{margin:0;padding:0 18px 8px;font-size:11px;font-weight:700;color:#516b80;flex-shrink:0}
.screen-timing{padding:14px 18px;background:#fff6e7;border-bottom:1px solid #efdfbd}.screen-timing p{margin:0;font-size:11px;color:#856123;font-weight:600}.screen-timing strong{display:block;font-size:24px;line-height:1.4;font-weight:800;color:#614a25;font-variant-numeric:tabular-nums;margin:3px 0}.screen-timing span{display:block;font-size:9px;color:#8d795b;line-height:1.6}
.screen-sidebar-heading{padding:18px 18px 10px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.screen-sidebar-heading .eyebrow{font-size:8px;line-height:1.5;margin-bottom:6px}.screen-sidebar-heading h3{font-size:19px;margin:0;line-height:1.3}.screen-sidebar-heading button{padding:4px 7px;font-size:18px}
.screen-filters{margin:0 18px 10px;font-size:10px;color:#516b80}.screen-filters summary{cursor:pointer;font-weight:600}.screen-filters .filters{margin:10px 0;gap:8px;grid-template-columns:1fr 1fr}.screen-filters .filters label:last-child{grid-column:1/-1}.screen-filters select{font-size:10px;padding:8px;margin-top:4px}
#screen-source-tabs{display:flex;gap:4px;padding:0 14px 12px;border-bottom:1px solid #e7edf2;flex-shrink:0}#screen-source-tabs button{flex:1;font-size:10px;padding:8px 5px;color:#6b7f91;background:#f5f7fa;border:1px solid #e6ebf0;border-radius:6px}#screen-source-tabs button[aria-selected=true]{background:#254960;color:#fff;border-color:#254960}
#screen-source-panel{overflow-y:auto;min-height:0;flex:1;padding:0 18px 16px;scrollbar-width:thin;scrollbar-color:#c7d4de transparent;overscroll-behavior:contain}
#screen-source-note{font-size:10px;line-height:1.7;color:#6b7f91;margin:0 0 11px;padding-top:7px}#screen-source-note.screen-warning{color:#8a601c;background:#fff5df;padding:10px;border-radius:7px}
#screen-result-summary{display:flex;gap:8px;justify-content:space-between;font-size:9px;line-height:1.7;color:#6c8091;flex-wrap:wrap;margin-bottom:12px}#screen-result-summary:empty{display:none}
.screen-list-labels{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid #e6edf3;border-bottom:1px solid #e6edf3;font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:#7a8d9c}
.screen-result-row{padding:13px 0;border-bottom:1px solid #edf1f5}.screen-result-row>div:first-child{display:grid;grid-template-columns:9px minmax(0,1fr) 77px;gap:9px;align-items:start}.screen-result-row>div:first-child>i{display:block;width:9px;height:9px;margin-top:4px;border-radius:3px}.screen-result-row strong{font-size:11px;font-weight:600;line-height:1.6;display:block;overflow-wrap:anywhere}.screen-result-row small{display:block;font-size:9px;color:#8998a5;margin-top:3px}.screen-result-numbers{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.screen-result-numbers b{display:block;font-size:14px;line-height:1.5;color:#29465d}.screen-result-numbers span{font-size:10px;color:#768c9c}.screen-result-bar{height:4px;border-radius:3px;background:#edf2f6;overflow:hidden;margin:9px 0 0 18px}.screen-result-bar i{display:block;height:100%;border-radius:3px}
#screen-publications{font-size:9px;line-height:1.6;color:#7b8e9e;margin-top:16px}#screen-publications p{margin:5px 0}#screen-publications a{display:block;color:#3b6d9e;text-decoration:underline;text-underline-offset:3px;margin-top:10px}
.screen-map-note{padding:11px 18px;margin:0;border-top:1px solid #e7edf2;font-size:9px;line-height:1.7;color:#7d8e9b;background:#fafbfd;flex-shrink:0}.screen-empty{font-size:12px;color:#8293a1;padding:20px 0}
#screen-turnout{padding:14px;margin:8px 0 16px;background:#f2f7fa;border:1px solid #dce7ee;border-radius:9px}.screen-turnout-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.screen-turnout-heading h4{font-size:12px;margin:0}.screen-turnout-heading>span{font-size:9px;color:#53748a}.screen-turnout-value{display:flex;align-items:center;gap:13px;margin:10px 0}.screen-turnout-value>strong{font-size:29px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#224f69}.screen-turnout-value>span{font-size:10px;line-height:1.5;color:#597486}#screen-turnout progress{display:block;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;accent-color:#347d99;margin-bottom:10px}#screen-turnout progress::-webkit-progress-bar{background:#dce8ef}#screen-turnout progress::-webkit-progress-value{background:#347d99}#screen-turnout p{font-size:9px;line-height:1.5;color:#697f8e;margin:8px 0 0}#screen-turnout a{font-size:10px;color:#2e6884;text-underline-offset:3px}#screen-turnout p.screen-turnout-saved{color:#94651e}.screen-turnout-history{margin-top:12px;border-top:1px solid #dce7ee;padding-top:10px;font-size:10px}.screen-turnout-history summary{cursor:pointer;font-weight:600}.screen-turnout-history ol{margin:8px 0 0;padding:0;list-style:none;max-height:135px;overflow:auto}.screen-turnout-history li a{display:flex;justify-content:space-between;padding:6px 0;text-decoration:none;border-bottom:1px solid #e2ebf0;font-variant-numeric:tabular-nums}
.screen-filters{padding-top:10px}
.detail-card.with-live-sources{min-width:0;align-self:start}
.detail-card.with-live-sources>:not(.panel-fold-bar):not(#overview-live-sources){display:none}
#overview-live-sources .map-screen-sidebar{border:0;border-radius:0;min-height:0;overflow:visible}
#overview-live-sources #screen-timing{display:none}
#overview-live-sources .screen-sidebar-heading{padding:0 0 18px}
#overview-live-sources .screen-source-label{padding:0 0 9px}
#overview-live-sources #screen-source-tabs{padding:0 0 14px}
#overview-live-sources .screen-filters{margin:0 0 10px}
#overview-live-sources #screen-source-panel{padding:0;overflow:visible;flex:none}
#overview-live-sources #screen-list-results{max-height:none;overflow:visible}
#map-screen #election-ticker{position:static;top:auto;z-index:1;margin:0;padding:0 18px 12px;background:transparent;flex-shrink:0}
#map-screen #election-ticker>.panel-fold-bar,#map-screen #election-ticker .ticker-info{display:none!important}
#map-screen #election-ticker .ticker-bar{min-height:38px;border-radius:8px}
.map-screen-shell:has(#election-ticker) .screen-tv-stage{max-height:14dvh}
.map-screen-sidebar .screen-result-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#map-screen #screen-turnout{padding:8px 10px;margin:4px 0 8px}
#map-screen .screen-turnout-value{margin:4px 0}
#map-screen .screen-turnout-value>strong{font-size:20px}
#map-screen #screen-turnout progress,#map-screen #screen-turnout .screen-turnout-history,#map-screen #screen-turnout>p{display:none}
.map-screen-shell.with-tv .screen-map-note{display:none}
#overview-live-sources .screen-map-note{padding:12px;margin-top:18px;border:1px solid #e7edf2;border-radius:7px}
@media(min-width:1700px){.map-screen-body{grid-template-columns:minmax(0,1fr) 460px;gap:24px;padding:24px}.screen-result-row strong{font-size:13px}.screen-result-numbers b{font-size:17px}.screen-result-row{padding:16px 0}#map-screen .screen-result-row{padding:2px 0}#map-screen .screen-result-numbers b{font-size:13px}}
@media(max-width:900px){.map-screen-header{padding:13px 16px;gap:12px}.map-screen-header h2{font-size:15px}.map-screen-clock time{font-size:23px}.map-screen-body{grid-template-columns:minmax(0,1fr) minmax(280px,330px);gap:10px;padding:10px}#overview #map-screen .map-card{padding:13px}.screen-sidebar-heading h3{font-size:16px}.screen-timing strong{font-size:21px}}
@media(max-width:650px){#map-screen{overflow:auto}.map-screen-shell{height:100dvh}.map-screen-header{gap:8px}.map-screen-header .eyebrow{font-size:7px;letter-spacing:1px}.map-screen-header h2{font-size:12px}.map-screen-clock time{font-size:20px}.map-screen-clock span{font-size:8px}.map-screen-header .map-screen-button{width:31px;height:31px}.map-screen-body{display:flex;flex-direction:column;overflow-y:auto;gap:12px}#screen-map-slot{height:65dvh;min-height:410px;flex-shrink:0}.map-screen-sidebar{flex-shrink:0;max-height:none;min-height:450px}#screen-source-panel{overflow:visible;flex:none}.screen-result-row strong{font-size:12px}.map-screen-sidebar #screen-list-results{max-height:none;overflow:visible}.screen-timing,.screen-sidebar-heading,#screen-source-panel{padding-left:15px;padding-right:15px}}
@media(max-height:600px) and (min-width:651px){.map-screen-header{padding:10px 18px}.map-screen-header .eyebrow,.map-screen-clock small{display:none}.map-screen-body{padding:10px}.screen-timing{padding:8px 14px}.screen-timing strong{font-size:20px}.screen-sidebar-heading{padding:10px 14px}#overview #map-screen .map-card{padding:12px}#overview #map-screen .map-foot{display:none}.screen-map-note{font-size:8px;padding:7px 14px}}
@media(max-width:1099px) and (min-width:651px){.map-screen-body:has(#overview-chat:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(280px,340px);grid-template-rows:minmax(260px,1fr) minmax(170px,.65fr)}.map-screen-body:has(#overview-chat:not([hidden])) .map-screen-sidebar{grid-column:2;grid-row:1/3}#screen-chat-slot:has(>#overview-chat:not([hidden])){grid-column:1;grid-row:2}#map-screen #overview-chat #chat-messages{height:160px}#map-screen #overview-chat{overflow:auto}}
@media(max-width:650px){.map-screen-header{flex-wrap:wrap}.map-screen-header>div:first-child{flex-basis:calc(100% - 120px)}.screen-cycle-label select{font-size:11px;padding:7px;width:100%}#screen-chat-toggle{order:4;width:100%;padding:5px}#screen-chat-slot:has(>#overview-chat:not([hidden])){min-height:420px;flex-shrink:0;order:1}.map-screen-sidebar{order:2}#screen-map-slot{order:0}#map-screen #overview-chat{max-height:650px}}
@media(max-width:650px){.map-screen-header{display:grid;grid-template-columns:minmax(0,1fr) 36px}.map-screen-header>div:first-child{grid-column:1;grid-row:1}#map-screen-close{grid-column:2;grid-row:1;justify-self:end}.map-screen-clock{grid-column:1/-1;grid-row:2;text-align:left;grid-template-columns:auto 1fr;gap:0 10px;align-items:center}.map-screen-clock small{grid-column:1/-1}#screen-tv-toggle{grid-column:1;grid-row:3}#screen-chat-toggle{grid-column:2;grid-row:3}
.screen-tv-head{padding:6px 8px}.screen-tv-sound{padding:4px 7px;font-size:9px}}
@media(min-width:651px){#map-screen #screen-source-panel{display:flex;flex-direction:column;overflow:hidden}#map-screen #screen-list-results{flex:1 1 auto;min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);column-gap:14px;align-content:stretch}#map-screen .screen-result-row{min-height:0;overflow:hidden;padding:1px 0}#map-screen .screen-result-row>div:first-child>div{min-width:0}#map-screen .screen-result-bar{height:3px;margin-top:2px}#map-screen .screen-result-numbers b{font-size:12px;line-height:1.2}#map-screen .screen-vote,#map-screen .screen-vote-mine{margin:0 0 0 6px}}
@media(max-width:1100px) and (min-width:651px){.screen-tv-grid{gap:8px}.screen-tv-status{display:none}.screen-tv-stage{max-height:17dvh}.map-screen-shell:has(#election-ticker) .screen-tv-stage{max-height:12dvh}}
@media(max-height:760px) and (min-width:651px){.screen-tv-stage{max-height:16dvh}.screen-tv-status{display:none}.map-screen-shell.with-tv .map-screen-body{padding:8px 14px}}

/* Election-night regional overview; archive layouts keep their existing treatment. */
#overview .map-card[data-current-election=true]{border:1px solid #dce6ef;border-radius:18px;padding:24px;background:#fff;box-shadow:0 8px 30px #173b5810}
#overview .map-card[data-current-election=true] .card-heading h2{font-size:22px;letter-spacing:-.55px;line-height:1.3}
.map-context{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;min-width:0}
.map-context nav{min-width:0}
#map-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin:0;padding:0;list-style:none;color:#6c8294;font-size:10px;line-height:1.6}
#map-breadcrumbs li{display:flex;align-items:center;gap:8px;min-width:0}
#map-breadcrumbs li+li::before{content:'›';color:#a6b5c2}
#map-breadcrumbs button{padding:0;border:0;border-radius:2px;color:#5b778e;background:none;font-size:inherit;text-decoration:underline;text-underline-offset:3px}
#map-breadcrumbs [aria-current]{color:#284b64;font-weight:700}
.map-source-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e6e9;border-radius:20px;padding:5px 9px;background:#f0f7f6;color:#33645e;font-size:9px;font-weight:700;line-height:1.5;white-space:nowrap}
.map-source-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.map-card[data-source=cesid] .map-source-badge,.map-card[data-source=crta] .map-source-badge{background:#f4f3f9;border-color:#e2dfed;color:#6c5e88}
#overview .map-card[data-current-election=true] .map-region-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:17px 0 0}
#overview .map-card[data-current-election=true] .map-region-tabs button{display:flex;align-items:center;gap:8px;justify-content:flex-start;min-height:40px;min-width:0;padding:9px 11px;border:1px solid #e3eaf0;border-radius:9px;background:#f8fafc;color:#536f85;font-size:10px;line-height:1.5;font-weight:600;text-align:left;transition:background .15s,border-color .15s,box-shadow .15s}
#overview .map-card[data-current-election=true] .map-region-tabs button::before{content:'';width:6px;height:6px;flex-shrink:0;border:1px solid #a5b8c7;border-radius:50%}
#overview .map-card[data-current-election=true] .map-region-tabs button:hover{background:#edf4f8;border-color:#a7bfce}
#overview .map-card[data-current-election=true] .map-region-tabs button[aria-pressed=true]{color:#fff;background:#214c68;border-color:#214c68;box-shadow:0 3px 8px #214c6820}
#overview .map-card[data-current-election=true] .map-region-tabs button[aria-pressed=true]::before{background:#e1edf3;border-color:#e1edf3}
#overview .map-card[data-current-election=true] .map-wrap{height:580px;border-radius:13px;border:1px solid #dfe9ef;background:radial-gradient(ellipse at 48% 40%,#fff 25%,#f2f6f9 90%);margin-top:16px}
#overview .map-card[data-current-election=true] #map{padding:35px 14px 68px}
#overview .map-card[data-current-election=true] #map svg{overflow:visible;filter:drop-shadow(0 7px 5px #24476213)}
#overview #map .region-fill[data-map-region]{fill:#dce6ee;stroke:#fff;stroke-width:2.5;stroke-linejoin:round;cursor:pointer;transition:filter .16s,stroke .16s;vector-effect:non-scaling-stroke}
#overview #map .region-fill[data-map-region]:hover,#overview #map .region-fill[data-map-region]:focus-visible{stroke:#244e68;stroke-width:2.6;filter:brightness(.97);outline:none}
#overview #map .region-fill[data-map-region][aria-pressed=true]{stroke:#173f5a;stroke-width:3;filter:brightness(.96)}
#overview .map-card[data-current-election=true] .map-region-labels text{font:700 15px Manrope,'Segoe UI',sans-serif;letter-spacing:.6px;fill:#35596f;stroke:#ffffffee;stroke-width:5px;paint-order:stroke}
#overview .map-card[data-current-election=true] .map-topline{inset:15px 17px auto;font-size:10px;color:#7790a2}
#overview .map-card[data-current-election=true] #map-hover{left:13px;right:13px;bottom:13px;padding:11px 13px;border-radius:9px;border-color:#dce6ed;box-shadow:0 3px 10px #19395108;font-size:10px;background:#ffffffed}
#overview .map-card[data-current-election=true] #map-progress{font-size:10px;line-height:1.65;color:#627e91;margin:14px 0 0}
#overview .map-card[data-current-election=true] .map-foot{margin-top:12px;padding:12px 0;font-size:9px}
#overview .map-card[data-current-election=true] .legend-wrap{margin-top:0;border-top:1px solid #e5edf2;padding-top:12px}
#overview .detail-card.with-live-sources{border-radius:18px;border-color:#dce6ef;box-shadow:0 8px 30px #173b580a}
#overview-live-sources .screen-sidebar-heading{padding-bottom:17px}
#overview-live-sources .screen-sidebar-heading h3{font-size:23px;letter-spacing:-.5px}
#screen-source-tabs{gap:6px}
#screen-source-tabs button{font-size:10px;line-height:1.5;font-weight:700;min-height:39px;border-radius:8px;background:#f5f8fa;border-color:#e2eaf0;color:#587287}
#screen-source-tabs button[aria-selected=true]{background:#214c68;border-color:#214c68;box-shadow:0 3px 8px #214c6815}
#screen-source-tabs button:focus-visible{outline:3px solid #b33d49;outline-offset:2px}
#overview-live-sources .screen-filters{border-bottom:1px solid #e8eef2;padding:4px 0 13px;margin-bottom:10px}
#overview-live-sources #screen-turnout{background:#f5f8fa;border-color:#e1eaf0;border-radius:12px;padding:16px}
#overview-live-sources .screen-turnout-value>strong{font-size:36px;font-weight:800;letter-spacing:-1px}
#overview-live-sources .screen-turnout-value>span{font-size:11px}
#overview-live-sources .screen-result-row strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.55}
.screen-empty{padding:25px 18px;margin:12px 0 3px;background:#f8fafc;border:1px dashed #d8e4ec;border-radius:12px;text-align:center;color:#6a8294}
.screen-empty-symbol{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 10px;border:1px solid #dbe6ee;background:#edf3f7;border-radius:12px;font-size:27px;line-height:1;color:#627f93}
.screen-empty h4{font-size:13px;line-height:1.5;font-weight:700;color:#3c5d74;margin:0 0 7px}
.screen-empty p{font-size:11px;line-height:1.75;margin:0}
#overview-live-sources .screen-map-note{color:#6c8191;background:#f8fafc;border-color:#e4ebf0;border-radius:9px;font-size:10px;line-height:1.7}
#overview #map-screen .map-card[data-current-election=true]{padding:18px;border-radius:13px;box-shadow:none}
#overview #map-screen .map-card[data-current-election=true] .map-context{margin-top:9px}
#overview #map-screen .map-card[data-current-election=true] .map-region-tabs{margin-top:10px;gap:5px}
#overview #map-screen .map-card[data-current-election=true] .map-region-tabs button{padding:6px 8px;min-height:31px;font-size:9px}
#overview #map-screen .map-card[data-current-election=true] .map-wrap{height:auto;min-height:120px;flex:1;margin-top:10px}
#overview #map-screen .map-card[data-current-election=true] #map{padding:26px 8px 48px}
#overview #map-screen .map-card[data-current-election=true] #map-hover{font-size:9px;bottom:8px;left:8px;right:8px;padding:7px 9px}
#overview #map-screen .map-card[data-current-election=true] #map-progress{font-size:9px;margin-top:8px}
#map-screen .screen-empty{grid-column:1/-1;align-self:center;margin:12px 0;padding:16px}
#map-screen .screen-empty p{font-size:10px}
@media(max-width:1100px){.map-context{align-items:flex-start;flex-direction:column;gap:8px}#overview .map-card[data-current-election=true] .map-wrap{height:530px}#overview .map-card[data-current-election=true]{padding:20px}#overview #map-screen .map-card[data-current-election=true] .map-source-badge{font-size:8px;padding:3px 7px}}
@media(max-width:760px){#overview .map-card[data-current-election=true]{padding:17px;border-radius:14px}#overview .map-card[data-current-election=true] .card-heading h2{font-size:20px}#overview .map-card[data-current-election=true] .map-region-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px}#overview .map-card[data-current-election=true] .map-region-tabs button{font-size:10px;padding:9px 10px;min-height:39px}#overview .map-card[data-current-election=true] .map-wrap{height:460px}#overview .map-card[data-current-election=true] #map{padding:42px 4px 83px}#overview-live-sources .screen-sidebar-heading h3{font-size:21px}.map-context{margin-top:12px}#map-breadcrumbs{font-size:10px}.screen-empty{padding:22px 16px}}
@media(max-width:650px){#overview #map-screen .map-card[data-current-election=true] .map-region-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}#overview #map-screen .map-card[data-current-election=true] .map-region-tabs button{padding:5px 6px;font-size:8px;min-height:32px;gap:4px}#overview #map-screen .map-card[data-current-election=true] .map-region-tabs button::before{display:none}#screen-map-slot:has(.map-card[data-current-election=true]){height:80dvh;min-height:540px}#overview #map-screen .map-card[data-current-election=true] .map-context{gap:5px}#overview #map-screen .map-card[data-current-election=true] .card-heading h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){#overview #map .region-fill[data-map-region],#overview .map-card[data-current-election=true] .map-region-tabs button{transition:none}}
#overview .map-card[data-current-election=true] .map-region-tabs button{display:grid;grid-template-columns:6px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 8px;min-height:55px}
#overview .map-card[data-current-election=true] .map-region-tabs button::before{grid-column:1;grid-row:1/3;align-self:center}
.map-region-name{grid-column:2;grid-row:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-region-tabs button small{grid-column:2;grid-row:2;font-size:8px;line-height:1.5;font-weight:400;color:#8498a7}
.map-region-tabs button[aria-pressed=true] small{color:#d1e0e9}
#overview #map-screen .map-card[data-current-election=true] .map-region-tabs button{min-height:39px}
@media(max-width:650px){#overview #map-screen .map-card[data-current-election=true] .map-region-tabs button{grid-template-columns:minmax(0,1fr);min-height:39px}#map-screen .map-region-name,#map-screen .map-region-tabs button small{grid-column:1}#map-screen .map-region-tabs button small{font-size:7px}}

/* Keep the geographic canvas dominant in the full-window election view. */
@media(min-width:651px){
 .map-screen-header{padding:12px 22px;gap:18px}
 #overview #map-screen .map-card[data-current-election=true]{padding:14px 16px}
 #overview #map-screen .map-card[data-current-election=true] .card-heading h2{font-size:20px}
 #overview #map-screen .map-card[data-current-election=true] .map-context{margin-top:7px;flex-direction:row;align-items:center}
 #overview #map-screen .map-card[data-current-election=true] .map-region-tabs{margin-top:9px}
 #overview #map-screen .map-card[data-current-election=true] .map-wrap{min-height:190px;margin-top:9px}
 #overview #map-screen .map-card[data-current-election=true] .map-topline{inset:10px 11px auto;font-size:9px}
 #overview #map-screen .map-card[data-current-election=true] .map-north{display:none}
 #overview #map-screen .map-card[data-current-election=true] .map-foot{display:none}
 #overview #map-screen .map-card[data-current-election=true] #map-progress{line-height:1.5;margin-top:7px}
 #overview #map-screen .with-tv .map-card[data-current-election=true] #map{padding:24px 6px 43px}
 #overview #map-screen .with-tv .map-card[data-current-election=true] .map-region-tabs button{min-height:34px;padding-top:4px;padding-bottom:4px}
 .map-screen-shell.with-tv .screen-tv-stage{max-height:12dvh}
}

/* Published regional turnout: independent values and cutoffs for each source. */
.regional-turnout{margin-top:28px;padding-top:22px;border-top:1px solid #dce6ee}
.regional-turnout h3{font-size:18px;margin:0 0 8px;color:#18374c}
.regional-turnout>.small{max-width:760px;line-height:1.65}
.turnout-region-scroll{overflow-x:auto;margin-top:18px;border:1px solid #dce6ee;border-radius:14px}
.turnout-region-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:560px}
.turnout-region-table th,.turnout-region-table td{padding:16px 20px;border-bottom:1px solid #e6edf2;vertical-align:middle}
.turnout-region-table thead th{background:#f1f6fa;color:#526d80;font-size:11px;letter-spacing:.04em;white-space:nowrap}
.turnout-region-table tbody th{width:31%;font-weight:600;color:#23465c;background:#fafcfd}
.turnout-region-table td strong{display:block;font-size:22px;letter-spacing:-.04em;color:#173b56}
.turnout-region-table td small,.turnout-region-table td a{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:#668091}
.turnout-region-table td a{color:#225f8d;text-decoration:underline;text-underline-offset:3px}
.turnout-region-table tr:last-child th,.turnout-region-table tr:last-child td{border-bottom:0}
@media(max-width:650px){.turnout-region-table th,.turnout-region-table td{padding:12px}.turnout-region-table td strong{font-size:19px}.regional-turnout{margin-top:22px}.turnout-region-table tbody th{position:sticky;left:0;min-width:140px;box-shadow:1px 0 #e6edf2}}

#screen-result-summary{display:block}.sample-focus{padding:16px;margin:12px 0 18px;border:1px solid #cddbee;border-radius:14px;background:linear-gradient(135deg,#eaf2ff,#f5f8ff);color:#213d61}.sample-focus>span{display:block;font-size:10px;font-weight:800;letter-spacing:.7px}.sample-focus>strong{display:block;font-size:36px;line-height:1.2;margin:8px 0;font-variant-numeric:tabular-nums}.sample-focus p{font-size:11px;margin:4px 0 10px;line-height:1.5}.sample-focus progress{width:100%;height:10px;accent-color:#386cb4}.turnout-secondary>summary{cursor:pointer;font-size:12px;font-weight:650;padding:10px 0}.turnout-secondary .screen-turnout-value strong{font-size:22px}
