#electionnight-screen{background:#060810;color:#e8ecf4;font-family:'IBM Plex Sans',sans-serif;min-height:100vh;display:none;flex-direction:column}
#electionnight-screen.active{display:flex}

/* ------ NETWORK BROADCAST HEADER ------ */
.en-network-bar{background:linear-gradient(90deg,#0a0d15 0%,#0d1020 40%,#0a0d15 100%);border-bottom:3px solid #c8a84b;height:64px;display:flex;align-items:stretch;flex-shrink:0;position:relative;overflow:hidden}
.en-network-bar::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(200,168,75,.03) 80px,rgba(200,168,75,.03) 81px);pointer-events:none}
.en-network-logo-block{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px;border-right:1px solid rgba(200,168,75,.2);flex-shrink:0;min-width:100px}
.en-network-name{font-family:'Playfair Display',serif;font-size:24px;font-weight:900;letter-spacing:-1px;color:#c8a84b;line-height:1}
.en-network-tagline{font-family:'IBM Plex Mono',monospace;font-size:7px;letter-spacing:.25em;color:rgba(200,168,75,.5);text-transform:uppercase;margin-top:2px}
.en-live-badge{display:flex;align-items:center;gap:5px;padding:0 14px;border-right:1px solid #1e2535;flex-shrink:0}
.en-live-dot-large{width:9px;height:9px;border-radius:50%;background:#ef4444;animation:enPulse 1s infinite;flex-shrink:0}
.en-live-text{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;color:#ef4444;letter-spacing:.15em}
.en-headline-block{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 16px;border-right:1px solid #1e2535;min-width:0}
.en-headline-title{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.4);text-transform:uppercase;margin-bottom:2px}
.en-headline-main{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ------ CLOCK + DATE ------ */
.en-clock-block{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:0 16px;flex-shrink:0;border-right:1px solid #1e2535}
.en-clock{font-family:'IBM Plex Mono',monospace;font-size:18px;font-weight:700;color:#e8ecf4;line-height:1}
.en-date-label{font-family:'IBM Plex Mono',monospace;font-size:8px;color:var(--text3);letter-spacing:.1em;margin-top:2px}
/* ------ MUTE ------ */
.en-header{background:transparent;border-bottom:none;padding:0;height:auto;display:none}

/* ------ CONGRESS SCOREBOARD BAR ------ */
.en-congress-bar{background:#0d1117;border-bottom:1px solid #1e2535;padding:6px 16px;display:flex;align-items:center;gap:16px;flex-shrink:0}
.en-congress-label{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.2em;color:#4a5568;text-transform:uppercase;flex-shrink:0}
.en-chamber{display:flex;align-items:center;gap:8px;flex:1}
.en-chamber-title{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;color:rgba(255,255,255,.6);white-space:nowrap;flex-shrink:0;min-width:52px}
.en-chamber-dem{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:700;color:#3b82f6;min-width:32px;text-align:right;transition:all .4s}
.en-chamber-rep{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:700;color:#ef4444;min-width:32px;transition:all .4s}
.en-chamber-bar{flex:1;height:6px;background:#1e2535;border-radius:3px;overflow:hidden;position:relative;min-width:60px}
.en-chamber-bar-dem{position:absolute;left:0;top:0;height:100%;background:#3b82f6;transition:width .8s ease}
.en-chamber-bar-rep{position:absolute;right:0;top:0;height:100%;background:#ef4444;transition:width .8s ease}
.en-chamber-need{font-family:'IBM Plex Mono',monospace;font-size:8px;color:#4a5568;white-space:nowrap;flex-shrink:0}
.en-chamber-divider{width:1px;height:24px;background:#1e2535;flex-shrink:0}

/* Rest of existing styles */
.en-body{display:grid;grid-template-columns:1fr 340px;flex:1;overflow:hidden}
.en-map-area{padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}
.en-sidebar{background:#0d1117;border-left:1px solid #1e2535;display:flex;flex-direction:column;overflow-y:hidden}
/* Big EV counter */
.en-ev-counter{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:#10141c;border:1px solid #1e2535;border-radius:8px}
.en-ev-dem{font-family:'Playfair Display',serif;font-size:56px;font-weight:900;color:#3b82f6;min-width:100px;text-align:right;line-height:1;transition:all .4s}
.en-ev-rep{font-family:'Playfair Display',serif;font-size:56px;font-weight:900;color:#ef4444;min-width:100px;text-align:left;line-height:1;transition:all .4s}
.en-ev-mid{display:flex;flex-direction:column;align-items:center;padding:0 14px;gap:3px}
.en-ev-need{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#4a5568;text-transform:uppercase;letter-spacing:.1em}
.en-ev-dash{font-family:'IBM Plex Mono',monospace;font-size:24px;color:#2a3348}
/* Progress bar */
.en-prog-bar{height:10px;background:#0a0c10;border-radius:5px;overflow:hidden;display:flex;margin:-4px 0 0}
.en-prog-dem{background:linear-gradient(90deg,#1d4ed8,#3b82f6);height:100%;transition:width .8s ease}
.en-prog-rep{background:linear-gradient(90deg,#ef4444,#991b1b);height:100%;transition:width .8s ease;margin-left:auto}
.en-270-marker{position:relative;height:12px;margin:-8px 0 4px}
.en-270-line{position:absolute;left:50%;top:0;width:1px;height:100%;background:rgba(200,168,75,.6)}
.en-270-label{position:absolute;left:50%;transform:translateX(-50%);top:-16px;font-family:'IBM Plex Mono',monospace;font-size:9px;color:#c8a84b;white-space:nowrap}
/* Map */
.en-map-container{border-radius:8px;overflow:hidden;border:1px solid #1e2535;background:#060810;position:relative}
/* State calls feed */
.en-feed-header{padding:12px 14px;border-bottom:1px solid #1e2535;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;color:#4a5568;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.en-live-dot{width:7px;height:7px;border-radius:50%;background:#ef4444;animation:enPulse 1s infinite}
@keyframes enPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(239,68,68,.4)}50%{opacity:.7;box-shadow:0 0 0 5px rgba(239,68,68,0)}}
.en-feed{display:flex;flex-direction:column;overflow:hidden;padding:8px 0;max-height:calc(100vh - 380px)}
.en-call{padding:10px 14px;border-bottom:1px solid #1e2535;display:flex;align-items:center;gap:10px;animation:enSlide .4s ease forwards;opacity:0}
@keyframes enSlide{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.en-call-state{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;min-width:32px}
.en-call-name{flex:1;font-size:11px;color:#8a93a8}
.en-call-ev{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600}
.en-call-badge{font-size:9px;font-family:'IBM Plex Mono',monospace;padding:2px 6px;border-radius:3px;flex-shrink:0}
.en-call-badge.dem{background:rgba(59,130,246,.25);color:#60a5fa}
.en-call-badge.rep{background:rgba(239,68,68,.25);color:#f87171}
.en-call-badge.ctc{background:rgba(167,139,250,.2);color:#a78bfa}
/* Call flash overlay on map */
.en-flash{animation:enFlash .6s ease}
@keyframes enFlash{0%{filter:brightness(3)}100%{filter:brightness(1)}}
/* Time labels */
.en-time-label{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#c8a84b;padding:6px 14px;background:rgba(200,168,75,.05);border-top:1px solid rgba(200,168,75,.15);border-bottom:1px solid rgba(200,168,75,.15);letter-spacing:.1em;margin:4px 0}
/* CNN-style state call popup */
.en-state-popup{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);z-index:9000;width:580px;max-width:95vw;background:#111;border:2px solid #333;border-radius:4px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.9);transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s;opacity:0;pointer-events:none}
.en-state-popup.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto}
.enp-alert{display:flex;align-items:center;gap:16px;padding:14px 20px;background:#1a1a2e}
.enp-kra{display:flex;flex-direction:column;gap:0;background:#dc2626;padding:6px 10px;border-radius:3px;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;color:#fff;line-height:1.2;text-align:center;letter-spacing:.05em;flex-shrink:0}
.enp-called{background:#c8a84b;color:#0a0c10;padding:5px 10px;border-radius:3px;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.1em;flex-shrink:0}
.enp-state{font-family:'Playfair Display',serif;font-size:clamp(20px,4vw,36px);font-weight:900;color:#fff;flex:1;letter-spacing:-.5px}
.enp-ev-badge{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#8a93a8;flex-shrink:0;text-align:right}
.enp-ev-badge::before{content:'ELECTORAL VOTES\A';white-space:pre;font-size:9px;display:block;letter-spacing:.1em;color:#4a5568}
.enp-body{background:#1c1c2e;padding:0}
.enp-candidates{display:flex}
.enp-cand{flex:1;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.enp-cand.win{flex:0 0 52%}
.enp-cand.lose{flex:0 0 48%;opacity:.85}
.enp-pct{font-family:'Playfair Display',serif;font-size:28px;font-weight:900;color:#fff;line-height:1}
.enp-name{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:.05em}
.enp-votes{font-size:11px;color:rgba(255,255,255,.6);font-family:'IBM Plex Mono',monospace;margin-top:2px}
.enp-footer{background:#111;padding:8px 16px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:#6b7280;display:flex;justify-content:space-between;letter-spacing:.05em}
/* Winner banner */
.en-winner-banner{display:none;border-top:2px solid #c8a84b;padding:14px;flex-direction:column;gap:8px;background:linear-gradient(135deg,rgba(200,168,75,.08),rgba(0,0,0,0));margin:8px;border-radius:6px;border:1px solid #c8a84b}
.en-winner-banner.show{display:flex}
.en-news-ticker{position:fixed;bottom:0;left:0;right:0;z-index:997;height:32px;background:#0a0c10;border-top:1px solid #1e2535;overflow:hidden;display:flex;align-items:center}
.en-ticker-inner{display:flex;white-space:nowrap;animation:ticker 30s linear infinite}
@keyframes ticker{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}
.en-ticker-sep{margin:0 24px;color:#2a3348}
.en-winner-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;line-height:1.2}
.en-winner-sub{font-size:11px;color:#8a93a8;margin-top:2px}
.en-winner-ev{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#c8a84b;margin-top:4px}
.en-winner-btn{padding:8px 16px;background:#c8a84b;border:none;border-radius:6px;color:#0a0c10;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;cursor:pointer;margin-top:6px;transition:all .2s;width:100%}
.en-winner-btn:hover{background:#e8c96a;transform:translateY(-2px)}
/* Too close label on map */
.en-ctc-label{font-family:'IBM Plex Mono',monospace;fill:rgba(255,255,255,.8);font-size:5.5px;pointer-events:none}
/* Congress calls in feed */
.en-congress-call{padding:7px 14px;border-bottom:1px solid rgba(30,37,53,.7);display:flex;align-items:center;gap:8px;animation:enSlide .4s ease forwards;opacity:0;background:rgba(15,20,30,.5)}
.en-congress-call .race-label{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#4a5568;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0}
.en-congress-call .race-name{flex:1;font-size:10px;color:#8a93a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.en-congress-call .race-winner{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600}
/* Broadcast chyron (lower thirds) */
.en-chyron{position:fixed;bottom:36px;left:0;right:0;z-index:996;pointer-events:none;display:flex;flex-direction:column;gap:0;transform:translateY(100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.en-chyron.show{transform:translateY(0)}
.en-chyron-top{background:#c8a84b;padding:4px 16px;display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:520px}
.en-chyron-top-text{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;color:#0a0c10;letter-spacing:.06em;text-transform:uppercase}
.en-chyron-bottom{background:rgba(10,12,20,.97);border-top:2px solid #c8a84b;padding:6px 16px;width:fit-content;max-width:520px;border-right:2px solid #c8a84b}
.en-chyron-name{font-family:'Playfair Display',serif;font-size:18px;font-weight:900;color:#fff;line-height:1.1}
.en-chyron-sub{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#8a93a8;margin-top:2px}
