﻿main { max-width: none; }
    .geo-live-page {
        --live-glass-blur: var(--liquid-glass-blur);
        --live-glass-saturation: var(--liquid-glass-saturation);
        --live-glass-radius: var(--liquid-glass-radius-main);
        --live-glass-edge: var(--liquid-glass-edge);
        --live-glass-edge-strong: var(--liquid-glass-edge-strong);
        --live-glass-surface: var(--liquid-glass-surface);
        --live-glass-surface-soft: var(--liquid-glass-surface-soft);
        --live-glass-surface-deep: var(--liquid-glass-surface-deep);
        --live-glass-shadow: var(--liquid-glass-shadow);
        --live-glass-divider: var(--liquid-glass-divider);
        --live-action-bg: rgba(255, 255, 255, 0.05);
        --live-action-edge: rgba(255, 255, 255, 0.24);
        --live-action-edge-strong: rgba(255, 255, 255, 0.36);
        --live-action-text: var(--liquid-glass-control-text);
        --live-action-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
        --live-action-disabled-opacity: 0.48;
        --live-state-info-bg: rgba(86, 162, 255, 0.2);
        --live-state-info-edge: rgba(114, 181, 255, 0.58);
        --live-state-info-text: rgba(215, 236, 255, 0.96);
        --live-state-success-bg: rgba(63, 185, 80, 0.2);
        --live-state-success-edge: rgba(63, 185, 80, 0.58);
        --live-state-success-text: rgba(214, 243, 221, 0.96);
        --live-state-warning-edge: rgba(255, 180, 84, 0.58);
        --live-state-danger-bg: rgba(255, 107, 107, 0.22);
        --live-state-danger-edge: rgba(255, 132, 132, 0.64);
        --live-state-danger-text: rgba(255, 227, 227, 0.96);
        --live-scanner-border: #1b5e20;
        --live-scanner-bg: var(--liquid-glass-surface-deep);
        --live-scanner-text: #c9ffd7;
        --live-scanner-label: rgba(138, 255, 176, 0.7);
        --live-scanner-link: #c9ffd7;
        --live-scanner-shadow: inset 0 0 18px rgba(28, 255, 120, 0.12);
        --live-scanner-idle-border: var(--border);
        --live-scanner-idle-bg: var(--liquid-glass-surface);
        --live-scanner-idle-text: var(--muted);
        --live-scanner-idle-label: rgba(139, 148, 158, 0.75);
        --live-scanner-idle-value: #c9d1d9;
        --live-scanner-idle-shadow: inset 0 0 12px rgba(0, 0, 0, 0.35);
        --live-scanner-dot-bg: #ff3b30;
        --live-scanner-dot-shadow: 0 0 6px rgba(255, 59, 48, 0.8);
        --live-queue-badge-warning-text: var(--text);
        --live-queue-badge-warning-bg: rgba(5, 10, 8, 0.55);
        --live-queue-badge-warning-edge: rgba(255, 180, 84, 0.55);
        --live-queue-badge-warning-shadow: 0 0 10px rgba(255, 180, 84, 0.25);
        --live-queue-badge-info-text: #7ce5ff;
        --live-queue-badge-info-bg: rgba(7, 18, 22, 0.58);
        --live-queue-badge-info-edge: rgba(124, 229, 255, 0.55);
        --live-queue-badge-info-shadow: 0 0 10px rgba(124, 229, 255, 0.25);
        --live-queue-pulse-up-start: rgba(255, 59, 48, 0.55);
        --live-queue-pulse-down-start: rgba(52, 199, 89, 0.55);
        --live-range-handle-bg: #ffb454;
        --live-range-handle-edge: rgba(0, 0, 0, 0.6);
        --live-range-handle-shadow: 0 0 0 2px rgba(0, 0, 0, 0.25);
        --live-progress-track-bg: var(--liquid-glass-progress-track);
        --live-progress-track-edge: var(--liquid-glass-progress-track-edge);
        --live-progress-fill: var(--liquid-glass-progress-fill);
        --live-progress-fill-shadow: var(--liquid-glass-progress-fill-shadow);
        --live-transport-size: 40px;
        --live-transport-play-size: 46px;
        --live-transport-bg: var(--liquid-glass-control-bg);
        --live-transport-bg-hover: var(--liquid-glass-control-bg-hover);
        --live-transport-edge: var(--liquid-glass-control-edge);
        --live-transport-edge-strong: var(--liquid-glass-control-edge-strong);
        --live-transport-shadow: var(--liquid-glass-control-shadow);
        --live-volume-track-bg: var(--live-progress-track-bg);
        --live-volume-fill: var(--live-progress-fill);
        --live-volume-label-size: 11px;
        --live-volume-label-spacing: 0.08em;
        --live-volume-label-color: var(--liquid-glass-control-text);
        --live-volume-fill-start: #2f81f7;
        --live-volume-fill-end: #4cbfff;
        position: relative;
        display: grid;
        gap: 16px;
    }
    body.theme-light .geo-live-page {
        --live-action-bg: rgba(255, 255, 255, 0.26);
        --live-action-edge: rgba(15, 23, 42, 0.14);
        --live-action-edge-strong: rgba(15, 23, 42, 0.22);
        --live-action-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
        --live-state-info-bg: rgba(37, 99, 235, 0.16);
        --live-state-info-edge: rgba(37, 99, 235, 0.44);
        --live-state-info-text: rgba(15, 23, 42, 0.9);
        --live-state-success-bg: rgba(22, 163, 74, 0.16);
        --live-state-success-edge: rgba(22, 163, 74, 0.44);
        --live-state-success-text: rgba(15, 23, 42, 0.9);
        --live-state-warning-edge: rgba(217, 119, 6, 0.44);
        --live-state-danger-bg: rgba(220, 38, 38, 0.14);
        --live-state-danger-edge: rgba(220, 38, 38, 0.4);
        --live-state-danger-text: rgba(15, 23, 42, 0.9);
        --live-volume-fill: var(--live-progress-fill);
        --live-scanner-border: rgba(15, 23, 42, 0.2);
        --live-scanner-bg: var(--liquid-glass-surface);
        --live-scanner-text: rgba(15, 23, 42, 0.9);
        --live-scanner-label: rgba(15, 23, 42, 0.56);
        --live-scanner-link: rgba(15, 23, 42, 0.92);
        --live-scanner-shadow: inset 0 0 12px rgba(15, 23, 42, 0.08);
        --live-scanner-idle-border: rgba(15, 23, 42, 0.16);
        --live-scanner-idle-bg: var(--liquid-glass-surface-soft);
        --live-scanner-idle-text: rgba(15, 23, 42, 0.68);
        --live-scanner-idle-label: rgba(15, 23, 42, 0.56);
        --live-scanner-idle-value: rgba(15, 23, 42, 0.82);
        --live-scanner-idle-shadow: inset 0 0 10px rgba(15, 23, 42, 0.06);
        --live-scanner-dot-bg: #dc2626;
        --live-scanner-dot-shadow: 0 0 5px rgba(220, 38, 38, 0.5);
        --live-queue-badge-warning-text: var(--text);
        --live-queue-badge-warning-bg: rgba(245, 158, 11, 0.14);
        --live-queue-badge-warning-edge: rgba(217, 119, 6, 0.4);
        --live-queue-badge-warning-shadow: 0 0 8px rgba(217, 119, 6, 0.15);
        --live-queue-badge-info-text: rgba(3, 105, 161, 0.9);
        --live-queue-badge-info-bg: rgba(14, 165, 233, 0.14);
        --live-queue-badge-info-edge: rgba(14, 165, 233, 0.38);
        --live-queue-badge-info-shadow: 0 0 8px rgba(14, 165, 233, 0.15);
        --live-queue-pulse-up-start: rgba(220, 38, 38, 0.4);
        --live-queue-pulse-down-start: rgba(22, 163, 74, 0.4);
        --live-range-handle-bg: #f59e0b;
        --live-range-handle-edge: rgba(15, 23, 42, 0.38);
        --live-range-handle-shadow: 0 0 0 2px rgba(15, 23, 42, 0.12);
        --live-volume-fill-start: #1d4ed8;
        --live-volume-fill-end: #60a5fa;
    }
    body:not(.theme-light) .geo-live-page {
        --live-volume-label-color: rgba(176, 188, 204, 0.94);
    }
    .geo-live-page .panel,
    .geo-live-page details.geo-advanced,
    .geo-live-page .advanced-settings,
    .geo-live-page .home-stack-toggle,
    .geo-live-page .home-stack-body {
        position: relative;
        isolation: isolate;
        border: 1px solid var(--live-glass-edge);
        border-radius: var(--live-glass-radius);
        background: var(--live-glass-surface);
        box-shadow: var(--live-glass-shadow);
        overflow: hidden;
        -webkit-backdrop-filter: blur(var(--live-glass-blur)) saturate(var(--live-glass-saturation));
        backdrop-filter: blur(var(--live-glass-blur)) saturate(var(--live-glass-saturation));
    }
    .geo-live-page .panel::before,
    .geo-live-page details.geo-advanced::before,
    .geo-live-page .advanced-settings::before,
    .geo-live-page .home-stack-toggle::before,
    .geo-live-page .home-stack-body::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: var(--liquid-glass-sheen);
        opacity: var(--liquid-glass-sheen-opacity);
        z-index: 0;
    }
    .geo-live-page .panel > *,
    .geo-live-page details.geo-advanced > *,
    .geo-live-page .advanced-settings > *,
    .geo-live-page .home-stack-toggle > *,
    .geo-live-page .home-stack-body > * {
        position: relative;
        z-index: 1;
    }
    .geo-map-stage {
        position: relative;
        width: 100%;
        height: 260px;
        border-radius: var(--live-glass-radius);
        overflow: hidden;
        border: 1px solid var(--live-glass-edge);
        background: color-mix(in srgb, var(--bg) 68%, var(--live-glass-surface-deep) 32%);
        box-shadow: var(--live-glass-shadow);
    }
    .geo-map-stage.is-collapsed {
        display: none;
    }
    .geo-map-stage .location-map {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
    }
    .geo-map-vignette {
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: color-mix(in srgb, var(--bg) 14%, transparent);
    }
    .geo-float-stack {
        position: relative;
        z-index: 1;
        display: grid;
        gap: 16px;
        width: 100%;
    }
    .geo-sidebar {
        display: grid;
        gap: 16px;
        width: 100%;
        min-width: 0;
    }
    .geo-sidebar-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    .geo-sidebar-header .panel-title { margin: 0; }
    .geo-sidebar-header button {
        width: auto;
        text-transform: uppercase;
        letter-spacing: 0.8px;
        font-size: 12px;
    }
    .map-toggle {
        display: none;
    }
    .geo-sidebar.is-collapsed .geo-grid,
    .geo-sidebar.is-collapsed .scan-panel {
        display: none;
    }
    .geo-sidebar .geo-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "controls"
            "scanner";
    }
    body.shared-mode .range-presets,
    body.shared-mode details.geo-advanced,
    body.shared-mode details.zones-panel,
    body.shared-mode details.services-panel,
    body.shared-mode #avoidNote,
    body.shared-mode #unavoidAll {
        display: none !important;
    }
    .shared-mode-notice {
        position: static;
        z-index: 3;
        width: 100%;
        max-width: none;
        margin: 0;
        font-size: 16px;
        line-height: 1.4;
    }
    .shared-mode-notice.is-hidden {
        display: none;
    }
    .shared-mode-notice strong {
        display: block;
        font-size: 20px;
        margin-bottom: 6px;
    }
    .geo-grid {
        display: grid;
        grid-template-columns: minmax(320px, 1fr) minmax(280px, 1fr);
        grid-template-areas: "scanner controls";
        gap: 16px;
        align-items: start;
        min-width: 0;
    }
    .geo-controls {
        display: grid;
        gap: 12px;
        grid-area: controls;
    }
    .scanner-panel {
        display: grid;
        gap: 12px;
        min-width: 0;
        grid-area: scanner;
    }
    .geo-input-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 20px;
    }
    .geo-input-group {
        display: grid;
        gap: 6px;
    }
    .range-presets {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 10px;
        margin-top: 0;
    }
    .range-presets button {
        padding: 10px 12px;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.6px;
        text-transform: uppercase;
        background: var(--live-action-bg);
        border: 1px solid var(--live-action-edge);
        color: var(--live-action-text);
        box-shadow: var(--live-action-shadow);
        transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
    }
    .range-presets button.active {
        background: var(--live-state-info-bg);
        border-color: var(--live-state-info-edge);
        color: var(--live-state-info-text);
    }
    .range-presets button:hover:not(:disabled) {
        border-color: var(--live-action-edge-strong);
        transform: translateY(-1px);
    }
    .scanner-display {
        border: 1px solid var(--live-scanner-border);
        border-radius: 12px;
        background: var(--live-scanner-bg);
        color: var(--live-scanner-text);
        padding: 14px 16px;
        box-shadow: var(--live-scanner-shadow);
        font-family: "Consolas", "Courier New", monospace;
        width: 100%;
        min-width: 0;
        position: relative;
    }
    .queue-reorder-indicator {
        position: absolute;
        top: 8px;
        right: 8px;
        min-width: 48px;
        height: 22px;
        padding: 0 8px;
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        line-height: 1;
        color: var(--live-queue-badge-warning-text);
        background: var(--live-queue-badge-warning-bg);
        border: 1px solid var(--live-queue-badge-warning-edge);
        box-shadow: var(--live-queue-badge-warning-shadow);
        transition: opacity 180ms ease, transform 180ms ease;
    }
    .queue-reorder-indicator.is-hidden { display: none; }
    .queue-reorder-indicator.is-active {
        transform: scale(1.06);
    }
    .queue-reorder-indicator.stitch-indicator {
        right: 64px;
        color: var(--live-queue-badge-info-text);
        background: var(--live-queue-badge-info-bg);
        border-color: var(--live-queue-badge-info-edge);
        box-shadow: var(--live-queue-badge-info-shadow);
    }
    .scanner-display.idle {
        border-color: var(--live-scanner-idle-border);
        background: var(--live-scanner-idle-bg);
        color: var(--live-scanner-idle-text);
        box-shadow: var(--live-scanner-idle-shadow);
    }
    .scanner-display.idle .scan-label { color: var(--live-scanner-idle-label); }
    .scanner-display.idle .scan-value { color: var(--live-scanner-idle-value); }
    .scan-status { font-size: 16px; letter-spacing: 1px; font-weight: 700; }
    .scan-status.scanning {
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }
    .scan-status.scanning::before {
        content: '';
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--live-scanner-dot-bg);
        box-shadow: var(--live-scanner-dot-shadow);
        animation: geoLiveBlink 1s steps(2, start) infinite;
    }
    .scan-grid { display: grid; grid-template-columns: 140px 1fr; gap: 6px 12px; font-size: 13px; margin-top: 10px; }
    .scan-label { color: var(--live-scanner-label); text-transform: uppercase; font-size: 11px; letter-spacing: 1px; }
    .scan-value {
        color: var(--live-scanner-text);
        font-weight: 600;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .scan-value.one-line {
        -webkit-line-clamp: 1;
        line-height: 1.2;
        min-height: 1.2em;
        max-height: 1.2em;
    }
    .scan-value.two-line {
        -webkit-line-clamp: 2;
        line-height: 1.2;
        min-height: 2.4em;
        max-height: 2.4em;
    }
    .scan-link { color: var(--live-scanner-link); text-decoration: none; }
    .scan-link:hover {
        text-decoration: underline;
    }
    .geo-live-page #scannerProgress.audio-progress {
        height: 6px;
        border-radius: 999px;
        background: var(--live-progress-track-bg);
        border: 1px solid var(--live-progress-track-edge);
        overflow: hidden;
    }
    .geo-live-page #scannerProgress.audio-progress::before,
    .geo-live-page #scannerProgress.audio-progress::after {
        content: none;
    }
    .geo-live-page #scannerProgress.audio-progress .audio-progress-fill {
        width: var(--progress);
        height: 100%;
        border-radius: inherit;
        background: var(--live-progress-fill);
        box-shadow: var(--live-progress-fill-shadow);
    }
    .geo-live-page #scannerProgress.audio-progress.is-idle {
        opacity: 0.72;
    }
    .geo-live-page .audio-deck .audio-controls {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        padding: 10px 14px;
        flex-wrap: nowrap;
        min-width: 0;
    }
    .geo-live-page .audio-deck .audio-buttons {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        flex: 0 0 auto;
        min-width: 0;
    }
    .geo-live-page .audio-deck .audio-buttons button {
        flex: 0 0 auto;
        width: var(--live-transport-size);
        height: var(--live-transport-size);
        min-width: var(--live-transport-size);
        min-height: var(--live-transport-size);
        border-radius: 999px;
        border: 1px solid var(--live-transport-edge);
        background: var(--live-transport-bg);
        color: var(--live-action-text);
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: none;
        transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
    }
    .geo-live-page .audio-deck .audio-buttons button:hover:not(:disabled) {
        background: var(--live-transport-bg-hover);
        border-color: var(--live-transport-edge-strong);
        transform: translateY(-1px);
    }
    .geo-live-page .audio-deck .audio-buttons .audio-toggle {
        width: var(--live-transport-play-size);
        height: var(--live-transport-play-size);
        min-width: var(--live-transport-play-size);
        min-height: var(--live-transport-play-size);
        background: var(--live-transport-bg-hover);
        border-color: var(--live-transport-edge-strong);
        box-shadow: var(--live-transport-shadow);
    }
    .geo-live-page .audio-deck .audio-icon {
        width: 15px;
        height: 15px;
        display: inline-flex;
    }
    .geo-live-page .audio-deck .audio-icon svg {
        width: 100%;
        height: 100%;
        fill: currentColor;
        stroke: currentColor;
    }
    .geo-live-page .audio-deck .audio-volume {
        flex: 1 1 auto;
        min-width: 0;
        max-width: none;
        width: auto;
        height: var(--live-transport-size);
        margin: 0;
        align-self: center;
    }
    .geo-live-page .audio-deck .audio-volume .volume-label {
        font-size: var(--live-volume-label-size);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: var(--live-volume-label-spacing);
        color: var(--live-volume-label-color);
        justify-content: center;
        text-align: center;
    }
    .geo-live-page .audio-deck .audio-volume.stacked .volume-label {
        z-index: 3;
    }
    .geo-live-page .audio-deck .audio-volume.stacked input[type="range"] {
        z-index: 2;
    }
    .geo-live-page .audio-deck .audio-volume input[type="range"] {
        --volume: 100%;
        border-radius: 999px;
        border: 1px solid var(--live-progress-track-edge);
        background-color: var(--live-volume-track-bg);
        background:
            linear-gradient(var(--live-volume-fill), var(--live-volume-fill)) 0 0 / var(--volume) 100% no-repeat,
            var(--live-volume-track-bg);
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--live-progress-track-edge) 62%, transparent);
        opacity: 1;
    }
    .geo-live-page .audio-deck .audio-buttons button:disabled,
    .geo-live-page .audio-deck .audio-volume input[type="range"]:disabled {
        opacity: var(--live-action-disabled-opacity);
        box-shadow: none;
        transform: none;
    }
    .scanner-controls { display: grid; gap: 10px; }
    .scanner-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
    .scanner-toolbar {
        display: flex;
        gap: 8px;
        align-items: center;
        padding: 0;
        border-radius: 0;
        border: none;
        background: transparent;
        width: 100%;
    }
    .geo-live-page #startScan,
    .geo-live-page .scanner-toolbar button {
        border-color: var(--live-action-edge);
        background: var(--live-action-bg);
        color: var(--live-action-text);
        box-shadow: var(--live-action-shadow);
        transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease, opacity 160ms ease;
    }
    .geo-live-page #startScan:hover:not(:disabled),
    .geo-live-page .scanner-toolbar button:hover:not(:disabled) {
        border-color: var(--live-action-edge-strong);
        transform: translateY(-1px);
    }
    .geo-live-page .geo-sidebar-header .sidebar-toggle:hover:not(:disabled),
    .geo-live-page .geo-sidebar-header .map-toggle:hover:not(:disabled),
    .geo-live-page .geo-sidebar-header .sidebar-toggle:focus-visible,
    .geo-live-page .geo-sidebar-header .map-toggle:focus-visible {
        transform: none;
        border-color: var(--live-action-edge-strong);
    }
    .geo-live-page #startScan:disabled,
    .geo-live-page .scanner-toolbar button:disabled {
        opacity: var(--live-action-disabled-opacity);
        box-shadow: none;
        transform: none;
        cursor: not-allowed;
    }
    .geo-live-page #startScan.primary:not(:disabled) {
        background: var(--live-state-success-bg);
        border-color: var(--live-state-success-edge);
        color: var(--live-state-success-text);
    }
    .geo-live-page #startScan.secondary:not(:disabled) {
        background: var(--live-state-danger-bg);
        border-color: var(--live-state-danger-edge);
        color: var(--live-state-danger-text);
    }
    .geo-live-page .scanner-toolbar #replayLast:not(:disabled),
    .geo-live-page .scanner-toolbar #shareLink:not(:disabled) {
        border-color: var(--live-state-info-edge);
    }
    .geo-live-page .scanner-toolbar #avoidToggle:not(:disabled) {
        border-color: var(--live-state-warning-edge);
    }
    .scanner-advanced-toggle,
    .advanced-settings .toggle-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }
    .advanced-display-hidden { display: none !important; }
    .geo-live-page .advanced-settings {
        display: grid;
        gap: 8px;
        padding: 10px 12px;
        border-radius: var(--liquid-glass-radius-sm);
        border-color: var(--live-glass-edge);
        background: var(--live-glass-surface-soft);
    }
    .advanced-settings.is-hidden { display: none; }
    .scanner-toolbar button.is-active {
        background: var(--live-state-success-bg);
        border-color: var(--live-state-success-edge);
        color: var(--live-state-success-text);
    }
    .scanner-pills {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
    }
    .scanner-pills .pill {
        width: auto;
    }
    details.tg-panel,
    details.zones-panel,
    details.services-panel {
        margin-top: 16px;
    }
    .scan-panel.is-hidden { display: none; }
    .home-stack-panel {
        display: grid;
        gap: 0;
        padding: 0;
        margin-top: 16px;
    }
    .geo-live-page .home-stack-toggle {
        font-size: 15px;
        font-weight: 700;
        position: relative;
        user-select: none;
        border-radius: var(--liquid-glass-radius-md) var(--liquid-glass-radius-md) 0 0;
        border-color: var(--live-glass-edge);
        background: var(--live-glass-surface);
    }
    .geo-live-page .home-stack-body {
        padding: 12px 14px;
        border-top: 1px solid var(--live-glass-divider);
        border-radius: 0 0 var(--liquid-glass-radius-md) var(--liquid-glass-radius-md);
        border-color: var(--live-glass-edge);
        background: var(--live-glass-surface);
    }
    .geo-live-page .home-stack-panel:not([open]) .home-stack-toggle {
        border-radius: var(--liquid-glass-radius-md);
    }
    #mapZoneViewPanel[hidden] { display: none; }
    .zone-view-content {
        margin-top: 8px;
        display: grid;
        gap: 8px;
    }
    .zone-view-empty {
        border: 1px dashed var(--live-glass-edge-strong);
        border-radius: var(--liquid-glass-radius-xs);
        background: var(--live-glass-surface-soft);
        color: var(--muted);
        font-size: 11px;
        padding: 9px 11px;
    }
    .zone-view-grid {
        display: grid;
        gap: 8px;
    }
    .zone-view-zone,
    .zone-view-system {
        margin: 0;
        border: 1px solid var(--live-glass-edge);
        border-radius: var(--liquid-glass-radius-sm);
        overflow: hidden;
        background: var(--live-glass-surface);
    }
    .zone-view-zone-head,
    .zone-view-system-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 8px 10px;
        border-bottom: 1px solid var(--live-glass-divider);
    }
    .zone-view-zone-ident {
        display: flex;
        align-items: center;
        gap: 7px;
        min-width: 0;
    }
    .zone-view-zone-id {
        display: inline-flex;
        align-items: center;
        border: 1px solid var(--live-glass-edge);
        border-radius: 999px;
        padding: 1px 6px;
        font-size: 10px;
        color: var(--muted);
        white-space: nowrap;
    }
    .zone-view-zone-title {
        font-size: 12px;
        font-weight: 700;
        color: var(--text);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .zone-view-zone-stats {
        margin-left: auto;
        color: var(--muted);
        font-size: 11px;
        font-weight: 700;
        white-space: nowrap;
    }
    .zone-view-zone-body {
        display: grid;
        gap: 6px;
        padding: 8px;
    }
    .zone-view-system {
        border-radius: var(--liquid-glass-radius-xs);
        background: var(--live-glass-surface-soft);
    }
    .zone-view-system-name {
        font-size: 11px;
        font-weight: 700;
        color: var(--text);
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .zone-view-system-count {
        font-size: 10px;
        color: var(--muted);
        margin-left: auto;
        white-space: nowrap;
    }
    .zone-view-talkgroup-list {
        display: grid;
        gap: 4px;
        padding: 8px;
    }
    .zone-view-tg {
        display: flex;
        justify-content: space-between;
        gap: 6px;
        align-items: flex-start;
        border: 1px solid var(--live-glass-edge);
        border-radius: var(--liquid-glass-radius-xs);
        background: var(--live-glass-surface-soft);
        padding: 6px 8px;
    }
    .zone-view-tg-main {
        min-width: 0;
        display: grid;
        gap: 2px;
    }
    .zone-view-tg-line {
        display: flex;
        gap: 7px;
        align-items: baseline;
        min-width: 0;
    }
    .zone-view-tg-id {
        min-width: 40px;
        font-size: 11px;
        color: var(--text);
        font-weight: 700;
        white-space: nowrap;
    }
    .zone-view-tg-title {
        font-size: 11px;
        color: var(--text);
        font-weight: 500;
        font-family: "Consolas", "Courier New", monospace;
        overflow-wrap: anywhere;
    }
    .zone-view-tg-subtitle {
        font-size: 10px;
        color: var(--muted);
        padding-left: 47px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .zone-view-tg-links {
        display: flex;
        gap: 4px;
        align-items: center;
        opacity: 0;
        pointer-events: none;
        transition: opacity 120ms ease;
    }
    .zone-view-tg:hover .zone-view-tg-links,
    .zone-view-tg:focus-within .zone-view-tg-links {
        opacity: 1;
        pointer-events: auto;
    }
    .zone-view-tg-links .badge.zone-view-action {
        padding: 3px 6px;
        font-size: 10px;
        font-weight: 700;
    }
    .zone-view-note {
        border: 1px dashed var(--live-glass-edge-strong);
        border-radius: 6px;
        color: var(--muted);
        font-size: 10px;
        padding: 6px 7px;
    }
    body.theme-light .zone-view-zone,
    body.theme-light .zone-view-system,
    body.theme-light .zone-view-tg,
    body.theme-light .zone-view-empty,
    body.theme-light .zone-view-note,
    body.theme-light .zone-view-loading {
        box-shadow: none;
    }
    .live-map-choice-popup .leaflet-popup-content {
        margin: 10px 12px;
        min-width: 220px;
    }
    .live-map-choice-picker {
        display: grid;
        gap: 8px;
    }
    .live-map-choice-title {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--muted);
        font-weight: 700;
    }
    .live-map-choice-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .live-map-choice-actions .zone-stack-option {
        margin: 0;
    }
    .live-map-choice-popup :is(.live-map-choice-title, .status, .muted) {
        color: rgba(17, 24, 39, 0.86);
    }
    .live-map-choice-popup .zone-stack-option {
        color: rgba(15, 23, 42, 0.92);
        border-color: rgba(15, 23, 42, 0.2);
        background: rgba(15, 23, 42, 0.08);
        box-shadow: none;
    }
    .live-map-choice-popup .zone-stack-option:hover,
    .live-map-choice-popup .zone-stack-option:focus {
        color: rgba(15, 23, 42, 0.98);
        border-color: rgba(15, 23, 42, 0.3);
        background: rgba(15, 23, 42, 0.12);
        box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.16);
    }
    .tg-list { margin-top: 10px; }
    .tg-system {
        font-weight: 700;
        font-size: 13px;
        color: var(--text);
        margin-bottom: 10px;
    }
    .tg-items {
        display: grid;
        gap: 8px;
    }
    .tg-item {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 10px;
        align-items: start;
        width: 100%;
        max-width: 100%;
    }
    .service-indicator {
        width: 10px;
        height: 10px;
        border-radius: 999px;
        margin-top: 4px;
        box-shadow: 0 0 0 1px var(--liquid-glass-edge);
    }
    .service-indicator.listening { background: var(--success); }
    .service-indicator.inactive { background: var(--accent-2); }
    .service-indicator.disabled { background: var(--danger); }
    .tg-item > div { min-width: 0; }
    .tg-item .name { font-weight: 600; }
    .tg-item .name,
    .tg-item .brief {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .tg-item .brief { font-size: 12px; color: var(--muted); margin-top: 2px; }
    .tg-item .use { font-size: 12px; color: var(--muted); margin-top: 2px; }
    .tg-item.muted { opacity: 0.55; }
    .tg-item input[type="checkbox"] { margin-top: 4px; }
    .meta-line { font-size: 12px; color: var(--muted); }
    .location-map {
        width: 100%;
        height: 100%;
    }
    .leaflet-container {
        z-index: 0;
    }
    .range-handle {
        width: 14px;
        height: 14px;
        border-radius: 999px;
        background: var(--live-range-handle-bg);
        border: 2px solid var(--live-range-handle-edge);
        box-shadow: var(--live-range-handle-shadow);
        cursor: ew-resize;
    }
    header {
        z-index: 1200;
        isolation: isolate;
    }
    .location-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 8px;
    }
    .location-toggle {
        display: grid;
        gap: 8px;
        margin-top: 14px;
    }
    .range-volume {
        margin: 20px 0 0;
        width: 100%;
        max-width: none;
        flex: none;
        height: 36px;
    }
    .range-readout {
        margin-top: 6px;
        margin-bottom: 0;
        font-size: 12px;
        color: var(--muted);
    }
    .high-interest-range .range-volume {
        margin-top: 8px;
        height: 32px;
    }
    .high-interest-range .range-readout {
        margin-top: 4px;
    }
    .high-interest-range.is-hidden {
        display: none;
    }
    .geo-input-row label {
        margin-top: 0;
    }
    input[type="range"] {
        padding: 0;
    }
    .geo-live-page details.geo-advanced {
        border: 1px solid var(--live-glass-edge);
        border-radius: 12px;
        background: var(--live-glass-surface);
        overflow: hidden;
    }
    .geo-live-page details.geo-advanced summary {
        list-style: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 14px;
        font-weight: 600;
        color: var(--text);
    }
    .geo-live-page details.geo-advanced summary::-webkit-details-marker { display: none; }
    .geo-live-page details.geo-advanced summary::after {
        content: '';
        width: 8px;
        height: 8px;
        border-right: 2px solid var(--muted);
        border-bottom: 2px solid var(--muted);
        transform: rotate(-45deg);
        transition: transform 160ms ease, border-color 160ms ease;
    }
    .geo-live-page details.geo-advanced[open] summary {
        border-bottom: 1px solid var(--live-glass-divider);
    }
    .geo-live-page details.geo-advanced[open] summary::after {
        transform: rotate(45deg);
        border-color: var(--text);
    }
    .geo-live-page details.geo-advanced > :not(summary) {
        padding: 12px 14px 14px;
    }
    .geo-live-page details.geo-advanced.disabled {
        opacity: 0.6;
        pointer-events: none;
    }
    .scanner-pills .meta-label { color: var(--muted); font-weight: 600; }
    .scanner-pills .meta-value { color: var(--text); font-weight: 600; }
    .queue-pulse-up {
        animation: queuePulseUp 900ms ease-out;
    }
    .queue-pulse-down {
        animation: queuePulseDown 900ms ease-out;
    }
    @keyframes queuePulseUp {
        0% { box-shadow: 0 0 0 0 var(--live-queue-pulse-up-start); }
        70% { box-shadow: 0 0 0 10px transparent; }
        100% { box-shadow: none; }
    }
    @keyframes queuePulseDown {
        0% { box-shadow: 0 0 0 0 var(--live-queue-pulse-down-start); }
        70% { box-shadow: 0 0 0 10px transparent; }
        100% { box-shadow: none; }
    }
    @keyframes geoLiveBlink {
        0%, 49% { opacity: 1; }
        50%, 100% { opacity: 0.2; }
    }
    body.modal-open .geo-map-stage,
    body.modal-open .geo-sidebar {
        pointer-events: none;
    }
    @media (max-width: 1024px) {
        .geo-live-page {
            display: flex;
            flex-direction: column;
        }
        .geo-map-stage,
        #mapZoneViewPanel {
            display: none !important;
        }
        .geo-float-stack {
            order: -1;
        }
        .geo-map-stage {
            order: 1;
        }
        .shared-mode-notice {
            order: -2;
        }
        .geo-sidebar,
        .geo-grid,
        .scanner-panel,
        .geo-controls {
            width: 100%;
            max-width: none;
        }
        .geo-grid {
            display: flex;
            flex-direction: column;
            grid-template-columns: 1fr;
            grid-template-areas:
                "scanner"
                "controls";
        }
        .scanner-panel {
            order: 0;
        }
        .geo-controls {
            order: 1;
        }
    }
    @media (max-width: 1024px) {
        .geo-live-page {
            --live-transport-size: 34px;
            --live-transport-play-size: 40px;
        }
        .geo-controls,
        .scanner-panel {
            gap: 14px;
        }
        .scanner-row {
            flex-direction: column;
            align-items: stretch;
        }
        #startScan {
            font-size: 18px;
            padding: 18px;
        }
        .scanner-toolbar {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            padding: 0;
            border: none;
            background: transparent;
        }
        .scanner-toolbar button {
            padding: 16px 12px;
            font-size: 15px;
        }
        .geo-live-page .audio-deck .audio-controls {
            gap: 8px;
            padding: 9px 11px;
        }
        .geo-live-page .audio-deck .audio-buttons {
            gap: 8px;
        }
        .range-presets {
            grid-template-columns: repeat(5, minmax(0, 1fr));
        }
        .range-presets button {
            padding: 12px 12px;
            font-size: 15px;
        }
        details.geo-advanced summary {
            font-size: 15px;
            padding: 12px 14px;
        }
        details.tg-panel summary,
        details.zones-panel summary,
        details.services-panel summary,
        .zone-view-zone-head,
        .zone-view-system-head {
            font-size: 13px;
            padding: 9px 10px;
        }
        .zone-view-talkgroup-list {
            gap: 6px;
            padding: 7px;
        }
        .zone-view-tg {
            flex-direction: column;
            gap: 7px;
            padding: 7px 8px;
        }
        .zone-view-tg-subtitle {
            padding-left: 0;
        }
        .zone-view-tg-links .badge.zone-view-action {
            font-size: 12px;
            padding: 5px 8px;
        }
        .scanner-pills .pill {
            padding: 10px 12px;
            font-size: 13px;
        }
        .scan-status {
            font-size: 18px;
        }
        .scan-grid {
            grid-template-columns: 1fr;
            font-size: 14px;
        }
        .scan-label {
            font-size: 12px;
        }
        .scan-value {
            font-size: 14px;
        }
        .location-map {
            height: 260px;
        }
        .range-readout {
            font-size: 13px;
        }
        .meta-line {
            font-size: 13px;
        }
        .tg-item {
            padding: 12px 14px;
            gap: 12px;
        }
        .tg-item input[type="checkbox"] {
            width: 20px;
            height: 20px;
        }
        .tg-item .name {
            font-size: 14px;
        }
        .tg-item .brief {
            font-size: 13px;
        }
        .geo-controls input,
        .geo-controls select,
        .geo-controls button,
        .scanner-controls button,
        .tg-panel button {
            font-size: 16px;
        }
        .geo-input-row {
            grid-template-columns: 1fr;
        }
        .geo-sidebar-header,
        .geo-sidebar-header .sidebar-toggle {
            display: none;
        }
        .geo-sidebar-header .map-toggle {
            display: inline-flex;
        }
    }
    @media (min-width: 1025px) {
        main {
            padding: 0;
        }
        .geo-map-stage {
            position: fixed;
            inset: 0;
            height: 100vh;
            border-radius: 0;
            border: none;
            margin: 0;
            z-index: 0;
            pointer-events: auto;
        }
        .geo-map-stage.is-collapsed {
            display: block;
        }
        .geo-float-stack {
            max-width: none;
            margin: 0;
            padding: 24px 24px 56px;
            display: flex;
            justify-content: flex-end;
            align-items: flex-start;
            pointer-events: none;
        }
        .geo-sidebar,
        .shared-mode-notice {
            pointer-events: auto;
        }
        .shared-mode-notice {
            position: fixed;
            top: 90px;
            left: 24px;
            width: auto;
            max-width: 420px;
            margin: 0;
        }
        .geo-sidebar {
            width: min(420px, 38vw);
            max-height: calc(100vh - 120px);
            overflow: auto;
            margin-left: auto;
            padding-right: 4px;
        }
        .geo-float-stack .panel {
            background: var(--live-glass-surface);
            border: 1px solid var(--live-glass-edge);
            box-shadow: var(--live-glass-shadow);
            -webkit-backdrop-filter: blur(var(--live-glass-blur)) saturate(var(--live-glass-saturation));
            backdrop-filter: blur(var(--live-glass-blur)) saturate(var(--live-glass-saturation));
        }
        #mapZoneViewPanel {
            position: fixed;
            top: max(90px, calc(var(--home-header-offset, 0px) + 16px));
            left: 16px;
            width: min(420px, calc(100vw - 32px));
            max-height: calc(100vh - 130px);
            overflow: auto;
            margin-top: 0;
            z-index: 4;
            pointer-events: auto;
        }
        #mapZoneViewPanel .home-stack-body {
            max-height: calc(100vh - 210px);
            overflow: auto;
        }
        body.theme-light .geo-float-stack .panel { border-color: var(--live-glass-edge); }
    }
