/* Mapolitic 15: satellite globe; the original atlas remains an accessible fallback. */
html.v15-globe-ready:not(.v15-flat) .map-stage{background:radial-gradient(ellipse at 44% 48%,#172f48 0,#091a2c 54%,#040c16 100%);color:#eaf4fc}
html.v15-globe-ready:not(.v15-flat) .map-canvas{inset:105px 0 30px;overflow:hidden}
html.v15-globe-ready:not(.v15-flat) .world-svg{position:absolute;opacity:0;pointer-events:none}
.v15-globe{position:absolute;inset:0;overflow:hidden;touch-action:none}
.v15-globe canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.v15-territories{outline-offset:-5px;touch-action:none;cursor:grab}
html.v15-flat .v15-globe{display:none}
.v15-globe-tooltip{position:absolute;z-index:10;max-width:175px;padding:8px 12px;border:1px solid #a7c8e355;border-radius:8px;background:#071a2ded;color:#fff;box-shadow:0 4px 20px #0004;font:600 12px/1.4 system-ui,sans-serif;pointer-events:none}
.v15-map-options{position:absolute;left:30px;top:191px;z-index:9;font:12px/1.5 system-ui,sans-serif;max-width:260px}
.v15-view-toggle{display:flex;gap:8px;align-items:center;border:1px solid #abc9df55;color:#f1f8ff;background:#0b2237e8;padding:8px 12px;border-radius:8px;cursor:pointer;box-shadow:0 3px 12px #0003}
#v15-view-options{margin-top:8px;padding:14px;border:1px solid #abc9df55;border-radius:10px;background:#0a1d30f5;color:#edf6ff;box-shadow:0 8px 32px #0005}
#v15-view-options label{display:block;margin-bottom:13px}#v15-view-options input[type=checkbox]{margin-right:7px;accent-color:#50b6a9}#v15-view-options input[type=range]{width:100%;display:block;margin-top:6px;accent-color:#50b6a9}#v15-view-options output{float:right;font-variant-numeric:tabular-nums}
#v15-view-options small{display:block;color:#b2c8d9;margin:4px 0 12px;font-size:10px}
#v15-view-options button{border:1px solid #7595b555;border-radius:6px;padding:7px 10px;color:#f1f8ff;background:#253f55;cursor:pointer}
html.v15-globe-ready:not(.v15-flat) .map-heading h1{color:#f4f8fc}html.v15-globe-ready:not(.v15-flat) .map-heading p,html.v15-globe-ready:not(.v15-flat) .map-scope,html.v15-globe-ready:not(.v15-flat) .map-footer{color:#c2d5e5}
html.v15-globe-ready:not(.v15-flat) .map-heading .eyebrow{color:#9bb7cc}
html.v15-globe-ready:not(.v15-flat) .map-bottom{pointer-events:none;bottom:37px}
html.v15-globe-ready:not(.v15-flat) .map-bottom>*{pointer-events:auto}
.v15-assembly-note{font-size:11px;color:var(--muted-foreground,#687887);line-height:1.5;margin:8px 0}
.assembly-position-note{margin:8px 0 11px;padding:8px 10px;border-left:3px dashed #95a2a8;border-radius:4px;background:#95a2a818;color:var(--foreground,#33454f);font-size:11px;line-height:1.45}
.v15-capacity-key{display:inline-flex;align-items:center;gap:7px;font-size:11px}.v15-capacity-key:before{content:'';width:8px;height:8px;border-radius:50%;background:#8a99a6}
.v15-assembly-status{padding:12px 0;color:var(--muted-foreground,#687887);font-size:12px;line-height:1.6}
.v15-assembly-status strong{color:var(--foreground,#203c4c);display:block;font-size:14px;margin-bottom:4px}
@media(max-width:760px){html.v15-globe-ready:not(.v15-flat) .map-canvas{inset:130px 0 26px}.v15-map-options{left:12px;top:198px;max-width:232px}.v15-view-toggle{padding:6px 10px;font-size:11px}html.v15-globe-ready:not(.v15-flat) .map-bottom{bottom:35px}html.v15-globe-ready:not(.v15-flat) .map-heading h1{font-size:25px}.v15-globe-tooltip{display:none}}
@media(prefers-reduced-motion:reduce){.v15-globe *{transition:none!important}}

html.v15-globe-ready .map-heading{max-width:100%;box-sizing:border-box}
html.v15-globe-ready .map-layer-row{max-width:100%;min-width:0;flex-wrap:nowrap}
html.v15-globe-ready .map-layer-tabs{max-width:calc(100vw - 330px);min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;flex-shrink:1}
html.v15-globe-ready .map-layer-tabs button{flex-shrink:0}
html.v15-globe-ready:has(.territory-sheet) .map-layer-tabs{max-width:calc(100vw - 690px)}
html.v15-globe-ready .person-card .person-party{color:var(--party-color);font-weight:650}
html.v15-globe-ready .map-bottom .legend-card{max-width:410px}
@media(max-width:1100px){html.v15-globe-ready:has(.territory-sheet) .map-layer-tabs{max-width:calc(100vw - 470px)}}
@media(max-width:760px){html.v15-globe-ready .map-layer-tabs,html.v15-globe-ready:has(.territory-sheet) .map-layer-tabs{max-width:calc(100vw - 90px)}}
html.v15-globe-ready .map-top-controls{right:24px;max-width:calc(100% - 54px);gap:8px}
html.v15-globe-ready .map-top-controls>[data-slot=tabs]{min-width:0;flex:1}
html.v15-globe-ready .map-layer-tabs{max-width:100%!important;width:100%;overflow-x:auto!important;overflow-y:hidden!important;justify-content:flex-start!important;scrollbar-width:none}
html.v15-globe-ready .map-layer-tabs button{color:#284757}
html.v15-globe-ready .map-top-controls>button{flex-shrink:0}
html.v15-globe-ready .map-bottom .map-legend{max-width:430px}
html.v15-globe-ready .map-scope{display:none}
html.v15-globe-ready .map-heading{z-index:4;pointer-events:none}
html.v15-globe-ready .map-heading .free-tag{pointer-events:auto}
@media(max-width:760px){html.v15-globe-ready .map-top-controls{right:12px;left:12px;max-width:calc(100% - 24px)}}

.v15-count-diagram{width:100%;height:auto;display:block}.v15-count-note,.v15-chamber-stamp{font-size:11px;line-height:1.45;color:var(--muted-foreground,#627b89);margin:6px 0 8px}.v15-historical{color:#a46c20;font-weight:600}.v15-gallery-link{display:block;border:1px solid #a5c9c0;background:#e8f3ef;color:#215c53;border-radius:8px;padding:12px;margin:15px 0}.dark .v15-count-diagram{background:#cbd7dc;border-radius:8px}

.dark .map-layer-tabs button{color:#d7e8f4!important}

.map-stage:has(.admin-map-status) .v15-map-options{top:230px}
.local-record-copy>small:not(.political-label){color:inherit}

/* v16: desktop party pane grows the sheet; on smaller screens it replaces it. */
.territory-sheet.v16-party-expanded{--party-pane:330px}
@media(min-width:1051px){
 .territory-sheet.v16-party-expanded{width:min(820px,calc(100vw - 40px))!important;max-width:none!important}
 .territory-sheet.v16-party-expanded>.territory-header,.territory-sheet.v16-party-expanded>.territory-body{width:calc(100% - var(--party-pane));box-sizing:border-box}
 .territory-sheet .territory-body.v12-party-open{padding-right:24px!important;position:static}
 .territory-sheet.v16-party-expanded>.v12-party-panel{position:absolute;inset:0 0 0 auto;width:var(--party-pane);max-width:var(--party-pane)!important;max-height:none;margin:0;padding:20px 22px;box-sizing:border-box;border:0;border-left:1px solid var(--border,#d5e2e8);border-radius:0;box-shadow:-5px 0 25px #102e4410;overflow-y:auto}
}
.v12-party-panel{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;background:var(--panel-surface,#fff)}
.v12-party-panel h3{font-size:23px;line-height:1.25;overflow-wrap:break-word;margin-top:16px}
.v12-party-panel p{font-size:14px;line-height:1.7}.v12-party-panel small{font-size:12px;line-height:1.5}
.v16-party-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px;gap:10px}
.v16-party-back{border:1px solid var(--border,#cedbe3);background:transparent;color:inherit;padding:9px 13px;min-height:44px;border-radius:8px;cursor:pointer;font-size:13px}
.v12-party-close{float:none;min-width:44px;min-height:44px}.v16-party-count b{font-size:28px;line-height:1}
@media(max-width:1050px){
 .territory-sheet.v16-party-expanded>.v12-party-panel{position:absolute;inset:0;width:100%;max-width:100%!important;max-height:none;height:100%;padding:20px 24px calc(24px + env(safe-area-inset-bottom));box-sizing:border-box;border:0;border-radius:0;margin:0;overflow-y:auto;z-index:150}
 .territory-sheet.v16-party-expanded>.territory-header,.territory-sheet.v16-party-expanded>.territory-body{visibility:hidden;pointer-events:none}
 .territory-body.v12-party-open{padding-right:24px!important}
}
/* Coalition distinction is explicit; outlines never infer an unknown affiliation. */
.v16-majority-outline{fill:none;stroke:#137c65;stroke-width:2.1;stroke-linejoin:round;pointer-events:none;vector-effect:non-scaling-stroke}
.v16-majority-halo{fill:none;stroke:var(--panel-surface,#fff);stroke-width:5;stroke-linejoin:round;pointer-events:none;vector-effect:non-scaling-stroke}
.v16-majority-summary{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:2px 0 13px;font-size:11px;color:var(--panel-muted,#55717f)}
.v16-majority-summary>span{display:inline-flex;align-items:center;gap:5px;color:var(--foreground,#243e4a)}
.v16-majority-summary i{display:inline-block;width:12px;height:8px;border:2px solid #137c65;border-radius:3px}
.v16-majority-summary small{font-size:10px}.v16-majority-summary b{font-variant-numeric:tabular-nums}
.v16-seat-bloc{margin:9px 0 12px}.v16-bloc-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font:600 11px/1.45 ui-sans-serif,system-ui,sans-serif;color:var(--panel-muted,#56717f);border-bottom:1px solid var(--border,#dae4e9);padding:5px 3px;margin-bottom:3px}
.v16-bloc-header small{font-weight:400;font-size:10px}
.v16-seat-bloc[data-bloc=government] .v16-bloc-header{color:#137c65}
.v14-seat-legend .v12-seat-group{min-height:40px}.v14-seat-legend .v12-seat-group span{overflow-wrap:anywhere;word-break:normal}
.v14-seat-legend .v12-seat-group:focus-visible{outline:2px solid #137c65;outline-offset:1px;border-radius:5px}
.v14-hemicycle circle[data-v14-seat-group]{cursor:pointer}
.v14-hemicycle circle[data-v14-seat-group]:hover{stroke:var(--foreground,#243e4a);stroke-width:.8}
.v14-locked-assembly .v14-hemicycle circle{pointer-events:none}
.administrative-scale [data-slot=slider]{box-sizing:border-box}
.scale-stops{align-items:start}.scale-stops button{display:flex;justify-content:center;align-items:flex-start;padding:0 2px;min-width:0}
.scale-label{text-align:center;justify-content:center!important;white-space:normal;line-height:1.3}
.v16-view-toggle{white-space:nowrap;flex-shrink:0}
@media(max-width:760px){.v16-view-toggle{padding:7px 8px!important;min-width:36px}.v16-view-toggle span{display:inline!important;font-size:10px}.v16-view-toggle svg{width:14px;height:14px}.v16-majority-summary{flex-wrap:wrap}}
html.v15-flat .v15-globe{display:none!important}
html.v15-flat .v15-map-options{display:none}

/* Radix thumbs stay centered on the label grid, including end stops. */
.administrative-scale .scale-stops{gap:4px!important}
