:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0b0f14;color:#edf2f7}@font-face{font-family:A2Z;src:url(/assets/%EC%97%90%EC%9D%B4%ED%88%AC%EC%A7%80%EC%B2%B4-4Regular-BrVgBu-k.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:A2Z;src:url(/assets/%EC%97%90%EC%9D%B4%ED%88%AC%EC%A7%80%EC%B2%B4-5Medium-DnykWd5j.woff2) format("woff2");font-weight:500;font-style:normal}@font-face{font-family:A2Z;src:url(/assets/%EC%97%90%EC%9D%B4%ED%88%AC%EC%A7%80%EC%B2%B4-6SemiBold-BtMUM1Op.woff2) format("woff2");font-weight:600;font-style:normal}@font-face{font-family:A2Z;src:url(/assets/%EC%97%90%EC%9D%B4%ED%88%AC%EC%A7%80%EC%B2%B4-7Bold-D_RSHtdY.woff2) format("woff2");font-weight:700;font-style:normal}@font-face{font-family:A2Z;src:url(/assets/%EC%97%90%EC%9D%B4%ED%88%AC%EC%A7%80%EC%B2%B4-8ExtraBold-C63gZb17.woff2) format("woff2");font-weight:800;font-style:normal}*{box-sizing:border-box}body{margin:0;background:#0b0f14}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button{font:inherit}.preset-identity-panel{margin-bottom:16px;padding:18px 22px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.preset-identity-panel-current-baseline{background:#ffffff08}.preset-identity-panel-election-broadcast{background:linear-gradient(90deg,#7f1d1d2e,#111827f5);border-color:#f8717133}.preset-identity-panel-editorial-briefing{background:#0c0e12f0;border-radius:0;box-shadow:none}.preset-identity-panel-editorial-briefing .preset-identity-main h2{font-family:Georgia,Times New Roman,serif}.preset-identity-panel-campaign-microsite{background:linear-gradient(135deg,#1c1c3cfa,#160f24fa);border-color:#c4b5fd2e;border-radius:28px}.preset-identity-panel-geo-atlas{background:linear-gradient(180deg,#081c1efa,#080f16fa);border-color:#2dd4bf29}.preset-identity-kicker{margin:0 0 8px;color:#60a5fa;font-size:11px;letter-spacing:.18em}.preset-identity-main{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.preset-identity-label{margin:0 0 6px;color:#cbd5e1;font-size:12px}.preset-identity-main h2{margin:0 0 8px;font-size:30px;line-height:1.05;letter-spacing:-.04em}.preset-identity-main p{margin:0;color:#94a3b8;font-size:14px;line-height:1.55;max-width:780px}.preset-identity-meta{display:flex;flex-direction:column;gap:8px;color:#cbd5e1;font-size:12px;white-space:nowrap}.preset-broadcast-band,.preset-editorial-lead,.preset-campaign-hero,.preset-atlas-strip{margin-bottom:16px}.preset-broadcast-band{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;min-height:52px;padding:12px 18px;border:1px solid rgba(248,113,113,.18);background:linear-gradient(90deg,#7f1d1d3d,#1e293bf5)}.preset-broadcast-band strong{color:#fff;font-size:14px;letter-spacing:.14em}.preset-broadcast-band span{color:#fecaca;font-size:13px}.preset-editorial-lead{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:22px;padding:24px 28px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.preset-editorial-lead h2{margin:0 0 10px;font-size:34px;line-height:1.05;letter-spacing:-.04em}.preset-editorial-lead p{margin:0;color:#94a3b8;line-height:1.6}.preset-editorial-lead ul{margin:0;padding-left:18px;color:#cbd5e1;display:grid;gap:8px}.preset-campaign-hero{padding:28px 30px;border:1px solid rgba(196,181,253,.18);background:linear-gradient(135deg,#161c38fa,#1c122ffa)}.preset-campaign-hero h2{margin:0 0 10px;font-size:38px;line-height:1.02;letter-spacing:-.05em}.preset-campaign-hero p{margin:0;color:#cbd5e1;font-size:15px;line-height:1.65;max-width:860px}.preset-campaign-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.preset-campaign-tags span{padding:8px 12px;border:1px solid rgba(196,181,253,.24);color:#ddd6fe;font-size:12px;letter-spacing:.08em}.preset-atlas-strip{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px;padding:18px 22px;border:1px solid rgba(52,211,153,.16);background:linear-gradient(180deg,#081c1ef5,#08111afa)}.preset-atlas-strip h2{margin:0;font-size:30px;line-height:1.08;letter-spacing:-.04em}.preset-atlas-notes{display:grid;gap:8px}.preset-atlas-notes span{color:#a7f3d0;font-size:13px}.preset-scene-eyebrow{margin:0 0 8px;color:#93c5fd;font-size:11px;letter-spacing:.18em}@keyframes region-detail-panel-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes map-detail-stage-in{0%{opacity:.82;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.page{max-width:1640px;margin:0 auto;padding:18px 24px 60px}.election-topbar{margin-bottom:18px}.dashboard-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:stretch}.dashboard-sidebar{position:sticky;top:18px;align-self:stretch;min-height:calc(100vh - 36px);padding:20px 12px;border-radius:0;border:0;border-right:1px solid rgba(255,255,255,.06);background:#0f172a85;box-shadow:none;display:flex;flex-direction:column;gap:20px}.dashboard-sidebar-main{display:flex;flex-direction:column;gap:18px}.dashboard-sidebar-label{margin:0 0 10px;color:#94a3b8;font-size:10px;letter-spacing:.18em;font-family:A2Z,Inter,sans-serif}.dashboard-sidebar-nav{display:flex;flex-direction:column;gap:4px}.dashboard-sidebar-link{position:relative;display:flex;align-items:center;width:100%;min-height:42px;padding:9px 12px 9px 16px;border-radius:0;border:0;background:transparent;color:#94a3b8;font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:color .18s ease,background .18s ease;font-family:A2Z,Inter,sans-serif;letter-spacing:.045em}.dashboard-sidebar-link:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:#94a3b82e}.dashboard-sidebar-link:hover{color:#e2e8f0;background:#ffffff05}.dashboard-sidebar-link.active{color:#f8fafc;background:#ffffff08;box-shadow:none}.dashboard-sidebar-link.active:before{width:2px;background:#e2e8f0e6}.dashboard-dev-panel{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}body:not([data-election-dev-panel="1"]) .dashboard-dev-panel{display:none!important;visibility:hidden!important;max-height:0!important;overflow:hidden!important;padding:0!important;border:0!important;margin:0!important}.dashboard-dev-card{padding:12px;border:1px solid rgba(255,255,255,.05);background:#ffffff04}.dashboard-dev-title{margin:0 0 10px;color:#64748b;font-size:10px;letter-spacing:.16em;font-family:A2Z,Inter,sans-serif}.dashboard-dev-list{display:flex;flex-direction:column;gap:6px;color:#64748b;font-size:12px}.dashboard-dev-list strong{color:#f8fafc;font-weight:700}.dashboard-preset-list{display:grid;grid-template-columns:1fr;gap:8px}.dashboard-preset-btn{border:1px solid rgba(255,255,255,.08);background:#0b0f14b8;color:#dbeafe;min-height:38px;text-align:left;padding:9px 10px;cursor:pointer}.dashboard-preset-btn.active{background:#2563eb33;border-color:#60a5fa80;color:#fff}.dashboard-main-sections{min-width:0}.dashboard-scene-panel{animation:region-detail-panel-in .18s ease}.preset-map-shell-geo-atlas{grid-template-columns:1fr}.preset-map-shell-geo-atlas .map-panel-detail-mode{max-width:none}.preset-map-shell-editorial-briefing .map-panel,.preset-map-shell-editorial-briefing .region-detail-panel{border-radius:0;box-shadow:none}.preset-map-shell-election-broadcast .map-panel{border-radius:12px}.preset-map-shell-campaign-microsite .map-panel{border-radius:28px}.preset-map-shell-election-broadcast .map-panel-head{padding-bottom:8px;border-bottom:1px solid rgba(248,113,113,.16)}.preset-map-shell-editorial-briefing .map-panel-head{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.preset-map-shell-campaign-microsite .map-panel-head{gap:12px}.preset-map-shell-geo-atlas .map-panel-head{padding-bottom:8px;border-bottom:1px dashed rgba(45,212,191,.22)}.election-topbar-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:0;border:1px solid rgba(255,255,255,.06);background:#0f172a94;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.election-topbar-main{display:flex;align-items:flex-start;gap:18px;min-width:0}.election-brandmark{font-family:A2Z,Inter,sans-serif;font-size:20px;font-weight:800;letter-spacing:.02em;color:#f8fafc}.election-brandmeta-wrap{position:relative;display:inline-flex;flex-direction:column;margin-top:14px}.election-countdown-trigger{display:inline-flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.1);background:#0f172ab8;color:#dbeafe;cursor:default;transition:background .18s ease,border-color .18s ease,color .18s ease}.election-brandmeta-wrap:hover .election-countdown-trigger{background:#1e293beb;border-color:#60a5fa57;color:#eff6ff}.election-countdown-icon{width:20px;height:20px;object-fit:contain;display:block;flex:0 0 20px}.election-countdown-trigger span{font-size:12px;color:#94a3b8}.election-countdown-trigger strong{font-size:15px;color:#f8fafc}.election-countdown-popover{position:absolute;top:calc(100% + 10px);left:0;width:360px;max-width:min(72vw,360px);padding:16px;border:1px solid rgba(255,255,255,.08);background:#0f172afa;color:#e2e8f0;box-shadow:0 16px 40px #0206176b;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:30}.election-brandmeta-wrap:hover .election-countdown-popover{opacity:1;transform:translateY(0);pointer-events:auto}.election-countdown-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.election-countdown-popover-head strong{font-size:16px;color:#f8fafc}.election-countdown-popover-head span{font-size:14px;font-weight:800;color:#1d4ed8}.election-countdown-popover-list{display:flex;flex-direction:column;gap:10px}.election-countdown-item{display:grid;gap:2px;padding-left:12px;border-left:2px solid rgba(148,163,184,.32)}.election-countdown-item span{font-size:11px;color:#64748b}.election-countdown-item strong{font-size:14px;line-height:1.35;color:#e2e8f0}.election-topbar-title-wrap{min-width:0}.eyebrow{letter-spacing:.18em;color:#66b3ff;font-size:12px;margin:0 0 8px}h1{margin:0;font-family:A2Z,Inter,sans-serif;font-size:38px;line-height:1.06;letter-spacing:.01em}.election-topbar-dek{margin:8px 0 0;color:#dbeafe;font-size:15px;line-height:1.35}.election-topbar-subdek{margin:4px 0 0;color:#94a3b8;font-size:12px;line-height:1.35}.election-topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}.election-language-select-wrap{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:0;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.election-language-label{font-size:13px;color:#94a3b8}.election-language-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.08);background:#0b0f14e0;color:#edf2f7;border-radius:0;padding:8px 12px;min-width:120px}.election-language-select:focus{outline:none;border-color:#60a5fa8c;box-shadow:0 0 0 3px #2563eb24}.metric-card,.status-card,.toolbar input,.docs-link,.market-card,.chart-panel{border:1px solid rgba(255,255,255,.08);background:#0e151feb;border-radius:0}.toolbar{display:flex;gap:12px;margin-bottom:16px}.toolbar input{flex:1;padding:16px 18px;color:#fff;font-size:15px}.docs-link{padding:16px 18px;color:#7dd3fc;white-space:nowrap}.hub-overview-strip{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px 18px;border-radius:0;border:1px solid rgba(255,255,255,.08);background:#0e151fb8}.hub-overview-strip-main{min-width:0}.hub-overview-label{margin:0 0 8px;color:#60a5fa;font-size:11px;letter-spacing:.18em}.hub-overview-inline-metrics{display:flex;flex-wrap:wrap;gap:8px 14px;color:#94a3b8;font-size:13px}.hub-overview-inline-metrics span{white-space:nowrap}.ui-preset-civic-terminal .chart-panel,.ui-preset-civic-terminal .market-card,.ui-preset-civic-terminal .layout-lab-legacy-panel,.ui-preset-civic-terminal .region-detail-panel,.ui-preset-civic-terminal .map-panel{background:#0c121bf5;border-color:#60a5fa24;box-shadow:0 18px 44px #00000038}.ui-preset-civic-terminal .dashboard-sidebar{background:#080c12fa}.ui-preset-civic-terminal .dashboard-sidebar-link.active{background:#2563eb29;box-shadow:inset 3px 0 #60a5fa}.ui-preset-election-broadcast .chart-panel,.ui-preset-election-broadcast .market-card,.ui-preset-election-broadcast .layout-lab-legacy-panel,.ui-preset-election-broadcast .region-detail-panel,.ui-preset-election-broadcast .map-panel{border-radius:12px;border-color:#f871712e;background:linear-gradient(180deg,#121a28fa,#080b11fa);box-shadow:0 20px 48px #0000004d}.ui-preset-election-broadcast .election-topbar-panel{border-radius:0;background:#0f172a94}.ui-preset-election-broadcast .dashboard-sidebar{background:#0f172a66;border-right-color:#ffffff0f}.ui-preset-election-broadcast .dashboard-sidebar-link.active{background:#ffffff08;box-shadow:none}.ui-preset-election-broadcast .dashboard-sidebar-link.active:before{background:#f87171eb}.ui-preset-election-broadcast .map-panel-label,.ui-preset-election-broadcast .hub-overview-label,.ui-preset-election-broadcast .dashboard-sidebar-label{color:#94a3b8}.ui-preset-editorial-briefing .chart-panel,.ui-preset-editorial-briefing .market-card,.ui-preset-editorial-briefing .layout-lab-legacy-panel,.ui-preset-editorial-briefing .region-detail-panel,.ui-preset-editorial-briefing .map-panel{border-radius:0;border-color:#ffffff1a;background:#0a0e14f7;box-shadow:none}.ui-preset-editorial-briefing .dashboard-sidebar{background:#090d13;border-right-color:#ffffff1f}.ui-preset-editorial-briefing .dashboard-sidebar-link.active{background:#ffffff08;box-shadow:none}.ui-preset-editorial-briefing .dashboard-sidebar-link.active:before{background:#f8fafceb}.ui-preset-editorial-briefing .election-brandmark,.ui-preset-editorial-briefing h1,.ui-preset-editorial-briefing .map-panel-head h2{font-family:Georgia,Times New Roman,serif;letter-spacing:-.03em}.ui-preset-campaign-microsite .page{background:radial-gradient(circle at 20% 0%,#1b2d4d,#0b0f14 35%),linear-gradient(180deg,#0b0f14,#111827)}.ui-preset-campaign-microsite .chart-panel,.ui-preset-campaign-microsite .market-card,.ui-preset-campaign-microsite .layout-lab-legacy-panel,.ui-preset-campaign-microsite .region-detail-panel,.ui-preset-campaign-microsite .map-panel{border-radius:28px;border-color:#c4b5fd29;background:linear-gradient(180deg,#18182cf0,#0c0e18f7);box-shadow:0 24px 60px #00000047}.ui-preset-campaign-microsite .dashboard-sidebar{background:linear-gradient(180deg,#141022fa,#0a0a14fa);border-right-color:#c4b5fd2e}.ui-preset-campaign-microsite .dashboard-sidebar-link.active{background:#8b5cf62e;box-shadow:inset 4px 0 #c4b5fd}.ui-preset-campaign-microsite .dashboard-sidebar-label,.ui-preset-campaign-microsite .map-panel-label,.ui-preset-campaign-microsite .hub-overview-label{color:#c4b5fd}.ui-preset-campaign-microsite .election-topbar-panel{background:linear-gradient(135deg,#19213af5,#140f22f5);border-color:#c4b5fd33}.ui-preset-institutional-report{color:#e5edf5}.ui-preset-institutional-report .page{background:linear-gradient(180deg,#edf2f7,#dbe5ef);color:#132236}.ui-preset-institutional-report .election-topbar-panel,.ui-preset-institutional-report .chart-panel,.ui-preset-institutional-report .market-card,.ui-preset-institutional-report .layout-lab-legacy-panel,.ui-preset-institutional-report .region-detail-panel,.ui-preset-institutional-report .map-panel,.ui-preset-institutional-report .dashboard-dev-card,.ui-preset-institutional-report .account-summary-card,.ui-preset-institutional-report .status-card,.ui-preset-institutional-report .toolbar input,.ui-preset-institutional-report .docs-link{background:#ffffffeb;color:#132236;border-color:#1322361f;box-shadow:none}.ui-preset-institutional-report .dashboard-sidebar{background:#e9eff6fa;border-right-color:#1322361f}.ui-preset-institutional-report .dashboard-sidebar-link{color:#17314f}.ui-preset-institutional-report .dashboard-sidebar-link.active{background:#13223614;box-shadow:inset 3px 0 #17314f}.ui-preset-institutional-report .eyebrow,.ui-preset-institutional-report .dashboard-sidebar-label,.ui-preset-institutional-report .map-panel-label,.ui-preset-institutional-report .hub-overview-label,.ui-preset-institutional-report .dashboard-dev-title{color:#28588c}.ui-preset-institutional-report .region,.ui-preset-institutional-report .market-type,.ui-preset-institutional-report .chart-panel-subtitle,.ui-preset-institutional-report .dashboard-dev-list{color:#4f647d}.ui-preset-glass-situation-room .page{background:radial-gradient(circle at 20% 10%,rgba(56,189,248,.22),transparent 30%),radial-gradient(circle at 80% 0%,rgba(167,139,250,.2),transparent 24%),#08111d}.ui-preset-glass-situation-room .chart-panel,.ui-preset-glass-situation-room .market-card,.ui-preset-glass-situation-room .layout-lab-legacy-panel,.ui-preset-glass-situation-room .region-detail-panel,.ui-preset-glass-situation-room .map-panel,.ui-preset-glass-situation-room .dashboard-dev-card,.ui-preset-glass-situation-room .account-summary-card{background:linear-gradient(180deg,#141e2c94,#090d1494);border-color:#94a3b82e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 22px 64px #00000047}.ui-preset-glass-situation-room .dashboard-sidebar{background:linear-gradient(180deg,#0a101cb8,#060a12eb);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ui-preset-glass-situation-room .dashboard-sidebar-link.active{background:#38bdf829;box-shadow:inset 4px 0 #67e8f9}.ui-preset-glass-situation-room .dashboard-sidebar-label,.ui-preset-glass-situation-room .map-panel-label,.ui-preset-glass-situation-room .hub-overview-label{color:#67e8f9}.ui-preset-monochrome-press-desk .page{background:linear-gradient(180deg,#0a0b0d,#121316)}.ui-preset-monochrome-press-desk .chart-panel,.ui-preset-monochrome-press-desk .market-card,.ui-preset-monochrome-press-desk .layout-lab-legacy-panel,.ui-preset-monochrome-press-desk .region-detail-panel,.ui-preset-monochrome-press-desk .map-panel,.ui-preset-monochrome-press-desk .dashboard-dev-card,.ui-preset-monochrome-press-desk .account-summary-card{background:#111316;border-color:#ffffff14;box-shadow:none}.ui-preset-monochrome-press-desk .dashboard-sidebar{background:#090a0c;border-right-color:#ffffff14}.ui-preset-monochrome-press-desk .dashboard-sidebar-link.active{background:#ffffff12;box-shadow:inset 4px 0 #fff}.ui-preset-monochrome-press-desk .dashboard-sidebar-label,.ui-preset-monochrome-press-desk .map-panel-label,.ui-preset-monochrome-press-desk .hub-overview-label{color:#d4d4d8}.ui-preset-monochrome-press-desk .eyebrow,.ui-preset-monochrome-press-desk .region-detail-market-title-block span{color:#a1a1aa}.ui-preset-geo-atlas .map-panel{background:linear-gradient(180deg,#091f1cfa,#071219fa);border-color:#10b9812e}.ui-preset-geo-atlas .chart-panel,.ui-preset-geo-atlas .market-card,.ui-preset-geo-atlas .layout-lab-legacy-panel,.ui-preset-geo-atlas .region-detail-panel,.ui-preset-geo-atlas .dashboard-dev-card,.ui-preset-geo-atlas .account-summary-card{background:#09141af5;border-color:#2dd4bf24}.ui-preset-geo-atlas .dashboard-sidebar{background:#0f172a66;border-right-color:#ffffff0f}.ui-preset-geo-atlas .dashboard-sidebar-link.active{background:#ffffff08;box-shadow:none}.ui-preset-geo-atlas .dashboard-sidebar-link.active:before{background:#34d399eb}.ui-preset-geo-atlas .dashboard-sidebar-label,.ui-preset-geo-atlas .map-panel-label,.ui-preset-geo-atlas .hub-overview-label{color:#94a3b8}.ui-preset-geo-atlas .map-svg-wrap{background:radial-gradient(circle at top,#083a33eb,#081a26fa)}.preset-identity-panel-election-broadcast{background:#1b1f29}.preset-broadcast-band{background:#2a1d24}.preset-editorial-lead{background:#101317}.preset-identity-panel-geo-atlas{background:#0b1c20}.preset-atlas-strip{background:#0c1d21}.ui-preset-election-broadcast .page{background:linear-gradient(180deg,#0f172a,#111827)}.ui-preset-election-broadcast .chart-panel,.ui-preset-election-broadcast .market-card,.ui-preset-election-broadcast .layout-lab-legacy-panel,.ui-preset-election-broadcast .region-detail-panel,.ui-preset-election-broadcast .map-panel,.ui-preset-election-broadcast .region-detail-column-panel,.ui-preset-election-broadcast .region-detail-column-panel-legacy,.ui-preset-election-broadcast .layout-lab-switcher,.ui-preset-election-broadcast .account-summary-card,.ui-preset-election-broadcast .dashboard-dev-card,.ui-preset-election-broadcast .toolbar input,.ui-preset-election-broadcast .docs-link,.ui-preset-election-broadcast .status-card{background:#141c29}.ui-preset-election-broadcast .election-topbar-panel{background:#0f172a94}.ui-preset-election-broadcast .dashboard-sidebar{background:#0f172a66}.ui-preset-election-broadcast .map-svg-wrap,.ui-preset-election-broadcast .map-svg-wrap-callout{background:linear-gradient(180deg,#0f172ad1,#0f172ab8)}.ui-preset-election-broadcast .map-callout-card{background:#24191f}.ui-preset-election-broadcast .map-callout-card.active{background:#2d2028}.ui-preset-election-broadcast .map-callout-candidate-bar,.ui-preset-election-broadcast .map-callout-candidate-row.is-left-stack .map-callout-candidate-bar,.ui-preset-election-broadcast .primary-btn,.ui-preset-election-broadcast .trade-submit-btn{background:#7f1d1d}.ui-preset-editorial-briefing .page{background:linear-gradient(180deg,#0f172a,#111827)}.ui-preset-editorial-briefing .chart-panel,.ui-preset-editorial-briefing .market-card,.ui-preset-editorial-briefing .layout-lab-legacy-panel,.ui-preset-editorial-briefing .region-detail-panel,.ui-preset-editorial-briefing .map-panel,.ui-preset-editorial-briefing .region-detail-column-panel,.ui-preset-editorial-briefing .region-detail-column-panel-legacy,.ui-preset-editorial-briefing .layout-lab-switcher,.ui-preset-editorial-briefing .account-summary-card,.ui-preset-editorial-briefing .dashboard-dev-card,.ui-preset-editorial-briefing .toolbar input,.ui-preset-editorial-briefing .docs-link,.ui-preset-editorial-briefing .status-card,.ui-preset-editorial-briefing .preset-identity-panel,.ui-preset-editorial-briefing .preset-editorial-lead{background:#111417}.ui-preset-editorial-briefing .election-topbar-panel{background:#0f172a94}.ui-preset-editorial-briefing .dashboard-sidebar{background:#0f172a66}.ui-preset-editorial-briefing .map-svg-wrap,.ui-preset-editorial-briefing .map-svg-wrap-callout,.ui-preset-editorial-briefing .map-callout-card,.ui-preset-editorial-briefing .map-callout-card.active,.ui-preset-editorial-briefing .primary-btn,.ui-preset-editorial-briefing .trade-submit-btn{background:linear-gradient(180deg,#0f172ad1,#0f172ab8)}.ui-preset-editorial-briefing .map-callout-candidate-bar,.ui-preset-editorial-briefing .map-callout-candidate-row.is-left-stack .map-callout-candidate-bar{background:#3a4450}.ui-preset-geo-atlas .page{background:linear-gradient(180deg,#0f172a,#111827)}.ui-preset-geo-atlas .map-panel,.ui-preset-geo-atlas .chart-panel,.ui-preset-geo-atlas .market-card,.ui-preset-geo-atlas .layout-lab-legacy-panel,.ui-preset-geo-atlas .region-detail-panel,.ui-preset-geo-atlas .region-detail-column-panel,.ui-preset-geo-atlas .region-detail-column-panel-legacy,.ui-preset-geo-atlas .dashboard-dev-card,.ui-preset-geo-atlas .account-summary-card,.ui-preset-geo-atlas .layout-lab-switcher,.ui-preset-geo-atlas .toolbar input,.ui-preset-geo-atlas .docs-link,.ui-preset-geo-atlas .status-card,.ui-preset-geo-atlas .preset-identity-panel,.ui-preset-geo-atlas .preset-atlas-strip{background:#0b2025}.ui-preset-geo-atlas .dashboard-sidebar{background:#0f172a66}.ui-preset-election-broadcast .dashboard-sidebar,.ui-preset-editorial-briefing .dashboard-sidebar,.ui-preset-geo-atlas .dashboard-sidebar{background:#0f172a66;border-right-color:#ffffff0f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ui-preset-election-broadcast .dashboard-dev-card,.ui-preset-editorial-briefing .dashboard-dev-card,.ui-preset-geo-atlas .dashboard-dev-card{background:#ffffff03;border-color:#ffffff0d}.ui-preset-election-broadcast .dashboard-sidebar-link,.ui-preset-editorial-briefing .dashboard-sidebar-link,.ui-preset-geo-atlas .dashboard-sidebar-link{color:#94a3b8}.ui-preset-election-broadcast .dashboard-sidebar-link:hover,.ui-preset-editorial-briefing .dashboard-sidebar-link:hover,.ui-preset-geo-atlas .dashboard-sidebar-link:hover{color:#e2e8f0}.ui-preset-geo-atlas .map-svg-wrap,.ui-preset-geo-atlas .map-svg-wrap-callout,.ui-preset-geo-atlas .map-callout-card,.ui-preset-geo-atlas .map-callout-card.active{background:#0d2428}.ui-preset-geo-atlas .map-callout-candidate-bar,.ui-preset-geo-atlas .map-callout-candidate-row.is-left-stack .map-callout-candidate-bar,.ui-preset-geo-atlas .primary-btn,.ui-preset-geo-atlas .trade-submit-btn{background:#0f766e}.preset-identity-panel,.preset-campaign-hero,.preset-editorial-lead,.preset-atlas-strip,.preset-broadcast-band,.ui-preset-election-broadcast .chart-panel,.ui-preset-election-broadcast .market-card,.ui-preset-election-broadcast .layout-lab-legacy-panel,.ui-preset-election-broadcast .region-detail-panel,.ui-preset-election-broadcast .map-panel,.ui-preset-election-broadcast .election-topbar-panel,.ui-preset-editorial-briefing .chart-panel,.ui-preset-editorial-briefing .market-card,.ui-preset-editorial-briefing .layout-lab-legacy-panel,.ui-preset-editorial-briefing .region-detail-panel,.ui-preset-editorial-briefing .map-panel,.ui-preset-campaign-microsite .chart-panel,.ui-preset-campaign-microsite .market-card,.ui-preset-campaign-microsite .layout-lab-legacy-panel,.ui-preset-campaign-microsite .region-detail-panel,.ui-preset-campaign-microsite .map-panel,.ui-preset-geo-atlas .chart-panel,.ui-preset-geo-atlas .market-card,.ui-preset-geo-atlas .layout-lab-legacy-panel,.ui-preset-geo-atlas .region-detail-panel,.ui-preset-geo-atlas .map-panel,.ui-preset-election-broadcast .map-callout-card,.ui-preset-editorial-briefing .map-callout-card,.ui-preset-campaign-microsite .map-callout-card,.ui-preset-geo-atlas .map-callout-card{border-radius:0!important}.ui-preset-election-broadcast .map-callout-candidate-row.party-democratic .map-callout-candidate-bar,.ui-preset-editorial-briefing .map-callout-candidate-row.party-democratic .map-callout-candidate-bar,.ui-preset-geo-atlas .map-callout-candidate-row.party-democratic .map-callout-candidate-bar{background:#2563eb57!important}.ui-preset-election-broadcast .map-callout-candidate-row.party-ppp .map-callout-candidate-bar,.ui-preset-editorial-briefing .map-callout-candidate-row.party-ppp .map-callout-candidate-bar,.ui-preset-geo-atlas .map-callout-candidate-row.party-ppp .map-callout-candidate-bar{background:#dc262657!important}.ui-preset-election-broadcast .map-callout-candidate-row.party-other .map-callout-candidate-bar,.ui-preset-editorial-briefing .map-callout-candidate-row.party-other .map-callout-candidate-bar,.ui-preset-geo-atlas .map-callout-candidate-row.party-other .map-callout-candidate-bar{background:#64748b47!important}.ui-preset-magazine-feature .page{background:linear-gradient(180deg,#f6f1e8,#ece3d6);color:#1f1c18}.ui-preset-magazine-feature .election-topbar-panel,.ui-preset-magazine-feature .chart-panel,.ui-preset-magazine-feature .market-card,.ui-preset-magazine-feature .layout-lab-legacy-panel,.ui-preset-magazine-feature .region-detail-panel,.ui-preset-magazine-feature .map-panel,.ui-preset-magazine-feature .dashboard-dev-card,.ui-preset-magazine-feature .account-summary-card,.ui-preset-magazine-feature .status-card,.ui-preset-magazine-feature .toolbar input,.ui-preset-magazine-feature .docs-link{background:#fffaf4f5;color:#221f1a;border-color:#3c2c1c24;box-shadow:0 10px 28px #4e381c14}.ui-preset-magazine-feature .dashboard-sidebar{background:#f5efe5fa;border-right-color:#3c2c1c24}.ui-preset-magazine-feature .dashboard-sidebar-link{color:#3a3025}.ui-preset-magazine-feature .dashboard-sidebar-link.active{background:#3c2c1c14;box-shadow:inset 3px 0 #7c5b2f}.ui-preset-magazine-feature .election-brandmark,.ui-preset-magazine-feature h1,.ui-preset-magazine-feature .map-panel-head h2,.ui-preset-magazine-feature .region-detail-market-title-block strong{font-family:Georgia,Times New Roman,serif;letter-spacing:-.03em;color:#1f1b16}.ui-preset-magazine-feature .dashboard-sidebar-label,.ui-preset-magazine-feature .map-panel-label,.ui-preset-magazine-feature .hub-overview-label{color:#7c5b2f}.ui-preset-magazine-feature .region,.ui-preset-magazine-feature .market-type,.ui-preset-magazine-feature .chart-panel-subtitle,.ui-preset-magazine-feature .dashboard-dev-list{color:#6f6252}.ui-preset-quant-election-lab .page{background:radial-gradient(circle at 20% 0%,rgba(34,197,94,.1),transparent 22%),radial-gradient(circle at 80% 0%,rgba(59,130,246,.12),transparent 20%),#081018}.ui-preset-quant-election-lab .chart-panel,.ui-preset-quant-election-lab .market-card,.ui-preset-quant-election-lab .layout-lab-legacy-panel,.ui-preset-quant-election-lab .region-detail-panel,.ui-preset-quant-election-lab .map-panel,.ui-preset-quant-election-lab .dashboard-dev-card,.ui-preset-quant-election-lab .account-summary-card{background:#0a1218f7;border-color:#22c55e24}.ui-preset-quant-election-lab .dashboard-sidebar{background:#070e12fa;border-right-color:#22c55e29}.ui-preset-quant-election-lab .dashboard-sidebar-link.active{background:#22c55e24;box-shadow:inset 4px 0 #4ade80}.ui-preset-quant-election-lab .dashboard-sidebar-label,.ui-preset-quant-election-lab .map-panel-label,.ui-preset-quant-election-lab .hub-overview-label{color:#4ade80}.ui-preset-quant-election-lab .candidate-row strong,.ui-preset-quant-election-lab .map-callout-candidate-row em,.ui-preset-quant-election-lab .chart-legend-item strong{font-variant-numeric:tabular-nums}.dashboard-focus-shell{margin-bottom:16px}.dashboard-focus-shell.is-detail{display:grid;grid-template-columns:minmax(420px,.64fr) minmax(680px,1.36fr);gap:18px;align-items:start}.region-detail-panel{border:1px solid rgba(255,255,255,.08);background:#0e151feb;border-radius:0;padding:22px;box-shadow:none;display:flex;flex-direction:column;gap:18px;position:sticky;top:18px;min-height:840px;animation:region-detail-panel-in .24s ease}.region-detail-title-wrap h2{margin:6px 0 8px;font-size:28px;line-height:1.15}.region-detail-subtitle,.region-detail-graph-note{margin:0;color:#94a3b8;line-height:1.6;font-size:12px}.region-detail-two-column-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.region-detail-two-column-layout-editorial-briefing,.region-detail-two-column-layout-campaign-microsite{grid-template-columns:1fr;gap:18px}.region-detail-two-column-layout-geo-atlas{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.region-detail-column-panel{min-height:0;border:1px solid rgba(255,255,255,.08);border-radius:0;background:linear-gradient(180deg,#111827f5,#0b0f14f5);box-shadow:none;overflow:hidden;display:flex;flex-direction:column;padding:16px;gap:14px}.region-detail-column-panel-polymarket{gap:12px}.region-detail-column-panel-legacy{background:linear-gradient(180deg,#10161ff0,#0a0d13fa)}.region-detail-panel-election-broadcast .region-detail-column-panel{border-radius:12px;border-color:#f871712e}.region-detail-panel-editorial-briefing .region-detail-column-panel{border-radius:0;box-shadow:none}.region-detail-panel-campaign-microsite .region-detail-column-panel{border-radius:24px;border-color:#c4b5fd29}.region-detail-panel-geo-atlas .region-detail-column-panel{border-radius:10px;border-color:#2dd4bf24;box-shadow:none}.region-detail-chart-head{margin-bottom:0}.region-detail-market-title-block{display:flex;flex-direction:column;gap:3px;margin-top:8px}.region-detail-market-title-block strong{display:block;color:#f8fafc;font-size:28px;line-height:1.08;letter-spacing:-.04em}.region-detail-market-title-block span{display:block;color:#94a3b8;font-size:13px;line-height:1.35}.region-detail-panel-election-broadcast .region-detail-market-title-block strong{font-size:34px;text-transform:uppercase}.region-detail-panel-editorial-briefing .region-detail-market-title-block{gap:8px}.region-detail-panel-editorial-briefing .region-detail-market-title-block strong{font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:700}.region-detail-panel-editorial-briefing .region-detail-market-title-block span{font-size:15px;max-width:70ch}.region-detail-panel-campaign-microsite .region-detail-market-title-block strong{font-size:40px}.region-detail-panel-geo-atlas .region-detail-market-title-block strong{font-size:30px}.region-detail-grid-card-head{display:flex;flex-direction:column;gap:6px}.region-detail-grid-card-head strong{color:#f8fafc;font-size:16px;line-height:1.3}.region-detail-market-card-list,.region-detail-market-card-meta{margin-bottom:0}.region-detail-market-card-footer{margin-top:auto}.region-detail-legacy-detail-block{display:flex;flex-direction:column;gap:12px;padding-top:2px}.region-detail-secondary-chart-block{display:flex;flex-direction:column;gap:12px;margin-top:14px}.region-detail-gallup-latest-list{margin-bottom:2px}.region-detail-gallup-latest-row{padding:10px 12px;border-radius:0;background:#ffffff05}.region-detail-grid-card-head-with-switcher{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.region-detail-media-select-wrap{display:flex;flex-direction:column;gap:6px;min-width:136px}.region-detail-media-select-wrap span{color:#94a3b8;font-size:11px}.region-detail-media-select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.08);background:#0f172ab8;color:#f8fafc;padding:8px 10px;border-radius:0}.region-detail-legacy-latest-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.region-detail-legacy-latest-card{position:relative;padding:12px 14px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;overflow:hidden;isolation:isolate}.region-detail-legacy-latest-bar{position:absolute;top:10px;bottom:10px;right:14px;width:var(--legacy-bar-fill, 0%);max-width:42%;background:color-mix(in srgb,var(--legacy-bar-color, #6b7280) 28%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--legacy-bar-color, #6b7280) 40%,transparent);z-index:0}.region-detail-legacy-latest-main{position:relative;z-index:1;display:flex;align-items:stretch;justify-content:space-between;gap:12px}.region-detail-legacy-latest-media-pair{display:inline-flex;align-items:stretch;gap:10px;min-width:0;margin:-12px 0 -12px -14px}.region-detail-legacy-party-thumb-wrap{align-self:stretch;flex:0 0 auto}.region-detail-legacy-color-dot{width:10px;height:10px;flex:0 0 10px;align-self:center}.region-detail-legacy-latest-name-wrap{display:flex;align-items:center;gap:8px;min-height:48px}.region-detail-legacy-latest-name-wrap b{display:block;color:#f8fafc;font-size:16px;line-height:1.1;font-family:A2Z,Inter,sans-serif;letter-spacing:.02em}.region-detail-legacy-latest-card strong{color:#f8fafc;font-size:17px}.region-detail-legacy-zoom-btn{border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#cbd5e1;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex:0 0 24px}.region-detail-legacy-zoom-btn:hover{background:#ffffff14;color:#f8fafc}.region-detail-legacy-stack{display:flex;flex-direction:column;gap:10px}.region-detail-source-main{display:flex;align-items:center;gap:10px;min-width:0}.region-detail-source-link{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;background:#2563eb24;border:1px solid rgba(96,165,250,.3);color:#dbeafe}.region-detail-market-card-row{cursor:default;flex-direction:column;align-items:stretch;gap:0}.region-detail-market-card-row:hover{transform:none}.region-detail-market-card-row .candidate-label-group{gap:10px}.region-detail-market-card-row-main{display:flex;align-items:stretch;justify-content:space-between;gap:14px}.region-detail-legacy-card{box-shadow:none}.map-panel{margin-bottom:16px;border:1px solid rgba(255,255,255,.06);background:#0f172a70;border-radius:0;padding:24px;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-panel-callout-prototype{padding-bottom:28px}.map-panel-chromeless{border:0;background:transparent;box-shadow:none;padding:0}.map-panel-detail-mode{width:100%;max-width:560px;justify-self:end}.map-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.map-panel-head-minimal{margin-bottom:14px}.map-panel-label{margin:0 0 8px;color:#60a5fa;font-size:11px;letter-spacing:.18em}.map-panel-head h2{margin:0;font-size:32px}.map-panel-subtitle{margin:10px 0 0;color:#94a3b8;max-width:900px}.map-panel-prototype-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:0;border:1px solid rgba(96,165,250,.28);background:#2563eb1f;color:#bfdbfe;font-size:12px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.map-panel-body{display:block}.map-panel-body-svg{align-items:start}.map-infographic-stage{display:flex;flex-direction:column;gap:16px}.map-svg-wrap{border-radius:0;background:linear-gradient(180deg,#0f172ac7,#0f172aad);border:1px solid rgba(255,255,255,.04);padding:14px}.map-svg-wrap-real{padding:20px 20px 26px;position:relative;min-height:1200px}.map-svg-wrap-callout{overflow:hidden;background:linear-gradient(180deg,#0f172ad1,#0f172ab8)}.map-svg-wrap-callout.is-detail-mode{min-height:700px;padding:66px 10px 10px;animation:map-detail-stage-in .24s ease}.map-svg-wrap-neutral,.map-svg-wrap-callout.map-svg-wrap-neutral,.map-svg-wrap-test-neutral,.map-svg-wrap-callout.map-svg-wrap-test-neutral{background:#12161c}.map-detail-back-btn{position:absolute;top:14px;left:14px;z-index:6;border:1px solid rgba(255,255,255,.1);background:#0e151fe0;color:#e2e8f0;padding:10px 14px;border-radius:0;cursor:pointer;box-shadow:none}.map-detail-back-btn:hover{border-color:#60a5fa80;background:#2563eb1f}.map-svg-centerpiece{position:absolute;left:24%;top:14%;width:52%;min-width:480px;z-index:4}.map-svg-centerpiece.is-detail-mode{min-width:0}.map-anchor-picker-stage-tuning{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.map-anchor-picker-stage-tuning label{display:flex;flex-direction:column;gap:6px;color:#cbd5e1;font-size:12px}.map-anchor-picker-stage-tuning input[type=range]{width:100%}.korea-election-map{width:100%;height:auto;display:block}.korea-election-map-real{filter:drop-shadow(0 18px 30px rgba(0,0,0,.22));min-height:680px}.map-anchor-click-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:transparent;border:0;cursor:crosshair}.map-inset-frame{fill:none;stroke:#94a3b88f;stroke-width:1.2;stroke-dasharray:5 4}.map-inset-frame.is-selected{stroke:#bfdbfef5;stroke-width:1.5}.map-inset-island{fill:#2563eb6b;stroke:#7dd3fcc2;stroke-width:1.1}.map-inset-island.jeju{fill:#47556959;stroke:#64748b6b;stroke-width:1.4}.map-inset-island.dokdo{fill:#93c5fdeb;stroke:#eff6ffd9;stroke-width:.8}.map-inset-label{font-size:11px;stroke-width:2.4px}@font-face{font-family:RailSeoul;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_two@1.0/SeoulNamsanM.woff) format("woff")}@font-face{font-family:RailIncheonFallback;src:url(https://fonts.gstatic.com/ea/nanumgothic/v5/NanumGothic-Bold.woff2) format("woff2")}@font-face{font-family:RailGyeonggi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2410-3@1.0/TitleV.woff) format("woff")}@font-face{font-family:RailGangwon;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2307-2@1.0/GangwonState.woff2) format("woff2")}@font-face{font-family:RailBusan;src:url(https://cdn.jsdelivr.net/korean-webfonts/1/orgs/govs/busan/Busan/Busan.woff2) format("woff2"),url(https://cdn.jsdelivr.net/korean-webfonts/1/orgs/govs/busan/Busan/Busan.woff) format("woff")}@font-face{font-family:RailChungnam;src:url(https://www.chungnam.go.kr/static/cnci/font/NanumSquareB.woff) format("woff")}@font-face{font-family:RailChungbuk;src:url(https://www.chungbuk.go.kr/site/brand/font/OmniGothic_700.woff) format("woff")}.map-callout-connectors{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.map-callout-line{fill:none;stroke:#94a3b885;stroke-width:.28;stroke-linecap:round;stroke-linejoin:round}.map-callout-line.is-selected{stroke:#bfdbfee0;stroke-width:.34;filter:none}.map-callout-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.map-callout-card{position:absolute;width:28.9%;min-width:324px;padding:12px 12px 11px;border-radius:0;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#111827f5,#0b0f14f5);color:#e2e8f0;text-align:left;cursor:pointer;box-shadow:none;transition:transform .16s ease,border-color .16s ease,background .16s ease;pointer-events:auto}.map-callout-surface-soft .map-callout-card,.map-callout-surface-test-neutral .map-callout-card{background:#0f1318f0;border-color:#ffffff0f;box-shadow:0 10px 22px #0000002e}.ui-preset-election-broadcast .map-callout-card{border-radius:10px;border-color:#f871712e;background:linear-gradient(180deg,#22141cfa,#0e1018fa);box-shadow:0 10px 22px #00000047}.ui-preset-election-broadcast .map-callout-title-text{color:#fca5a5;letter-spacing:.18em}.ui-preset-election-broadcast .map-callout-candidate-row{background:#ffffff0d}.ui-preset-editorial-briefing .map-callout-card{border-radius:0;box-shadow:none;background:#0a0e14fa}.ui-preset-editorial-briefing .map-callout-title-text{color:#dbe3ec;font-family:Georgia,Times New Roman,serif;letter-spacing:.08em}.ui-preset-editorial-briefing .map-callout-candidate-row{background:#ffffff04;border:1px solid rgba(255,255,255,.05)}.ui-preset-campaign-microsite .map-callout-card{border-radius:24px;border-color:#c4b5fd2e;background:linear-gradient(180deg,#1a1a34fa,#0e0c1afa);box-shadow:0 18px 40px #0000003d}.ui-preset-geo-atlas .map-callout-card{border-radius:8px;border-color:#2dd4bf29;background:#061117eb;box-shadow:none}.ui-preset-geo-atlas .map-callout-title-text{color:#6ee7b7}.ui-preset-geo-atlas .map-callout-region-rail{border-left-style:dashed}.ui-preset-geo-atlas .map-callout-regional-shell.is-right-stack .map-callout-region-rail{border-right-style:dashed}.map-callout-card-national{width:43.2%;min-width:520px}.map-callout-card-regional{width:31.8%;min-width:364px}.map-callout-card:hover{transform:translateY(-2px);border-color:#60a5fa57}.map-callout-card.active{border-color:#93c5fdb8;background:linear-gradient(180deg,#1e40af47,#0b0f14f5);box-shadow:0 18px 36px #1e40af29}.map-callout-surface-soft .map-callout-card.active,.map-callout-surface-test-neutral .map-callout-card.active{background:#131a22f5;border-color:#bfdbfe8f;box-shadow:0 14px 28px #0000002e}.map-callout-mock-columns{margin-top:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}.map-callout-mock-columns-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.map-callout-regional-shell{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:12px;align-items:stretch}.map-callout-regional-shell.is-right-stack{grid-template-columns:70px minmax(0,1fr)}.map-callout-regional-content{margin-top:0;grid-template-columns:minmax(0,1fr);gap:0}.map-callout-regional-shell.is-right-stack .map-callout-regional-content{order:2}.map-callout-region-rail{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding-left:6px;border-left:1px solid rgba(255,255,255,.08)}.map-callout-regional-shell.is-right-stack .map-callout-region-rail{order:1;padding-left:0;padding-right:6px;border-left:0;border-right:1px solid rgba(255,255,255,.08)}.map-callout-region-logo-image{width:48px;height:48px;object-fit:contain;display:block;background:transparent;flex:0 0 auto}.map-callout-region-vertical-name{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#f8fafc;font-size:32px;font-weight:300;line-height:.92;letter-spacing:-.04em;font-family:Pretendard Variable,Pretendard,sans-serif}.map-callout-region-vertical-name span{display:block}.map-callout-region-vertical-name.is-seoul{font-family:RailSeoul,sans-serif;font-weight:500}.map-callout-region-vertical-name.is-incheon{font-family:RailIncheonFallback,Nanum Gothic,Malgun Gothic,sans-serif;font-weight:700}.map-callout-region-vertical-name.is-gyeonggi{font-family:RailGyeonggi,sans-serif;font-weight:700}.map-callout-region-vertical-name.is-chungnam{font-family:RailChungnam,sans-serif;font-weight:700}.map-callout-region-vertical-name.is-gangwon{font-family:RailGangwon,sans-serif;font-weight:400}.map-callout-region-vertical-name.is-chungbuk{font-family:RailChungbuk,sans-serif;font-weight:700}.map-callout-region-vertical-name.is-busan{font-family:RailBusan,sans-serif;font-weight:400}.map-callout-source-mark-wrap{margin-top:0;margin-bottom:8px;height:28px;display:flex;align-items:center;gap:6px;min-width:0}.map-callout-source-mark-wrap.is-left-stack{justify-content:flex-end;text-align:right}.map-callout-source-mark-wrap.is-right-stack{justify-content:flex-start;text-align:left}.map-callout-source-mark{display:block;width:auto;max-width:100%;height:22px;object-fit:contain;opacity:.95;filter:drop-shadow(0 4px 10px rgba(37,99,235,.18));flex:0 0 auto}.map-callout-source-mark-gallup,.map-callout-source-mark-realmeter{height:24px;opacity:.96;filter:none}.map-callout-source-caption{color:#94a3b8;font-size:10px;line-height:1;white-space:nowrap;letter-spacing:.02em}.map-callout-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.map-callout-title-line{min-width:0}.map-callout-title-text{display:block;color:#93c5fd;font-size:10px;font-weight:700;letter-spacing:.12em;line-height:1.3;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-callout-draft-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:#f8717129;border:1px solid rgba(248,113,113,.34);color:#fecaca;font-size:9px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.map-callout-draft-badge-floating{position:absolute;top:0;right:0;transform:translate(10%,-25%)}.map-callout-card strong{display:block;font-size:24px;line-height:1.02;color:#f8fafc;white-space:nowrap}.map-callout-market-type{margin:6px 0 0;color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.map-callout-candidate-list{margin-top:0;display:flex;flex-direction:column;gap:7px}.map-callout-candidate-row{position:relative;display:flex;align-items:stretch;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:0;background:#ffffff08;overflow:hidden;isolation:isolate}.map-callout-candidate-row-national{padding-right:9px}.map-callout-candidate-bar{position:absolute;top:8px;bottom:8px;right:9px;width:var(--candidate-bar-fill, 0%);max-width:48%;border-radius:0;background:#94a3b829;box-shadow:inset 0 0 0 1px #94a3b824;z-index:0}.map-callout-candidate-row-national .map-callout-candidate-bar{right:9px;max-width:34%}.map-callout-surface-soft .map-callout-candidate-bar,.map-callout-surface-test-neutral .map-callout-candidate-bar{background:#94a3b81f;box-shadow:inset 0 0 0 1px #94a3b81a}.map-callout-candidate-main{position:relative;z-index:1;display:flex;align-items:center;gap:8px;min-width:0;margin:-8px 0 -8px -9px;flex:1 1 auto}.map-callout-candidate-row.is-left-stack{flex-direction:row-reverse}.map-callout-candidate-row.is-left-stack .map-callout-candidate-bar{left:9px;right:auto}.map-callout-candidate-row.party-democratic .map-callout-candidate-bar{background:#2563eb57;box-shadow:inset 0 0 0 1px #60a5fa3d}.map-callout-candidate-row.party-ppp .map-callout-candidate-bar{background:#dc262657;box-shadow:inset 0 0 0 1px #f871713d}.map-callout-candidate-row.party-other .map-callout-candidate-bar{background:#64748b47;box-shadow:inset 0 0 0 1px #94a3b82e}.map-callout-surface-soft .map-callout-candidate-row.is-left-stack .map-callout-candidate-bar,.map-callout-surface-test-neutral .map-callout-candidate-row.is-left-stack .map-callout-candidate-bar{background:#94a3b81f}.map-callout-surface-soft .map-callout-candidate-row.party-democratic .map-callout-candidate-bar,.map-callout-surface-soft .map-callout-candidate-row.is-left-stack.party-democratic .map-callout-candidate-bar,.map-callout-surface-test-neutral .map-callout-candidate-row.party-democratic .map-callout-candidate-bar,.map-callout-surface-test-neutral .map-callout-candidate-row.is-left-stack.party-democratic .map-callout-candidate-bar{background:#2563eb57;box-shadow:inset 0 0 0 1px #60a5fa3d}.map-callout-surface-soft .map-callout-candidate-row.party-ppp .map-callout-candidate-bar,.map-callout-surface-soft .map-callout-candidate-row.is-left-stack.party-ppp .map-callout-candidate-bar,.map-callout-surface-test-neutral .map-callout-candidate-row.party-ppp .map-callout-candidate-bar,.map-callout-surface-test-neutral .map-callout-candidate-row.is-left-stack.party-ppp .map-callout-candidate-bar{background:#dc262657;box-shadow:inset 0 0 0 1px #f871713d}.map-callout-surface-soft .map-callout-candidate-row.party-other .map-callout-candidate-bar,.map-callout-surface-soft .map-callout-candidate-row.is-left-stack.party-other .map-callout-candidate-bar,.map-callout-surface-test-neutral .map-callout-candidate-row.party-other .map-callout-candidate-bar,.map-callout-surface-test-neutral .map-callout-candidate-row.is-left-stack.party-other .map-callout-candidate-bar{background:#64748b47;box-shadow:inset 0 0 0 1px #94a3b82e}.map-callout-candidate-row.is-left-stack .map-callout-candidate-main{flex-direction:row-reverse;margin:-8px -9px -8px 0;text-align:right;justify-content:flex-start}.map-callout-candidate-row.is-left-stack .map-callout-candidate-media-pair{flex-direction:row-reverse}.map-callout-candidate-media-pair{display:inline-flex;align-items:stretch;gap:0;flex:0 0 auto}.map-callout-candidate-name-wrap{min-width:0;flex:1 1 auto}.map-callout-candidate-row.is-left-stack .map-callout-candidate-name-wrap{text-align:right}.map-callout-candidate-avatar{width:28px;height:28px;align-self:center;border-radius:4px 0 0 4px;object-fit:cover;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;flex:0 0 28px;display:block;aspect-ratio:1 / 1}.map-callout-candidate-party-avatar{width:28px;height:28px;align-self:center;border-radius:0;object-fit:cover;border:1px solid rgba(255,255,255,.1);border-left:0;background:#ffffff0a;flex:0 0 28px;display:block;aspect-ratio:1 / 1}.map-callout-candidate-avatar-missing{display:inline-flex;align-items:center;justify-content:center;color:#fecaca;font-size:12px;font-weight:800;background:#7f1d1d4d;border-color:#f8717157;height:28px}.map-callout-candidate-main b{display:block;color:#f8fafc;font-size:13px;font-weight:800;line-height:1.08;white-space:nowrap;overflow:visible;text-overflow:clip;letter-spacing:-.02em}.map-callout-candidate-main span{display:block;color:#94a3b8;font-size:9px;line-height:1.1}.map-callout-candidate-row em{position:relative;z-index:1;color:#f8fafc;font-style:normal;font-weight:800;white-space:nowrap;font-size:12px;align-self:center}.map-callout-card-regional .map-callout-candidate-list{gap:6px}.map-callout-card-regional .map-callout-candidate-row{gap:10px;padding:10px 11px}.map-callout-card-regional .map-callout-candidate-bar{top:10px;bottom:10px;right:11px;border-radius:0}.map-callout-card-regional .map-callout-candidate-row.is-left-stack .map-callout-candidate-bar{left:11px;right:auto}.map-callout-card-regional .map-callout-candidate-main{gap:10px;margin:-10px 0 -10px -11px}.map-callout-card-regional .map-callout-candidate-row.is-left-stack .map-callout-candidate-main{margin:-10px -11px -10px 0}.map-callout-card-regional .map-callout-candidate-avatar,.map-callout-card-regional .map-callout-candidate-party-avatar,.map-callout-card-regional .map-callout-candidate-avatar-missing{width:48px;height:48px;flex-basis:48px}.map-callout-card-regional .map-callout-candidate-main b{font-size:21px;line-height:1.04}.map-callout-card-regional .map-callout-candidate-row em{font-size:17px;font-weight:900}.map-callout-stat-row{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.map-callout-stat-row>div{padding:8px;border-radius:12px;background:#ffffff08}.map-callout-stat-row span{display:block;color:#64748b;font-size:10px;margin-bottom:4px}.map-callout-stat-row b{display:block;color:#f8fafc;font-size:12px;line-height:1.2;white-space:nowrap}.map-callout-stat-row small{display:block;margin-top:4px;color:#94a3b8;font-size:10px;line-height:1.25}.map-callout-stat-row-volume{grid-template-columns:1fr 1fr}.map-callout-meta{margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:3px}.map-callout-meta span{color:#64748b;font-size:11px}.map-callout-meta em{color:#e2e8f0;font-style:normal;font-weight:700;line-height:1.3}.map-anchor-picker-panel{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:0;border:1px solid rgba(96,165,250,.18);background:#0b121ec7}.map-anchor-picker-panel strong{display:block;color:#f8fafc;margin-bottom:4px}.map-anchor-picker-panel span{display:block;color:#94a3b8;font-size:12px;line-height:1.4}.map-anchor-picker-label{margin:0 0 6px;color:#60a5fa;font-size:10px;letter-spacing:.18em}.map-anchor-picker-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.map-anchor-picker-region-list{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.map-anchor-picker-region-list .map-region-item{padding:10px 12px;border-radius:0}.map-anchor-picker-region-list .map-region-item strong{font-size:14px;margin-bottom:2px}.map-anchor-picker-region-list .map-region-item span{font-size:11px}.map-anchor-picker-copy{border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#dbeafe;padding:10px 12px;border-radius:0;cursor:pointer;white-space:nowrap}.callout-admin-page{min-height:100vh;padding:28px;background:radial-gradient(circle at top,rgba(30,64,175,.18),transparent 38%),#020617;color:#e2e8f0}.callout-admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.callout-admin-header h1{margin:4px 0 8px;font-size:28px}.callout-admin-header p{margin:0;color:#94a3b8}.callout-admin-eyebrow{margin:0;color:#60a5fa;font-size:11px;letter-spacing:.18em}.callout-admin-actions{display:flex;gap:10px}.callout-admin-region-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.callout-admin-region-tab{border:1px solid rgba(255,255,255,.08);background:#0f172ae6;color:#cbd5e1;padding:9px 12px;border-radius:999px;cursor:pointer}.callout-admin-region-tab.active{background:#2563eb2e;border-color:#60a5fa80;color:#eff6ff}.callout-admin-meta-card,.callout-admin-column-card,.callout-admin-json-card{border:1px solid rgba(255,255,255,.08);background:#0f172ac7;border-radius:18px;padding:16px}.callout-admin-meta-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.callout-admin-meta-status{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.callout-admin-meta-status small{color:#94a3b8}.callout-admin-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.callout-admin-column-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.callout-admin-column-head h2{margin:0;font-size:18px}.callout-admin-column-head span{color:#94a3b8;font-size:12px;text-transform:uppercase}.callout-admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.callout-admin-form-grid-wide{grid-column:1 / -1}.callout-admin-column-card label{display:flex;flex-direction:column;gap:6px;color:#cbd5e1;font-size:12px}.callout-admin-column-card input,.callout-admin-column-card select{border:1px solid rgba(255,255,255,.1);background:#020617e6;color:#f8fafc;border-radius:10px;padding:9px 10px}.callout-admin-entry-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.callout-admin-entry-row{display:grid;grid-template-columns:1.5fr 1fr .8fr .7fr auto auto;gap:8px;align-items:end;padding:10px;border-radius:14px;background:#ffffff08}.callout-admin-checkbox{flex-direction:row!important;align-items:center;gap:8px!important}.callout-admin-json-card{margin-top:18px}.callout-admin-json-card h2{margin:0 0 12px;font-size:18px}.callout-admin-json-card pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#bfdbfe;font-size:12px;line-height:1.55}@media(max-width:1100px){.callout-admin-columns{grid-template-columns:1fr}.callout-admin-entry-row{grid-template-columns:1fr 1fr}}.map-anchor-picker-copy.active{border-color:#60a5fa80;background:#2563eb29;color:#eff6ff}.map-region-shape{stroke-width:1.6;cursor:default;transition:transform .16s ease,fill .16s ease,stroke .16s ease,opacity .16s ease;transform-box:fill-box;transform-origin:center}.map-region-shape.is-clickable{cursor:pointer}.map-region-shape.is-clickable:hover{transform:translateY(-1px) scale(1.01)}.map-region-shape.is-muted{opacity:.52}.map-svg-label{font-size:12px;font-weight:800;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:#0f172a94;stroke-width:3px;transition:fill .16s ease,opacity .16s ease}.korea-election-map-real.anchor-picker-enabled{cursor:crosshair}.map-anchor-dot{fill:#f87171f5;stroke:#fffffff0;stroke-width:2}.map-anchor-ring{fill:none;stroke:#f8717173;stroke-width:2;stroke-dasharray:4 3}.map-knee-dot{fill:#fbbf24f5;stroke:#fffffff0;stroke-width:2}.map-knee-ring{fill:none;stroke:#fbbf2473;stroke-width:2;stroke-dasharray:4 3}.map-callout-mobile-list{display:none;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.map-region-item{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#e2e8f0;cursor:pointer}.map-region-item.active{border-color:#60a5fa80;background:#2563eb1f}.map-region-item strong{display:block;font-size:16px;margin-bottom:5px}.map-region-item span{color:#94a3b8}.map-region-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.map-region-meta em{font-style:normal;font-weight:800;color:#f8fafc}.account-summary-card{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:18px;padding:18px 20px;border:1px solid rgba(96,165,250,.12);background:linear-gradient(180deg,#101622f5,#0b0f14f5);border-radius:24px;box-shadow:0 18px 44px #0000003d}.account-summary-profile{display:flex;align-items:center;gap:16px;min-width:0}.account-summary-avatar{width:58px;height:58px;border-radius:18px;object-fit:cover;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.account-summary-avatar.placeholder{display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#dbeafe;background:linear-gradient(135deg,#3b82f638,#06b6d429)}.account-summary-label{margin:0 0 6px;color:#60a5fa;font-size:11px;letter-spacing:.18em}.account-summary-profile strong{display:block;font-size:20px;margin-bottom:8px}.account-summary-meta{display:flex;flex-wrap:wrap;gap:8px;color:#94a3b8;font-size:12px;word-break:break-all}.account-summary-meta span{padding:7px 10px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.account-summary-balance{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:220px}.account-summary-balance span,.account-summary-balance small{color:#94a3b8}.account-summary-balance strong{font-size:24px;color:#f8fafc}.account-summary-disconnect,.account-summary-connect{width:auto;min-width:140px;margin-top:4px}.polling-status p{margin:6px 0 0;color:#94a3b8}.polling-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.polling-chip.live{color:#4ade80}.polling-chip.background{color:#fbbf24}.polling-chip.backoff{color:#f87171}.polling-dot{width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 14px currentColor}.chart-and-trading-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(340px,.92fr);gap:18px;margin-bottom:24px;align-items:start}.chart-and-trading-layout-chart-only{grid-template-columns:minmax(0,1fr)}.chart-panel{padding:24px;min-height:420px;box-shadow:0 18px 44px #00000038}.chart-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.chart-panel-label{margin:0 0 8px;color:#60a5fa;font-size:12px;letter-spacing:.16em}.chart-panel h2{margin:0;font-size:32px}.chart-panel-subtitle{margin:10px 0 0;color:#94a3b8}.chart-link{color:#7dd3fc;white-space:nowrap}.chart-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.chart-legend-item{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);cursor:pointer}.chart-legend-item-selected{border-color:#60a5fa80;background:#2563eb1f}.chart-legend-dot{width:10px;height:10px;border-radius:999px}.chart-legend-name{color:#e2e8f0}.chart-range-tabs{display:flex;gap:8px;margin-bottom:16px}.chart-range-tab{border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#cbd5e1;padding:8px 12px;border-radius:999px;cursor:pointer}.chart-range-tab.active{background:#2563eb2e;border-color:#60a5fa80;color:#dbeafe}.tv-chart-shell{min-height:280px;position:relative}.tv-chart-shell.is-expanded{position:fixed;top:28px;right:28px;bottom:28px;left:28px;z-index:9999;padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#0c121cfa;box-shadow:0 28px 70px #0000006b;width:auto;max-width:none}.tv-chart-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#02060cdb}.tv-chart-meta{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:12px;margin-bottom:10px}.tv-chart-stage{position:relative;width:100%}.tv-hover-time{color:#94a3b8;font-size:11px;line-height:1.2}.tv-hover-time-compact{text-shadow:0 1px 2px rgba(0,0,0,.45)}.tv-hover-pill{position:absolute;z-index:4;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:150px;max-width:166px;padding:6px 9px;border-radius:8px;color:#f8fafc;font-size:12px;font-weight:700;box-shadow:0 10px 20px #00000038;pointer-events:none}.tv-hover-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-hover-pill strong{color:#fff;font-size:12px}.tv-chart-expand-btn{position:absolute;right:12px;bottom:12px;z-index:5;border:1px solid rgba(255,255,255,.1);background:#090e18eb;color:#dbeafe;padding:8px 12px;border-radius:999px;cursor:pointer;box-shadow:0 10px 20px #0000002e}.tv-chart-expand-btn:hover{border-color:#60a5fa80;background:#2563eb24}.chart-stage{position:relative}.tv-chart-canvas{height:280px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.tv-chart-shell.is-expanded .tv-chart-canvas{height:calc(100vh - 120px);width:100%}.chart-loading-state{min-height:280px;display:flex;align-items:center;justify-content:center;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:#94a3b8;padding:24px;text-align:center}.chart-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:18px;background:#0b0f1494;color:#e2e8f0;font-weight:600;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.market-card{padding:18px;box-shadow:0 20px 40px #00000040;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.market-card:hover{transform:translateY(-2px);border-color:#60a5fa73}.market-card.selected{border-color:#60a5fa8c;box-shadow:0 24px 50px #0d396e47}.market-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.market-top-main{min-width:0}.region{color:#7dd3fc;margin:0 0 8px;font-size:13px}.market-card h2{margin:0 0 8px;font-size:24px}.market-type{color:#94a3b8;font-size:13px}.status{border-radius:999px;padding:6px 10px;font-size:12px;text-transform:uppercase;border:1px solid rgba(255,255,255,.08)}.status.unknown{color:#fbbf24}.status.active{color:#4ade80}.candidate-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.candidate-row,.meta-grid>div{padding:15px 16px;border-radius:14px;background:#ffffff08}.candidate-row{display:flex;align-items:stretch;justify-content:space-between;gap:14px;cursor:pointer}.candidate-row-selected{border:1px solid rgba(96,165,250,.45);background:#2563eb14}.candidate-label-group{display:inline-flex;align-items:stretch;gap:10px;min-width:0;margin:-15px 0 -15px -16px}.candidate-media-pair{display:inline-flex;align-items:stretch;gap:0;flex:0 0 auto}.candidate-avatar-thumb{width:48px;align-self:stretch;height:auto;border-radius:10px 0 0 10px;object-fit:cover;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;flex:0 0 48px}.candidate-avatar-thumb-missing{display:inline-flex;align-items:center;justify-content:center;color:#fecaca;font-size:18px;font-weight:800;background:#7f1d1d4d;border-color:#f8717157}.candidate-party-thumb{width:48px;align-self:stretch;height:auto;border-radius:0;border:1px solid rgba(255,255,255,.1);border-left:0;background:#ffffff0a;flex:0 0 48px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.candidate-party-thumb-filled{background:#ffffff0a;border-color:#ffffff1a}.candidate-party-thumb-logo{width:100%;height:100%;object-fit:cover;padding:0;background:transparent;display:block}.candidate-party-thumb-missing{color:#cbd5e1;font-size:18px;font-weight:800;background:#1e293be0;border-color:#94a3b838}.candidate-color-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto;align-self:center}.candidate-name{color:#e2e8f0;font-weight:700;font-size:16px;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:center}.candidate-name-cluster{display:inline-flex;align-items:center;gap:6px;min-width:0}.candidate-note-toggle{width:20px;height:20px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#cbd5e1;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.candidate-note-toggle.is-open,.candidate-note-toggle:hover{border-color:#60a5fa6b;background:#2563eb24;color:#dbeafe}.candidate-note-box{margin-top:10px;padding:10px 12px;border-radius:12px;background:#0f172ae0;border:1px solid rgba(96,165,250,.18);color:#cbd5e1;font-size:13px;line-height:1.45}.candidate-note-box.is-national{margin-left:72px}.candidate-note-box.is-regional{margin-left:122px}.candidate-empty{padding:12px;border-radius:14px;background:#ffffff08;color:#94a3b8}.meta-grid span{display:block;font-size:12px;color:#94a3b8;margin-bottom:6px}.meta-grid strong,.candidate-row strong{font-size:18px}.meta-grid small{display:block;margin-top:6px;color:#94a3b8;font-size:11px;line-height:1.3}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.meta-grid-market-detail{grid-template-columns:repeat(2,1fr)}.primary-btn{display:inline-flex;justify-content:center;width:100%;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;font-weight:700}.market-link-btn{align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);background:#111827c7;color:#dbeafe;box-shadow:inset 0 1px #ffffff0a}.market-link-btn:hover{border-color:#60a5fa57;background:#172031e6}.market-link-mark{display:block;width:108px;max-width:48%;height:auto;filter:drop-shadow(0 4px 10px rgba(37,99,235,.14))}.trade-submit-btn{display:inline-flex;justify-content:center;width:100%;padding:15px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.08);font-weight:800;color:#fff;background:linear-gradient(135deg,#16a34a,#059669)}.trade-submit-btn:disabled{opacity:.6;cursor:not-allowed}.smart-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02060cb8;display:flex;align-items:center;justify-content:center;padding:20px;z-index:60}.smart-preview-modal{width:min(520px,100%);border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#0f1724;box-shadow:0 30px 60px #00000073;padding:22px;display:flex;flex-direction:column;gap:14px}.smart-preview-grid{display:grid;grid-template-columns:1fr auto;gap:10px 14px;color:#cbd5e1}.smart-preview-grid strong{color:#f8fafc}.smart-preview-note{margin:0;color:#94a3b8;line-height:1.5}.trading-panel{border:1px solid rgba(96,165,250,.1);background:linear-gradient(180deg,#101622fa,#0b0f14fa);border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 44px #00000038}.trading-panel-loading{min-height:320px;align-items:center;justify-content:center;color:#94a3b8}.trading-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:2px}.trading-panel-label{margin:0 0 8px;color:#60a5fa;font-size:11px;letter-spacing:.18em}.trading-panel h3{margin:0;font-size:24px}.trading-panel-subtitle{margin:8px 0 0;color:#8fa3b8}.login-badge{padding:8px 12px;border-radius:999px;background:#ffffff0a;color:#94a3b8;border:1px solid rgba(255,255,255,.08);white-space:nowrap}.login-badge.connected{color:#4ade80}.login-mode-group,.order-side-tabs,.trading-auth-actions,.trading-order-actions,.selection-pill-group{display:flex;gap:8px}.order-side-button,.secondary-btn,.login-close-button,.login-option-card,.selection-pill{border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#cbd5e1;padding:11px 12px;border-radius:14px;cursor:pointer;transition:all .16s ease}.secondary-btn{background:#ffffff08}.trading-auth-card,.trading-order-card,.trading-selection-summary,.order-status-inline{padding:14px;border-radius:18px;background:#ffffff06;border:1px solid rgba(255,255,255,.055)}.trading-auth-card p,.trading-selection-summary span,.order-status-inline span{color:#94a3b8}.trading-order-card{display:flex;flex-direction:column;gap:12px}.trading-selection-summary{display:flex;flex-direction:column;gap:8px;background:#ffffff09}.trading-selection-summary strong{color:#f8fafc;font-size:16px;line-height:1.35}.selection-pill{cursor:default;min-width:58px;text-align:center;font-weight:700}.selection-pill.active.buy{background:#10b9812e;border-color:#34d39973;color:#d1fae5}.selection-pill.active.yes{background:#1d4ed83d;border-color:#60a5fab3;color:#dbeafe}.selection-pill.active.no{background:#dc26262e;border-color:#f87171a6;color:#fee2e2}.wallet-address-chip{display:inline-flex;padding:8px 10px;border-radius:10px;background:#0b0f14cc;border:1px solid rgba(255,255,255,.08);color:#cbd5e1;font-size:12px;word-break:break-all}.order-side-grid,.order-side-tabs-main,.order-side-tabs-outcome{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trade-current-readout{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 2px 2px}.trade-current-readout-plain{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:6px 2px 8px;min-height:56px;background:transparent;border:none;box-shadow:none}.trade-current-title{color:#f8fafc;font-size:18px;font-weight:800;line-height:1.3}.trade-current-summary{color:#fffffffa;font-size:28px;line-height:1.1;font-weight:900;letter-spacing:-.02em;text-align:left}.trade-current-readout-buy-yes .trade-current-summary{color:#f3fbff;-webkit-text-stroke:1px rgba(89,153,255,.45);text-shadow:0 0 10px rgba(70,210,170,.16)}.trade-current-readout-buy-no .trade-current-summary{color:#fff8f2;-webkit-text-stroke:1px rgba(89,153,255,.45);text-shadow:0 0 10px rgba(255,166,92,.14)}.trade-current-readout-sell-yes .trade-current-summary{color:#fff8fa;-webkit-text-stroke:1px rgba(255,120,135,.42);text-shadow:0 0 10px rgba(70,210,170,.14)}.trade-current-readout-sell-no .trade-current-summary{color:#fff5f2;-webkit-text-stroke:1px rgba(255,120,135,.42);text-shadow:0 0 10px rgba(255,166,92,.14)}.order-choice-rows{display:flex;flex-direction:column;gap:10px}.order-choice-row{display:grid;gap:10px}.order-choice-row.selected-left{grid-template-columns:1.45fr .55fr}.order-choice-row.selected-right{grid-template-columns:.55fr 1.45fr}.trade-choice-button{width:100%;min-height:56px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#121721f0;color:#d7deea;font-weight:800;font-size:16px;cursor:pointer;transition:all .16s ease;box-shadow:inset 0 1px #ffffff08;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.trade-choice-button:hover:not(:disabled){border-color:#ffffff24;transform:translateY(-1px)}.trade-choice-button:disabled{opacity:.6;cursor:not-allowed}.trade-choice-button-buy{background:#5999ff1a;border-color:#5999ff2e;color:#cfe0ff}.trade-choice-button-buy.active{background:#5999ff2e;border-color:#78b2ff6b;color:#f8fbff;box-shadow:inset 0 1px #ffffff1a,0 0 0 1px #5999ff2e,0 10px 24px #3b82f629}.trade-choice-button-sell{background:#ff78871a;border-color:#ff78872e;color:#ffd6dc}.trade-choice-button-sell.active{background:#ff78872e;border-color:#ff96a466;color:#fff8f8;box-shadow:inset 0 1px #ffffff1a,0 0 0 1px #ff788729,0 10px 24px #f43f5e24}.trade-choice-button-yes{background:#46d2aa1a;border-color:#46d2aa2e;color:#d5fff0}.trade-choice-button-yes.active{background:#46d2aa2e;border-color:#6eeac261;color:#f4fffb;box-shadow:inset 0 1px #ffffff1a,0 0 0 1px #46d2aa29,0 10px 24px #10b98124}.trade-choice-button-no{background:#ffa65c1a;border-color:#ffa65c2e;color:#ffe7cf}.trade-choice-button-no.active{background:#ffa65c2e;border-color:#ffbf8261;color:#fffaf5;box-shadow:inset 0 1px #ffffff1a,0 0 0 1px #ffa65c29,0 10px 24px #f9731624}.trade-submit-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:8px;align-items:end}.trade-submit-btn{border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.trade-submit-btn-buy-yes{background:#5999ff2e;border-color:#6eeac266;color:#f2fdff;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #46d2aa29,0 10px 24px #10b9810f}.trade-submit-btn-buy-no{background:#5999ff2e;border-color:#ffbf8266;color:#f5f9ff;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #ffa65c29,0 10px 24px #f973160f}.trade-submit-btn-sell-yes{background:#ff78872e;border-color:#6eeac261;color:#fffafb;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #46d2aa26,0 10px 24px #10b9810f}.trade-submit-btn-sell-no{background:#ff78872e;border-color:#ffbf8261;color:#fff8f8;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #ffa65c26,0 10px 24px #f973160f}.smart-help-wrap{position:relative;flex:0 0 auto}.smart-help-wrap-submit{align-self:stretch;display:flex;align-items:stretch}.smart-help-button{width:22px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#141923eb;color:#cbd5e1;font-weight:800;font-size:12px;cursor:help;box-shadow:inset 0 1px #ffffff0a}.smart-help-button-submit{width:28px;height:100%;min-height:52px;border-radius:12px;background:#121721f0;border:1px solid rgba(255,255,255,.08)}.smart-help-tooltip{position:absolute;top:calc(100% + 8px);right:0;width:260px;padding:10px 12px;border-radius:12px;background:#070c12f5;border:1px solid rgba(255,255,255,.08);color:#cbd5e1;font-size:12px;line-height:1.45;box-shadow:0 18px 32px #00000052;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease;z-index:5}.smart-help-tooltip-submit{right:0;top:auto;bottom:calc(100% + 8px)}.smart-help-wrap:hover .smart-help-tooltip,.smart-help-wrap:focus-within .smart-help-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.login-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02060cb8;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.login-modal{width:min(560px,100%);border-radius:24px;border:1px solid rgba(255,255,255,.08);background:#0f1724;box-shadow:0 30px 60px #00000073;padding:22px;display:flex;flex-direction:column;gap:16px}.login-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.login-option-list{display:flex;flex-direction:column;gap:10px}.login-option-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left}.login-option-card span,.login-helper-text{color:#94a3b8}.wallet-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wallet-grid-button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:88px;padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#e2e8f0;cursor:pointer;text-align:left}.wallet-grid-button strong{font-size:15px}.wallet-grid-button span{color:#94a3b8;font-size:12px;line-height:1.45}.wallet-grid-button:hover{border-color:#60a5fa73;background:#2563eb1a}.login-modal-footer{display:flex;flex-direction:column;gap:12px}.order-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 4px}.order-input-card{padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}.order-input-card span{display:block;margin-bottom:7px;color:#8fa3b8;font-size:12px}.order-input-card.active{background:#ffffff0a;transform:translateY(-1px)}.order-input-card.active.usd{border-color:#60a5fa61;box-shadow:0 0 0 1px #60a5fa29 inset,0 8px 24px #2563eb1a}.order-input-card.active.size{border-color:#34d39957;box-shadow:0 0 0 1px #34d39924 inset,0 8px 24px #0596691a}.order-form-grid input{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#080c12eb;color:#fff;box-shadow:inset 0 1px #ffffff08}.order-form-grid input:focus{outline:none;border-color:#60a5fa73;box-shadow:0 0 0 3px #2563eb1f}.status-card{padding:18px;margin-bottom:16px}.status-card.error{color:#fca5a5}.fx-dev-panel{margin-bottom:16px;padding:14px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#0e151fb8}.fx-dev-label{margin:0 0 8px;color:#60a5fa;font-size:11px;letter-spacing:.18em}.fx-dev-grid{display:flex;flex-wrap:wrap;gap:8px 14px;color:#94a3b8;font-size:13px}.fx-dev-grid span{white-space:nowrap}.fx-dev-grid strong{color:#f8fafc;font-weight:700}.layout-lab-switcher{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px 18px;border-radius:0;border:1px solid rgba(255,255,255,.08);background:#0e151fb8}.layout-lab-switcher-actions{display:flex;gap:8px;flex-wrap:wrap}.layout-lab-variant-link{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:182px}.layout-lab-variant-link span{font-size:11px;letter-spacing:.14em;color:#93c5fd}.layout-lab-variant-link strong{font-size:14px;line-height:1.25}.layout-lab-variant-link.active{border-color:#60a5fa80;background:#2563eb29;color:#dbeafe}.layout-lab-variant-link.active span{color:#dbeafe}.layout-lab-legacy-panel{border:1px solid rgba(255,255,255,.08);background:#0e151feb;border-radius:20px;padding:24px;box-shadow:0 18px 44px #00000038}.layout-lab-legacy-columns{display:flex;flex-direction:column;gap:12px}.layout-lab-legacy-card{padding:14px;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.layout-lab-legacy-source{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;color:#94a3b8;font-size:12px}.layout-lab-legacy-logo{display:block;max-width:140px;height:22px;object-fit:contain}.layout-lab-legacy-list{display:flex;flex-direction:column;gap:8px}.layout-lab-legacy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:12px;background:#ffffff08}.layout-lab-legacy-name-wrap{display:flex;align-items:center;gap:8px;min-width:0}.layout-lab-legacy-name-wrap b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout-lab-legacy-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.layout-lab-legacy-empty{padding:14px;border-radius:16px;background:#ffffff08;color:#94a3b8;line-height:1.5}.page.layout-lab{max-width:1600px;display:grid;gap:16px 18px;align-items:start}.page.layout-lab>.election-topbar{grid-column:1 / -1}.page.layout-lab>.layout-lab-switcher{grid-column:1 / -1}.page.layout-lab>.hub-overview-strip,.page.layout-lab>.toolbar,.page.layout-lab>.fx-dev-panel{grid-column:1 / -1}.page.layout-lab-a{grid-template-columns:minmax(560px,1.2fr) minmax(340px,.92fr) minmax(340px,.92fr);grid-template-areas:"header header header" "switcher switcher switcher" "map chart legacy" "market market market" "overview overview overview" "toolbar toolbar toolbar" "fx fx fx"}.page.layout-lab-b{grid-template-columns:minmax(620px,1.15fr) minmax(420px,.95fr);grid-template-areas:"header header" "switcher switcher" "map chart" "map legacy" "market market" "overview overview" "toolbar toolbar" "fx fx"}.page.layout-lab-c{grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "switcher" "map" "chart" "legacy" "market" "overview" "toolbar" "fx"}.page.layout-lab>.election-topbar{grid-area:header}.page.layout-lab>.layout-lab-switcher{grid-area:switcher}.page.layout-lab>.map-panel{grid-area:map;margin-bottom:0}.page.layout-lab>.chart-and-trading-layout{grid-area:chart;margin-bottom:0}.page.layout-lab>.layout-lab-legacy-panel{grid-area:legacy;margin-bottom:0}.page.layout-lab>.market-grid{grid-area:market}.page.layout-lab>.hub-overview-strip{grid-area:overview}.page.layout-lab>.toolbar{grid-area:toolbar;margin-bottom:0}.page.layout-lab>.fx-dev-panel{grid-area:fx;margin-bottom:0}.page.layout-lab-c>.map-panel{margin-bottom:-180px;z-index:1}.page.layout-lab-c>.chart-and-trading-layout,.page.layout-lab-c>.layout-lab-legacy-panel{position:relative;z-index:2;width:min(88%,1220px);margin:0 auto}.page.layout-lab-c>.chart-and-trading-layout{margin-top:0}@media(max-width:1100px){.map-svg-wrap-callout{min-height:620px}.map-svg-centerpiece{left:24%;width:52%;min-width:300px}.map-callout-card{width:35.28%;min-width:277px}.map-callout-header{gap:8px}.map-callout-card strong{font-size:20px}}@media(max-width:1200px){.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{position:relative;top:auto}.dashboard-focus-shell.is-detail{grid-template-columns:1fr}.region-detail-panel{position:relative;top:auto;min-height:0}.region-detail-two-column-layout{grid-template-columns:1fr}.map-panel-detail-mode{max-width:none;justify-self:stretch}.page.layout-lab-a,.page.layout-lab-b{grid-template-columns:1fr;grid-template-areas:"header" "switcher" "map" "chart" "legacy" "market" "overview" "toolbar" "fx"}.page.layout-lab-c>.map-panel{margin-bottom:0}.page.layout-lab-c>.chart-and-trading-layout,.page.layout-lab-c>.layout-lab-legacy-panel{width:100%}}@media(max-width:900px){.election-topbar-panel,.election-topbar-main,.chart-panel-head,.tv-chart-meta,.account-summary-card,.hub-overview-strip,.map-panel-head,.layout-lab-switcher{flex-direction:column}.election-topbar-actions{width:100%;justify-content:flex-start}.election-language-select-wrap{width:100%;justify-content:space-between}.election-language-select{min-width:0;width:100%}.account-summary-balance{width:100%;align-items:flex-start}.map-svg-wrap-real{min-height:520px}.map-svg-wrap-callout{min-height:auto;padding-bottom:18px}.map-svg-centerpiece{position:relative;left:auto;top:auto;width:100%;min-width:0}.map-callout-connectors,.map-callout-grid{display:none}.map-callout-mobile-list{display:grid}.chart-and-trading-layout{grid-template-columns:1fr}}@media(max-width:720px){h1{font-size:34px}.toolbar{flex-direction:column}.meta-grid{grid-template-columns:1fr}.hub-overview-inline-metrics{flex-direction:column;gap:6px}.map-panel{padding:18px}.map-panel-head h2{font-size:28px}.map-callout-mobile-list{grid-template-columns:1fr}}.page.layout-lab>.election-topbar,.election-topbar,.election-topbar-panel{position:relative;z-index:120;overflow:visible}.election-brandmeta-wrap{position:relative;z-index:130;overflow:visible}.election-countdown-popover{z-index:9999}.dashboard-shell.election-dashboard-shell,.election-dashboard-main-sections,.election-shell-grid,.election-overview-panel,.election-detail-panel,.election-region-rail,.map-panel,.chart-and-trading-layout,.layout-lab-legacy-panel{position:relative;z-index:1}
