html.home-page {
    --home-page-background: linear-gradient(140deg, var(--liquid-glass-overlay-bg-strong), var(--liquid-glass-overlay-bg));
    --home-stack-radius: var(--liquid-glass-radius-md);
    --home-card-radius: var(--liquid-glass-radius-sm);
    --home-control-radius: var(--liquid-glass-radius-button);
    --home-stack-padding-inline: var(--space-4);
    --home-stack-padding-bottom: var(--space-3);
    --home-stack-glass-filter: blur(var(--liquid-glass-blur)) saturate(var(--liquid-glass-saturation));
    --home-control-glass-filter: blur(calc(var(--liquid-glass-blur) * 0.45)) saturate(var(--liquid-glass-saturation));
    --home-soft-glass-filter: blur(calc(var(--liquid-glass-blur) * 0.4)) saturate(var(--liquid-glass-saturation));
    --home-chip-glass-filter: blur(calc(var(--liquid-glass-blur) * 0.35)) saturate(var(--liquid-glass-saturation));
    --home-icon-size: 23px;
    --home-hero-text: color-mix(in srgb, var(--text) 72%, #f8fbff 28%);
    --home-hero-text-shadow: 0 10px 32px rgba(5, 12, 24, 0.34);
    --home-hero-subheading: color-mix(in srgb, var(--muted) 48%, #eef4ff 52%);
    --home-hero-panel-title-color: color-mix(in srgb, var(--text) 74%, #f8fbff 26%);
    --home-hero-toggle-action-color: color-mix(in srgb, var(--muted) 78%, #eef4ff 22%);
    --home-hero-stat-label: color-mix(in srgb, var(--muted) 62%, #eef4ff 38%);
    --home-hero-stat-value: color-mix(in srgb, var(--accent) 78%, #f4f7ff);
    --home-icon-contrast: rgba(248, 250, 255, 0.96);
    --home-search-action-bg: rgba(20, 28, 45, 0.38);
    --home-search-action-border: rgba(163, 176, 198, 0.28);
    --home-shortcut-bar-bg: linear-gradient(180deg, rgba(12, 18, 33, 0.12), rgba(12, 18, 33, 0.32));
    --home-shortcut-bar-border: rgba(202, 214, 232, 0.14);
    --home-shortcut-bar-shadow: 0 -18px 38px rgba(4, 8, 17, 0.16);
    --home-shortcut-button-text: color-mix(in srgb, var(--text) 72%, #f8fbff 28%);
    --home-shortcut-button-bg: rgba(18, 26, 42, 0.24);
    --home-shortcut-button-border: rgba(190, 203, 224, 0.15);
    --home-shortcut-button-hover-bg: rgba(24, 34, 56, 0.36);
    --home-shortcut-button-hover-border: rgba(207, 219, 237, 0.24);
    --home-shortcut-icon-nearby: #41b6ff;
    --home-shortcut-icon-transcript: #87d7a5;
    --home-shortcut-icon-systems: #70dbe4;
    --home-hero-action-padding: 13px var(--space-5);
    --home-hero-action-radius: var(--home-control-radius);
    --home-shortcut-button-padding: 15px var(--space-5);
    --home-shortcut-button-min-height: 58px;
    --home-shortcut-button-gap: 14px;
    --home-shortcut-bar-gap: clamp(10px, 1.6vw, 22px);
    --home-shortcut-footer-gap: 0px;
    --home-shortcut-stack-clearance: 118px;
    --home-safe-bottom: env(safe-area-inset-bottom, 0px);
    --home-stack-font: inherit;
}
html.home-page body {
    background-image: var(--home-page-background);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
}
html.home-page body.theme-light {
    --home-hero-text: #132235;
    --home-hero-text-shadow: none;
    --home-hero-subheading: var(--muted);
    --home-hero-panel-title-color: var(--text);
    --home-hero-toggle-action-color: color-mix(in srgb, var(--muted) 78%, var(--text) 22%);
    --home-hero-stat-label: color-mix(in srgb, var(--muted) 86%, var(--text) 14%);
    --home-hero-stat-value: color-mix(in srgb, var(--accent) 72%, #102238);
    --home-icon-contrast: #0f172a;
    --home-search-action-bg: rgba(255, 255, 255, 0.56);
    --home-search-action-border: rgba(105, 122, 146, 0.2);
    --home-shortcut-bar-bg: linear-gradient(180deg, rgba(247, 249, 253, 0.2), rgba(247, 249, 253, 0.56));
    --home-shortcut-bar-border: rgba(133, 152, 178, 0.18);
    --home-shortcut-bar-shadow: 0 -16px 34px rgba(22, 34, 49, 0.08);
    --home-shortcut-button-text: var(--text);
    --home-shortcut-button-bg: rgba(255, 255, 255, 0.52);
    --home-shortcut-button-border: rgba(114, 133, 157, 0.18);
    background: var(--home-page-background);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
}
html.home-page header { z-index: 2000; }
html.home-page main { max-width: 1600px; padding: 0; }
.home-map-hero {
    position: relative;
    height: 100vh;
    min-height: 100vh;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: var(--bg);
    overflow: hidden;
    z-index: 0;
}
#homeMap {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    z-index: 0;
}
.home-map-spinner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    z-index: 1;
    pointer-events: none;
    background: var(--liquid-glass-overlay-bg);
    backdrop-filter: blur(calc(var(--liquid-glass-blur) * 0.1));
    -webkit-backdrop-filter: blur(calc(var(--liquid-glass-blur) * 0.1));
}
.home-stack {
    display: grid;
    gap: 12px;
    font-family: var(--home-stack-font);
}
.home-stack-panel {
    display: grid;
    gap: 0;
    padding: 0;
    font-family: var(--home-stack-font);
}
html.home-page .home-stack-toggle {
    font-size: 16px;
    font-weight: 700;
    position: relative;
    user-select: none;
    background: var(--liquid-glass-surface);
    backdrop-filter: var(--home-stack-glass-filter);
    -webkit-backdrop-filter: var(--home-stack-glass-filter);
    border-radius: var(--home-stack-radius) var(--home-stack-radius) 0 0;
    border-color: var(--liquid-glass-edge);
}
html.home-page .home-stack-body {
    padding: 12px var(--home-stack-padding-inline) var(--home-stack-padding-bottom);
    overflow: visible;
    background: var(--liquid-glass-surface);
    backdrop-filter: var(--home-stack-glass-filter);
    -webkit-backdrop-filter: var(--home-stack-glass-filter);
    border-radius: 0 0 var(--home-stack-radius) var(--home-stack-radius);
    border-color: var(--liquid-glass-edge);
}
html.home-page .home-stack-panel:not([open]) .home-stack-toggle {
    border-radius: var(--home-stack-radius);
}

html.home-page .home-primary-panel .home-stack-toggle {
    min-height: 56px;
}

html.home-page .home-primary-panel .home-stack-body {
    display: grid;
    gap: 12px;
}

#homeCallDetailPanel[hidden] { display: none; }
.home-call-detail-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.home-call-detail-toggle::after {
    display: none;
}
.home-call-detail-title-group {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.home-call-detail-settings,
.home-call-detail-dismiss {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 24px;
    min-height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}
.home-call-detail-settings svg {
    width: 18px;
    height: 18px;
    display: block;
}
.home-call-detail-settings:hover,
.home-call-detail-settings:focus-visible,
.home-call-detail-dismiss:hover,
.home-call-detail-dismiss:focus-visible {
    color: color-mix(in srgb, var(--accent) 65%, var(--text));
}

.home-stack-pad { padding: 12px var(--home-stack-padding-inline); }
.home-zone-spinner { margin: 10px 0; }
.home-zone-choice-list,
#homeZoneDetailHint { margin: 0 0 12px; }
.home-zone-choice-list {
    display: grid;
    gap: 6px;
}
.home-zone-stack-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    text-align: left;
    border-radius: var(--home-card-radius);
    border: 1px solid var(--liquid-glass-control-edge);
    background: var(--liquid-glass-surface-soft);
    color: var(--text);
    font-size: 14px;
    font-weight: 600;
    min-height: 52px;
    padding: 10px 12px;
    cursor: pointer;
    -webkit-backdrop-filter: var(--home-control-glass-filter);
    backdrop-filter: var(--home-control-glass-filter);
    transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease, transform 120ms ease;
}
.home-zone-stack-option:hover,
.home-zone-stack-option:focus {
    border-color: rgba(59, 130, 246, 0.6);
    box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.35);
    transform: translateY(-1px);
}
.home-zone-stack-option:active {
    transform: translateY(0);
}
.home-zone-stack-label {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.home-zone-stack-pill {
    margin-left: auto;
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 12px;
}
.home-hero-panel {
    position: relative;
    z-index: 1;
    width: 100%;
}
.home-hero-intro {
    display: grid;
    gap: var(--space-3);
    width: min(920px, 100%);
    color: var(--home-hero-text);
    text-shadow: var(--home-hero-text-shadow);
}
.home-hero-heading {
    margin: 0;
    font-size: clamp(1.8rem, 2.35vw, 2.35rem);
    line-height: 1.04;
    letter-spacing: 0.02em;
    font-weight: 600;
}
.home-hero-subheading {
    margin: 0;
    max-width: 42rem;
    font-size: 1.08rem;
    line-height: 1.55;
    letter-spacing: 0.01em;
    color: var(--home-hero-subheading);
}
.home-hero-toggle {
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 12px var(--space-4) 10px;
}
.home-hero-toggle::after {
    display: none;
}
.home-hero-panel-title {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    font-size: 0.94rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--home-hero-panel-title-color);
}
.home-hero-toggle-action {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: var(--space-4);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--home-hero-toggle-action-color);
}
.home-hero-toggle-when-closed {
    display: none;
}
#homeHeroPanel:not([open]) .home-hero-toggle-when-open {
    display: none;
}
#homeHeroPanel:not([open]) .home-hero-toggle-when-closed {
    display: inline;
}
.home-hero-body {
    display: grid;
    gap: 0;
    padding: 0 var(--space-4) var(--space-4);
}
.home-hero-summary-card {
    gap: var(--space-4);
    padding: var(--space-4) 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.home-hero-stats {
    display: grid;
    gap: 12px;
    margin: 0;
    padding-top: 2px;
}
.home-hero-stat {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 10px;
}
.home-hero-stat dt,
.home-hero-stat dd {
    margin: 0;
}
.home-hero-stat dt {
    order: 2;
    color: var(--home-hero-stat-label);
    font-size: 1rem;
    font-weight: 500;
}
.home-hero-stat dd {
    order: 1;
    color: var(--home-hero-stat-value);
    font-size: 2rem;
    font-weight: 760;
    line-height: 1;
    letter-spacing: -0.04em;
    position: relative;
    display: inline-block;
    min-width: 2.4ch;
    font-variant-numeric: tabular-nums lining-nums;
    transform-origin: left center;
    will-change: transform, opacity, filter;
}
.home-hero-stat dd.is-counting {
    animation: home-hero-stat-bloom 760ms cubic-bezier(0.16, 0.84, 0.18, 1);
}
@keyframes home-hero-stat-bloom {
    0% {
        opacity: 0.28;
        filter: blur(10px);
        transform: translateY(8px) scale(0.92);
    }
    42% {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0) scale(var(--home-stat-pop-scale, 1.08));
    }
    100% {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0) scale(1);
    }
}
@media (prefers-reduced-motion: reduce) {
    .home-hero-stat dd {
        will-change: auto;
    }
    .home-hero-stat dd.is-counting {
        animation: none;
    }
}
.home-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
    margin-top: 2px;
}
.home-hero-actions .cta,
.home-shortcut-button {
    width: 100%;
}
.home-hero-action-button,
.home-shortcut-button {
    justify-content: flex-start;
    gap: 12px;
}
.home-hero-panel .cta.home-hero-action-button {
    display: grid;
    grid-template-columns: var(--home-icon-size) minmax(0, 1fr);
    justify-content: start;
    justify-items: start;
    align-items: center;
    column-gap: 12px;
    row-gap: 0;
    text-align: left;
}
.home-hero-panel .cta.home-hero-action-button .home-icon {
    width: var(--home-icon-size);
    height: var(--home-icon-size);
    margin: 0;
    justify-self: start;
}
.home-hero-panel .cta.home-hero-action-button span {
    display: block;
    width: 100%;
    text-align: left;
}
.home-hero-search-action {
    background: var(--home-search-action-bg);
    border-color: var(--home-search-action-border);
}
.home-hero-panel .cta {
    min-height: 52px;
    padding: var(--home-hero-action-padding);
    border-radius: var(--home-hero-action-radius);
    font-size: 1rem;
    font-weight: 650;
    letter-spacing: 0;
}
.home-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: var(--home-icon-size);
    height: var(--home-icon-size);
    opacity: 0.96;
}
.home-icon .bi {
    display: block;
    font-size: var(--home-icon-size);
    line-height: 1;
}
.home-hero-shortcut-bar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(var(--site-footer-clearance, 0px) + var(--home-shortcut-footer-gap));
    z-index: 520;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding: 18px 28px calc(18px + var(--home-safe-bottom));
    border-top: 1px solid var(--home-shortcut-bar-border);
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 0;
    background: var(--home-shortcut-bar-bg);
    box-shadow: var(--home-shortcut-bar-shadow);
    backdrop-filter: blur(calc(var(--liquid-glass-blur) * 1.15)) saturate(var(--liquid-glass-saturation));
    -webkit-backdrop-filter: blur(calc(var(--liquid-glass-blur) * 1.15)) saturate(var(--liquid-glass-saturation));
}
.home-hero-shortcut-row {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: var(--home-shortcut-bar-gap);
    width: max-content;
    max-width: 100%;
    align-items: stretch;
}
.home-hero-shortcut-row .home-shortcut-button {
    display: grid;
    grid-template-columns: var(--home-icon-size) minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    column-gap: var(--home-shortcut-button-gap);
    min-width: 0;
    width: 100%;
    min-height: var(--home-shortcut-button-min-height);
    padding: var(--home-shortcut-button-padding);
    border-radius: var(--home-stack-radius);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.12;
    letter-spacing: 0;
    text-align: left;
    color: var(--home-shortcut-button-text);
    background: var(--home-shortcut-button-bg);
    border-color: var(--home-shortcut-button-border);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.home-hero-shortcut-row .home-shortcut-button .home-icon {
    justify-self: start;
}
.home-hero-shortcut-row .home-shortcut-button span {
    justify-self: start;
    min-width: 0;
    white-space: nowrap;
}
.home-hero-shortcut-row .home-shortcut-button:hover,
.home-hero-shortcut-row .home-shortcut-button:focus-visible {
    background: var(--home-shortcut-button-hover-bg);
    border-color: var(--home-shortcut-button-hover-border);
}
html.home-page .home-shortcut-button .home-icon-nearby { color: var(--home-shortcut-icon-nearby); }
html.home-page .home-shortcut-button .home-icon-calls { color: var(--home-icon-contrast); }
html.home-page .home-shortcut-button .home-icon-transcript { color: var(--home-shortcut-icon-transcript); }
html.home-page .home-shortcut-button .home-icon-systems { color: var(--home-shortcut-icon-systems); }
html.home-page .home-hero-action-button .home-icon {
    color: var(--home-icon-contrast);
}
.home-map-filter-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}
.home-map-filter-form label {
    display: grid;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
}
.home-map-filter-form select {
    min-height: 44px;
    border-radius: var(--liquid-glass-radius-button);
}
.home-map-filter-summary {
    grid-column: 1 / -1;
    margin: 0;
}
.home-map-filter-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.home-map-filter-actions .primary,
.home-map-filter-actions .secondary {
    width: auto;
}
.zone-list {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.zone-item {
    min-width: 0;
    max-width: 100%;
}
.zone-item summary {
    list-style: none;
    cursor: pointer;
    display: grid;
    gap: 4px;
    padding: 8px 10px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    border-radius: var(--home-stack-radius);
    border: 1px solid transparent;
    transition: background 120ms ease, border-color 120ms ease;
}
.zone-item.is-selected summary {
    border-color: var(--liquid-glass-highlight-edge);
    background: var(--liquid-glass-highlight-bg);
}
.zone-item summary::-webkit-details-marker { display: none; }
.zone-title {
    display: grid;
    gap: 6px;
    font-weight: 700;
    min-width: 0;
    max-width: 100%;
}
.zone-title-name {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.zone-title-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
}
.zone-title-actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 100%;
    white-space: normal;
}
.zone-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}
.zone-actions:empty { display: none; }
.zone-action-pills {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 100%;
}
.zone-action-pills .badge {
    font-size: 12px;
    padding: 6px 10px;
    max-width: 100%;
}
.zone-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: var(--muted);
}
.zone-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid var(--liquid-glass-edge);
    border-radius: var(--radius-pill);
    background: var(--liquid-glass-surface-soft);
    font-size: 12px;
    font-weight: 700;
    -webkit-backdrop-filter: var(--home-soft-glass-filter);
    backdrop-filter: var(--home-soft-glass-filter);
}
.tg-list {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--border);
    display: grid;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
}
.tg-system {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--muted);
    margin-bottom: 15px;
}
.tg-item {
    font-size: 12px;
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
    border: 1px dotted var(--liquid-glass-edge);
    border-radius: var(--home-card-radius);
    padding: 8px 10px;
    background: var(--liquid-glass-surface-soft);
    -webkit-backdrop-filter: var(--home-soft-glass-filter);
    backdrop-filter: var(--home-soft-glass-filter);
}
.tg-item-text {
    flex: 1;
    display: grid;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
}
.tg-line {
    display: flex;
    gap: 8px;
    align-items: baseline;
    min-width: 0;
}
.tg-line-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--muted);
    min-width: 40px;
}
.tg-line-value {
    font-size: 12px;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.tg-links {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 6px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 120ms ease;
}
.tg-links .badge {
    font-size: 12px;
    padding: 6px 10px;
}
.tg-item:hover .tg-links,
.tg-item:focus-within .tg-links {
    opacity: 1;
    pointer-events: auto;
}
.home-shell {
    margin: 0;
}
.home-hero-stack {
    position: relative;
    z-index: 550;
    width: min(420px, calc(100vw - 32px));
    margin: 24px auto 80px 16px;
    max-height: calc(100vh - 330px);
    overflow: auto;
    isolation: isolate;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
.cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid var(--liquid-glass-control-edge);
    background: var(--liquid-glass-control-bg);
    color: var(--text);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.3px;
    -webkit-backdrop-filter: var(--home-control-glass-filter);
    backdrop-filter: var(--home-control-glass-filter);
}
.cta.primary {
    background: var(--liquid-glass-primary-bg);
    border-color: var(--liquid-glass-primary-edge);
    color: var(--liquid-glass-primary-text);
    box-shadow: var(--liquid-glass-primary-shadow);
}
.bookmark-card {
    display: grid;
    gap: 10px;
    border-radius: var(--home-stack-radius);
    border: 1px solid var(--border);
}
.bookmark-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.bookmark-title {
    margin: 0;
    font-size: 16px;
}
.bookmark-type {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text);
}
.bookmark-excerpt {
    display: grid;
    gap: 8px;
    font-size: 13px;
    color: var(--muted);
}
.bookmark-excerpt-headline {
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: 0.2px;
}
.bookmark-excerpt-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.bookmark-excerpt-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 24px;
    padding: 4px 10px;
    border: 1px solid var(--liquid-glass-edge);
    border-radius: 999px;
    background: var(--liquid-glass-surface-soft);
    color: var(--text);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    -webkit-backdrop-filter: var(--home-chip-glass-filter);
    backdrop-filter: var(--home-chip-glass-filter);
}
.bookmark-excerpt-detail {
    font-size: 12px;
    line-height: 1.4;
    color: var(--muted);
    overflow-wrap: anywhere;
}
.bookmark-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.bookmark-actions .secondary {
    width: auto;
    border-radius: var(--home-card-radius);
    padding: 10px 12px;
}
.home-modal-card {
    width: min(640px, 100%);
}
.home-zone-modal-card {
    width: min(720px, 100%);
}
.home-modal-head-copy {
    display: grid;
    gap: 8px;
}
.home-settings-modal-body {
    gap: 16px;
}
.home-settings-modal-body .share-modal-copy {
    margin: 0;
}
.call-map-arrival-marker {
    background: transparent;
    border: 0;
}
.call-map-arrival-dot {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 18px;
    height: 18px;
    transform: translate(-50%, -50%) scale(5.5);
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.98) 0%, rgba(233, 54, 70, 0.96) 38%, rgba(233, 54, 70, 0.78) 100%);
    box-shadow: 0 0 0 10px rgba(233, 54, 70, 0.18), 0 0 40px rgba(233, 54, 70, 0.55);
    opacity: 0;
    animation: call-map-arrival-zoom 1.4s cubic-bezier(0.16, 0.84, 0.18, 1) forwards;
    pointer-events: none;
}
@keyframes call-map-arrival-zoom {
    0% {
        transform: translate(-50%, -50%) scale(8);
        opacity: 0;
    }
    10% {
        transform: translate(-50%, -50%) scale(7);
        opacity: 1;
    }
    45% {
        transform: translate(-50%, -50%) scale(3.2);
        opacity: 0.96;
    }
    75% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0.82;
    }
    100% {
        transform: translate(-50%, -50%) scale(0.82);
        opacity: 0;
    }
}
.home-map-detail-card {
    display: grid;
    gap: 12px;
    width: 100%;
    min-width: 0;
}
#homeCallDetailContent {
    display: grid;
    gap: 12px;
    min-width: 0;
}
#homeCallDetailContent .call-map-popup {
    width: 100%;
    max-width: none;
}
#homeCallDetailContent .call-map-popup-action {
    flex: 1 1 150px;
}
#homeCallDetailContent .call-map-popup-actions {
    align-items: stretch;
}
.bookmark-actions .bookmark-public.is-active {
    background: var(--success-soft-bg);
    border-color: var(--success-soft-border);
    color: var(--success-text);
}
body.theme-light .bookmark-actions .bookmark-public.is-active {
    color: #0f5132;
}
@media (max-width: 1024px) {
    html.home-page {
        --home-icon-size: 21px;
        --home-hero-action-padding: 14px 16px;
        --home-shortcut-button-padding: 14px 16px;
        --home-shortcut-button-min-height: 56px;
        --home-shortcut-footer-gap: 0px;
        --home-shortcut-stack-clearance: 126px;
    }
    html.home-page,
    html.home-page body {
        height: 100%;
        overflow: hidden;
    }
    html.home-page main {
        height: 100%;
        overflow: hidden;
    }
    html.home-page footer.site-footer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0;
        padding: 10px 0 calc(14px + var(--home-safe-bottom));
        border-top: 1px solid var(--liquid-glass-edge);
        z-index: 1500;
    }
    html.home-page { --site-footer-clearance: var(--site-footer-height, 72px); }
    .home-map-hero {
        height: 100dvh;
        min-height: 100dvh;
        margin-top: 0;
        padding-top: 0;
        background: transparent;
        overflow: hidden;
    }
    html.home-page .leaflet-bottom {
        bottom: calc(var(--site-footer-clearance) + var(--home-safe-bottom) + 10px);
    }
    .home-hero-panel {
        position: static;
        margin: 0;
        width: auto;
        max-height: none;
    }
    .home-hero-stack {
        width: auto;
        margin: 30px 16px 14px;
        gap: 16px;
        max-height: calc(100dvh - var(--site-header-height) - var(--site-footer-clearance) - var(--home-shortcut-stack-clearance) - var(--home-safe-bottom));
        overflow: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        isolation: auto;
        -webkit-transform: none;
        transform: none;
    }
    .home-hero-intro {
        gap: var(--space-2);
        width: 100%;
    }
    .home-hero-heading { font-size: 2.2rem; }
    .home-hero-subheading {
        max-width: 100%;
        font-size: 0.98rem;
    }
    .home-hero-panel-title {
        font-size: 0.84rem;
        letter-spacing: 0.16em;
    }
    .home-hero-body { padding: 0 15px 15px; }
    .home-hero-summary-card {
        gap: var(--space-3);
    }
    .home-hero-stat dt {
        font-size: 0.92rem;
    }
    .home-hero-stat dd {
        font-size: 1.55rem;
    }
    .home-hero-actions .cta,
    .home-hero-shortcut-bar .home-shortcut-button {
        font-size: 1.02rem;
    }
    .home-hero-shortcut-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: calc(var(--site-footer-clearance) + var(--home-shortcut-footer-gap));
        z-index: 1400;
    }
    .home-map-filter-form {
        grid-template-columns: 1fr;
    }
    .home-modal-card,
    .home-zone-modal-card {
        width: 100%;
    }
    .home-zone-modal-card {
        max-height: calc(100dvh - 24px);
        overflow: hidden;
        grid-template-rows: auto minmax(0, 1fr);
    }
    #homeZoneList {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }
    .zone-title-meta {
        justify-content: space-between;
        width: 100%;
    }
    .zone-title-actions,
    .zone-action-pills {
        justify-content: flex-start;
    }
    .call-map-popup {
        max-width: min(280px, calc(100vw - 64px));
    }
    .home-zone-modal-card .share-modal-body {
        min-height: 0;
        overflow: hidden;
        grid-template-rows: auto auto minmax(0, 1fr);
    }
    .home-zone-modal-card .zone-list {
        max-height: none;
        overflow: auto;
        padding-right: 6px;
        min-height: 0;
    }
    #homeCallDetailContent .call-map-popup {
        max-width: none;
    }
    #homeCallDetailContent .call-map-popup-action {
        width: 100%;
        flex-basis: 100%;
    }
    .call-map-popup-detail-row {
        display: grid;
        gap: 0.12rem;
    }
    .tg-links {
        opacity: 1;
        pointer-events: auto;
    }
}

