/* V10.1 retains the complete V9.3 page flow; no section-hiding rules. */
.selection-badge{position:absolute;left:12px;top:46px;z-index:15;max-width:calc(100% - 132px);padding:8px 12px;border:1px solid #91cbbb;border-radius:10px;background:#fffffff0;color:#164d3d;font-size:14px;font-weight:700;pointer-events:none}.selection-badge[hidden]{display:none}.legend small{display:block;color:#354f43;line-height:1.5;font-size:12px}.locate-selected{width:100%;min-height:44px;margin:12px 0;background:#28523e;color:white;border:1px solid #28523e;border-radius:9px;padding:10px;font-size:14px;font-weight:600}.difference-toggle{display:flex;align-items:center;gap:8px;font-size:14px}.difference-toggle input{width:auto;margin:0}.compare-three .chart-title{flex-wrap:wrap}.unit-chart{margin-top:20px}.unit-grid thead th{position:sticky;top:0;z-index:2}.section-nav a:focus-visible,.locate-selected:focus-visible{outline:3px solid #177ba5;outline-offset:3px}.plan-toolbar{flex-wrap:wrap;gap:8px}.plan-toolbar>button{min-height:40px}#threeUnitTable tbody tr[hidden]{display:none}
@media(max-width:600px){.selection-badge{font-size:12px;left:10px;padding:7px 9px;top:42px}.compare-three .chart-title{gap:12px}.legend{bottom:68px}.unit-chart{scroll-margin-top:160px}}

/* V10.3: screen-sized distance labels and a shared high-visibility locate accent. */
.distance-labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:16;display:none}.distance-list{margin:12px 0;padding:14px;background:#fff;border:1px solid #c5d0da;border-radius:10px}.distance-list[hidden]{display:none}.distance-list summary{font-weight:700;font-size:15px}.distance-list>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 20px}.distance-list p{font-size:14px}.distance-list>div p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e1e6eb;padding:9px 0;margin:0}.distance-list strong{white-space:nowrap}.locate-selected,.plan-toolbar .locate-unit{background:#0066FF;color:white;border:1px solid #0066FF;font-weight:700}.locate-selected:hover,.plan-toolbar .locate-unit:hover{background:#0052cc}.selection-badge{border:2px solid #0066FF;color:#0047b3;background:#f0f6ff}

/* V10.4: selection empty state and consistent map controls. */
#unitDetails.no-selection>:not(.empty-selection){display:none!important}
.empty-selection{display:none;padding:16px 0}.no-selection>.empty-selection{display:block}
.empty-selection h2{font-size:22px}.empty-selection p{font-size:16px;line-height:1.6}
.clear-selected{width:100%;min-height:44px;margin:0 0 12px;border:1px solid #b42323;border-radius:9px;background:#fff5f5;color:#b42323;font-weight:700}
#siteFocus:after{content:none!important}
.context-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#contextPlace{appearance:auto;box-sizing:border-box;height:42px;min-height:42px;width:230px;max-width:100%;margin:0;padding:8px 12px;border:1px solid #b7c9bd;border-radius:8px;background:#fff;color:#244837;font:inherit;font-size:14px}
#mapPreview{left:12px;bottom:108px;z-index:16;max-width:calc(100% - 48px);padding:8px 12px;border:2px solid #d32f2f;border-radius:10px;background:#fff5f5;color:#b42323;font-size:14px;font-weight:700;pointer-events:none}
#mapPreview[hidden]{display:none}
.map-options .explore-toggle{min-height:44px;height:auto;white-space:normal}
.map-options label:has(#distanceOverlay){color:#b42323}
#distanceOverlay{accent-color:#b42323}

/* V10.5 */
.map-options label:has(#distanceOverlay){color:var(--ui-ink)}
#distanceOverlay{accent-color:var(--ui-green)}
.selection-actions{display:flex;align-items:center;gap:8px;margin:12px 0}
.selection-actions .locate-selected{flex:1;width:auto;margin:0}
.selection-actions .clear-selected{width:auto;flex:none;margin:0;padding:8px 12px;font-size:13px;background:transparent}
.selection-badge,#mapPreview{white-space:pre-line;line-height:1.5}
.stack-silhouette{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:14}

/* V10.6: mobile selection follows the model; softer blue model accents. */
.selection-badge{border-color:#0066FF;background:#f0f7ff;color:#245b91}
.mobile-selection[hidden]{display:none}
@media(max-width:800px){
 .mobile-selection{margin:12px 0;border:1px solid var(--ui-line);border-radius:12px;background:white;overflow:hidden}
 .mobile-selection .quick-unit{padding:16px;margin:0}
 .mobile-selection aside#unitDetails{width:auto;margin:0;padding:16px;border:0;border-top:1px solid var(--ui-line)}
}

/* V10.7: model options precede mobile selection. */
.model-controls{min-width:0}.model-controls>.tools-panel{margin-top:0}.model-controls>.sunbar{margin-top:12px}

/* V10.10 */
.sunbar[hidden],.context-tools[hidden],.developer-distance-sheet[hidden]{display:none!important}
.stack-room{display:block;font-size:12px;margin-top:4px}
.block-tabs button small{display:block;border-radius:5px;padding:3px 6px;background:#e3edf3;color:#294b60}
.block-tabs button[data-block="5"] small,.block-tabs button[data-block="7"] small{background:#f1e6d1;color:#71501e}
.developer-distance-sheet{padding:12px;border:1px solid #d5dfda;border-radius:10px;background:white}
.developer-distance-sheet>div{overflow:auto;margin:10px 0;max-height:65vh}.developer-distance-sheet img{display:block;width:100%;min-width:900px}
.block-filter{position:relative;min-width:150px;background:white;border:1px solid #b7c9bd;border-radius:8px;padding:10px}
.block-filter label{display:flex;gap:8px;padding:6px}.block-filter input{width:auto}
.map-options #contextPlace{flex:1;min-width:180px;max-width:260px}

/* V10.11 */
.map-options{align-items:center;gap:8px}
.map-options .explore-toggle{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start;gap:8px;height:44px;min-height:44px;padding:8px 12px;margin:0;line-height:1.2;white-space:nowrap}
.map-options .explore-toggle input{display:inline-block;width:30px;height:18px;min-height:0;padding:0;margin:0;flex:0 0 30px}
#googleView{margin:6px 0;padding:6px 10px;font-size:12px}
#googleStatus{font-size:12px;line-height:1.4;margin:0}
.developer-distance-sheet .distance-plan-zoom{display:flex;align-items:center;gap:8px;overflow:visible;max-height:none;margin:10px 0}
.distance-plan-zoom button{min-height:40px;padding:8px 12px}.distance-plan-zoom output{min-width:48px;text-align:center}
.developer-distance-sheet .distance-plan-viewport{overflow:auto;max-height:65vh;touch-action:pan-x pan-y}
.developer-distance-sheet .distance-plan-viewport img{min-width:0;max-width:none;width:100%;height:auto}

/* V10.14: model controls sit above attribution rather than underneath it. */
#modelSection{isolation:isolate;scroll-margin-top:100px}
#modelSection>.tools{z-index:46;bottom:calc(var(--map-credit-height,0px) + 12px);display:flex;flex-wrap:wrap;gap:6px;pointer-events:none;background:transparent;max-width:calc(100% - 24px)}
#modelSection>.tools>button{pointer-events:auto;min-width:44px;min-height:44px;flex-shrink:0;background:#fff;color:#17392d;border:1px solid #b8c9bf;box-shadow:0 2px 8px #17392d18}
#modelSection>.legend,.google-mode #modelSection>.legend{bottom:calc(var(--map-credit-height,0px) + var(--map-toolbar-height,44px) + 22px);pointer-events:none}
#googleStatus:empty{display:none}
#googleView:has(#googleConnect[hidden]):has(.google-actions[hidden]):has(#googleStatus:empty){display:none}
@media(max-width:800px){#modelSection{scroll-margin-top:90px}}
