@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:dark;--bg:#091318;--surface:#101e25;--raised:#17272f;--border:#25363d;--muted:#93a7af;--text:#edf4f4;--accent:#79e4c2;--font:'DM Sans',system-ui,-apple-system,sans-serif;--title:'Manrope',var(--font)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:230px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit;text-decoration:none}button:not(.score-card){touch-action:manipulation}h1,h2,h3,p{margin:0}button,a,select{transition:background .18s,color .18s,border-color .18s}button:hover{filter:brightness(1.12)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-60px;left:20px;z-index:9999;background:var(--accent);color:var(--bg);padding:10px}.skip:focus{top:10px}.masthead{height:74px;max-width:1440px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--title);font-size:27px;font-weight:800;letter-spacing:-1.6px;display:flex;align-items:center}.brand-dot{color:var(--accent)}.edition{font-family:var(--font);font-size:10px;letter-spacing:2.2px;color:var(--muted);border-left:1px solid var(--border);margin-left:22px;padding-left:22px;font-weight:600}.round{font-size:11px;letter-spacing:1.8px;color:#becad0}.round span{color:var(--accent);margin:0 10px}.score-dock{position:sticky;top:0;z-index:1000;background:rgba(9,19,24,.96);backdrop-filter:blur(18px);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px max(48px,calc((100vw - 1344px)/2)) 9px}.dock-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;gap:10px}h1{font-family:var(--title);font-size:16px;font-weight:750}h1 span{font-weight:450;color:var(--muted)}.connection{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted)}.connection i,.activity-label i{width:6px;height:6px;border-radius:50%;background:#f3c477}.connection.ok i{background:var(--accent);box-shadow:0 0 10px #79e4c244}.scores{display:grid;grid-template-columns:1fr 1fr;gap:12px}.score-card{min-width:0;position:relative;text-align:left;background:#122129;border:1px solid var(--border);border-radius:10px;padding:12px 17px 14px;overflow:hidden}.score-card.active{border-color:#568776;background:#152930}.score-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.office-name{font-size:13px;font-weight:650;display:flex;align-items:center;gap:7px}.office-name small{font-size:9px;color:var(--muted);font-weight:500;letter-spacing:1px}.counted{font-size:10px;color:var(--muted);white-space:nowrap}.score-leaders{display:grid;grid-template-columns:1fr 1fr;gap:20px;min-height:37px}.score-leader{min-width:0;display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center}.score-name{font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-name i{width:5px;height:5px;display:inline-block;border-radius:50%;margin-right:6px;background:var(--c)}.score-number{font-family:var(--title);font-size:23px;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums;grid-row:1/3;grid-column:2}.score-number small{font-size:12px}.score-votes{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.score-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#29383c}.score-progress>span{display:block;height:100%;background:var(--accent);transition:width 1.2s}.dock-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:10px;color:var(--muted)}.text-button{background:none;color:var(--muted);padding:3px 0;font-size:inherit}.text-button:hover{color:var(--accent)}.text-button span{margin-left:5px;color:var(--accent)}main{max-width:1440px;padding:31px 48px 0;margin:auto}.explore-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:21px}.eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.7px;font-weight:650}.explore-heading h2{font-family:var(--title);font-size:28px;letter-spacing:-1.1px;font-weight:600;margin-top:5px}.accent{color:var(--accent)}.municipality-count{font-size:25px;font-family:var(--title);font-weight:500;display:flex;align-items:center;gap:10px}.municipality-count span{font:11px var(--font);color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.map-panel{border:1px solid var(--border);background:#101e25;border-radius:13px;overflow:hidden;min-width:0}.map-toolbar{display:flex;justify-content:space-between;align-items:center;padding:17px 20px 0;gap:8px}.segmented{display:flex;background:#0b171d;border:1px solid var(--border);border-radius:7px;padding:3px;gap:3px}.segmented button{font-size:12px;min-height:33px;padding:7px 15px;border-radius:4px;background:none;color:var(--muted)}.segmented button.active{background:#29433e;color:#b7f8df}.icon-label{font-size:11px;background:none;color:var(--muted);display:flex;align-items:center;gap:6px;min-height:40px}.icon-label span{font-size:24px;color:#d1e4df}.map-filter{display:flex;align-items:center;gap:10px;padding:14px 20px 0}.map-filter label{font-size:11px;color:var(--muted)}select{min-width:0;max-width:360px;background:#15272f;color:#dae9e9;border:1px solid #2b4048;border-radius:6px;padding:9px 28px 9px 10px;font-size:12px;flex:1;min-height:40px}.tour{margin-left:auto;white-space:nowrap;background:none;color:var(--muted);font-size:11px;min-height:40px;padding:5px}.tour span{font-size:18px;margin-right:5px}.tour[aria-pressed=true]{color:var(--accent)}.metric-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 0;gap:10px;font-size:11px;color:var(--muted)}.small button{min-height:28px;font-size:11px;padding:5px 12px}.map-wrap{position:relative;height:425px}.leaflet-container{background:transparent;font-family:var(--font);z-index:1}#map{position:absolute;inset:0;outline-offset:-3px}.map-direction{position:absolute;left:24px;top:30px;z-index:2;color:#8ca6ac;text-align:center;font-size:10px;line-height:1.7;pointer-events:none}.map-direction.north{font-size:12px}.map-ocean{position:absolute;right:30px;bottom:72px;letter-spacing:3px;font-size:8px;line-height:2;color:#567782;pointer-events:none;z-index:2}.map-empty-note{position:absolute;left:50%;bottom:21px;transform:translateX(-50%);z-index:5;padding:6px 13px;border:1px solid #355052;border-radius:30px;font-size:10px;color:#a6c1bd;background:#11252ae8;white-space:nowrap;pointer-events:none}.map-legend{padding:10px 20px 13px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:10px;color:#b1c1c6;min-height:36px}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{display:inline-block;height:7px;width:7px;border-radius:2px;background:var(--c)}.legend-dot.neutral{background:#294c52;border:1px solid #5f8788}.legend-gradient{width:85px;height:6px;border-radius:10px;background:linear-gradient(90deg,#25414a,var(--c))}.map-foot{display:flex;justify-content:space-between;padding:11px 20px;border-top:1px solid var(--border);font-size:10px;color:#a0b3ba}.leaflet-bar{border:1px solid #385058!important;box-shadow:none!important}.leaflet-bar a{background:#142a33;color:#c0d4d8;border-color:#385058}.leaflet-bar a:hover{background:#2b454d}.leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important;font-weight:400!important}.leaflet-control-attribution{background:transparent!important;color:#718d95!important;font-size:8px!important}.leaflet-control-attribution a{color:#8ba5aa}.leaflet-tooltip{background:#e6f5f1;color:#0f2e29;border:0;border-radius:5px;font-family:var(--font);padding:7px 10px;box-shadow:0 5px 20px #0003;font-size:11px}.leaflet-tooltip-top:before{border-top-color:#e6f5f1}.city-label{background:none;border:0;box-shadow:none;color:#acc6cc;font-size:9px;letter-spacing:.1px;text-shadow:0 1px 3px #091318,0 -1px 3px #091318;pointer-events:none}.city-label:before{display:none}.leaflet-interactive{transition:fill .65s,fill-opacity .65s,stroke .25s}.detail-panel{background:#101e25;border:1px solid var(--border);border-radius:13px;padding:18px 20px}.search-wrap{position:relative;display:flex;align-items:center;gap:9px;border:1px solid #2e424a;border-radius:7px;background:#0c1920;padding:0 11px;margin-bottom:25px;color:var(--muted)}.search-wrap input{border:0;background:none;color:var(--text);width:100%;font-size:13px;min-height:41px;outline:none}.search-wrap:focus-within{border-color:var(--accent)}.search-results{position:absolute;top:46px;left:0;right:0;max-height:280px;overflow:auto;background:#20333c;border:1px solid #45606a;box-shadow:0 12px 25px #0005;z-index:500;border-radius:7px;padding:5px}.search-results button{display:block;width:100%;text-align:left;background:none;padding:10px;font-size:13px;border-radius:4px}.search-results button:hover{background:#34544f}.search-results p{font-size:12px;padding:10px}.place-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.place-heading h3{font-family:var(--title);font-size:23px;font-weight:600;letter-spacing:-.7px;margin-top:3px}.close-button{background:none;color:var(--muted);font-size:27px;min-height:40px;min-width:40px;border-radius:6px}.place-progress{display:flex;justify-content:space-between;align-items:end;margin:19px 0 9px}.place-progress>div{display:flex;align-items:baseline;gap:8px}.place-progress #place-counted{font-family:var(--title);font-size:16px;font-weight:600;color:var(--accent)}.place-progress small{font-size:9px;color:var(--muted)}#place-sections{font-size:9px;color:var(--muted)}.thin-progress{height:3px;background:#263b43;border-radius:4px;overflow:hidden}.thin-progress span{height:100%;display:block;background:var(--accent);transition:width 1s}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:21px;margin-bottom:9px;font-size:10px;color:var(--muted)}#list-state{font-size:9px;text-align:right}.candidate-list{max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#34524e transparent}.candidate-row{width:100%;display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;text-align:left;background:none;padding:12px 0;border-bottom:1px solid #20323a;position:relative}.candidate-row.selected{background:#243b3b;border-radius:5px;padding-left:6px;padding-right:6px}.candidate-avatar{width:31px;height:31px;background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 50%,transparent);color:var(--c);border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.candidate-info{min-width:0}.candidate-name{display:block;font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-party{font-size:9px;color:var(--muted)}.candidate-value{text-align:right}.candidate-percent{font-family:var(--title);font-size:16px;font-weight:650;display:block;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.candidate-votes{font-size:9px;color:var(--muted);display:block;font-variant-numeric:tabular-nums}.candidate-bar{position:absolute;bottom:0;left:0;height:1px;background:var(--c);opacity:.7;transition:width 1s}.other-votes{display:flex;flex-wrap:wrap;gap:6px 15px;padding:13px 0;font-size:10px;color:var(--muted)}.other-votes b{color:#bfced1;font-weight:450;margin-left:4px}.source-stamp{font-size:9px;color:#879da5;border-top:1px solid var(--border);padding-top:10px;line-height:1.8}.source-stamp a{text-decoration:underline;text-underline-offset:3px}.muted,.skeleton{color:var(--muted);font-size:12px}.activity-panel{display:flex;gap:20px;align-items:center;padding:18px 0;margin-bottom:12px;min-height:66px;border-bottom:1px solid var(--border)}.activity-label{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1px;white-space:nowrap;color:#a9bfbd}.activity-label i{background:var(--accent);height:4px;width:4px}.activity-panel p{font-size:11px;color:var(--muted)}.assistant-panel{padding:26px 30px;background:linear-gradient(115deg,#152c30,#112329 70%);border:1px solid #2d474a;border-radius:12px;margin-top:25px;scroll-margin-top:230px}.assistant-heading{display:flex;align-items:center;gap:12px}.assistant-symbol{height:38px;width:38px;display:grid;place-items:center;color:var(--accent);border:1px solid #3d685f;border-radius:10px;font-size:28px}.assistant-heading h2{font-family:var(--title);font-size:21px;letter-spacing:-.5px;font-weight:600;margin-top:1px}.assistant-heading .eyebrow{font-size:8px;color:#90b4ab}.source-pill{margin-left:auto;border:1px solid #32524d;padding:5px 9px;border-radius:30px;font-size:9px;color:#a5c9bc}.assistant-intro{font-size:12px;color:var(--muted);margin:16px 0}.suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.suggestions button{font-size:11px;border:1px solid #35514f;background:transparent;color:#c9dfd9;border-radius:6px;padding:8px 11px;min-height:36px}.suggestions button:hover{background:#28423f}#ask-form{display:flex;padding:5px;background:#0c1a20;border:1px solid #35524f;border-radius:8px;gap:10px}#question{font-size:14px;color:var(--text);padding:8px 9px;background:transparent;border:0;outline:none;min-width:0;width:100%;height:43px}#ask-form:focus-within{border-color:var(--accent)}#send-question{background:var(--accent);color:#12382c;width:44px;min-width:44px;border-radius:5px;font-size:27px;line-height:1}.assistant-foot{font-size:9px;color:var(--muted);display:flex;justify-content:space-between;margin-top:10px;gap:8px}.conversation{display:grid;gap:15px}.conversation:empty{display:none}.chat-question{font-size:13px;color:var(--accent);margin-bottom:7px}.chat-answer{font-size:14px;line-height:1.7;color:#dae7e6}.chat-meta{font-size:9px;color:var(--muted);margin-top:8px}.chat-turn{border-top:1px solid #2f4a49;padding-top:15px;padding-bottom:14px}.chat-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:6px;margin-top:12px}.chat-rows button{background:#1d3b3b;border:1px solid #355755;text-align:left;border-radius:6px;padding:10px;font-size:11px;color:#d3e9e1}.chat-rows small{display:block;color:#9cbbb2;margin-top:4px}footer{display:flex;justify-content:space-between;gap:15px;padding:30px 0 40px;color:#90a5ac;font-size:10px}footer strong{font-size:16px;color:#c4d3d8;margin-right:9px;letter-spacing:-.5px}footer>span{display:flex;align-items:center;gap:18px}footer a:hover{color:var(--accent)}#assistant-fab{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:25px;z-index:1001;background:#79e4c2;color:#0b3327;border:1px solid #a0f7da;box-shadow:0 5px 28px #0005;border-radius:30px;padding:11px 18px;font-size:12px;font-weight:650;display:flex;align-items:center;gap:9px}#assistant-fab span{font-size:20px;line-height:1}dialog{background:#12252d;color:var(--text);border:1px solid #35515a;border-radius:14px;padding:30px;width:min(520px,calc(100vw - 28px));max-height:85dvh;overflow:auto}dialog::backdrop{background:#020d12bd;backdrop-filter:blur(6px)}.modal-close{position:absolute;right:12px;top:9px}dialog h2{font-family:var(--title);font-size:24px;margin:10px 30px 20px 0}dialog p{font-size:14px;line-height:1.75;color:#b4c6cc;margin-bottom:16px}dialog a{color:var(--accent);text-decoration:underline}.toast{position:fixed;bottom:82px;left:50%;transform:translateX(-50%);z-index:2000;max-width:90vw;padding:12px 20px;background:#e0eee7;color:#17372b;border-radius:7px;font-size:12px;box-shadow:0 5px 25px #0004}.number-flash{animation:flash .8s ease}@keyframes flash{50%{color:var(--accent)}}
@media(min-width:1500px){.map-wrap{height:490px}}
@media(max-width:1100px){.masthead{padding:0 28px}.score-dock{padding-left:28px;padding-right:28px}main{padding:28px 28px 0}.workspace{grid-template-columns:minmax(0,1fr) 305px;gap:14px}.score-number{font-size:20px}.score-leaders{gap:12px}.score-card{padding:12px 12px 14px}.map-toolbar{padding-left:13px;padding-right:13px}.map-filter{padding-left:13px;padding-right:13px}.segmented button{padding-left:11px;padding-right:11px}.map-filter label{display:none}.map-wrap{height:400px}.map-ocean{right:17px}}
@media(max-width:760px){html{scroll-padding-top:205px}.masthead{height:58px;padding:0 19px}.brand{font-size:23px}.edition{font-size:8px;letter-spacing:1.3px;margin-left:13px;padding-left:13px}.round{font-size:8px;letter-spacing:.8px}.round span{margin:0 3px}.score-dock{padding:11px 14px 7px}.dock-heading{margin-bottom:9px}h1{font-size:13px}h1 span{display:none}.connection{font-size:9px;gap:5px}.connection i{width:5px;height:5px}.scores{gap:8px}.score-card{padding:9px 10px 11px;border-radius:7px}.score-top{margin-bottom:7px;gap:4px}.office-name{font-size:11px;gap:4px}.office-name small{font-size:7px}.counted{font-size:8px}.score-leaders{display:flex;flex-direction:column;gap:7px;min-height:43px}.score-leader{grid-template-columns:1fr auto;column-gap:5px}.score-name{font-size:10px}.score-name i{width:4px;height:4px;margin-right:4px}.score-number{font-size:15px;letter-spacing:-.4px;grid-row:1}.score-number small{font-size:9px}.score-votes{display:none}.dock-foot{font-size:8px;gap:8px}.dock-foot .text-button{min-height:23px}.score-empty{font-size:10px!important}.score-empty small{font-size:8px!important}.score-empty strong{font-size:16px!important}main{padding:24px 14px 0}.explore-heading{margin-bottom:15px}.eyebrow{font-size:8px;letter-spacing:1.3px}.explore-heading h2{font-size:22px;letter-spacing:-.8px}.municipality-count{font-size:20px;gap:4px;align-items:end;flex-direction:column;line-height:1.2}.municipality-count span{font-size:8px}.workspace{display:flex;flex-direction:column;gap:15px}.map-panel,.detail-panel{width:100%;border-radius:10px}.map-toolbar{padding:12px 12px 0}.segmented button{font-size:11px;min-height:34px;padding:7px 11px}.icon-label{font-size:10px;gap:4px}.icon-label span{font-size:20px}.map-filter{padding:11px 12px 0;gap:8px}select{font-size:11px;min-height:41px}.tour{font-size:10px}.tour span{margin-right:2px}.map-wrap{height:345px;height:min(390px,48dvh);min-height:280px}.map-direction{left:17px;top:24px}.map-ocean{right:14px;font-size:7px;letter-spacing:2px;bottom:65px}.map-empty-note{font-size:9px;bottom:12px}.map-legend{padding:8px 13px 11px;font-size:9px;gap:7px 12px}.map-foot{padding:10px 13px;font-size:9px}.detail-panel{padding:17px 18px}.search-wrap{margin-bottom:18px}.search-wrap input{font-size:16px}.place-heading h3{font-size:23px}.place-progress{margin-top:14px}.place-progress small,#place-sections{font-size:10px}.candidate-list{max-height:330px}.candidate-row{grid-template-columns:34px 1fr auto;padding:11px 0}.candidate-name{font-size:13px}.candidate-party{font-size:10px}.candidate-percent{font-size:18px}.candidate-votes{font-size:10px}.list-heading{font-size:11px;margin-top:18px}.source-stamp{font-size:10px}.other-votes{font-size:11px}.activity-panel{flex-direction:column;align-items:start;gap:8px;padding:18px 4px}.activity-panel p{font-size:11px}.assistant-panel{margin-top:20px;padding:19px 16px;scroll-margin-top:210px}.assistant-symbol{width:33px;height:33px;font-size:24px}.assistant-heading{gap:9px}.assistant-heading h2{font-size:17px}.assistant-heading .eyebrow{font-size:7px}.source-pill{display:none}.assistant-intro{font-size:12px;margin:15px 0}.suggestions{gap:6px}.suggestions button{font-size:10px;padding:7px 9px}.assistant-foot{font-size:8px;flex-direction:column;gap:3px}#question{font-size:16px;padding-left:7px}#question::placeholder{font-size:11px}.chat-answer{font-size:14px}footer{flex-direction:column;padding:24px 3px 95px;font-size:9px;gap:15px}footer>span{gap:12px}#assistant-fab{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:11px 16px}.metric-controls{padding:10px 12px 0;font-size:10px}.metric-controls .segmented button{min-height:30px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.leaflet-zoom-animated{transition:none!important}}
.score-empty{font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;grid-column:1/-1;width:100%;color:#c2d2d6}.score-empty strong{font-family:var(--title);font-weight:500;font-size:23px;color:#82a9a2}.score-empty small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
@media(max-width:760px){.score-votes{display:block;font-size:8px}.score-number{grid-row:1/3}.score-leaders{gap:6px}.score-top{align-items:start}.office-name small{white-space:nowrap}}
.brand{font-size:22px;letter-spacing:-.7px}.explore-heading{gap:18px}.municipality-count{flex-shrink:0}
@media(max-width:760px){.brand{font-size:18px;letter-spacing:-.5px}.explore-heading h2{font-size:21px;line-height:1.35}.explore-heading{align-items:center;gap:12px}footer>span:first-child{flex-wrap:wrap;gap:6px 12px}}

/* Legislative results: municipal summary and searchable complete panel. */
.leg-panel{margin:24px 0;padding:26px;border:1px solid #29424a;border-radius:18px;background:#102128;scroll-margin-top:220px}.leg-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.leg-heading h2{margin:8px 0;font-size:25px}.leg-heading p{margin:0 0 18px;color:#8bdac3}.leg-tabs{display:flex;gap:7px;flex-wrap:wrap}.leg-tabs button{padding:11px 18px;border:1px solid #38525a;border-radius:8px;background:#132b33;color:#bbcfce;cursor:pointer;font:inherit}.leg-tabs button.active{background:#a0efd5;color:#0a2824;border-color:#a0efd5}.leg-toolbar{display:flex;align-items:center;gap:18px;margin:18px 0 12px}.leg-toolbar input{min-width:0;flex:1;border:1px solid #38525a;border-radius:8px;padding:12px;background:#091a21;color:#e4f1ef;font:inherit}.leg-toolbar>span{color:#a3bbb9;font-size:12px}.leg-list{max-height:470px;overflow:auto;overscroll-behavior:contain}.leg-row{display:flex;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid #2b424b}.leg-rank{font:12px monospace;color:#829f9e;min-width:25px}.leg-person{flex:1;min-width:0}.leg-person strong{display:block;font-size:14px;overflow-wrap:anywhere}.leg-person small{color:#90abaa;font-size:11px}.leg-votes{text-align:right;white-space:nowrap}.leg-votes strong{display:block;font-size:14px;color:#c4f4e3}.leg-votes small{font-size:11px;color:#90abaa}.leg-note{font-size:12px;line-height:1.6;color:#8da8a8;margin:16px 0 0}#leg-more{display:block;margin:14px auto}#leg-more[hidden]{display:none}.city-deputies{border-top:1px solid #304951;margin-top:18px;padding-top:16px}.city-deputies h4{font-size:14px;margin:12px 0}.city-deputies .leg-row{gap:8px;padding:9px 0}.city-deputies .leg-person strong{font-size:12px}.city-deputies .leg-votes strong{font-size:12px}.city-deputies .leg-rank{min-width:15px}.city-deputies p{font-size:12px;line-height:1.5;color:#9db6b4}.city-deputies a{display:inline-block;margin-top:14px;color:#a0efd5;font-size:12px}.leg-panel button:focus-visible,.leg-panel input:focus-visible{outline:2px solid #a0efd5;outline-offset:3px}@media(max-width:600px){.leg-panel{padding:17px 14px;scroll-margin-top:190px}.leg-heading h2{font-size:21px}.leg-toolbar{flex-wrap:wrap;gap:10px}.leg-toolbar input{width:100%;flex-basis:100%}.leg-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.leg-tabs button{padding:11px 7px;font-size:12px}.leg-row{gap:8px}.leg-person strong{font-size:13px}.leg-votes strong{font-size:13px}.leg-heading{align-items:flex-start}}
.leg-heading .text-button{flex-shrink:0;font-size:12px;white-space:nowrap}
.party-key{padding:12px 18px;border-top:1px solid #2b424b;font-size:11px;color:#a9bdbc}.party-key summary{cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}.party-key span{display:inline-flex;align-items:center;gap:6px}.party-key i{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.party-yellow{background:#f5ce45}.party-red{background:#f56570}.party-neutral{background:#96b3bf}.party-key summary b{font-size:10px;font-weight:400;text-decoration:underline;margin-left:auto}.party-key p{margin-top:12px;line-height:1.6}.leg-key{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 0 0;border:0}.leg-key small{flex-basis:100%;font-size:10px;color:#8da8a8}.leg-row{border-left:3px solid var(--party-color,#96b3bf);padding-left:10px}.leg-row .leg-person strong{color:var(--party-color,#96b3bf)}.city-deputies .leg-row{padding-left:7px}.candidate-name{color:var(--c)}
footer{flex-wrap:wrap}.powered-credit{flex-basis:100%;width:100%;text-align:center;font-size:10px;line-height:1.6;color:#849a9e;margin-top:12px}.powered-credit a{color:inherit}.powered-credit a:hover{color:var(--accent)}@media(max-width:600px){.powered-credit{font-size:9px;margin-top:5px}}
.leg-row{width:100%;text-align:left;background:transparent;font:inherit}.leg-row:hover{background:#203940}.candidate-photo,.photo-fallback{width:38px;height:48px;flex-shrink:0;border-radius:6px;overflow:hidden;background:#283d45;display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:#c2d0d0;text-align:center}.candidate-photo img{width:100%;height:100%;object-fit:cover}.candidate-photo.large,.photo-fallback.large{width:92px;height:122px;border-radius:10px}.candidate-profile{padding:20px;border:1px solid #436059;border-radius:12px;margin-top:20px;scroll-margin-top:215px}.profile-top{display:flex;align-items:center;justify-content:space-between}#profile-identity{display:flex;gap:18px;align-items:center;margin:16px 0}#profile-identity h3{font-size:23px;margin:0 0 6px}#profile-identity p{font-size:12px;color:#9cb5b4;margin:5px 0}#profile-identity strong{font-size:20px}#profile-status{font-size:12px;color:#a4bdb8;margin:12px 0}.profile-metrics{width:fit-content;margin:16px 0}#profile-map{height:360px;border-radius:8px;background:#0a1a22}.profile-cities{max-height:340px;overflow:auto;margin-top:16px}.origin-city{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;padding:12px 0;background:transparent;border-bottom:1px solid #2b424b;text-align:left;font-size:13px}.origin-city small{display:block;font-size:10px;color:#9ab3b0}.origin-city strong{text-align:right;white-space:nowrap}.candidate-profile .leaflet-popup-content{color:#16342e}@media(max-width:600px){.candidate-profile{padding:12px;scroll-margin-top:195px}.candidate-photo{width:29px;height:38px}.candidate-photo.large{width:72px;height:96px}#profile-identity{gap:12px}#profile-identity h3{font-size:19px}#profile-identity strong{font-size:17px}#profile-map{height:300px}.leg-row{gap:7px}.leg-rank{min-width:16px}}
.profile-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.profile-share button{font-size:12px;padding:10px 12px;border-radius:7px;border:1px solid #466058;background:#203b35;color:#b8f5df}.profile-back{font-size:11px;color:#a9bfba;margin-left:auto;text-decoration:underline}#profile-link-fallback{display:block;font-size:11px;color:#a9bfba}#profile-link{display:block;width:100%;padding:10px;margin:6px 0;background:#0b1a20;color:#d4ede4;border:1px solid #466058;border-radius:6px;font-size:12px}.candidate-view .workspace,.candidate-view .explore-heading,.candidate-view .activity-panel,.candidate-view .assistant-panel,.candidate-view #assistant-fab{display:none!important}.candidate-view .leg-panel>:not(.candidate-profile){display:none}.candidate-view .leg-panel{padding:0;border:0;background:none;margin-top:0}.candidate-view .candidate-profile{margin-top:0}.candidate-view main{max-width:1000px}.candidate-view #profile-map{height:440px}@media(max-width:600px){.profile-share button{font-size:11px;padding:10px}.profile-back{margin-left:0;flex-basis:100%;margin-top:3px}.candidate-view #profile-map{height:320px}}
.candidate-view .leg-panel>:not(.candidate-profile){display:none!important}
/* Decorative motion; no effect represents a vote or a new result. */
.cyber-map{background:radial-gradient(ellipse at 48% 50%,#14303b 0%,#091921 64%,#071219 100%)!important;isolation:isolate}.cyber-overlay{position:absolute;inset:0;z-index:450;overflow:hidden;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 60px #010b1466}.cyber-grid{position:absolute;inset:-60px;background-image:linear-gradient(#52d5e00b 1px,transparent 1px),linear-gradient(90deg,#52d5e00b 1px,transparent 1px);background-size:36px 36px;transform:perspective(500px) rotateX(13deg);mask-image:radial-gradient(ellipse,#000a,transparent 78%);animation:cyber-grid-drift 24s linear infinite}.cyber-scan{position:absolute;left:0;top:-35%;width:100%;height:32%;background:linear-gradient(transparent,#6ef4eb0c 86%,#8afcf72b 98%,transparent);animation:cyber-sweep 12s linear infinite;will-change:transform}.cyber-bracket{position:absolute;width:20px;height:20px;border:1px solid #7fe6de77;filter:drop-shadow(0 0 3px #62e7e64d)}.cyber-bracket.a{top:12px;left:12px;border-right:0;border-bottom:0}.cyber-bracket.b{top:12px;right:12px;border-left:0;border-bottom:0}.cyber-bracket.c{bottom:22px;left:12px;border-right:0;border-top:0}.cyber-bracket.d{bottom:22px;right:12px;border-left:0;border-top:0}.cyber-map path.leaflet-interactive{transition:fill .6s,fill-opacity .6s,stroke .25s,stroke-width .25s}.cyber-map path.leaflet-interactive:hover,.cyber-map path.cyber-selected{stroke:#a7fff1;stroke-width:2;filter:drop-shadow(0 0 3px #65ffe0aa)}.cyber-map .cyber-toggle{background:#0a1c25d9;color:#93cfc9;border:1px solid #42746f88;backdrop-filter:blur(8px);border-radius:6px;padding:7px 9px;font:10px/1.4 var(--font);margin:7px 7px 0 0;min-height:32px;letter-spacing:.3px}.cyber-ripple{position:absolute;width:22px;height:22px;margin:-11px;border:1px solid #8bffe7;border-radius:50%;box-shadow:0 0 12px #58efdc55;animation:cyber-touch 1.2s ease-out forwards}.effects-paused .cyber-scan,.effects-paused .cyber-grid,.tab-paused .cyber-scan,.tab-paused .cyber-grid{animation-play-state:paused}.effects-paused .cyber-scan{opacity:0}.map-moving .cyber-scan{opacity:.25}@keyframes cyber-sweep{from{transform:translateY(0)}to{transform:translateY(430%)}}@keyframes cyber-grid-drift{from{translate:0 0}to{translate:36px 36px}}@keyframes cyber-touch{from{transform:scale(.3);opacity:.85}to{transform:scale(5);opacity:0}}@media(prefers-reduced-motion:reduce){.cyber-grid,.cyber-scan,.cyber-ripple{animation:none!important}.cyber-scan,.cyber-ripple{display:none}.cyber-map path.leaflet-interactive{transition:none}}@media(max-width:600px){.cyber-map .cyber-toggle{font-size:9px;padding:7px;min-height:34px}.cyber-grid{background-size:28px 28px}.cyber-bracket{width:14px;height:14px}}
.pinnable-row{position:relative;border-bottom:1px solid #294049;padding-bottom:5px}.pinnable-row>.candidate-row,.pinnable-row>.leg-row{width:100%;border-bottom:0}.pin-button{display:block;margin:1px 0 4px auto;padding:6px 10px;min-height:32px;background:#102129;color:#9bb4b3;border:1px solid #36514f;border-radius:6px;font-size:11px;white-space:nowrap}.pin-button.is-pinned{color:#a2f0d2;background:#20443a;border-color:#5c9c87}.pinned-panel{padding:22px;border:1px solid #38594f;background:#102229;border-radius:14px;margin:0 0 24px;scroll-margin-top:220px}.pinned-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.pinned-heading h2{font-size:23px;margin-top:5px}.pinned-heading h2 small{font-size:12px;color:#9bd7bd;margin-left:8px}.pinned-heading .text-button{font-size:12px}.pinned-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;margin-top:14px}.pinned-card{padding:16px;border:1px solid #304a4e;border-top:2px solid var(--pin-color);border-radius:10px;background:#0b1a21;min-width:0}.pinned-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#95adae;font-size:11px}.pinned-person{display:flex;align-items:center;gap:12px;margin:12px 0}.pinned-person h3{font-size:16px;color:var(--pin-color);margin:0}.pinned-person small{font-size:11px;color:#a0b6b4}.pinned-votes{font-size:27px;font-variant-numeric:tabular-nums}.pinned-votes small{font-size:12px;color:#aac4bd}.pinned-map-button{background:transparent;color:#a5e3cb;padding:12px 0;font-size:12px}.pinned-card .leg-note{margin:8px 0 0}.pinned-view .workspace,.pinned-view .explore-heading,.pinned-view .leg-panel,.pinned-view .activity-panel,.pinned-view .assistant-panel,.pinned-view #assistant-fab{display:none!important}.candidate-view .pinned-panel{display:none}.candidate-view #profile-pin .pin-button{margin:5px 0 10px}.pinned-view .pinned-panel{min-height:40vh}@media(max-width:600px){.pinned-panel{padding:16px;scroll-margin-top:190px}.pinned-heading{align-items:flex-start;flex-direction:column}.pinned-heading h2{font-size:21px}.pinned-cards{grid-template-columns:1fr}.pin-button{min-height:36px}}
.live-process{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:5px 16px;border-top:1px solid #29453d80;margin-top:5px;padding-top:7px;color:#9ec9bc;font-size:10px;line-height:1.5;letter-spacing:.12px}.live-process-source,.live-process-ai{display:flex;align-items:center;gap:7px}.live-process-source>i{width:6px;height:6px;border-radius:50%;background:#8de7c4;box-shadow:0 0 8px #8de7c460;animation:live-process-pulse 2.6s ease-in-out infinite}.live-process-ai>i{font-style:normal;font-size:13px;color:#9ed8ce}.live-process.is-interpreting .live-process-ai{color:#c0fff0}.live-process.is-interpreting .live-process-ai>i{animation:live-process-spin 4s linear infinite}.live-process.is-delayed .live-process-source{color:#e8c38b}.live-process.is-delayed .live-process-source>i{background:#e8c38b;box-shadow:none;animation:none}@keyframes live-process-pulse{0%,100%{opacity:1;box-shadow:0 0 8px #8de7c460}50%{opacity:.35;box-shadow:0 0 2px #8de7c420}}@keyframes live-process-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.live-process{font-size:9px;gap:3px 8px;padding-top:5px}.live-process-ai>i{font-size:11px}}@media(prefers-reduced-motion:reduce){.live-process i{animation:none!important}}
.totalization-panel{margin:0 0 26px;padding:20px;background:#10232b;border:1px solid #4a7468;border-radius:13px}.totalization-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.totalization-heading h2{font-size:20px;margin:0}.totalization-heading>span{font-size:11px;color:#a6c2ba}.totalization-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.totalization-card{padding:14px;background:#0b1a21;border:1px solid #324d50;border-radius:9px;min-width:0}.totalization-card>div:first-child{display:flex;flex-direction:column;gap:2px;font-size:12px}.totalization-card>div:first-child span{color:#a3c3b7;font-size:11px}.totalization-card>b{display:block;font-size:28px;font-variant-numeric:tabular-nums;color:#a5f6d4;margin-top:12px}.totalization-card>small{display:block;color:#9eb8b7;font-size:10px;line-height:1.6}.totalization-meter{height:3px;background:#2b4549;margin:10px 0 16px;border-radius:2px}.totalization-meter i{display:block;background:#8ee9c7;height:100%}.totalization-time-label{display:block;color:#99b5ac;font-size:8px;letter-spacing:.6px}.totalization-card time{display:block;font-size:13px;font-weight:650;color:#e8fff6;line-height:1.5;margin:4px 0}.totalization-card .totalization-check{font-size:9px;margin-top:9px;color:#88a19f}.totalization-panel>p{font-size:10px;color:#91aaa6;line-height:1.5;margin-top:12px}@media(max-width:1050px){.totalization-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.totalization-panel{padding:14px}.totalization-heading{display:block}.totalization-heading h2{font-size:18px;margin-bottom:5px}.totalization-heading>span{font-size:10px}.totalization-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.totalization-card{padding:11px}.totalization-card>b{font-size:26px}.totalization-card time{font-size:12px}.totalization-time-label{font-size:7px}}
