.map-load-error{position:absolute;z-index:40;left:50%;top:5.5rem;transform:translate(-50%);max-width:min(28rem,calc(100vw - 2rem));padding:.75rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--ink);font-size:var(--fs-sm);line-height:1.45;box-shadow:var(--shadow-soft);text-align:center}html.is-map,body.is-map{height:100%;overflow:hidden}#map{width:100vw;height:100vh;position:absolute;inset:0}.map-chrome{position:absolute;inset:0;z-index:10;pointer-events:none}.map-chrome>*{pointer-events:auto}.panel{background:var(--surface);backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);position:absolute;z-index:10;transition:transform .45s var(--ease),opacity .35s var(--ease)}.panel-close-btn{appearance:none;position:absolute;top:14px;right:14px;width:32px;height:32px;border:1px solid var(--line);background:transparent;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:background .2s,color .2s,border-color .2s}.panel-close-btn:hover{background:var(--surface-tint);color:var(--ink);border-color:var(--line-strong)}.panel-close-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}.filters-toggle{display:none;position:absolute;top:72px;left:12px;z-index:16;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--ink);font-family:var(--font-body);font-size:.8125rem;font-weight:600;box-shadow:var(--shadow-soft);cursor:pointer}.filters-toggle-icon{width:16px;height:16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.map-search{position:absolute;inset:auto auto 28px 50%;z-index:18;width:min(360px,calc(100vw - 120px));transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:stretch}.map-search-toggle{display:none;position:absolute;left:50%;bottom:64px;z-index:18;transform:translate(-50%);align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--ink);font-family:var(--font-body);font-size:.8125rem;font-weight:600;box-shadow:var(--shadow-soft);cursor:pointer}.map-search-toggle-icon{width:16px;height:16px}.map-search-close{display:none;appearance:none;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--ink-soft);cursor:pointer;flex-shrink:0}.map-search-close svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.75;fill:none}.map-search-close:hover{color:var(--ink);border-color:var(--line-strong)}.map-search-form{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 12px;background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.map-search-icon{width:16px;height:16px;flex-shrink:0;color:var(--muted)}.map-search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--ink);font-family:var(--font-body);font-size:.875rem;font-weight:500;line-height:1.3}.map-search-input::placeholder{color:var(--faint);font-weight:400}.map-search-input::-webkit-search-cancel-button{display:none}.map-search-clear{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0}.map-search-clear svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.75;fill:none}.map-search-clear:hover{color:var(--ink);background:#e6e8eb14}.map-search-results{list-style:none;margin:0 0 6px;padding:4px;background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);max-height:min(240px,36vh);overflow-y:auto}.map-search-results[hidden]{display:none}.map-search-option{display:block;width:100%;text-align:left;appearance:none;border:none;background:transparent;color:var(--ink);font-family:var(--font-body);font-size:.8125rem;line-height:1.35;padding:10px 12px;border-radius:var(--radius);cursor:pointer}.map-search-option:hover,.map-search-option.is-active{background:#c9a45c1f;color:var(--accent)}.map-search-option-name{display:block;font-weight:600}.map-search-option-meta{display:block;margin-top:2px;font-size:.72rem;color:var(--muted);font-weight:400}.map-search-status{margin:0 0 6px;padding:8px 12px;font-size:.75rem;color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius-lg)}.map-search-status[hidden]{display:none}.filters-panel{top:18px;left:18px;padding:12px 12px 10px;width:min(300px,calc(100vw - 36px));max-height:calc(100vh - 100px);overflow-y:auto;animation:rise-in .75s var(--ease) .12s both;z-index:15}.filters-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.filters-header-title{min-width:0}.filters-lead{margin:4px 0 0;font-family:var(--font-body);font-size:.72rem;line-height:1.4;color:var(--muted)}.filters-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.filters-reset{appearance:none;border:none;background:transparent;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);cursor:pointer;padding:4px 2px}.filters-reset:hover{color:var(--ink)}.filters-close{display:none;appearance:none;width:28px;height:28px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--ink-soft);cursor:pointer;align-items:center;justify-content:center;padding:0}.filters-close svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.75;fill:none}.filters-close:hover{color:var(--ink);border-color:var(--line-strong)}.filters-count{font-family:var(--font-mono);font-size:.68rem;color:var(--muted);margin:0 0 10px}.filters-section{margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}.filters-section:first-of-type{border-top:none;padding-top:0;margin-top:0}.filters-section-label{margin:0 0 2px;font-family:var(--font-body);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.filters-footer{margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}.filters-attribution-btn{appearance:none;border:none;background:transparent;padding:0;font-family:var(--font-body);font-size:.78rem;font-weight:500;color:var(--accent);cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}.filters-attribution-btn:hover{color:var(--ink)}.filters-attribution-date{display:block;margin-top:4px;font-family:var(--font-mono);font-size:.62rem;color:var(--muted)}.map-hint{position:absolute;top:18px;left:50%;transform:translate(-50%);z-index:18;display:flex;align-items:flex-start;gap:14px;max-width:min(460px,calc(100vw - 36px));padding:12px 12px 12px 14px;background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);animation:rise-in .55s var(--ease) both}.map-hint[hidden]{display:none}.map-hint-body{min-width:0;flex:1}.map-hint-title{margin:0 0 4px;font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:.01em;color:var(--ink)}.map-hint-text{margin:0;font-size:.78rem;line-height:1.45;color:var(--ink-soft)}.map-hint-dismiss{appearance:none;flex-shrink:0;border:1px solid var(--line);background:transparent;color:var(--accent);font-family:var(--font-body);font-size:.72rem;font-weight:600;padding:6px 10px;border-radius:var(--radius);cursor:pointer;white-space:nowrap}.map-hint-dismiss:hover{border-color:var(--accent);color:var(--ink)}.data-attribution-modal{border:none;padding:0;margin:0;max-width:min(480px,calc(100vw - 32px));width:calc(100% - 32px);background:transparent;color:var(--ink);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100}.data-attribution-modal::backdrop{background:#0f12168c;backdrop-filter:blur(2px)}.data-attribution-modal-inner{background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.data-attribution-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.data-attribution-modal-header h2{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--ink)}.data-attribution-modal-body{padding:14px 16px 18px;max-height:min(70vh,520px);overflow-y:auto}.filter-group{border-top:1px solid transparent;padding:2px 0}.filter-group+.filter-group{border-top:1px solid var(--line);padding-top:4px}.filter-group-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:6px 2px;user-select:none}.filter-group-summary::-webkit-details-marker{display:none}.filter-group-left,.filter-group-right{display:flex;align-items:center;gap:8px;min-width:0}.filter-group-right{flex-shrink:0;gap:6px}.filter-group-title{font-size:.82rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-group-chevron{width:12px;height:12px;flex-shrink:0;color:var(--muted);transition:transform .18s var(--ease),color .15s}.filter-group-chevron path{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.filter-group:not([open]) .filter-group-chevron{transform:rotate(-90deg);color:var(--ink-soft)}.filter-group-summary:hover .filter-group-chevron{color:var(--accent)}.filter-group-count{font-family:var(--font-mono);font-size:.65rem;color:var(--muted);min-width:1.2em;text-align:right;flex-shrink:0}.filter-group-all{appearance:none;border:none;background:transparent;padding:2px 0;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer}.filter-group-all:hover{color:var(--accent)}.filter-group-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.swatch-dc{background:var(--dc)}.swatch-rm{background:var(--rm);border-radius:2px;transform:rotate(45deg) scale(.85)}.swatch-ep{background:var(--ep);border-radius:2px}.swatch-status{background:transparent;border:2px solid #D4892A;box-sizing:border-box}.swatch-conn{width:14px;height:0;border-top:2px dashed var(--conn);border-radius:0;background:transparent}.swatch-overlay{width:10px;height:10px;border-radius:2px;background:var(--atlas-mark-h)}.overlay-swatch{width:14px;height:10px;flex-shrink:0}.overlay-swatch-power{height:0;border-top:2.5px solid #7a5a2e;border-radius:0}.overlay-swatch-water{height:10px;border-radius:2px;background:linear-gradient(90deg,#c8ddd4,#e0b07a,#8f3d4a)}.overlay-swatch-cable{height:0;border-top:2.5px solid #3d6f8c;border-radius:0;position:relative}.overlay-swatch-cable:after{content:"";position:absolute;right:0;top:-3.5px;width:5px;height:5px;border-radius:50%;background:#3d6f8c}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 8px}.filter-chip{appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--ink);border-radius:var(--radius);padding:5px 10px 5px 7px;font-size:.72rem;font-weight:500;font-family:var(--font-body);cursor:pointer;transition:background .15s,border-color .15s,color .15s,opacity .15s}.filter-chip:hover{border-color:color-mix(in srgb,var(--ink) 28%,transparent);color:var(--ink)}.filter-chip.is-on{background:color-mix(in srgb,var(--chip-color, var(--dc)) 20%,transparent);border-color:color-mix(in srgb,var(--chip-color, var(--dc)) 55%,transparent);color:color-mix(in srgb,var(--chip-color, var(--dc)) 72%,white)}.filter-chip:not(.is-on){color:var(--muted);opacity:.72}.filter-chip:not(.is-on) .filter-icon{color:var(--muted)}.filter-icon{width:16px;height:16px;flex-shrink:0;filter:drop-shadow(0 1px 1.5px rgba(15,18,22,.35))}.filter-chip.is-on .filter-icon{color:var(--chip-color, currentColor)}.filter-icon path{fill:none;stroke:currentColor;stroke-width:2.45;stroke-linecap:round;stroke-linejoin:round}.conn-swatch{width:12px;height:0;border-top:2px dashed var(--chip-color, var(--conn));flex-shrink:0}.status-swatch{width:11px;height:11px;border-radius:50%;flex-shrink:0;box-sizing:border-box;background:color-mix(in srgb,var(--chip-color, #8A9199) 35%,transparent);border:2px solid var(--chip-color, #8A9199)}.status-swatch.status-operational{--chip-color: #2F6F9A;background:var(--chip-color);border-color:var(--chip-color)}.status-swatch.status-under_construction{--chip-color: #D4892A;background:color-mix(in srgb,var(--chip-color) 42%,transparent)}.status-swatch.status-planned{--chip-color: #4A7FA0;background:transparent;border-style:dashed;border-width:1.5px}.status-swatch.status-decommissioned{--chip-color: #6A6560;background:color-mix(in srgb,var(--chip-color) 40%,transparent);opacity:.75}.status-swatch.status-unknown{--chip-color: #9AA0A6;background:color-mix(in srgb,var(--chip-color) 25%,transparent);border-style:dotted}.filters-section-hint{margin:-2px 0 8px;font-size:.72rem;line-height:1.35;color:var(--muted)}.filters-status-legend{display:flex;flex-direction:column;gap:4px;margin:2px 0 6px;padding:0;font-size:.68rem;line-height:1.35;color:var(--muted)}.status-legend-hint{margin-top:2px;font-style:italic}.conn-powers{--chip-color: var(--ep)}.conn-supplies{--chip-color: var(--rm)}.conn-manufactures_for{--chip-color: var(--dc)}.attribution-updated,.attribution-note,.attribution-basemap,.attribution-method-link{margin:6px 0 0;font-size:.72rem;line-height:1.45;color:var(--faint)}.attribution-counts,.attribution-sources{margin:8px 0 0;padding-left:1rem;font-size:.72rem;line-height:1.45;color:var(--ink-soft)}.attribution-sources a,.attribution-basemap a,.attribution-method-link a{color:var(--accent);text-decoration:none}.attribution-sources a:hover,.attribution-basemap a:hover,.attribution-method-link a:hover{text-decoration:underline}.attribution-source-note{display:block;margin-top:2px;color:var(--faint)}.detail-sidebar{top:18px;right:18px;bottom:18px;width:min(400px,calc(100vw - 36px));height:auto;padding:0;border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transform:translate(24px);opacity:0;pointer-events:none;z-index:20;background:var(--surface-solid);box-shadow:var(--shadow)}.detail-sidebar.open{transform:translate(0);opacity:1;pointer-events:auto}.detail-sidebar.is-pulse{animation:detail-pulse .55s var(--ease)}@keyframes detail-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent, var(--dc)) 45%,transparent)}to{box-shadow:var(--shadow)}}.detail-sidebar-header{padding:22px 48px 18px 22px;border-bottom:1px solid var(--line);position:relative;flex-shrink:0}.detail-sidebar-header:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;background:var(--accent, var(--dc));border-radius:0 2px 2px 0}.detail-sidebar-header h2{font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.025em;line-height:1.25;color:var(--ink);margin:0}.detail-type-chip{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.detail-type-chip i{width:8px;height:8px;border-radius:50%;background:var(--accent, var(--dc));display:inline-block}.detail-type-chip i.shape-rm{border-radius:1px;transform:rotate(45deg) scale(.85)}.detail-type-chip i.shape-ep{border-radius:1px}.detail-type-conn-swatch{width:14px;height:0;border-top:2px dashed var(--accent, var(--conn));flex-shrink:0}.detail-sidebar-body{padding:18px 22px 28px;overflow-y:auto;flex:1}.detail-place{margin:0 0 10px;font-size:.8125rem;font-weight:500;color:var(--muted);letter-spacing:.01em}.detail-description{font-size:.95rem;line-height:1.6;color:var(--ink-soft);margin:0 0 16px;padding:0;background:transparent;border-radius:0;border-left:none}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0 0 4px}.detail-fact{min-width:0}.detail-fact-label{display:block;font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}.detail-fact-value{display:block;font-size:.9rem;color:var(--ink);line-height:1.35}.detail-field{margin-bottom:14px}.detail-field-label{font-family:var(--font-mono);font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);margin-bottom:3px}.detail-field-value{font-size:.92rem;color:var(--ink);line-height:1.45}.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.68rem;color:var(--muted)}.detail-section h4,.detail-connections h4{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:0}.detail-connections,.detail-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.detail-connections-hint{margin:-4px 0 12px;font-size:.78rem;line-height:1.4;color:var(--muted)}.detail-conn-group{margin-bottom:10px}.detail-conn-group:last-child{margin-bottom:0}.detail-conn-endpoints .detail-connection-item{margin-top:6px}.detail-conn-endpoints .detail-connection-item:first-of-type{margin-top:2px}.detail-evidence{margin-bottom:0}.impact-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 10px}.impact-card{padding:10px 11px 11px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(165deg,#1c222af2,#12161ceb);min-width:0}.impact-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}.impact-card-label{font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.impact-card-badge{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.04em;text-transform:uppercase;padding:2px 5px;border-radius:2px;flex-shrink:0;border:1px solid var(--line)}.impact-card-badge.is-declared{color:var(--ink-soft);border-color:var(--line-strong);background:#e6e8eb0f}.impact-card-badge.is-estimated{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.impact-card-value{font-family:var(--font-display);font-size:1.2rem;font-weight:600;line-height:1.15;color:var(--ink);letter-spacing:-.02em}.impact-card-unit{display:inline-block;margin-left:4px;font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.02em;color:var(--muted);vertical-align:2px}.impact-card-equiv{margin-top:5px;font-size:.7rem;line-height:1.35;color:var(--ink-soft)}.impact-disclaimer{margin:0 0 8px;font-size:.72rem;line-height:1.45;color:var(--muted)}.impact-card-power{border-color:color-mix(in srgb,var(--dc) 28%,var(--line))}.impact-card-electricity{border-color:color-mix(in srgb,var(--ep) 28%,var(--line))}.impact-card-co2{border-color:color-mix(in srgb,#c97a5a 28%,var(--line))}.impact-card-water{border-color:color-mix(in srgb,#5a9bb8 28%,var(--line))}.detail-community-body{margin:0;font-size:.88rem;line-height:1.55;color:var(--ink-soft)}.detail-note,.detail-empty{font-size:.84rem;line-height:1.5;color:var(--ink-soft);margin:0 0 8px}.detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.detail-tag{font-family:var(--font-mono);font-size:.68rem;padding:3px 8px;border-radius:3px;background:var(--surface-tint);color:var(--ink-soft);border:1px solid var(--line)}.detail-tag-risk{background:#d17a5229;color:#e8a884;border-color:#d17a5259}.detail-labor-contrast{font-size:.8rem;line-height:1.45;color:var(--ink-soft);margin:0 0 12px;padding:8px 10px;border-left:2px solid var(--rm, #B87A4A);background:#b87a4a14}.detail-employment .detail-note{margin-top:8px}.detail-sources{margin:0;padding-left:1rem;font-size:.84rem;color:var(--ink-soft)}.detail-sources li{margin-bottom:8px}.detail-sources a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}.detail-source-meta{display:block;font-family:var(--font-mono);font-size:.68rem;color:var(--faint);margin-top:2px}.certainty-badge{display:inline-block;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.02em;padding:3px 8px;border-radius:3px;background:var(--surface-tint);color:var(--ink-soft);border:1px solid var(--line)}.certainty-high,.certainty-confirmed{background:#5aad7a29;color:#8fd4a8;border-color:#5aad7a59}.certainty-medium,.certainty-likely{background:#c9a45c29;color:#e0c588;border-color:#c9a45c59}.certainty-low,.certainty-inferred,.certainty-estimated{background:#d17a5229;color:#e8a884;border-color:#d17a5259}.certainty-disputed{background:#c850502e;color:#f0a0a0;border-color:#c8505059}.detail-connection-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;font-family:var(--font-body);font-size:.875rem;text-align:left;color:var(--ink-soft);background:var(--surface-tint);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:6px;box-sizing:border-box}.detail-connection-item.is-action{appearance:none;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease),color .15s}.detail-connection-item.is-action:hover{border-color:var(--line-strong);background:#e6e8eb12;color:var(--ink)}.detail-connection-item.is-action:hover .detail-connection-go{color:var(--accent);transform:translate(2px)}.detail-connection-label{flex:1;min-width:0;line-height:1.35}.detail-connection-go{flex-shrink:0;font-size:.9rem;color:var(--faint);transition:color .15s,transform .15s var(--ease)}.detail-connection-icon{width:8px;height:8px;border-radius:50%;background:var(--conn);flex-shrink:0}.detail-connection-icon.is-power{background:var(--ep)}.detail-connection-icon.is-supply{background:var(--rm)}.detail-connection-icon.is-mfg{background:var(--dc)}.maplibregl-ctrl-group{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-soft)!important;overflow:hidden;background:var(--surface-solid)!important}.maplibregl-ctrl-group button{background-color:var(--surface-solid)!important;border-color:var(--line)!important}.maplibregl-ctrl-group button+button{border-top:1px solid var(--line)!important}.maplibregl-ctrl-group button:hover{background-color:var(--surface-tint)!important}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1) brightness(.9)}.maplibregl-ctrl-attrib{background:#12161cbf!important;color:var(--muted)!important}.maplibregl-ctrl-attrib a{color:var(--ink-soft)!important}.maplibregl-ctrl-bottom-left{bottom:28px!important;left:18px!important}.map-tooltip{position:absolute;z-index:20;pointer-events:none;opacity:0;transform:translate(-50%,calc(-100% - 14px));transition:opacity .15s var(--ease);max-width:min(280px,calc(100vw - 24px))}.map-tooltip.visible{opacity:1}.map-tooltip.is-plain{background:var(--bg-elevated);color:var(--ink);border:1px solid var(--line-strong);padding:7px 11px;border-radius:var(--radius);font-size:.78rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;box-shadow:var(--shadow-soft)}.map-tooltip.is-site{background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:11px 13px 10px;white-space:normal}.map-tooltip-title{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--ink)}.map-tooltip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:7px}.map-tooltip-type{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.map-tooltip-type-dot{width:7px;height:7px;border-radius:50%;background:var(--tooltip-accent, var(--dc));flex-shrink:0;box-shadow:0 0 0 1px #0f121659}.map-tooltip-status{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 6px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--chip-color, var(--muted)) 45%,transparent);background:color-mix(in srgb,var(--chip-color, var(--muted)) 16%,transparent);font-family:var(--font-body);font-size:.68rem;font-weight:500;color:color-mix(in srgb,var(--chip-color, var(--ink-soft)) 70%,white)}.map-tooltip-meta{margin:8px 0 0;font-size:.75rem;line-height:1.35;color:var(--ink-soft)}.map-tooltip-cap{margin:4px 0 0;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.03em;color:var(--muted)}.map-tooltip.is-conn{min-width:min(220px,calc(100vw - 24px))}.map-tooltip-route{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:8px;row-gap:2px;align-items:baseline}.map-tooltip-route-from,.map-tooltip-route-to{font-family:var(--font-display);font-size:.88rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--ink);min-width:0;overflow-wrap:anywhere}.map-tooltip-route-from{grid-column:1;grid-row:1}.map-tooltip-route-arrow{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--tooltip-accent, var(--conn));font-size:.95rem;font-weight:600;line-height:1}.map-tooltip-route-to{grid-column:1;grid-row:2;color:var(--ink-soft);font-weight:650}.map-tooltip.is-conn .map-tooltip-row{margin-top:9px}.map-tooltip.is-conn .certainty-badge{margin:0;padding:3px 7px;font-size:.62rem}.map-tooltip-conn-swatch{width:12px;height:0;border-top:2px dashed var(--tooltip-accent, var(--conn));flex-shrink:0}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1023px){.detail-sidebar{width:min(360px,calc(100vw - 36px))}}@media (max-width: 767px){.filters-toggle,.filters-close{display:inline-flex}body.is-map .filters-panel,.filters-panel{top:68px;left:12px;right:auto;width:min(300px,calc(100vw - 24px));max-height:calc(100vh - 92px);padding:10px;animation:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.98);transition:opacity .25s var(--ease),transform .3s var(--ease),visibility .25s}body.filters-open .filters-panel,body.is-map.filters-open .filters-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none}body.filters-open .filters-toggle,body.filters-open .map-search-toggle,body.detail-open .map-search{opacity:0;visibility:hidden;pointer-events:none}.map-search-toggle{display:inline-flex;inset:68px 12px auto auto;transform:none}.map-search-close{display:inline-flex}.map-search{inset:68px 12px auto;width:auto;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease),transform .25s var(--ease),visibility .2s;transform:translateY(-6px)}body.search-open .map-search{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);z-index:22}body.search-open .map-search-toggle,body.search-open .filters-toggle{opacity:0;visibility:hidden;pointer-events:none}.map-search-results,.map-search-status{margin:6px 0 0}.map-hint{inset:118px 12px auto;transform:none;max-width:none;flex-direction:column;align-items:stretch}.map-hint-dismiss{align-self:flex-end}body.is-map .map-hint{top:118px}.detail-sidebar{inset:auto 0 0;width:100%;height:min(68vh,560px);border-radius:14px 14px 0 0;transform:translateY(100%);z-index:30}.detail-sidebar.open{transform:translateY(0)}.detail-facts{grid-template-columns:1fr 1fr}.map-hint{top:12px;align-items:flex-start;max-width:calc(100vw - 24px)}body.detail-open .filters-panel,body.detail-open .filters-toggle,body.detail-open .map-hint,body.detail-open .map-search,body.detail-open .map-search-toggle{opacity:0;visibility:hidden;pointer-events:none}body.detail-open .maplibregl-ctrl-bottom-left{bottom:calc(min(68vh,560px) + 12px)!important}.maplibregl-ctrl-bottom-left{bottom:12px!important;left:12px!important}}