@media (max-width: 900px) {
    html.home-page {
        --home-shortcut-stack-clearance: 208px;
    }
    .home-hero-shortcut-bar {
        padding: 12px 16px calc(14px + var(--home-safe-bottom));
        display: block;
        border-radius: 0;
    }
    .home-hero-shortcut-row {
        display: grid;
        grid-auto-flow: row;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
        max-width: none;
        align-items: stretch;
    }
}

@media (max-width: 460px) {
    html.home-page {
        --home-icon-size: 19px;
        --home-shortcut-button-padding: 12px 12px;
        --home-shortcut-button-gap: 10px;
        --home-shortcut-button-min-height: 52px;
        --home-shortcut-stack-clearance: 192px;
    }
    .home-hero-shortcut-bar {
        padding: 10px 12px calc(12px + var(--home-safe-bottom));
    }
    .home-hero-shortcut-row {
        gap: 7px;
    }
    .home-hero-shortcut-row .home-shortcut-button {
        font-size: 0.9rem;
        line-height: 1.08;
    }
    .home-hero-shortcut-row .home-shortcut-button span {
        white-space: normal;
    }
}

@media (min-width: 1025px) {
    html.home-page,
    html.home-page body {
        height: 100%;
        overflow: hidden;
    }
    html.home-page main {
        height: 100%;
        overflow: hidden;
        margin: 0;
        max-width: none;
        width: 100%;
    }
    html.home-page header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
    }
    html.home-page footer.site-footer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0;
        padding: 10px 0 calc(14px + var(--home-safe-bottom));
        border-top: 1px solid var(--liquid-glass-edge);
        z-index: 1500;
    }
    html.home-page { --site-footer-clearance: var(--site-footer-height); }
    html.home-page .home-map-hero {
        height: 100vh;
        min-height: 100vh;
    }
    html.home-page .leaflet-bottom {
        bottom: calc(var(--site-footer-clearance) + var(--home-safe-bottom) + 10px);
    }
    html.home-page .home-hero-stack {
        position: absolute;
        top: calc(var(--site-header-height) + 36px);
        left: 20px;
        margin: 0;
        width: auto;
        justify-items: start;
        gap: 20px;
        max-height: calc(100dvh - var(--site-header-height) - var(--site-footer-clearance) - 120px - var(--home-safe-bottom));
        overflow: visible;
        pointer-events: none;
    }
    html.home-page .home-hero-stack > * {
        pointer-events: auto;
    }
    html.home-page .home-hero-intro {
        width: min(860px, calc(100vw - 40px));
        max-width: none;
        pointer-events: none;
    }
    html.home-page .home-hero-panel,
    html.home-page #homeCallDetailPanel {
        width: min(500px, calc(100vw - 40px));
    }
    .bookmark-list {
        max-height: min(50vh, 520px);
        overflow: auto;
        padding-right: 6px;
    }
}
