@import url('/hub-art/fonts/fonts.css');
:root{font-family:'DM Sans','Noto Sans KR',system-ui,sans-serif;color:#e6ecef;background:#101c25;font-synthesis:none;--muted:#94a5af;--line:#2c3b46;--surface:#182630;--green:#bce6ca;--blue:#7aaaf0;--red:#ed7d7e;--gold:#dcbd7c}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:3px}button{color:inherit}button,select{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px 13px}select{max-width:100%;color-scheme:dark}input,textarea{color:#edf2f3;background:#101d26;border:1px solid #42535e;border-radius:8px;padding:12px;width:100%}textarea{resize:vertical;min-height:96px}p{line-height:1.55}h1,h2,h3,p{margin-top:0}.site-header{height:76px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);padding:0 40px}.brand{font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-icon{background:var(--green);border-radius:9px;color:#132d22;padding:3px 8px;font-size:23px}.back{font-size:13px;color:var(--muted)}.back span{margin-left:7px}.header-tools{margin-left:auto;display:flex;gap:12px;align-items:center}.quiet{background:transparent}.hero{display:flex;justify-content:space-between;gap:24px;padding:34px 40px 28px;align-items:center}.eyebrow{color:var(--green);letter-spacing:.16em;font-size:11px;font-weight:700;margin-bottom:10px}h1{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(30px,3.3vw,46px);font-weight:400;letter-spacing:-.025em;margin-bottom:9px}.intro{color:var(--muted);font-size:14px;margin:0}.cycle-stamp{border:1px solid #586168;border-radius:50%;width:86px;height:86px;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(8deg);flex-shrink:0}.cycle-stamp span{font-size:10px;letter-spacing:.13em}.cycle-stamp strong{font-family:Georgia,serif;font-size:25px;font-weight:400;margin-top:4px}#workspace{margin:0 26px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 14px 17px}.tabs,.segments{display:flex;gap:5px}.tabs button{background:transparent;border-color:transparent;font-size:14px;padding:11px 18px}.tabs button.active{color:#112d23;background:var(--green);font-weight:700}.tabs small{display:inline-block;margin-left:6px;opacity:.7;font-size:11px}.segments{padding:4px;background:#101c25;border:1px solid var(--line);border-radius:10px;max-width:100%}.segments button{background:transparent;border-color:transparent;padding:7px 10px;font-size:12px}.segments button.active{background:#30424e;color:white}.board{display:grid;grid-template-columns:minmax(0,1fr) 360px;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:690px;background:var(--surface)}.map-column{min-width:0;background:radial-gradient(ellipse at 60% 45%,#243641,#182630 75%);position:relative}.map-top{padding:23px 26px 10px;display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.map-title{margin:0;font-size:16px;font-weight:500}.meta{font-size:11px;line-height:1.6;color:var(--muted)}.group-switch{display:flex;gap:4px;flex-wrap:wrap;margin:0 26px 18px}.group-switch button{border-color:transparent;font-size:11px;padding:7px 10px;background:transparent;color:var(--muted)}.group-switch button.active{color:var(--green);border:1px solid #536c60;background:#263d36}.tally{padding:0 26px}.tally-labels{display:grid;grid-template-columns:1fr 1fr 1fr;font-size:11px;gap:12px}.tally-labels strong{font-size:24px;font-weight:500;display:block;margin-top:3px}.tally-labels div:last-child{text-align:right}.tally-labels div:nth-child(2){text-align:center}.dem{color:var(--blue)}.rep{color:var(--red)}.other{color:var(--gold)}.seat-bar{height:5px;display:flex;gap:2px;margin:10px 0 9px;border-radius:5px;overflow:hidden;background:#41515c}.seat-bar span{min-width:0}.tally-note{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}.map-wrap{position:relative;min-height:300px;aspect-ratio:1200/760;margin-top:3px;overflow:hidden}.map-wrap svg{width:100%;height:100%;display:block;touch-action:pan-y}.district,.state-region{fill:#354853;stroke:#16252e;stroke-width:.65;transition:fill .6s;cursor:pointer;vector-effect:non-scaling-stroke}.state-region{stroke:#566974;stroke-width:1}.district:hover,.state-region:hover{filter:brightness(1.45);stroke:#eaf5ee;stroke-width:1.5}.district.selected,.state-region.selected{stroke:#eaf5ee;stroke-width:2;filter:brightness(1.2)}.district.dem,.state-region.dem{fill:#4875aa}.district.rep,.state-region.rep{fill:#a8515b}.district.other,.state-region.other{fill:#8d7b4e}.inactive{opacity:.32;cursor:default}.state-outline{fill:none;stroke:#7f929c;stroke-width:.65;pointer-events:none;vector-effect:non-scaling-stroke}.map-state-label{fill:#bdcbd1;font:10px 'DM Sans',sans-serif;pointer-events:none;text-anchor:middle;paint-order:stroke;stroke:#22333e;stroke-width:3px}.flag-label{pointer-events:none;font:bold 9px 'DM Sans',sans-serif;fill:white}.map-controls{position:absolute;bottom:14px;left:24px;display:flex;gap:6px}.map-controls button{background:#17252eeb;width:35px;height:35px;padding:0}.map-controls button:last-child{width:auto;padding:0 11px;font-size:11px}.map-empty{font-size:11px;color:var(--muted);text-align:center;padding:0 20px;margin:-15px 0 13px;pointer-events:none}.map-bottom{border-top:1px solid var(--line);padding:17px 26px}.search-row{display:flex;gap:9px}.search-row input{font-size:12px;padding:10px;min-width:0}.search-row select{font-size:12px;max-width:44%}.region-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px;max-height:86px;overflow:auto}.region-list button{font-size:11px;padding:6px 9px;background:#263741}.region-list button.active{border-color:var(--green);color:var(--green)}.sidebar{border-left:1px solid var(--line);padding:25px 23px;min-width:0;background:#1b2a34}.sidebar-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.sidebar h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:26px;line-height:1.15;margin-bottom:8px}.sidebar h3{font-size:14px;margin:23px 0 12px}.sidebar .share-button{padding:7px 10px;font-size:11px}.rule-badge{display:inline-block;font-size:10px;border:1px solid #52636c;border-radius:4px;padding:3px 6px;color:#b9c8ce;margin-bottom:12px}.mode-question{font-size:16px;line-height:1.4;margin:18px 0 11px}.candidate-list{display:grid;gap:8px}.candidate-card{padding:11px 12px;display:flex;gap:10px;align-items:center;text-align:left;background:#23343f;border-color:#3a4c57;border-radius:8px;width:100%;position:relative}.candidate-card.active{border-color:var(--green);background:#30493e}.avatar{width:38px;height:44px;flex:0 0 38px;border-radius:5px;background:#3b4e5a;display:grid;place-items:center;color:#afbdc3;font-size:14px;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.candidate-name{font-weight:600;line-height:1.3;display:block;font-size:13px;overflow-wrap:anywhere}.candidate-party{font-size:10px;color:var(--muted);display:block;margin-top:4px}.candidate-count{font-size:12px;margin-left:auto;white-space:nowrap}.candidate-count small{display:block;text-align:right;font-size:10px;color:var(--muted)}.check{color:var(--green);font-size:12px}.text-button{border:0;background:none;padding:5px 0;color:var(--muted);font-size:11px;text-decoration:underline}.notice{font-size:11px;padding:12px;border:1px solid #6a6247;color:#e7d6a9;border-radius:7px;line-height:1.5}.deadline{font-size:10px;line-height:1.6;color:var(--muted);margin:15px 0}.deadline strong{display:block;color:#dce7eb;font-weight:400}.source-links{font-size:10px;line-height:1.6;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:17px;overflow-wrap:anywhere}.source-links a{text-decoration:underline}.empty-panel{min-height:440px;display:flex;flex-direction:column;justify-content:center;text-align:center;color:var(--muted)}.empty-panel .flag-illustration{font-size:80px;color:#648274;margin-bottom:20px}.empty-panel h2{color:#e5ecee}.empty-panel p{font-size:13px}.panel-section{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.panel-section h3{margin:0 0 13px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.section-head select{font-size:10px;padding:5px}.history-chart{width:100%;height:120px}.history-chart text{fill:#96a9b2;font:9px sans-serif}.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:10px}.legend span:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--dot);margin-right:5px}.breakdown{font-size:11px;margin:10px 0}.breakdown-row{margin-top:9px}.breakdown-row>div:first-child{display:flex;justify-content:space-between;color:var(--muted)}.breakdown-row .seat-bar{height:7px;margin:5px 0}.comment-form{display:grid;gap:9px}.comment-form input,.comment-form textarea{font-size:12px;padding:9px}.primary{background:var(--green);color:#122b20;border-color:var(--green);font-weight:700;font-size:12px}.comment{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.comment-top{display:flex;justify-content:space-between;gap:6px}.comment time{color:var(--muted);font-size:9px}.comment p{white-space:pre-wrap;margin:8px 0}.comment-actions{display:flex;gap:12px}footer{padding:22px 40px;display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:10px;line-height:1.6}.loading{padding:90px 30px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#d7e9df;color:#132b20;border-radius:9px;padding:12px 20px;box-shadow:0 10px 60px #0006;z-index:60;max-width:min(90vw,550px);font-size:13px;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{color:inherit;border:1px solid #50616c;border-radius:15px;background:#1c2d37;padding:28px;width:480px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 30px)}dialog::backdrop{background:#08131cc9;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.modal-head h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:27px}.modal-head button{border:0;background:transparent;padding:0 4px;font-size:22px}.modal-body p{font-size:12px;color:var(--muted)}.modal-body label{display:block;font-size:12px;color:#bdcbd1;margin:15px 0 7px}.modal-body select{width:100%;padding:11px}.modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:23px}.location-button{width:100%;color:var(--green);border-color:#5e7d6c;margin:4px 0 8px;background:#274438}.share-check{display:flex!important;align-items:center;gap:10px}.share-check input{width:16px}.share-preview{padding:20px;background:#12232c;border:1px solid var(--line);border-radius:9px}.share-preview h3{font-family:Georgia,serif;font-size:22px;font-weight:400}.share-preview p{margin-bottom:5px}.share-choices{margin-top:13px;border-top:1px solid var(--line);padding-top:12px;font-size:11px}.admin-row{padding:12px 0;border-top:1px solid var(--line);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.error-panel{padding:40px;text-align:center}.geo-hint{font-size:11px;color:var(--green)}.selected-race{color:var(--green)}
@media(min-width:1700px){main{max-width:1680px;margin:auto}.board{grid-template-columns:minmax(0,1fr) 390px}.hero{padding-top:45px}.map-wrap{max-height:740px}}
@media(max-width:1050px){.board{grid-template-columns:minmax(0,1fr) 320px}.sidebar{padding:22px 18px}.map-top,.map-bottom{padding-left:18px;padding-right:18px}.tally{padding:0 18px}.group-switch{margin-left:18px;margin-right:18px}.tabs button{padding:10px 13px}.site-header{padding:0 26px}.hero{padding-left:26px;padding-right:26px}.toolbar{padding-left:0;padding-right:0}}
@media(max-width:760px){.site-header{padding:0 16px;height:65px;gap:12px}.brand{font-size:16px}.brand-icon{font-size:19px}.back{display:none}.header-tools{gap:5px}.header-tools button{padding:8px}.header-tools button span{display:none}.header-tools select{font-size:11px;padding:8px;max-width:106px}.hero{padding:26px 18px 21px;gap:16px}h1{font-size:32px;line-height:1.1}.intro{font-size:12px}.cycle-stamp{width:64px;height:64px}.cycle-stamp strong{font-size:19px}.cycle-stamp span{font-size:8px}.eyebrow{font-size:9px}#workspace{margin:0 10px}.toolbar{gap:11px}.tabs{width:100%;justify-content:center}.tabs button{flex:1;white-space:nowrap;font-size:12px;padding:10px 8px}.tabs small{font-size:10px}.segments{width:100%}.segments button{flex:1;font-size:11px;padding:8px 3px}.board{display:flex;flex-direction:column;min-height:0}.map-top{padding-top:18px}.map-title{font-size:14px}.map-top .meta{font-size:10px}.group-switch{gap:2px;margin-top:3px;margin-bottom:14px}.group-switch button{font-size:10px;padding:6px 8px}.tally-labels strong{font-size:23px}.tally-labels{font-size:10px}.map-wrap{min-height:245px;margin-top:10px}.map-controls{left:14px;bottom:7px}.map-empty{margin:1px 0 14px;font-size:10px}.map-bottom{padding:12px 15px}.sidebar{border-left:0;border-top:1px solid #60716b;padding:23px 20px;border-radius:18px 18px 0 0;box-shadow:0 -8px 25px #101c2533}.sidebar h2{font-size:28px}.empty-panel{min-height:230px}.empty-panel .flag-illustration{font-size:55px;margin-bottom:10px}.region-list{max-height:78px}.candidate-card{min-height:67px}.panel-section{margin-top:24px}footer{padding:20px;flex-direction:column;gap:8px}footer button{align-self:flex-start}dialog{padding:22px}.modal-row{gap:8px}.search-row select{max-width:43%}.search-row input{font-size:11px}.tally-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.brand .logo-mark{width:36px;height:36px;object-fit:contain}

.map-top [data-my-region]{white-space:nowrap;font-size:11px;flex-shrink:0}

.territory-maps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:4px 26px 14px}.territory-maps:empty{display:none}.territory-card{padding:8px;background:#22343f;font-size:10px;text-align:left;min-width:0}.territory-card.active{border-color:var(--green)}.territory-card svg{width:100%;height:53px;display:block}.territory-card span{display:block;overflow-wrap:anywhere;font-size:9px}.territory-card small{display:block;font-size:9px;color:var(--muted);margin-top:4px}@media(max-width:760px){.territory-maps{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 15px 14px}.territory-card svg{height:44px}}
.map-wrap{width:100%}@media(max-width:760px){.tabs button{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4}.tabs small{white-space:nowrap}}

.avatar img{object-position:center 20%}

/* My call: personal map, quick paint, call-all deck, share cards and shared links */
.hero{padding:24px 40px 20px}h1{font-size:clamp(28px,2.8vw,40px)}.hero-side{display:flex;align-items:center;gap:16px;flex-shrink:0}.countdown{margin:0;border:1px solid #5d8a73;background:#1c3329;color:var(--green);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;white-space:nowrap}
.lens-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#0d1820}.lens-switch button{border-color:transparent;background:transparent;font-size:13px;font-weight:600;padding:9px 16px;color:#c6d3d8}.lens-switch button.active{background:#e9f1ec;color:#102a1f;border-color:#e9f1ec}
.map-top .segments{flex-shrink:0}.map-top .segments button{font-size:11px;padding:6px 9px}
.seat-bar{position:relative;overflow:visible;height:8px}.seat-bar .open{background:#41515c}.majority-line{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#f1f5f3;border-radius:2px}.majority-text{color:#dce7eb}.headline{font-size:15px;font-weight:700;margin:10px 0 0}.headline.dem{color:var(--blue)}.headline.rep{color:var(--red)}.headline.oth{color:var(--gold)}.baseline-note{font-size:10px;margin:8px 0 0}
.progress{height:4px;border-radius:4px;background:#2a3b46;margin:14px 0 0;overflow:hidden}.progress span{display:block;height:100%;background:var(--green);transition:width .4s}
.call-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 2px}.call-actions .meta{margin-left:auto}.primary.big{font-size:14px;padding:12px 18px;border-radius:10px}
.sync-bar{margin:14px 26px 0;padding:12px 14px;border:1px solid #7b6a3d;background:#2a281c;border-radius:10px;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px}.sync-bar strong{display:block;color:#f0d89a;margin-bottom:2px}.sync-bar span{color:var(--muted)}.sync-bar .saving{color:var(--muted)}.sync-bar button{flex-shrink:0}
.brush-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:14px 26px 0;font-size:12px}.brush-label{color:var(--muted);margin-right:4px}.brush-row button{padding:7px 11px;font-size:12px;min-height:36px}.brush-row button b{font-weight:800}.brush-dem b{color:var(--blue)}.brush-rep b{color:var(--red)}.brush-erase b{color:var(--gold)}.brush-dem.active{background:#22406a;border-color:var(--blue)}.brush-rep.active{background:#5a2a31;border-color:var(--red)}.brush-erase.active{background:#4a4126;border-color:var(--gold)}.brush-hint{font-size:11px;color:var(--muted);margin:6px 26px 0}#map.painting .district,#map.painting .state-region{cursor:crosshair}
.map-legend{font-size:10.5px;line-height:1.5;color:var(--muted);padding:0 26px;margin:4px 0 10px}
#map-overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.map-overlay{pointer-events:auto;background:#122129ee;border:1px solid #4d6170;border-radius:12px;padding:16px 18px;text-align:center;max-width:300px;box-shadow:0 10px 40px #0007}.map-overlay p{margin:0 0 10px;font-size:13px}
.flag-label .flag-inner{transform-box:fill-box;transform-origin:0 100%}.flag-label.plant .flag-inner{animation:plant .55s cubic-bezier(.2,1.5,.4,1)}.ripple{fill:none;stroke:#f3f3e8;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ripple .8s ease-out forwards}@keyframes plant{0%{transform:translateY(-16px) scale(.3);opacity:0}55%{opacity:1}100%{transform:none}}@keyframes ripple{from{transform:scale(.2);opacity:.9}to{transform:scale(2.6);opacity:0}}
.region-list button.called{border-color:#4a5d68}.chip-flag{display:inline-block;margin-left:4px;font-size:9px;line-height:1;padding:2px 4px;border-radius:3px;background:#9aa9b0;color:#13222a}.chip-flag.dem{background:var(--blue)}.chip-flag.rep{background:var(--red)}.chip-flag.other{background:var(--gold)}
.shared-banner{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 26px 0;padding:12px 14px;border-radius:10px;background:#2a281c;border:1px solid #7b6a3d;font-size:13px}.shared-banner b{color:var(--gold)}
.deck-bar{background:#20333e;border:1px solid #3e5664;border-radius:10px;padding:10px 12px;margin:-6px 0 18px}.deck-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.deck-top strong{font-size:13px}.deck-top .meta{margin-right:auto}.deck-top button{padding:6px 10px;font-size:12px}.seat-bar.mini{height:6px;margin:6px 0}.mini-labels{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}
.candidate-card{min-height:62px}.candidate-card.revealed{background:linear-gradient(90deg,color-mix(in srgb,var(--party) 24%,#23343f) var(--pct),#23343f var(--pct))}.candidate-card.theirs{border-style:dashed;border-color:#b79b5c}.candidate-main{min-width:0;flex:1}.candidate-side{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.your-pick{font-size:10px;color:var(--green);font-weight:700;white-space:nowrap}.party-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--party);margin-right:5px;vertical-align:0}.candidate-party .tag{font-weight:600;color:#d7e3e8}.their-pick{display:block;margin-top:5px;font-size:10px;color:#f0d89a}
.reveal-hint{font-size:11px;color:var(--muted);margin:-4px 0 10px}.write-ins summary{font-size:12px;color:var(--muted);margin:12px 0 8px;cursor:pointer}
.pick-feedback{margin:12px 0 4px;padding:11px 12px;border-radius:8px;background:#1d372c;border:1px solid #3d6b55;font-size:12px}.pick-feedback p{margin:0 0 4px}.pick-feedback p:last-child{margin:0}.pick-feedback .ok{color:var(--green);font-weight:700}.pick-feedback .agree{color:#d5e2dc}.pick-feedback .text-button{padding:0 0 0 4px;color:#f0d89a}
.empty-panel .primary.big{align-self:center;margin:8px 0 10px}.empty-panel .quiet,.empty-panel .text-button{align-self:center;margin-top:6px}.empty-panel .headline{margin:0 0 6px}.steps{text-align:left;margin:12px auto 14px;padding-left:22px;font-size:13px;color:#cbd7dc;line-height:1.8;max-width:290px}.empty-panel.shared h2{font-size:30px}
.results-summary{font-size:12px;margin:12px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:8px}.result-block{border:1px solid #4e6a5c;border-radius:8px;padding:12px;margin:14px 0;font-size:12px}.result-block h3{margin:0 0 8px}.result-block p{margin:0 0 4px}.result-block a{text-decoration:underline}
.card-canvas{width:100%;height:auto;display:block;border-radius:10px;border:1px solid var(--line);margin:14px auto 4px;background:#0c171e}.card-canvas.story{width:auto;max-width:100%;max-height:52vh}.card-format{display:inline-flex}
.modal-lead{color:#f0d89a!important;font-size:13px!important}.optional-fields summary{font-size:12px;color:#bdcbd1;margin-top:16px;cursor:pointer}.consent{margin-top:16px}
.search-row [data-my-region]{white-space:nowrap;font-size:11px;flex-shrink:0}
@media(max-width:1050px){.sync-bar,.brush-row,.shared-banner{margin-left:18px;margin-right:18px}.brush-hint,.map-legend{margin-left:18px;margin-right:18px;padding:0}}
@media(max-width:760px){.hero{padding:18px 16px 14px;align-items:flex-start}h1{font-size:26px}.intro{font-size:12px}.hero-side{flex-direction:column;align-items:flex-end;gap:8px}.countdown{font-size:11px;padding:6px 10px;white-space:normal;text-align:center;max-width:132px}.cycle-stamp{display:none}.lens-switch{width:100%}.lens-switch button{flex:1;padding:10px 6px;font-size:13px}.map-top{flex-direction:column}.map-top .segments{width:100%}.sync-bar{margin:12px 15px 0;flex-direction:column;align-items:stretch}.brush-row{margin:12px 15px 0}.brush-row button{min-height:40px}.brush-hint,.map-legend{margin-left:15px;margin-right:15px}.shared-banner{margin:12px 15px 0}.shared-banner .primary{width:100%}.call-actions .primary.big{flex:1 1 100%}.call-actions .meta{margin-left:0}.map-controls button{width:40px;height:40px}.region-list button{min-height:34px}.search-row{flex-wrap:wrap}.search-row input{flex:1 1 100%}.search-row select{flex:1;max-width:none}.card-canvas.story{max-height:46vh}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1}}
.sync-bar[hidden],.brush-hint[hidden]{display:none}.progress-label{font-size:11px;color:var(--muted);margin:6px 0 0}.call-actions .brush-slot{margin-left:auto}.call-actions .brush-row{margin:0}.call-actions+.brush-hint{margin:8px 0 0}.mode-below{display:none}
@media(max-width:760px){.mode-top{display:none}.mode-below{display:flex;margin:8px 15px 4px;width:auto}.brush-text,.brush-label{display:none}.brush-row button{min-width:44px;justify-content:center}.call-actions .brush-slot{margin-left:auto}}
.sidebar .sync-bar{margin:0 0 18px;flex-direction:column;align-items:stretch}.tally-labels .majority{text-align:center}.tally-labels .majority span{font-size:11px}.tally-labels .majority strong.headline{font-size:15px;margin-top:9px;color:#e6ecef}.tally-labels .majority strong.headline.dem{color:var(--blue)}.tally-labels .majority strong.headline.rep{color:var(--red)}.tally-labels .majority strong.headline.oth{color:var(--gold)}
.deck-top{justify-content:space-between;flex-wrap:nowrap}.deck-top>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.deck-top .meta{margin:0}.deck-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
@media(max-width:760px){.sidebar .sync-bar{margin:0 0 16px}.tally-labels .majority strong.headline{font-size:13px}}
@media(min-width:761px){.shared-banner{display:none}}
@media(max-width:760px){.tally-total{display:none}.sidebar .sync-bar{flex-direction:row;align-items:center;padding:10px 12px}.sidebar .sync-bar span{display:none}.sidebar .sync-bar strong{margin:0;font-size:12px}.sidebar .sync-bar button{padding:8px 10px;font-size:12px}}
#panel h2:focus{outline:none}#panel h2:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.modal-actions button{word-break:keep-all}@media(max-width:760px){.modal-actions button{font-size:14px;padding:11px 8px}}

/* Crawlable help stays below the map and uses the current locale. */
.election-guide{margin:36px auto 12px;padding:28px;border:1px solid var(--line,#28404d);border-radius:16px;max-width:1480px;background:rgba(12,26,34,.45)}
.election-guide h2{font-size:clamp(1.2rem,2.4vw,1.65rem);margin:0 0 10px}.guide-scope{line-height:1.6;opacity:.75;margin:0 0 24px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}.guide-grid h3{font-size:1rem;line-height:1.5;margin:0 0 8px}.guide-grid p{font-size:.9rem;line-height:1.75;opacity:.8;margin:0;overflow-wrap:anywhere}@media(max-width:680px){.election-guide{padding:20px 16px;margin:24px 0 8px}.guide-grid{grid-template-columns:1fr;gap:22px}}
