@import url("https://fonts.googleapis.com/css2?family=Audiowide&family=Bruno+Ace+SC&family=Chakra+Petch:wght@500;600;700&family=Exo+2:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=Michroma&family=Orbitron:wght@500;600;700;800&family=Oxanium:wght@500;600;700&family=Rajdhani:wght@500;600;700&family=Share+Tech+Mono&family=Sora:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&family=Syncopate:wght@400;700&display=swap");

:root {
    --bg: #05070b;
    --bg-2: #0a0f16;
    --panel: rgba(12, 18, 30, 0.82);
    --panel-2: rgba(10, 14, 23, 0.94);
    --line: rgba(114, 175, 255, 0.16);
    --line-strong: rgba(120, 193, 255, 0.42);
    --text: #ecf5ff;
    --muted: #8f9db4;
    --cyan: #79d6ff;
    --teal: #79ffd6;
    --amber: #f7c46d;
    --orange: #ff9f7a;
    --pink: #ff8ec7;
    --blue: #67a3ff;
    --red: #ff7c8d;
    --shadow: 0 28px 90px rgba(0, 0, 0, 0.45);
    --radius-xl: 0px;
    --radius-lg: 0px;
    --radius-md: 0px;
    --radius-control: 0px;
    --font-body: "Inter", "Segoe UI", sans-serif;
    --font-display: "Orbitron", "Rajdhani", sans-serif;
    --grid-opacity: 0.22;
    --shell-accent-1: rgba(103, 163, 255, 0.12);
    --shell-accent-2: rgba(255, 142, 199, 0.06);
    --chrome-glow: rgba(121, 214, 255, 0.14);
    --topbar-bg: rgba(5, 9, 15, 0.88);
    --panel-grad-1: rgba(13, 18, 29, 0.95);
    --panel-grad-2: rgba(7, 11, 18, 0.92);
    --panel-sheen-a: rgba(121, 214, 255, 0.05);
    --panel-sheen-b: rgba(247, 196, 109, 0.035);
    --globe-accent: rgba(50, 93, 174, 0.22);
    --globe-deep: #050912;
    --overlay-bg: rgba(6, 10, 16, 0.82);
    --hero-highlight: rgba(255,255,255,0.03);
    --cursor-core: #79d6ff;
    --cursor-ring: #bfefff;
    --cursor-glow: rgba(121, 214, 255, 0.34);
}

* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    min-height: 100%;
    color-scheme: dark;
    background:
        radial-gradient(circle at top left, var(--shell-accent-1), transparent 24%),
        radial-gradient(circle at top right, var(--shell-accent-2), transparent 18%),
        linear-gradient(180deg, #03050a 0%, #091019 44%, #05070b 100%);
    color: var(--text);
    font-family: var(--font-body);
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    background-image:
        repeating-linear-gradient(
            to bottom,
            rgba(214, 236, 255, 0.072) 0 1px,
            transparent 1px 3px
        ),
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01) 28%, rgba(0, 0, 0, 0.18) 100%),
        radial-gradient(circle at 50% -20%, rgba(255, 255, 255, 0.08), transparent 62%);
    background-size: 100% 3px, 100% 100%, 100% 100%;
    background-repeat: no-repeat, no-repeat, no-repeat;
    pointer-events: none;
    opacity: 0.44;
    mix-blend-mode: screen;
    animation: scanlineDrift 14s linear infinite;
    z-index: 4;
}

body::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: screen;
    will-change: background-position, opacity;
    z-index: 4;
}

.landing-notice {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 24px;
    color: var(--text);
    background: rgba(0, 3, 8, 0.06);
    backdrop-filter: blur(22px) saturate(1.22);
    transition: opacity 180ms ease, visibility 180ms ease;
}

.landing-notice::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 18%, transparent), transparent),
        repeating-linear-gradient(to bottom, rgba(255,255,255,0.025) 0 1px, transparent 1px 7px);
    opacity: 0.2;
    mix-blend-mode: screen;
}

.landing-notice.dismissed {
    opacity: 0;
    visibility: hidden;
}

.landing-notice-card {
    position: relative;
    width: min(920px, calc(100vw - 48px));
    max-height: calc(100dvh - 42px);
    border: 1px solid color-mix(in srgb, var(--cyan) 42%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 42%),
        linear-gradient(180deg, rgba(8, 14, 22, 0.94), rgba(3, 7, 12, 0.96));
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.58),
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 0 42px color-mix(in srgb, var(--cyan) 18%, transparent);
    padding: clamp(14px, 2vw, 22px);
    overflow: hidden;
}

.landing-notice-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.landing-notice-logo {
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    color: var(--cyan);
    filter: drop-shadow(0 0 12px color-mix(in srgb, var(--cyan) 58%, transparent));
}

.landing-notice-name {
    font-family: var(--font-display);
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 800;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    line-height: 0.94;
}

.landing-notice-legal {
    font-size: 10px;
    color: color-mix(in srgb, var(--muted) 88%, var(--text) 12%);
}

.landing-notice-legal a {
    color: var(--cyan);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.landing-notice-card p {
    margin: 0 0 9px;
    color: var(--muted);
    line-height: 1.46;
}

.landing-notice-button {
    margin-top: 10px;
    width: 100%;
    justify-content: center;
}

.landing-notice-button[hidden] {
    display: none;
}

.landing-notice-load-panel {
    margin-top: 10px;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--cyan) 26%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 55%),
        rgba(255, 255, 255, 0.035);
}

.landing-notice-progress {
    position: relative;
    height: 9px;
    margin: 10px 0 7px;
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    background: rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.landing-notice-progress::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(90deg, transparent 0 10px, rgba(255,255,255,0.08) 10px 11px);
    pointer-events: none;
}

.landing-notice-progress-fill {
    position: relative;
    width: 8%;
    height: 100%;
    background: linear-gradient(90deg, color-mix(in srgb, var(--cyan) 68%, #7d9193), color-mix(in srgb, var(--teal) 28%, var(--cyan)));
    box-shadow: 0 0 16px color-mix(in srgb, var(--cyan) 48%, transparent);
    transition: width 180ms ease;
}

.landing-notice-progress-meta {
    min-height: 14px;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.landing-theme-prompt {
    margin: 10px 0 4px;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--cyan) 26%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 46%),
        color-mix(in srgb, var(--overlay-bg) 46%, transparent);
    backdrop-filter: blur(18px) saturate(1.22);
}

.landing-theme-console {
    grid-template-columns: minmax(190px, 0.68fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

.landing-theme-console .theme-picker-preview,
.landing-theme-console .theme-picker-bank {
    padding: 8px;
}

.landing-theme-console .theme-picker-preview {
    grid-template-rows: minmax(118px, 1fr) auto;
}

.landing-theme-console .theme-picker-preview-stage {
    min-height: 118px;
}

.landing-theme-console .theme-preview-orb {
    width: 74px;
    height: 74px;
    inset: 24px auto auto 24px;
}

.landing-theme-console .theme-preview-dialog-demo {
    right: 10px;
    bottom: 10px;
    width: min(190px, calc(100% - 20px));
    padding: 8px;
}

.landing-theme-console .theme-picker-preview-copy {
    padding: 8px 2px 2px;
    gap: 6px;
}

.landing-theme-console .theme-picker-preview-meta {
    display: none;
}

.landing-theme-console .theme-option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
}

.landing-theme-console .theme-option {
    min-height: 34px;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 6px;
    padding: 5px 6px;
}

.landing-theme-console .theme-swatch {
    width: 18px;
    height: 18px;
}

.landing-theme-console .theme-option-copy strong {
    font-size: 8px;
}

.landing-theme-console .theme-option-copy small {
    font-size: 7px;
}

.landing-theme-prompt-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
}

.landing-theme-prompt-head strong {
    display: block;
    margin-top: 4px;
    font-family: var(--font-display);
    font-size: clamp(13px, 1.6vw, 17px);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.landing-theme-prompt-head span {
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: right;
}

.landing-theme-preview {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    background:
        radial-gradient(circle at 20% 50%, color-mix(in srgb, var(--cyan) 20%, transparent), transparent 34%),
        color-mix(in srgb, var(--overlay-bg) 34%, transparent);
}

.landing-theme-preview-orb {
    width: 34px;
    height: 34px;
    border: 1px solid color-mix(in srgb, var(--cyan) 46%, transparent);
    background:
        radial-gradient(circle at 38% 34%, color-mix(in srgb, white 38%, transparent), transparent 18%),
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cyan) 62%, transparent), color-mix(in srgb, var(--bg) 80%, transparent));
    box-shadow: inset 0 0 18px color-mix(in srgb, var(--cyan) 12%, transparent), 0 0 24px color-mix(in srgb, var(--cyan) 20%, transparent);
}

.landing-theme-preview b,
.landing-theme-preview small {
    display: block;
}

.landing-theme-preview b {
    font-family: var(--font-display);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.landing-theme-preview small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.landing-theme-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.landing-theme-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 5px;
}

.landing-theme-group .theme-group-label {
    grid-column: 1 / -1;
}

.landing-theme-option {
    padding: 7px 7px;
    font-size: 8px;
    letter-spacing: 0.07em;
    gap: 6px;
}

.landing-theme-option .theme-swatch {
    width: 14px;
    height: 14px;
}

.landing-contact-tab,
.site-contact-tab {
    position: fixed;
    right: 0;
    top: 50%;
    translate: 0 -50%;
    z-index: 10001;
    color: var(--text);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.site-contact-tab {
    z-index: 30;
}

.landing-contact-tab summary,
.site-contact-tab summary {
    writing-mode: vertical-rl;
    list-style: none;
    cursor: pointer;
    border: 1px solid color-mix(in srgb, var(--cyan) 32%, transparent);
    border-right: 0;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 58%),
        color-mix(in srgb, var(--overlay-bg) 72%, transparent);
    backdrop-filter: blur(18px) saturate(1.24);
    padding: 12px 7px;
}

.landing-contact-tab summary::-webkit-details-marker,
.site-contact-tab summary::-webkit-details-marker {
    display: none;
}

.landing-contact-card,
.site-contact-card {
    position: absolute;
    right: 100%;
    top: 0;
    width: 260px;
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 52%),
        color-mix(in srgb, var(--overlay-bg) 82%, transparent);
    backdrop-filter: blur(20px) saturate(1.26);
    padding: 14px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.32), 0 0 24px color-mix(in srgb, var(--cyan) 18%, transparent);
}

.landing-contact-card p,
.site-contact-card p {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.45;
    text-transform: none;
    letter-spacing: 0.02em;
}

.landing-contact-card strong,
.site-contact-card strong,
.landing-contact-card a,
.site-contact-card a {
    color: var(--text);
}

.topbar-contact-menu {
    position: relative !important;
    inset: auto !important;
    translate: none !important;
    top: auto !important;
    right: auto !important;
    z-index: 24;
    font-size: 10px;
}

.topbar-contact-menu summary {
    writing-mode: horizontal-tb !important;
    display: grid;
    place-items: center;
    list-style: none;
    width: 40px;
    height: 40px;
    padding: 0 !important;
    border-right: 1px solid color-mix(in srgb, var(--cyan) 32%, transparent) !important;
    border-radius: 10px;
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 62%),
        linear-gradient(160deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 70%),
        color-mix(in srgb, var(--overlay-bg) 76%, transparent) !important;
    box-shadow:
        inset 0 0 16px color-mix(in srgb, var(--cyan) 8%, transparent),
        0 0 28px color-mix(in srgb, var(--cyan) 10%, transparent);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.topbar-contact-menu summary:hover,
.topbar-contact-menu[open] summary {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--cyan) 48%, transparent) !important;
    box-shadow:
        inset 0 0 18px color-mix(in srgb, var(--cyan) 11%, transparent),
        0 0 34px color-mix(in srgb, var(--cyan) 18%, transparent);
}

.topbar-contact-menu .contact-icon {
    width: 18px;
    height: 18px;
    display: block;
    color: var(--text);
    filter: drop-shadow(0 0 10px color-mix(in srgb, var(--cyan) 22%, transparent));
}

.topbar-contact-menu .site-contact-card,
.topbar-contact-menu .landing-contact-card {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(280px, calc(100vw - 32px));
    border-radius: 14px;
}

@media (max-width: 860px) {
    .landing-theme-groups {
        grid-template-columns: 1fr;
    }

    .landing-theme-group {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .landing-theme-prompt-head {
        align-items: start;
        flex-direction: column;
    }

    .landing-theme-option {
        min-height: 48px;
        padding: 11px 12px;
        font-size: 10px;
    }

    .landing-contact-tab summary,
    .site-contact-tab summary {
        min-height: 52px;
        min-width: 42px;
        padding: 16px 10px;
        font-size: 12px;
    }

    .landing-contact-card,
    .site-contact-card {
        width: min(300px, calc(100vw - 64px));
        padding: 15px;
        font-size: 13px;
    }

    .topbar-utilities {
        margin-left: auto;
    }

    .topbar-contact-menu summary {
        width: 44px;
        height: 44px;
    }

    .topbar-contact-menu .site-contact-card,
    .topbar-contact-menu .landing-contact-card {
        right: 0;
        left: auto;
        width: min(300px, calc(100vw - 24px));
    }
}

/* Deployment polish: keep the globe crisp by using one authoritative 3D border pass.
   SVG country fills remain available for hover, but duplicate SVG strokes are hidden. */
.globe-border-countryHalo,
.globe-border-countryCore,
.globe-border-stateHalo,
.globe-border-stateCore {
    display: none !important;
}

body.theme-continuity-ready .globe-label {
    text-shadow:
        0 0 2px color-mix(in srgb, var(--bg) 86%, #000),
        0 0 8px color-mix(in srgb, var(--globe-label-glow) 34%, transparent) !important;
    filter: none !important;
}

body.theme-continuity-ready :where(.globe-label-country.has-cases, .globe-label-country:hover, .globe-label-country.active) {
    color: var(--globe-label-color) !important;
    text-shadow:
        0 0 2px color-mix(in srgb, var(--bg) 80%, #000),
        0 0 10px color-mix(in srgb, var(--globe-label-glow) 48%, transparent) !important;
}

.table {
    min-width: 1120px;
}

.table th,
.table td {
    vertical-align: top;
}

body.theme-continuity-ready[data-theme-tone="light"] {
    --cursor-core: color-mix(in srgb, var(--text) 86%, #050908 14%) !important;
    --cursor-ring: color-mix(in srgb, var(--text) 72%, var(--accent) 28%) !important;
    --cursor-glow: color-mix(in srgb, var(--text) 26%, transparent) !important;
}

body.theme-continuity-ready[data-theme-tone="light"] :where(.cursor-pointer, .cursor-dot, .cursor-halo, .cursor-trail) {
    mix-blend-mode: normal !important;
}

/* 2026-04-24 visual systems refresh */
:root {
    --surface-sheen: color-mix(in srgb, white 10%, transparent);
    --surface-depth: color-mix(in srgb, black 24%, transparent);
    --surface-noise: color-mix(in srgb, var(--cyan) 7%, transparent);
    --control-glow: color-mix(in srgb, var(--cyan) 24%, transparent);
    --control-hot: color-mix(in srgb, var(--pink) 16%, transparent);
}

body {
    background:
        radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 34%),
        radial-gradient(circle at 82% 14%, color-mix(in srgb, var(--pink) 9%, transparent), transparent 38%),
        linear-gradient(135deg, var(--bg), color-mix(in srgb, var(--bg) 86%, black 14%));
}

body::before {
    opacity: 0.72;
    mix-blend-mode: screen;
}

body::after {
    opacity: 0.38;
}

body[data-theme="polaranomaly"],
body[data-theme="lucentarchive"],
body[data-theme="haloterminal"],
body[data-theme="milkglassmatrix"],
body[data-theme="daybreakvector"],
body[data-theme="aurelianmarble"],
body[data-theme="moonstoneledger"],
body[data-theme="quartzrelay"],
body[data-theme="ivorydatavault"],
body[data-theme="paleaurora"],
body[data-theme="sandstonehalo"],
body[data-theme="opallattice"] {
    --surface-sheen: color-mix(in srgb, white 34%, transparent);
    --surface-depth: color-mix(in srgb, black 10%, transparent);
    --surface-noise: color-mix(in srgb, var(--cyan) 10%, transparent);
    --control-glow: color-mix(in srgb, var(--cyan) 28%, transparent);
    --control-hot: color-mix(in srgb, var(--pink) 18%, transparent);
}

.panel,
.resource-card,
.case-row,
.signal-card,
.webcam-card,
.radio-card,
.radio-summary-card,
.taxonomy-card,
.modal-card,
.theme-picker,
.theme-preview-tooltip,
.flyout-panel,
.globe-context-menu,
.globe-country-tooltip,
.landing-notice-card {
    border-color: color-mix(in srgb, var(--cyan) 20%, var(--line) 80%);
    background:
        linear-gradient(135deg, var(--surface-sheen), transparent 34%),
        radial-gradient(circle at 14% 0%, color-mix(in srgb, var(--cyan) 11%, transparent), transparent 44%),
        radial-gradient(circle at 86% 100%, color-mix(in srgb, var(--pink) 8%, transparent), transparent 42%),
        repeating-linear-gradient(90deg, transparent 0 17px, var(--surface-noise) 18px, transparent 19px),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 92%, transparent), color-mix(in srgb, var(--panel-grad-2) 90%, transparent));
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 14%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 10%, transparent),
        0 16px 38px color-mix(in srgb, black 26%, transparent),
        0 0 30px color-mix(in srgb, var(--cyan) 5%, transparent);
    backdrop-filter: blur(18px) saturate(1.24) contrast(1.04);
}

.panel::before,
.resource-card::before,
.case-row::before,
.signal-card::before,
.webcam-card::before,
.radio-card::before,
.taxonomy-card::before,
.flyout-panel::before {
    background:
        linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 22%, transparent), transparent),
        repeating-linear-gradient(135deg, transparent 0 18px, color-mix(in srgb, white 4%, transparent) 19px, transparent 20px);
    opacity: 0.52;
}

.panel:hover,
.resource-card:hover,
.case-row:hover,
.signal-card:hover,
.webcam-card:hover,
.radio-card:hover,
.taxonomy-card:hover {
    border-color: color-mix(in srgb, var(--cyan) 44%, var(--line) 56%);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 18%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 18%, transparent),
        0 18px 42px color-mix(in srgb, black 28%, transparent),
        0 0 34px color-mix(in srgb, var(--cyan) 11%, transparent);
    transform: translateY(-1px);
}

.button,
.nav-link,
.filter-chip,
.theme-option,
.cursor-option,
.flight-type-chip,
.flight-region-chip,
.tab-button,
.mini-button,
button[data-flyout-toggle],
button[data-orbit-step],
.orbit-home-button {
    position: relative;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--cyan) 24%, var(--line) 76%) !important;
    background:
        linear-gradient(180deg, color-mix(in srgb, white 9%, transparent), transparent 42%),
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 62%, color-mix(in srgb, var(--pink) 8%, transparent)),
        color-mix(in srgb, var(--overlay-bg) 58%, transparent) !important;
    color: color-mix(in srgb, var(--text) 92%, white 8%);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 14%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 14%, transparent),
        0 0 0 1px color-mix(in srgb, black 16%, transparent),
        0 8px 20px color-mix(in srgb, black 15%, transparent);
}

.button::before,
.nav-link::before,
.filter-chip::before,
.theme-option::before,
.cursor-option::before,
.flight-type-chip::before,
.flight-region-chip::before,
.tab-button::before,
.mini-button::before,
button[data-flyout-toggle]::before,
button[data-orbit-step]::before,
.orbit-home-button::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(115deg, transparent 0 22%, color-mix(in srgb, white 18%, transparent) 38%, transparent 54%),
        radial-gradient(circle at 50% 0%, var(--control-glow), transparent 68%);
    transform: translateX(-34%);
    transition: opacity 180ms ease, transform 280ms cubic-bezier(0.2, 0.84, 0.22, 1);
}

.button:hover,
.nav-link:hover,
.filter-chip:hover,
.theme-option:hover,
.cursor-option:hover,
.flight-type-chip:hover,
.flight-region-chip:hover,
.tab-button:hover,
.mini-button:hover,
button[data-flyout-toggle]:hover,
button[data-orbit-step]:hover,
.orbit-home-button:hover,
.filter-chip.active,
.flight-type-chip.active,
.flight-region-chip.active {
    border-color: color-mix(in srgb, var(--cyan) 62%, white 8%) !important;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 22%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 28%, transparent),
        0 0 0 1px color-mix(in srgb, var(--cyan) 18%, transparent),
        0 0 30px var(--control-glow),
        0 12px 28px color-mix(in srgb, black 18%, transparent);
    transform: translateY(-2px);
    filter: saturate(1.22) contrast(1.06) brightness(1.05);
}

.button:hover::before,
.nav-link:hover::before,
.filter-chip:hover::before,
.theme-option:hover::before,
.cursor-option:hover::before,
.flight-type-chip:hover::before,
.flight-region-chip:hover::before,
.tab-button:hover::before,
.mini-button:hover::before,
button[data-flyout-toggle]:hover::before,
button[data-orbit-step]:hover::before,
.orbit-home-button:hover::before,
.filter-chip.active::before,
.flight-type-chip.active::before,
.flight-region-chip.active::before {
    opacity: 1;
    transform: translateX(34%);
}

input,
select,
textarea {
    border-color: color-mix(in srgb, var(--cyan) 20%, var(--line) 80%) !important;
    background:
        linear-gradient(180deg, color-mix(in srgb, white 5%, transparent), transparent 45%),
        color-mix(in srgb, var(--overlay-bg) 74%, transparent) !important;
    color: var(--text) !important;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 8%, transparent),
        inset 0 0 18px color-mix(in srgb, black 14%, transparent);
    transition:
        border-color 180ms ease,
        box-shadow 220ms ease,
        background 220ms ease,
        filter 180ms ease;
}

input:focus,
select:focus,
textarea:focus,
.button:focus-visible,
.nav-link:focus-visible,
.filter-chip:focus-visible,
.theme-option:focus-visible,
.tab-button:focus-visible,
.mini-button:focus-visible,
button[data-flyout-toggle]:focus-visible {
    outline: none;
    border-color: color-mix(in srgb, var(--cyan) 74%, white 8%) !important;
    box-shadow:
        0 0 0 2px color-mix(in srgb, var(--cyan) 26%, transparent),
        0 0 26px color-mix(in srgb, var(--cyan) 20%, transparent),
        inset 0 1px 0 color-mix(in srgb, white 12%, transparent);
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

thead th {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent),
        color-mix(in srgb, var(--overlay-bg) 72%, transparent);
}

tbody tr {
    transition: background 180ms ease, color 180ms ease, transform 160ms ease;
}

tbody tr:hover {
    background: color-mix(in srgb, var(--cyan) 7%, transparent);
}

.flyout-panel {
    animation-duration: 340ms;
    animation-timing-function: cubic-bezier(0.2, 0.84, 0.18, 1);
}

.flyout-panel.is-opening,
.flyout-panel.is-open {
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 16%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 18%, transparent),
        0 24px 72px color-mix(in srgb, black 34%, transparent),
        0 0 42px color-mix(in srgb, var(--cyan) 12%, transparent);
}

.globe-shell {
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--cyan) 18%, transparent),
        inset 0 0 72px color-mix(in srgb, var(--cyan) 7%, transparent),
        0 22px 56px color-mix(in srgb, black 36%, transparent);
}

.globe-overlay,
.case-count-pill,
.orbit-widget,
.globe-context-menu {
    backdrop-filter: blur(16px) saturate(1.24);
}

.craft-pie-wrap,
.shape-bars,
.source-bars,
.flight-list,
#hotspot-list,
#case-stack {
    border-color: color-mix(in srgb, var(--cyan) 15%, var(--line) 85%);
}

.kicker,
.micro-label,
.theme-group-label {
    color: color-mix(in srgb, var(--cyan) 78%, var(--text) 22%);
    text-shadow: 0 0 12px color-mix(in srgb, var(--cyan) 18%, transparent);
}

.stat-value,
.cases-archive-count,
.case-count-pill strong,
.craft-pie-total strong {
    text-shadow:
        0 0 18px color-mix(in srgb, var(--cyan) 20%, transparent),
        0 0 2px color-mix(in srgb, var(--text) 50%, transparent);
}

.theme-picker {
    max-width: min(1160px, calc(100vw - 32px));
    border-color: color-mix(in srgb, var(--cyan) 34%, transparent);
}

.theme-option-grid {
    gap: 7px;
}

.theme-option {
    min-height: 42px;
}

@media (max-width: 720px) {
    .panel,
    .resource-card,
    .case-row,
    .signal-card,
    .webcam-card,
    .radio-card,
    .taxonomy-card,
    .flyout-panel {
        backdrop-filter: blur(14px) saturate(1.16);
    }

    .button,
    .nav-link,
    .filter-chip,
    .flight-type-chip,
    .flight-region-chip,
    .tab-button,
    .mini-button,
    button[data-flyout-toggle] {
        min-height: 44px;
    }
}

.landing-notice {
    padding: 12px;
}

.landing-notice-card {
    width: min(940px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
    overflow: auto;
    padding: clamp(12px, 1.45vw, 17px);
}

.landing-notice-brand {
    margin-bottom: 8px;
}

.landing-notice-logo {
    width: 38px;
    height: 38px;
}

.landing-notice-name {
    font-size: clamp(24px, 3.25vw, 40px);
    letter-spacing: -0.025em;
}

.landing-notice-card p {
    margin-bottom: 7px;
    font-size: clamp(12px, 1.2vw, 14px);
    line-height: 1.38;
}

.landing-notice-legal {
    font-size: 9px;
    line-height: 1.38;
}

.landing-theme-prompt,
.landing-notice-load-panel {
    margin-top: 8px;
    padding: 8px 9px;
}

.landing-theme-prompt-head {
    margin-bottom: 6px;
}

.landing-theme-prompt-head strong {
    font-size: clamp(12px, 1.25vw, 15px);
}

.landing-theme-preview {
    margin-bottom: 6px;
    padding: 6px 7px;
}

.landing-theme-preview-orb {
    width: 28px;
    height: 28px;
}

.landing-theme-groups {
    gap: 6px;
}

.landing-theme-group {
    gap: 4px;
}

.landing-theme-option.theme-option {
    min-height: 30px;
    padding: 5px 7px;
    font-size: 7.5px;
    letter-spacing: 0.06em;
}

.landing-theme-option .theme-swatch {
    width: 12px;
    height: 12px;
}

.landing-notice-progress {
    height: 7px;
    margin: 7px 0 5px;
}

.landing-notice-button {
    min-height: 38px;
    margin-top: 8px;
}

/* Cursor complementary color pass */
:root {
    --cursor-contrast-core: #ffad66;
    --cursor-contrast-ring: #ffe3c4;
    --cursor-contrast-glow: rgba(255, 173, 102, 0.5);
}

body[data-theme="ghostsignal"],
body[data-theme="graviticvoid"],
body[data-theme="spectrallattice"],
body[data-theme="milkglassmatrix"],
body[data-theme="daybreakvector"],
body[data-theme="moonstoneledger"],
body[data-theme="quartzrelay"],
body[data-theme="ivorydatavault"],
body[data-theme="opallattice"] {
    --cursor-contrast-core: #ffad66;
    --cursor-contrast-ring: #ffe3c4;
    --cursor-contrast-glow: rgba(255, 173, 102, 0.5);
}

body[data-theme="deepradar"],
body[data-theme="haloterminal"],
body[data-theme="paleaurora"],
body[data-theme="neonmonastery"] {
    --cursor-contrast-core: #ff71d0;
    --cursor-contrast-ring: #ffd5f2;
    --cursor-contrast-glow: rgba(255, 113, 208, 0.48);
}

body[data-theme="nightwireorchid"],
body[data-theme="sablequantum"] {
    --cursor-contrast-core: #8dff86;
    --cursor-contrast-ring: #e0ffd9;
    --cursor-contrast-glow: rgba(141, 255, 134, 0.48);
}

body[data-theme="blacksiteamber"],
body[data-theme="lucentarchive"],
body[data-theme="aurelianmarble"],
body[data-theme="afterglownoir"],
body[data-theme="umbralreactor"],
body[data-theme="voidcopper"],
body[data-theme="redlinecipher"],
body[data-theme="sandstonehalo"] {
    --cursor-contrast-core: #67dcff;
    --cursor-contrast-ring: #d8f7ff;
    --cursor-contrast-glow: rgba(103, 220, 255, 0.5);
}

body[data-theme="polaranomaly"] {
    --cursor-contrast-core: #39cceb;
    --cursor-contrast-ring: #d8f7ff;
    --cursor-contrast-glow: rgba(57, 204, 235, 0.42);
}

body[data-theme="polaranomaly"],
body[data-theme="lucentarchive"],
body[data-theme="haloterminal"],
body[data-theme="milkglassmatrix"],
body[data-theme="daybreakvector"],
body[data-theme="aurelianmarble"],
body[data-theme="moonstoneledger"],
body[data-theme="quartzrelay"],
body[data-theme="ivorydatavault"],
body[data-theme="paleaurora"],
body[data-theme="sandstonehalo"],
body[data-theme="opallattice"] {
    --cursor-contrast-core: #1d262b;
    --cursor-contrast-ring: #f7fcff;
    --cursor-contrast-glow: rgba(24, 33, 38, 0.3);
}

.cursor-option-preview,
.theme-picker-preview-cursor,
.cursor-pointer,
.cursor-trail,
.cursor-halo,
.cursor-dot {
    filter:
        hue-rotate(0deg)
        saturate(1.14)
        contrast(1.08);
}

.cursor-option-preview,
.theme-picker-preview-cursor,
.cursor-pointer {
    background:
        linear-gradient(35deg, transparent 0 41%, color-mix(in srgb, var(--cursor-contrast-ring) 84%, white 16%) 42% 47%, transparent 48%),
        linear-gradient(61deg, transparent 0 39%, color-mix(in srgb, var(--cursor-contrast-core) 86%, white 14%) 40% 46%, transparent 47%),
        linear-gradient(135deg, rgba(255,255,255,0.94), var(--cursor-contrast-core) 38%, rgba(0,0,0,0.06) 100%) !important;
    border-color: color-mix(in srgb, var(--cursor-contrast-core) 78%, white 12%) !important;
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, white 16%, transparent),
        0 0 16px var(--cursor-contrast-glow),
        0 0 34px color-mix(in srgb, var(--cursor-contrast-glow) 78%, transparent) !important;
}

.cursor-pointer::after,
.theme-picker-preview-cursor::after {
    border-color: color-mix(in srgb, var(--cursor-contrast-ring) 82%, white 18%) !important;
    box-shadow:
        inset 0 0 8px color-mix(in srgb, var(--cursor-contrast-core) 24%, transparent),
        0 0 10px var(--cursor-contrast-glow) !important;
}

.cursor-trail {
    border-color: color-mix(in srgb, var(--cursor-contrast-ring) 64%, transparent) !important;
    background:
        radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--cursor-contrast-glow) 42%, transparent), transparent 48%),
        linear-gradient(34deg, transparent 0 42%, color-mix(in srgb, var(--cursor-contrast-core) 28%, transparent) 43% 48%, transparent 49%) !important;
    box-shadow:
        0 0 12px color-mix(in srgb, var(--cursor-contrast-core) 18%, transparent);
}

.cursor-halo {
    border-color: color-mix(in srgb, var(--cursor-contrast-ring) 72%, transparent) !important;
    background:
        linear-gradient(180deg, color-mix(in srgb, white 10%, transparent), color-mix(in srgb, var(--cursor-contrast-core) 10%, transparent)) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.08),
        0 0 24px var(--cursor-contrast-glow) !important;
}

.cursor-dot {
    background: var(--cursor-contrast-core) !important;
    box-shadow:
        0 0 0 1px color-mix(in srgb, white 18%, transparent),
        0 0 12px var(--cursor-contrast-glow) !important;
}

.cursor-halo.is-active,
.cursor-trail.is-active {
    border-color: var(--cursor-contrast-core) !important;
}

.cursor-pointer.is-fast {
    filter:
        blur(var(--cursor-motion-blur, 0.55px))
        saturate(1.34)
        brightness(1.04)
        drop-shadow(-10px 3px 8px var(--cursor-contrast-glow)) !important;
}

a {
    color: inherit;
    text-decoration: none;
}

button, input, select {
    font: inherit;
    color: inherit;
}

.shell {
    position: relative;
    min-height: 100vh;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 16px;
    min-height: 58px;
    background: var(--topbar-bg);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--line);
    flex-wrap: wrap;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 400px;
    min-width: 0;
}

.brand-mark {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: var(--cyan);
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 58%),
        linear-gradient(145deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent);
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    box-shadow:
        inset 0 0 18px color-mix(in srgb, var(--cyan) 6%, transparent),
        0 0 24px var(--chrome-glow);
}

.brand-mark-logo {
    width: 25px;
    height: 25px;
    display: block;
    filter: drop-shadow(0 0 10px color-mix(in srgb, var(--cyan) 48%, transparent));
}

.eyebrow, .micro-label {
    text-transform: uppercase;
    letter-spacing: 0.28em;
    font-size: 11px;
    color: var(--cyan);
}

.title {
    font-family: var(--font-display);
    font-size: clamp(16px, 1.8vw, 22px);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    line-height: 1.02;
}

.subtitle {
    color: var(--muted);
    font-size: 11px;
    margin-top: 2px;
    line-height: 1.15;
}

.nav {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 320px;
}

.topbar-utilities {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 0 0 auto;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mobile-nav-toggle {
    display: none;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
    color: var(--text);
    border-radius: var(--radius-control);
    padding: 9px 13px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 11px;
    cursor: pointer;
}

.mobile-nav-toggle:hover {
    border-color: var(--line-strong);
    box-shadow: 0 0 18px rgba(121, 214, 255, 0.16);
}

.theme-menu {
    position: relative;
}

.theme-trigger {
    min-width: 118px;
}

.theme-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(360px, 88vw);
    padding: 10px;
    border-radius: var(--radius-xl);
    border: 1px solid var(--line);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 48%),
        color-mix(in srgb, var(--overlay-bg) 82%, transparent);
    box-shadow: 0 26px 60px rgba(0,0,0,0.34), inset 0 1px 0 color-mix(in srgb, white 9%, transparent);
    backdrop-filter: blur(22px) saturate(1.32);
    display: grid;
    gap: 8px;
    z-index: 60;
    max-height: min(68vh, 520px);
    overflow: auto;
    scroll-behavior: smooth;
}

.theme-group {
    display: grid;
    gap: 7px;
}

.theme-group + .theme-group {
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
}

.theme-group-label {
    color: var(--cyan);
    font-family: var(--font-display);
    font-size: 9px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    text-shadow: 0 0 10px color-mix(in srgb, var(--cyan) 28%, transparent);
}

.theme-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border-radius: var(--radius-control);
    border: 1px solid color-mix(in srgb, var(--cyan) 15%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 6%, transparent), transparent 72%),
        color-mix(in srgb, var(--overlay-bg) 32%, transparent);
    color: var(--text);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 10px;
}

.theme-option.active,
.theme-option:hover {
    border-color: var(--line-strong);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 13%, transparent), transparent 72%),
        color-mix(in srgb, var(--overlay-bg) 42%, transparent);
    box-shadow: 0 0 20px color-mix(in srgb, var(--cyan) 14%, transparent);
}

.theme-swatch {
    width: 18px;
    height: 18px;
    border-radius: 2px;
    border: 1px solid rgba(255,255,255,0.25);
    flex: 0 0 auto;
}

.theme-swatch-echelon { background: linear-gradient(135deg, #69cfff, #173356); }
.theme-swatch-chromeslate { background: linear-gradient(135deg, #9fc1ff, #253047); }
.theme-swatch-ghostsignal { background: linear-gradient(135deg, #b2ffda, #12322d); }
.theme-swatch-polaranomaly { background: linear-gradient(135deg, #f6f5ee, #2a3438); }
.theme-swatch-lucentarchive { background: linear-gradient(135deg, #fff3d9, #3f6e7c); }
.theme-swatch-umbralglass { background: linear-gradient(135deg, #80f7ff, #071721); }
.theme-swatch-blacksiteamber { background: linear-gradient(135deg, #ffb25e, #211207); }
.theme-swatch-ultravioletnoir { background: linear-gradient(135deg, #d17cff, #170a27); }
.theme-swatch-biolumecathedral { background: linear-gradient(135deg, #63ffc7, #071f18); }
.theme-swatch-haloterminal { background: linear-gradient(135deg, #f2f8e8, #26332e); }
.theme-swatch-milkglassmatrix { background: linear-gradient(135deg, #f7fbff, #436372); }
.theme-swatch-daybreakvector { background: linear-gradient(135deg, #fff4d7, #375a77); }
.theme-swatch-nightwireorchid { background: linear-gradient(135deg, #ff77f3, #17051f); }
.theme-swatch-eventhorizongold { background: linear-gradient(135deg, #ffd36e, #160d04); }
.theme-swatch-deepradar { background: linear-gradient(135deg, #4ef6a7, #03170e); }

.theme-preview-tooltip {
    position: fixed;
    z-index: 2147483000;
    width: 236px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 12px;
    color: var(--text);
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 54%),
        color-mix(in srgb, var(--overlay-bg) 84%, transparent);
    box-shadow:
        0 18px 48px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 color-mix(in srgb, white 10%, transparent),
        0 0 22px color-mix(in srgb, var(--cyan) 16%, transparent);
    backdrop-filter: blur(18px) saturate(1.28);
    pointer-events: none;
    opacity: 0;
    transform: translate3d(8px, 0, 0) scale(0.98);
    transition: opacity 140ms ease, transform 180ms cubic-bezier(0.2, 0.84, 0.22, 1);
}

.theme-preview-tooltip.show {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

.theme-preview-tooltip .theme-preview-swatch {
    width: 38px;
    height: 38px;
    box-shadow: inset 0 0 18px color-mix(in srgb, white 14%, transparent), 0 0 18px color-mix(in srgb, var(--cyan) 14%, transparent);
}

.theme-preview-tooltip strong,
.theme-preview-tooltip span {
    display: block;
}

.theme-preview-tooltip strong {
    font-family: var(--font-display);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.theme-preview-tooltip span {
    margin-top: 4px;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.nav-link, .button, .filter-chip {
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.015));
    color: var(--text);
    border-radius: var(--radius-control);
    padding: 9px 13px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 11px;
    cursor: pointer;
}

.nav-link,
.button,
.filter-chip,
.theme-option {
    transition:
        transform 180ms cubic-bezier(0.2, 0.84, 0.22, 1),
        border-color 180ms ease,
        box-shadow 220ms ease,
        background-color 220ms ease,
        opacity 160ms ease,
        filter 200ms ease;
}

.nav-link.active,
.nav-link:hover,
.button:hover,
.filter-chip.active,
.filter-chip:hover {
    border-color: var(--line-strong);
    box-shadow:
        0 0 0 1px rgba(121, 214, 255, 0.3),
        0 0 22px rgba(121, 214, 255, 0.22);
}

.nav-link:hover,
.button:hover,
.filter-chip:hover,
.theme-option:hover {
    transform: translateY(-3px) scale(1.025);
    filter: saturate(1.16) contrast(1.08) brightness(1.04);
}

.nav-link:active,
.button:active,
.filter-chip:active,
.theme-option:active {
    transform: translateY(0) scale(0.985);
}

.page {
    padding: 24px 24px 28px;
}

body.dashboard-page {
    overflow: hidden;
}

body.dashboard-page .shell {
    min-height: 100dvh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body.dashboard-page .topbar {
    flex: 0 0 auto;
    position: relative;
    top: auto;
    padding-top: 8px;
    padding-bottom: 8px;
    min-height: 0;
}

body.dashboard-page .page {
    flex: 1 1 auto;
    min-height: 0;
    padding: 10px 12px 12px;
    overflow: hidden;
}

.dashboard-layout {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) minmax(132px, 16vh);
    gap: 10px;
    overflow: hidden;
}

.dashboard-hero {
    grid-template-columns: 1fr;
    margin-bottom: 0;
    gap: 8px;
}

.dashboard-hero .panel-inner {
    padding: 10px 14px;
}

.dashboard-hero .subtitle {
    font-size: 11px;
}

.grid-main {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr) 360px;
    gap: 18px;
    min-height: calc(100vh - 112px);
}

.dashboard-grid {
    grid-template-columns: 192px minmax(0, 1.95fr) 214px;
    min-height: 0;
    height: 100%;
    gap: 12px;
    overflow: hidden;
}

.dashboard-grid > .panel,
.dashboard-grid > aside,
.dashboard-grid > section {
    min-height: 0;
    height: 100%;
}

body.dashboard-page .dashboard-grid .panel-inner.stack,
body.dashboard-page .dashboard-grid .panel-inner {
    min-height: 0;
    padding: 12px 13px;
}

body.dashboard-page #incident-list {
    margin-top: 10px;
}

body.dashboard-page #signal-stream,
body.dashboard-page #hotspot-list {
    overflow: hidden;
    max-height: none !important;
}

.grid-main > * {
    min-width: 0;
}

.panel {
    position: relative;
    background: linear-gradient(180deg, var(--panel-grad-1), var(--panel-grad-2));
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    box-shadow:
        var(--shadow),
        inset 0 1px 0 rgba(255,255,255,0.05),
        0 0 0 1px rgba(121, 214, 255, 0.12),
        0 0 32px rgba(121, 214, 255, 0.14);
    overflow: hidden;
}

.panel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(125deg, var(--panel-sheen-a), transparent 26%, transparent 70%, var(--panel-sheen-b));
    pointer-events: none;
}

.panel-inner {
    position: relative;
    z-index: 1;
    padding: 20px;
}

.stack {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.dashboard-page .stack {
    gap: 11px;
}

.stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.stat-card {
    padding: 16px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--radius-md);
    background: var(--hero-highlight);
}

.stat-value {
    margin-top: 8px;
    font-family: var(--font-display);
    font-size: clamp(24px, 2.4vw, 34px);
}

.globe-shell {
    position: relative;
    min-height: 0;
    height: 100%;
    background:
        radial-gradient(circle at center, var(--globe-accent), transparent 26%),
        radial-gradient(circle at center, #0e1623 0%, var(--globe-deep) 70%, #02050a 100%);
    overflow: hidden;
}

.globe-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at center, transparent 55%, rgba(121,214,255,0.08) 70%, transparent 74%),
        repeating-linear-gradient(to bottom, transparent 0 4px, rgba(255,255,255,0.02) 5px);
    pointer-events: none;
    opacity: 0.28;
}

.globe-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.globe-border-layer {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: visible;
    --globe-border-color: var(--text);
    --globe-border-glow: var(--cyan);
}

.globe-border-path {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.globe-border-countryFillActive {
    fill: var(--globe-border-glow);
    stroke: none;
    opacity: 0.18;
    filter: drop-shadow(0 0 18px var(--globe-border-glow));
}

.globe-border-countryHalo {
    stroke: var(--globe-border-glow);
    stroke-width: 3.2;
    opacity: 0.18;
    filter: drop-shadow(0 0 8px var(--globe-border-glow));
}

.globe-border-countryCore {
    stroke: var(--globe-border-color);
    stroke-width: 0.92;
    opacity: 0.9;
    filter: drop-shadow(0 0 2px #000) drop-shadow(0 0 6px var(--globe-border-glow));
}

.globe-border-layer[data-tier="2"] .globe-border-countryCore {
    stroke-width: 1.24;
    opacity: 0.9;
}

.globe-border-countryActive {
    stroke: var(--globe-border-glow);
    stroke-width: 3;
    opacity: 0.92;
    filter: drop-shadow(0 0 3px #000) drop-shadow(0 0 12px var(--globe-border-glow));
}

.globe-context-menu {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 8;
    width: 246px;
    pointer-events: none;
    opacity: 0;
    color: var(--text);
    border: 1px solid color-mix(in srgb, var(--globe-label-glow) 52%, transparent);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--globe-label-glow) 17%, transparent), transparent 48%),
        rgba(2, 6, 11, 0.94);
    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.5),
        inset 0 0 22px color-mix(in srgb, var(--globe-label-glow) 10%, transparent),
        0 0 22px color-mix(in srgb, var(--globe-label-glow) 24%, transparent);
    backdrop-filter: blur(18px) saturate(1.22);
    padding: 12px;
    transform: translate3d(-9999px, -9999px, 0);
    transition: opacity 130ms ease, filter 160ms ease;
}

.globe-context-menu.show {
    pointer-events: auto;
    opacity: 1;
}

.globe-context-menu strong {
    display: block;
    margin-top: 5px;
    font-family: var(--font-display);
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.globe-context-menu p {
    margin: 6px 0 9px;
    color: var(--muted);
    font-family: var(--font-mono);
    font-size: 11px;
}

.globe-context-menu button {
    width: 100%;
    margin-top: 6px;
    border: 1px solid color-mix(in srgb, var(--globe-label-glow) 28%, transparent);
    background: rgba(255, 255, 255, 0.035);
    color: var(--text);
    padding: 9px 10px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 10px;
    cursor: pointer;
    transition: transform 160ms cubic-bezier(0.2, 0.84, 0.22, 1), border-color 160ms ease, box-shadow 180ms ease, background 180ms ease;
}

.globe-context-menu button:hover {
    transform: translateX(4px);
    border-color: var(--globe-label-glow);
    background: color-mix(in srgb, var(--globe-label-glow) 14%, transparent);
    box-shadow: 0 0 18px color-mix(in srgb, var(--globe-label-glow) 18%, transparent);
}

.correlation-toggle-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 720px) {
    .correlation-toggle-grid {
        gap: 6px;
    }

    .correlation-toggle-grid .filter-chip {
        font-size: 10px;
        padding: 10px 12px;
    }
}

.globe-border-stateHalo {
    stroke: var(--globe-border-glow);
    stroke-width: 3.2;
    opacity: 0.28;
    filter: drop-shadow(0 0 9px var(--globe-border-glow));
}

.globe-border-stateCore {
    stroke: color-mix(in srgb, var(--globe-border-color) 96%, white 4%);
    stroke-width: 0.96;
    opacity: 0.88;
    stroke-dasharray: none;
    filter: drop-shadow(0 0 2px #000) drop-shadow(0 0 6px var(--globe-border-glow));
}

.globe-border-layer[data-tier="1"] .globe-border-stateCore {
    stroke-width: 1.08;
    opacity: 0.82;
}

.globe-border-layer[data-tier="1"] .globe-border-stateHalo {
    opacity: 0.22;
}

.globe-border-layer[data-tier="2"] .globe-border-stateCore {
    stroke-width: 1.28;
    opacity: 0.96;
}

.globe-label-layer {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
    --globe-label-color: var(--text);
    --globe-label-glow: var(--cyan);
}

.globe-label {
    position: absolute;
    left: 0;
    top: 0;
    color: var(--globe-label-color);
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    opacity: 0;
    transform-origin: center;
    transition: opacity 140ms ease;
    text-shadow:
        0 0 2px #000,
        0 0 4px #000,
        0 0 8px var(--globe-label-glow),
        0 0 18px color-mix(in srgb, var(--globe-label-glow) 58%, transparent);
    filter: drop-shadow(0 0 1px #000);
    will-change: transform, opacity;
}

.globe-label-ocean {
    font-size: 16px;
    letter-spacing: 0.26em;
    color: color-mix(in srgb, var(--globe-label-color) 82%, transparent);
}

.globe-label-country {
    font-size: 12px;
    pointer-events: auto;
    cursor: crosshair;
    padding: 4px 6px;
    border: 1px solid transparent;
}

.globe-label-country.has-cases {
    color: #fff;
    text-shadow:
        0 0 2px #000,
        0 0 6px var(--globe-label-glow),
        0 0 16px color-mix(in srgb, var(--globe-label-glow) 70%, transparent);
}

.globe-label-country:hover,
.globe-label-country.active {
    z-index: 3;
    border-color: color-mix(in srgb, var(--globe-label-glow) 58%, transparent);
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--globe-label-glow) 16%, transparent), transparent);
    color: #fff;
    text-shadow:
        0 0 2px #000,
        0 0 9px var(--globe-label-glow),
        0 0 22px var(--globe-label-glow);
}

.globe-label-state,
.globe-label-territory {
    font-size: 10px;
    letter-spacing: 0.11em;
}

.globe-label-capital {
    font-size: 9px;
    letter-spacing: 0.12em;
}

.globe-label-capital::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-right: 5px;
    vertical-align: 2px;
    background: var(--globe-label-glow);
    box-shadow: 0 0 8px var(--globe-label-glow);
}

.globe-label[data-tier="2"] {
    letter-spacing: 0.1em;
}

.globe-country-tooltip {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 5;
    width: 216px;
    pointer-events: none;
    opacity: 0;
    color: var(--text);
    border: 1px solid color-mix(in srgb, var(--globe-label-glow) 46%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--globe-label-glow) 15%, transparent), transparent 44%),
        rgba(2, 7, 12, 0.9);
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.42),
        inset 0 0 24px color-mix(in srgb, var(--globe-label-glow) 12%, transparent),
        0 0 18px color-mix(in srgb, var(--globe-label-glow) 22%, transparent);
    backdrop-filter: blur(16px);
    padding: 11px 12px;
    transform: translate3d(-9999px, -9999px, 0);
    transition: opacity 120ms ease, filter 160ms ease;
}

.globe-country-tooltip.show {
    opacity: 1;
    animation: tooltipSignalIn 220ms cubic-bezier(0.2, 0.84, 0.22, 1) both;
}

.globe-country-tooltip strong {
    display: block;
    margin-top: 5px;
    font-family: var(--font-display);
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.globe-country-tooltip p {
    margin: 6px 0 9px;
    color: var(--muted);
    font-size: 11px;
}

.globe-country-tooltip-types {
    display: grid;
    gap: 5px;
}

.globe-country-tooltip-types div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid color-mix(in srgb, var(--globe-label-glow) 22%, transparent);
    padding-top: 5px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.globe-country-tooltip-types b {
    color: var(--globe-label-glow);
    font-family: var(--font-mono);
}

.globe-overlay {
    position: absolute;
    z-index: 3;
    background: var(--overlay-bg);
    border: 1px solid rgba(121, 214, 255, 0.18);
    border-radius: 18px;
    backdrop-filter: blur(14px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.32);
}

.globe-overlay.block {
    padding: 14px 16px;
}

body.dashboard-page .globe-overlay.block {
    padding: 9px 11px;
}

.globe-overlay.top-left { top: 18px; left: 18px; }
.globe-overlay.top-right { top: 18px; right: 18px; }
.globe-overlay.bottom-left { bottom: 18px; left: 18px; }
.globe-overlay.bottom-right { bottom: 18px; right: 18px; }
.globe-overlay.bottom-center { bottom: 18px; left: 50%; transform: translateX(-50%); }

body.dashboard-page .globe-overlay.top-left,
body.dashboard-page .globe-overlay.top-right,
body.dashboard-page .globe-overlay.bottom-left,
body.dashboard-page .globe-overlay.bottom-center {
    top: 12px;
    left: 12px;
    right: auto;
    bottom: auto;
}

body.dashboard-page .globe-overlay.top-right {
    left: auto;
    right: 12px;
    max-width: 260px;
}

body.dashboard-page .globe-overlay.bottom-left {
    top: auto;
    bottom: 12px;
}

body.dashboard-page .globe-overlay.bottom-center {
    top: auto;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    max-width: min(72%, 560px);
}

.globe-map-loader {
    position: absolute;
    inset: 0;
    z-index: 9;
    display: none;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at center, rgba(4, 10, 18, 0.2), rgba(3, 7, 12, 0.62));
    backdrop-filter: blur(4px);
}

.globe-map-loader.show {
    display: flex;
}

.globe-map-loader-card {
    width: min(360px, calc(100% - 26px));
    border: 1px solid var(--line);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(8, 14, 24, 0.96), rgba(4, 8, 14, 0.95));
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.44);
    padding: 13px 14px 12px;
    color: var(--text);
}

.globe-map-loader-title {
    margin-top: 7px;
    font-family: var(--font-display);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

.globe-map-loader-track {
    margin-top: 10px;
    height: 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.globe-map-loader-fill {
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, color-mix(in srgb, var(--cyan) 68%, #7d9193), color-mix(in srgb, var(--teal) 28%, var(--cyan)));
    transition: width 160ms ease;
}

.globe-map-loader-meta {
    margin-top: 8px;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.control-cluster {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.control-cluster .button {
    min-width: 148px;
}

body.dashboard-page .control-cluster .button {
    min-width: 116px;
    padding: 9px 12px;
}

.orbit-widget-shell {
    padding: 10px !important;
}

.orbit-widget {
    position: relative;
    width: 122px;
    height: 122px;
}

.orbit-widget::before {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 62%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 76%, transparent), color-mix(in srgb, var(--panel-grad-2) 82%, transparent));
    box-shadow:
        inset 0 0 24px color-mix(in srgb, var(--cyan) 6%, transparent),
        0 0 30px color-mix(in srgb, var(--cyan) 8%, transparent);
}

.orbit-widget::after {
    content: "";
    position: absolute;
    inset: 24px;
    border-radius: 50%;
    border: 1px dashed color-mix(in srgb, var(--cyan) 18%, transparent);
    opacity: 0.75;
}

.orbit-button,
.orbit-home-button {
    position: absolute;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--cyan) 28%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 72%),
        color-mix(in srgb, var(--overlay-bg) 84%, transparent);
    color: var(--text);
    box-shadow:
        inset 0 0 14px color-mix(in srgb, var(--cyan) 7%, transparent),
        0 0 22px color-mix(in srgb, var(--cyan) 9%, transparent);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.orbit-button {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    font-size: 12px;
    line-height: 1;
}

.orbit-home-button {
    top: 50%;
    left: 50%;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.orbit-home-button svg {
    width: 22px;
    height: 22px;
    display: block;
}

.orbit-button:hover,
.orbit-home-button:hover {
    border-color: color-mix(in srgb, var(--cyan) 46%, transparent);
    box-shadow:
        inset 0 0 18px color-mix(in srgb, var(--cyan) 10%, transparent),
        0 0 28px color-mix(in srgb, var(--cyan) 16%, transparent);
}

.orbit-home-button:hover {
    transform: translate(-50%, -50%) scale(1.04);
}

.orbit-home-button:active {
    transform: translate(-50%, -50%) scale(0.97);
}

.orbit-button-up {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.orbit-button-right {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.orbit-button-down {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.orbit-button-left {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.orbit-button-up:hover {
    transform: translateX(-50%) scale(1.04);
}

.orbit-button-up:active {
    transform: translateX(-50%) scale(0.97);
}

.orbit-button-right:hover {
    transform: translateY(-50%) scale(1.04);
}

.orbit-button-right:active {
    transform: translateY(-50%) scale(0.97);
}

.orbit-button-down:hover {
    transform: translateX(-50%) scale(1.04);
}

.orbit-button-down:active {
    transform: translateX(-50%) scale(0.97);
}

.orbit-button-left:hover {
    transform: translateY(-50%) scale(1.04);
}

.orbit-button-left:active {
    transform: translateY(-50%) scale(0.97);
}

.scroll {
    overflow: auto;
}

.scroll::-webkit-scrollbar {
    width: 9px;
}

.scroll::-webkit-scrollbar-thumb {
    background: rgba(121, 214, 255, 0.24);
    border-radius: 999px;
}

.list-card,
.signal-card,
.resource-card,
.case-row {
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.03);
    border-radius: var(--radius-md);
    color: var(--text);
}

.list-card:hover,
.signal-card:hover,
.resource-card:hover,
.case-row:hover {
    border-color: rgba(121,214,255,0.24);
}

.list-card {
    padding: 14px;
    cursor: pointer;
}

.dashboard-incident-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    min-height: 0;
    overflow: hidden;
}

.dashboard-console {
    min-height: 0;
}

.dashboard-console-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 16px 18px;
}

body.dashboard-page .dashboard-console .list-card {
    min-height: 0;
    padding: 10px 11px;
}

body.dashboard-page .dashboard-console .list-card p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.dashboard-page .dashboard-console .subtitle,
body.dashboard-page .globe-overlay .subtitle,
body.dashboard-page .kicker,
body.dashboard-page .micro-label {
    font-size: 10px;
}

body.dashboard-page .resource-card,
body.dashboard-page .signal-card {
    padding: 10px 11px;
}

body.dashboard-page .stat-card {
    padding: 10px 12px;
}

body.dashboard-page .stat-value {
    margin-top: 4px;
    font-size: clamp(22px, 2vw, 28px);
}

body.dashboard-page .filter-chip,
body.dashboard-page .button,
body.dashboard-page .nav-link,
body.dashboard-page .theme-picker {
    padding: 8px 11px;
    font-size: 10px;
}

body.dashboard-page #search-box {
    padding: 10px 12px !important;
    margin-top: 8px !important;
    font-size: 12px;
}

body.dashboard-page .date-field input[type="date"] {
    padding: 8px 9px;
    font-size: 11px;
}

body.dashboard-page .date-presets .filter-chip {
    padding: 6px 9px;
}

body.dashboard-page .resource-card canvas {
    max-height: 118px;
}

body.dashboard-page #flyout-analytics .craft-pie-wrap canvas,
body.dashboard-page #shape-chart {
    max-height: none;
}

.row-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.tag-row,
.chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag {
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.08);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 10px;
}

.tag.official { color: var(--cyan); background: rgba(121,214,255,0.08); }
.tag.mufon { color: var(--teal); background: rgba(121,255,214,0.08); }
.tag.news { color: var(--amber); background: rgba(247,196,109,0.08); }
.tag.social { color: var(--pink); background: rgba(255,142,199,0.08); }
.tag.archive { color: var(--blue); background: rgba(103,163,255,0.08); }
.tag.claim { color: var(--orange); background: rgba(255,159,122,0.08); }

.kicker {
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 11px;
}

.large-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 18px;
}

.cases-table-section {
    display: block;
}

body.dashboard-page .large-grid {
    gap: 10px;
}

.table {
    width: 100%;
    border-collapse: collapse;
}

.table th,
.table td {
    padding: 12px 10px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    text-align: left;
    vertical-align: top;
}

.table th {
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 11px;
}

.hero-banner {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 16px;
    margin-bottom: 18px;
}

.resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.resource-card,
.signal-card {
    padding: 18px;
}

.resource-card,
.signal-card,
.list-card {
    display: block;
}

.muted {
    color: var(--muted);
}

.tiny {
    font-size: 12px;
}

.icon-badge {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.08);
}

.filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cases-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    align-items: end;
}

.cases-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cases-field-wide {
    grid-column: span 2;
}

.cases-field input,
.cases-field select {
    width: 100%;
    padding: 8px 9px;
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.03);
    color: var(--text);
}

.cases-field input::placeholder {
    color: var(--muted);
}

.cases-field select,
.gerb2-search-row select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    color-scheme: dark;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--cyan) 50%),
        linear-gradient(135deg, var(--cyan) 50%, transparent 50%),
        linear-gradient(180deg, rgba(9, 15, 24, 0.96), rgba(5, 9, 16, 0.96));
    background-position:
        calc(100% - 14px) calc(50% - 1px),
        calc(100% - 9px) calc(50% - 1px),
        0 0;
    background-size: 5px 5px, 5px 5px, 100% 100%;
    background-repeat: no-repeat;
    padding-right: 30px;
    border-color: rgba(121, 214, 255, 0.26);
    box-shadow: inset 0 0 0 1px rgba(121, 214, 255, 0.08);
}

.cases-field select:hover,
.gerb2-search-row select:hover {
    border-color: var(--line-strong);
    box-shadow:
        inset 0 0 0 1px rgba(121, 214, 255, 0.14),
        0 0 14px rgba(121, 214, 255, 0.12);
}

.cases-field select:focus-visible,
.gerb2-search-row select:focus-visible {
    outline: none;
    border-color: var(--line-strong);
    box-shadow:
        inset 0 0 0 1px rgba(121, 214, 255, 0.2),
        0 0 0 1px rgba(121, 214, 255, 0.26),
        0 0 18px rgba(121, 214, 255, 0.2);
}

.cases-field select option,
.cases-field select optgroup,
.gerb2-search-row select option,
.gerb2-search-row select optgroup {
    background-color: #07111b;
    color: #eaf6ff;
}

.cases-field select option:checked,
.gerb2-search-row select option:checked {
    background-color: #0f2a46;
    color: #ffffff;
}

.cases-actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
}

body.cases-page .cases-actions .button {
    width: 100%;
}

body.cases-page .cases-query-panel .panel-inner {
    padding-top: 11px;
    padding-bottom: 11px;
}

body.cases-page .cases-query-panel .stack {
    gap: 9px;
}

body.cases-page .cases-query-panel .row-head {
    align-items: end;
    gap: 8px;
}

body.cases-page .cases-query-panel .subtitle {
    margin-top: 2px;
    font-size: 10px;
}

body.cases-page .cases-query-panel .tag {
    padding: 3px 7px;
    font-size: 9px;
}

body.cases-page .cases-query-panel .cases-field .kicker {
    font-size: 10px;
}

body.cases-page .cases-query-panel .cases-actions .button {
    padding: 8px 10px;
}

.cases-archive-strip {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: end;
    gap: 12px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.cases-archive-count {
    margin-top: 2px;
    line-height: 1;
    font-family: var(--font-display);
    font-size: clamp(22px, 1.8vw, 30px);
}

body.cases-page .cases-archive-strip .subtitle {
    margin: 0;
    font-size: 11px;
}

.cases-load-panel[hidden] {
    display: none;
}

.cases-load-panel .panel-inner {
    padding-top: 9px;
    padding-bottom: 9px;
}

.cases-load-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
}

.cases-load-track {
    position: relative;
    height: 8px;
    margin-top: 8px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        repeating-linear-gradient(90deg, transparent 0 16px, color-mix(in srgb, var(--cyan) 12%, transparent) 16px 17px),
        color-mix(in srgb, var(--bg-2) 72%, transparent);
    box-shadow:
        inset 0 0 16px color-mix(in srgb, var(--cyan) 8%, transparent),
        0 0 16px color-mix(in srgb, var(--cyan) 9%, transparent);
}

.cases-load-fill {
    width: 6%;
    height: 100%;
    background:
        linear-gradient(90deg, var(--cyan), color-mix(in srgb, var(--amber) 54%, var(--cyan)));
    box-shadow:
        0 0 18px color-mix(in srgb, var(--cyan) 48%, transparent),
        0 0 34px color-mix(in srgb, var(--amber) 18%, transparent);
    transition: width 260ms cubic-bezier(0.2, 0.82, 0.2, 1);
}

.cases-load-panel.is-complete .cases-load-fill {
    background: linear-gradient(90deg, var(--emerald), var(--cyan));
}

.range-stack,
.date-widget {
    display: grid;
    gap: 6px;
    margin-top: 10px;
}

.range-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.range-stack input[type="range"] {
    width: 100%;
    margin: 0;
}

.date-field {
    display: grid;
    gap: 4px;
}

.date-field input[type="date"] {
    width: 100%;
    padding: 9px 10px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.03);
    color: var(--text);
}

.date-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(3, 7, 12, 0.7);
    backdrop-filter: blur(12px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 50;
}

.modal-backdrop.show {
    display: flex;
}

.modal-card {
    width: min(960px, 100%);
    max-height: 90vh;
    overflow: auto;
    border-radius: 28px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(10,15,24,.98), rgba(5,8,14,.96));
    box-shadow: 0 34px 90px rgba(0,0,0,.48);
    padding: 24px;
}

.media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.media-card {
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,0.03);
    padding: 14px;
}

.media-frame {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-top: 10px;
    border: 0;
    border-radius: 14px;
    background: rgba(0,0,0,0.3);
}

.media-image {
    object-fit: cover;
}

.evidence-link-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.evidence-link-card {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 42%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--panel) 74%, transparent), color-mix(in srgb, var(--accent) 11%, transparent)),
        var(--glass-grain);
    color: var(--text);
    text-decoration: none;
    box-shadow: inset 0 0 18px color-mix(in srgb, var(--accent) 10%, transparent);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.evidence-link-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--accent) 78%, white 8%);
    box-shadow: 0 14px 38px color-mix(in srgb, var(--accent) 22%, transparent);
}

.evidence-link-card span,
.evidence-link-card em {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.evidence-link-card b {
    color: var(--text-strong);
    font-size: 13px;
}

.evidence-link-card em {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: 0;
}

.resource-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.theme-picker {
    min-width: 190px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.015));
    color: var(--text);
    border-radius: var(--radius-control);
    padding: 11px 16px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 11px;
}

body[data-theme="echelon"] {
    --font-body: "Inter", "Segoe UI", sans-serif;
    --font-display: "Orbitron", "Rajdhani", sans-serif;
    --cursor-core: #79d6ff;
    --cursor-ring: #bfefff;
    --cursor-glow: rgba(121, 214, 255, 0.34);
}

body[data-theme="iondrift"] {
    --font-body: "Sora", "Inter", sans-serif;
    --font-display: "Orbitron", "Rajdhani", sans-serif;
    --shell-accent-1: rgba(83, 215, 255, 0.14);
    --shell-accent-2: rgba(137, 192, 255, 0.08);
    --chrome-glow: rgba(83, 215, 255, 0.18);
    --cyan: #53d7ff;
    --teal: #8af5ff;
    --line: rgba(83, 215, 255, 0.18);
    --line-strong: rgba(152, 233, 255, 0.46);
    --muted: #8ea6bf;
    --topbar-bg: rgba(6, 12, 21, 0.9);
    --panel-grad-1: rgba(9, 18, 32, 0.96);
    --panel-grad-2: rgba(6, 12, 23, 0.93);
    --panel-sheen-a: rgba(83, 215, 255, 0.1);
    --panel-sheen-b: rgba(138, 245, 255, 0.03);
    --globe-accent: rgba(35, 108, 153, 0.24);
    --globe-deep: #06111b;
    --overlay-bg: rgba(8, 14, 24, 0.84);
}

body[data-theme="chromeslate"] {
    --font-body: "IBM Plex Sans", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(163, 186, 255, 0.12);
    --shell-accent-2: rgba(121, 214, 255, 0.06);
    --chrome-glow: rgba(183, 205, 255, 0.16);
    --cyan: #9fc1ff;
    --blue: #c6d6ff;
    --line: rgba(159, 193, 255, 0.18);
    --line-strong: rgba(213, 225, 255, 0.44);
    --muted: #9faac2;
    --topbar-bg: rgba(10, 14, 22, 0.91);
    --panel-grad-1: rgba(13, 19, 30, 0.96);
    --panel-grad-2: rgba(8, 12, 21, 0.93);
    --panel-sheen-a: rgba(159, 193, 255, 0.08);
    --panel-sheen-b: rgba(210, 227, 255, 0.02);
    --globe-accent: rgba(67, 92, 145, 0.21);
    --globe-deep: #080d16;
    --overlay-bg: rgba(10, 14, 22, 0.86);
    --cursor-core: #afcaff;
    --cursor-ring: #dce5ff;
    --cursor-glow: rgba(159, 193, 255, 0.34);
}

body[data-theme="emberveil"] {
    --font-body: "Exo 2", "Inter", sans-serif;
    --font-display: "Rajdhani", "Michroma", sans-serif;
    --shell-accent-1: rgba(255, 139, 103, 0.14);
    --shell-accent-2: rgba(255, 202, 140, 0.07);
    --chrome-glow: rgba(255, 139, 103, 0.2);
    --cyan: #ff9f7a;
    --amber: #ffd095;
    --line: rgba(255, 154, 119, 0.2);
    --line-strong: rgba(255, 208, 164, 0.44);
    --muted: #b89a90;
    --topbar-bg: rgba(21, 11, 9, 0.9);
    --panel-grad-1: rgba(30, 15, 13, 0.96);
    --panel-grad-2: rgba(14, 9, 8, 0.93);
    --panel-sheen-a: rgba(255, 139, 103, 0.1);
    --panel-sheen-b: rgba(255, 205, 142, 0.04);
    --globe-accent: rgba(146, 71, 46, 0.24);
    --globe-deep: #120806;
    --overlay-bg: rgba(20, 11, 9, 0.86);
}

body[data-theme="ghostsignal"] {
    --font-body: "Space Grotesk", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(178, 255, 218, 0.12);
    --shell-accent-2: rgba(83, 215, 255, 0.05);
    --chrome-glow: rgba(178, 255, 218, 0.18);
    --cyan: #a8ffd8;
    --teal: #d0fff0;
    --line: rgba(178, 255, 218, 0.17);
    --line-strong: rgba(212, 255, 239, 0.4);
    --muted: #96b5a9;
    --topbar-bg: rgba(7, 13, 12, 0.9);
    --panel-grad-1: rgba(10, 19, 18, 0.96);
    --panel-grad-2: rgba(6, 11, 11, 0.93);
    --panel-sheen-a: rgba(178, 255, 218, 0.08);
    --panel-sheen-b: rgba(83, 215, 255, 0.03);
    --globe-accent: rgba(52, 116, 103, 0.24);
    --globe-deep: #050b0a;
    --overlay-bg: rgba(8, 13, 12, 0.86);
    --cursor-core: #a8ffd8;
    --cursor-ring: #dbfff0;
    --cursor-glow: rgba(178, 255, 218, 0.34);
}

body[data-theme="obsidianpulse"] {
    --font-body: "IBM Plex Sans", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(96, 224, 255, 0.12);
    --shell-accent-2: rgba(81, 124, 255, 0.06);
    --chrome-glow: rgba(96, 224, 255, 0.16);
    --cyan: #60e0ff;
    --teal: #9cf6ff;
    --line: rgba(96, 224, 255, 0.18);
    --line-strong: rgba(171, 240, 255, 0.44);
    --muted: #8ca7bb;
    --topbar-bg: rgba(7, 12, 19, 0.91);
    --panel-grad-1: rgba(10, 17, 27, 0.96);
    --panel-grad-2: rgba(5, 10, 17, 0.93);
    --panel-sheen-a: rgba(96, 224, 255, 0.08);
    --panel-sheen-b: rgba(116, 145, 255, 0.03);
    --globe-accent: rgba(24, 90, 130, 0.23);
    --globe-deep: #050b13;
    --overlay-bg: rgba(8, 13, 21, 0.86);
    --cursor-core: #7ce8ff;
    --cursor-ring: #bbf7ff;
    --cursor-glow: rgba(96, 224, 255, 0.34);
}

body[data-theme="neonvector"] {
    --font-body: "Sora", "Inter", sans-serif;
    --font-display: "Orbitron", "Rajdhani", sans-serif;
    --shell-accent-1: rgba(62, 244, 255, 0.13);
    --shell-accent-2: rgba(121, 214, 255, 0.07);
    --chrome-glow: rgba(62, 244, 255, 0.18);
    --cyan: #3ef4ff;
    --teal: #7afffb;
    --line: rgba(62, 244, 255, 0.2);
    --line-strong: rgba(148, 252, 255, 0.46);
    --muted: #88adbb;
    --topbar-bg: rgba(5, 14, 21, 0.9);
    --panel-grad-1: rgba(8, 20, 31, 0.96);
    --panel-grad-2: rgba(5, 11, 19, 0.93);
    --panel-sheen-a: rgba(62, 244, 255, 0.1);
    --panel-sheen-b: rgba(126, 236, 255, 0.03);
    --globe-accent: rgba(22, 108, 124, 0.24);
    --globe-deep: #041018;
    --overlay-bg: rgba(7, 14, 22, 0.86);
    --cursor-core: #3ef4ff;
    --cursor-ring: #89fdff;
    --cursor-glow: rgba(62, 244, 255, 0.36);
}

body[data-theme="crimsonops"] {
    --font-body: "Exo 2", "Inter", sans-serif;
    --font-display: "Rajdhani", "Michroma", sans-serif;
    --shell-accent-1: rgba(255, 95, 141, 0.14);
    --shell-accent-2: rgba(255, 136, 84, 0.06);
    --chrome-glow: rgba(255, 95, 141, 0.18);
    --cyan: #ff5f8d;
    --red: #ff6d73;
    --line: rgba(255, 95, 141, 0.2);
    --line-strong: rgba(255, 163, 186, 0.48);
    --muted: #b89aa7;
    --topbar-bg: rgba(19, 8, 12, 0.91);
    --panel-grad-1: rgba(31, 12, 20, 0.96);
    --panel-grad-2: rgba(13, 8, 12, 0.93);
    --panel-sheen-a: rgba(255, 95, 141, 0.09);
    --panel-sheen-b: rgba(255, 161, 116, 0.03);
    --globe-accent: rgba(133, 37, 75, 0.24);
    --globe-deep: #12070d;
    --overlay-bg: rgba(18, 8, 12, 0.86);
    --cursor-core: #ff6f98;
    --cursor-ring: #ffb3c8;
    --cursor-glow: rgba(255, 95, 141, 0.34);
}

body[data-theme="quantumveil"] {
    --font-body: "Space Grotesk", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(168, 185, 255, 0.14);
    --shell-accent-2: rgba(102, 230, 255, 0.06);
    --chrome-glow: rgba(168, 185, 255, 0.18);
    --cyan: #a8b9ff;
    --blue: #d4deff;
    --line: rgba(168, 185, 255, 0.2);
    --line-strong: rgba(219, 229, 255, 0.47);
    --muted: #9ca7c7;
    --topbar-bg: rgba(10, 11, 23, 0.91);
    --panel-grad-1: rgba(16, 17, 36, 0.96);
    --panel-grad-2: rgba(8, 8, 21, 0.93);
    --panel-sheen-a: rgba(168, 185, 255, 0.09);
    --panel-sheen-b: rgba(102, 230, 255, 0.03);
    --globe-accent: rgba(79, 88, 163, 0.24);
    --globe-deep: #070913;
    --overlay-bg: rgba(10, 11, 23, 0.87);
    --cursor-core: #b6c5ff;
    --cursor-ring: #e1e7ff;
    --cursor-glow: rgba(168, 185, 255, 0.36);
}

body[data-theme="heliosburn"] {
    --font-body: "Rajdhani", "Exo 2", sans-serif;
    --font-display: "Michroma", "Rajdhani", sans-serif;
    --shell-accent-1: rgba(255, 177, 95, 0.14);
    --shell-accent-2: rgba(255, 124, 141, 0.06);
    --chrome-glow: rgba(255, 177, 95, 0.18);
    --cyan: #ffb15f;
    --amber: #ffd39d;
    --line: rgba(255, 177, 95, 0.2);
    --line-strong: rgba(255, 220, 170, 0.46);
    --muted: #b8a081;
    --topbar-bg: rgba(20, 13, 8, 0.9);
    --panel-grad-1: rgba(29, 19, 11, 0.96);
    --panel-grad-2: rgba(12, 9, 7, 0.93);
    --panel-sheen-a: rgba(255, 177, 95, 0.1);
    --panel-sheen-b: rgba(255, 124, 141, 0.03);
    --globe-accent: rgba(158, 109, 41, 0.24);
    --globe-deep: #110a06;
    --overlay-bg: rgba(18, 12, 8, 0.86);
}

body[data-theme="datavault"] {
    --font-body: "IBM Plex Sans", "Inter", sans-serif;
    --font-display: "Orbitron", "Michroma", sans-serif;
    --shell-accent-1: rgba(123, 226, 255, 0.14);
    --shell-accent-2: rgba(164, 214, 255, 0.07);
    --chrome-glow: rgba(123, 226, 255, 0.17);
    --cyan: #7be2ff;
    --blue: #9fbfff;
    --line: rgba(123, 226, 255, 0.2);
    --line-strong: rgba(184, 241, 255, 0.45);
    --muted: #8ea6b7;
    --topbar-bg: rgba(7, 12, 17, 0.91);
    --panel-grad-1: rgba(11, 17, 25, 0.96);
    --panel-grad-2: rgba(6, 10, 17, 0.93);
    --panel-sheen-a: rgba(123, 226, 255, 0.09);
    --panel-sheen-b: rgba(159, 191, 255, 0.03);
    --globe-accent: rgba(37, 109, 140, 0.23);
    --globe-deep: #050a12;
    --overlay-bg: rgba(8, 13, 19, 0.86);
}

body[data-theme="quantumfrost"] {
    --font-body: "Sora", "Inter", sans-serif;
    --font-display: "Orbitron", "Sora", sans-serif;
    --shell-accent-1: rgba(194, 210, 255, 0.14);
    --shell-accent-2: rgba(123, 226, 255, 0.06);
    --chrome-glow: rgba(194, 210, 255, 0.17);
    --cyan: #c2d2ff;
    --blue: #d4e0ff;
    --line: rgba(194, 210, 255, 0.2);
    --line-strong: rgba(225, 234, 255, 0.46);
    --muted: #a8afc4;
    --topbar-bg: rgba(10, 11, 20, 0.91);
    --panel-grad-1: rgba(15, 17, 31, 0.96);
    --panel-grad-2: rgba(8, 9, 19, 0.93);
    --panel-sheen-a: rgba(194, 210, 255, 0.08);
    --panel-sheen-b: rgba(123, 226, 255, 0.03);
    --globe-accent: rgba(86, 98, 166, 0.24);
    --globe-deep: #060812;
    --overlay-bg: rgba(10, 11, 20, 0.86);
}

body[data-theme="polaranomaly"] {
    color-scheme: light;
    --bg: #ecece4;
    --bg-2: #dadbd2;
    --font-body: "IBM Plex Sans", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(27, 37, 40, 0.08);
    --shell-accent-2: rgba(118, 137, 137, 0.12);
    --chrome-glow: rgba(40, 50, 52, 0.18);
    --text: #1c2325;
    --muted: #4f5e60;
    --cyan: #1e3136;
    --teal: #536869;
    --amber: #616047;
    --pink: #324347;
    --line: rgba(31, 43, 46, 0.22);
    --line-strong: rgba(21, 30, 33, 0.54);
    --topbar-bg: rgba(242, 242, 235, 0.88);
    --panel-grad-1: rgba(246, 246, 239, 0.88);
    --panel-grad-2: rgba(218, 220, 211, 0.82);
    --panel-sheen-a: rgba(255,255,255,0.32);
    --panel-sheen-b: rgba(30,49,54,0.05);
    --globe-accent: rgba(32, 45, 50, 0.18);
    --globe-deep: #e4e6dc;
    --overlay-bg: rgba(241, 241, 235, 0.74);
    --cursor-core: #1d282b;
    --cursor-ring: #607476;
    --cursor-glow: rgba(25, 36, 39, 0.28);
}

body[data-theme="lucentarchive"] {
    color-scheme: light;
    --bg: #f4ead8;
    --bg-2: #e8dcc9;
    --font-body: "Sora", "Inter", sans-serif;
    --font-display: "Orbitron", "Sora", sans-serif;
    --shell-accent-1: rgba(63, 110, 124, 0.13);
    --shell-accent-2: rgba(190, 132, 72, 0.08);
    --chrome-glow: rgba(63, 110, 124, 0.18);
    --text: #21343a;
    --muted: #687274;
    --cyan: #2d6674;
    --teal: #3f8a82;
    --amber: #a77238;
    --pink: #74445b;
    --line: rgba(45, 102, 116, 0.24);
    --line-strong: rgba(38, 82, 94, 0.52);
    --topbar-bg: rgba(250, 241, 224, 0.88);
    --panel-grad-1: rgba(255, 246, 229, 0.84);
    --panel-grad-2: rgba(232, 221, 202, 0.78);
    --panel-sheen-a: rgba(255,255,255,0.34);
    --panel-sheen-b: rgba(45,102,116,0.05);
    --globe-accent: rgba(63, 110, 124, 0.18);
    --globe-deep: #ece0cc;
    --overlay-bg: rgba(250, 241, 224, 0.72);
    --cursor-core: #2d6674;
    --cursor-ring: #7fa4a3;
    --cursor-glow: rgba(45, 102, 116, 0.28);
}

body[data-theme="umbralglass"] {
    --font-body: "Space Grotesk", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(128, 247, 255, 0.16);
    --shell-accent-2: rgba(34, 72, 92, 0.1);
    --chrome-glow: rgba(128, 247, 255, 0.2);
    --cyan: #80f7ff;
    --teal: #b4fff5;
    --line: rgba(128, 247, 255, 0.22);
    --line-strong: rgba(196, 253, 255, 0.52);
    --muted: #8fb6c0;
    --topbar-bg: rgba(4, 10, 16, 0.68);
    --panel-grad-1: rgba(7, 18, 27, 0.72);
    --panel-grad-2: rgba(2, 7, 12, 0.62);
    --panel-sheen-a: rgba(255,255,255,0.12);
    --panel-sheen-b: rgba(128,247,255,0.04);
    --globe-accent: rgba(128, 247, 255, 0.22);
    --globe-deep: #02070c;
    --overlay-bg: rgba(6, 14, 22, 0.62);
    --cursor-core: #80f7ff;
    --cursor-ring: #d5feff;
    --cursor-glow: rgba(128, 247, 255, 0.38);
}

body[data-theme="blacksiteamber"] {
    --font-body: "Rajdhani", "Exo 2", sans-serif;
    --font-display: "Michroma", "Rajdhani", sans-serif;
    --shell-accent-1: rgba(255, 178, 94, 0.16);
    --shell-accent-2: rgba(255, 82, 46, 0.06);
    --chrome-glow: rgba(255, 178, 94, 0.2);
    --cyan: #ffb25e;
    --teal: #ffde9f;
    --amber: #ffd080;
    --line: rgba(255, 178, 94, 0.23);
    --line-strong: rgba(255, 219, 158, 0.52);
    --muted: #bfa07c;
    --topbar-bg: rgba(17, 10, 5, 0.9);
    --panel-grad-1: rgba(31, 18, 9, 0.9);
    --panel-grad-2: rgba(12, 7, 4, 0.84);
    --panel-sheen-a: rgba(255,178,94,0.12);
    --panel-sheen-b: rgba(255,255,255,0.025);
    --globe-accent: rgba(202, 116, 36, 0.24);
    --globe-deep: #0e0703;
    --overlay-bg: rgba(18, 10, 5, 0.82);
    --cursor-core: #ffb25e;
    --cursor-ring: #ffe3af;
    --cursor-glow: rgba(255, 178, 94, 0.36);
}

body[data-theme="ultravioletnoir"] {
    --font-body: "Exo 2", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(209, 124, 255, 0.16);
    --shell-accent-2: rgba(92, 79, 255, 0.08);
    --chrome-glow: rgba(209, 124, 255, 0.2);
    --cyan: #d17cff;
    --teal: #89b7ff;
    --pink: #ff86dd;
    --line: rgba(209, 124, 255, 0.24);
    --line-strong: rgba(235, 195, 255, 0.52);
    --muted: #b196c3;
    --topbar-bg: rgba(12, 5, 22, 0.9);
    --panel-grad-1: rgba(24, 10, 38, 0.92);
    --panel-grad-2: rgba(9, 5, 18, 0.86);
    --panel-sheen-a: rgba(209,124,255,0.12);
    --panel-sheen-b: rgba(137,183,255,0.035);
    --globe-accent: rgba(149, 69, 191, 0.25);
    --globe-deep: #080310;
    --overlay-bg: rgba(13, 6, 23, 0.82);
    --cursor-core: #d17cff;
    --cursor-ring: #f1caff;
    --cursor-glow: rgba(209, 124, 255, 0.38);
}

body[data-theme="biolumecathedral"] {
    --font-body: "Space Grotesk", "Inter", sans-serif;
    --font-display: "Rajdhani", "Michroma", sans-serif;
    --shell-accent-1: rgba(99, 255, 199, 0.15);
    --shell-accent-2: rgba(43, 108, 93, 0.12);
    --chrome-glow: rgba(99, 255, 199, 0.18);
    --cyan: #63ffc7;
    --teal: #a3ffe9;
    --amber: #b5ff8b;
    --line: rgba(99, 255, 199, 0.22);
    --line-strong: rgba(185, 255, 232, 0.5);
    --muted: #8bbbab;
    --topbar-bg: rgba(4, 16, 13, 0.9);
    --panel-grad-1: rgba(7, 30, 24, 0.9);
    --panel-grad-2: rgba(3, 11, 10, 0.84);
    --panel-sheen-a: rgba(99,255,199,0.1);
    --panel-sheen-b: rgba(181,255,139,0.035);
    --globe-accent: rgba(64, 176, 139, 0.23);
    --globe-deep: #020c09;
    --overlay-bg: rgba(5, 17, 14, 0.82);
    --cursor-core: #63ffc7;
    --cursor-ring: #d4fff3;
    --cursor-glow: rgba(99, 255, 199, 0.36);
}

body[data-theme="haloterminal"] {
    color-scheme: light;
    --bg: #eef2e7;
    --bg-2: #dfe8dc;
    --font-body: "IBM Plex Sans", "Inter", sans-serif;
    --font-display: "Rajdhani", "Michroma", sans-serif;
    --shell-accent-1: rgba(38, 51, 46, 0.09);
    --shell-accent-2: rgba(109, 151, 126, 0.12);
    --chrome-glow: rgba(38, 51, 46, 0.18);
    --text: #17221f;
    --muted: #556760;
    --cyan: #26332e;
    --teal: #416b5d;
    --amber: #6d6a3b;
    --pink: #344341;
    --line: rgba(38, 51, 46, 0.24);
    --line-strong: rgba(24, 35, 31, 0.58);
    --topbar-bg: rgba(244, 248, 239, 0.86);
    --panel-grad-1: rgba(249, 252, 244, 0.8);
    --panel-grad-2: rgba(222, 232, 220, 0.68);
    --panel-sheen-a: rgba(255,255,255,0.42);
    --panel-sheen-b: rgba(38,51,46,0.055);
    --globe-accent: rgba(38, 51, 46, 0.18);
    --globe-deep: #e2eadf;
    --overlay-bg: rgba(242, 248, 238, 0.68);
    --cursor-core: #15221e;
    --cursor-ring: #4f615b;
    --cursor-glow: rgba(21, 34, 30, 0.28);
}

body[data-theme="milkglassmatrix"] {
    color-scheme: light;
    --bg: #f3f8fb;
    --bg-2: #dbe8ee;
    --font-body: "Sora", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(67, 99, 114, 0.12);
    --shell-accent-2: rgba(142, 182, 199, 0.11);
    --chrome-glow: rgba(67, 99, 114, 0.2);
    --text: #18272e;
    --muted: #5d6f78;
    --cyan: #2e5365;
    --teal: #4c7f8e;
    --amber: #8c7043;
    --pink: #655066;
    --line: rgba(46, 83, 101, 0.25);
    --line-strong: rgba(31, 55, 66, 0.58);
    --topbar-bg: rgba(247, 251, 253, 0.82);
    --panel-grad-1: rgba(255, 255, 255, 0.76);
    --panel-grad-2: rgba(219, 232, 238, 0.64);
    --panel-sheen-a: rgba(255,255,255,0.5);
    --panel-sheen-b: rgba(46,83,101,0.06);
    --globe-accent: rgba(46, 83, 101, 0.17);
    --globe-deep: #e5eef3;
    --overlay-bg: rgba(246, 250, 252, 0.64);
    --cursor-core: #172a32;
    --cursor-ring: #516b76;
    --cursor-glow: rgba(23, 42, 50, 0.28);
}

body[data-theme="daybreakvector"] {
    color-scheme: light;
    --bg: #f7f2e4;
    --bg-2: #e4edf0;
    --font-body: "Space Grotesk", "Inter", sans-serif;
    --font-display: "Orbitron", "Rajdhani", sans-serif;
    --shell-accent-1: rgba(55, 90, 119, 0.12);
    --shell-accent-2: rgba(222, 151, 69, 0.1);
    --chrome-glow: rgba(55, 90, 119, 0.18);
    --text: #1a2935;
    --muted: #60717c;
    --cyan: #375a77;
    --teal: #4c7d86;
    --amber: #a66e2f;
    --pink: #735063;
    --line: rgba(55, 90, 119, 0.24);
    --line-strong: rgba(36, 61, 82, 0.56);
    --topbar-bg: rgba(251, 246, 232, 0.84);
    --panel-grad-1: rgba(255, 250, 237, 0.78);
    --panel-grad-2: rgba(225, 235, 239, 0.68);
    --panel-sheen-a: rgba(255,255,255,0.44);
    --panel-sheen-b: rgba(55,90,119,0.055);
    --globe-accent: rgba(55, 90, 119, 0.18);
    --globe-deep: #e5edf1;
    --overlay-bg: rgba(250, 246, 235, 0.66);
    --cursor-core: #162839;
    --cursor-ring: #536b79;
    --cursor-glow: rgba(22, 40, 57, 0.28);
}

body[data-theme="nightwireorchid"] {
    --font-body: "Exo 2", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(255, 119, 243, 0.15);
    --shell-accent-2: rgba(77, 113, 255, 0.08);
    --chrome-glow: rgba(255, 119, 243, 0.2);
    --cyan: #ff77f3;
    --teal: #8ab8ff;
    --amber: #ffc778;
    --pink: #ff99eb;
    --line: rgba(255, 119, 243, 0.23);
    --line-strong: rgba(255, 194, 248, 0.52);
    --muted: #c99bc8;
    --topbar-bg: rgba(14, 4, 20, 0.82);
    --panel-grad-1: rgba(24, 7, 34, 0.72);
    --panel-grad-2: rgba(8, 3, 14, 0.62);
    --panel-sheen-a: rgba(255,119,243,0.11);
    --panel-sheen-b: rgba(138,184,255,0.035);
    --globe-accent: rgba(180, 70, 181, 0.25);
    --globe-deep: #07020d;
    --overlay-bg: rgba(13, 5, 20, 0.72);
    --cursor-core: #ff77f3;
    --cursor-ring: #ffd2fb;
    --cursor-glow: rgba(255, 119, 243, 0.38);
}

body[data-theme="eventhorizongold"] {
    --font-body: "Rajdhani", "Exo 2", sans-serif;
    --font-display: "Michroma", "Rajdhani", sans-serif;
    --shell-accent-1: rgba(255, 211, 110, 0.14);
    --shell-accent-2: rgba(255, 113, 64, 0.06);
    --chrome-glow: rgba(255, 211, 110, 0.2);
    --cyan: #ffd36e;
    --teal: #fff0ba;
    --amber: #ffbd55;
    --pink: #ff8d7c;
    --line: rgba(255, 211, 110, 0.24);
    --line-strong: rgba(255, 232, 178, 0.54);
    --muted: #cbb08a;
    --topbar-bg: rgba(19, 11, 4, 0.84);
    --panel-grad-1: rgba(31, 18, 7, 0.74);
    --panel-grad-2: rgba(11, 6, 2, 0.66);
    --panel-sheen-a: rgba(255,211,110,0.12);
    --panel-sheen-b: rgba(255,255,255,0.025);
    --globe-accent: rgba(196, 126, 40, 0.24);
    --globe-deep: #0b0501;
    --overlay-bg: rgba(18, 10, 4, 0.74);
    --cursor-core: #ffd36e;
    --cursor-ring: #fff0c2;
    --cursor-glow: rgba(255, 211, 110, 0.36);
}

body[data-theme="deepradar"] {
    --font-body: "IBM Plex Sans", "Inter", sans-serif;
    --font-display: "Orbitron", "Rajdhani", sans-serif;
    --shell-accent-1: rgba(78, 246, 167, 0.13);
    --shell-accent-2: rgba(50, 125, 255, 0.06);
    --chrome-glow: rgba(78, 246, 167, 0.18);
    --cyan: #4ef6a7;
    --teal: #b9ffd8;
    --amber: #d0ff75;
    --pink: #75f0ff;
    --line: rgba(78, 246, 167, 0.22);
    --line-strong: rgba(193, 255, 222, 0.52);
    --muted: #8fc1a5;
    --topbar-bg: rgba(3, 18, 11, 0.84);
    --panel-grad-1: rgba(4, 28, 17, 0.74);
    --panel-grad-2: rgba(1, 10, 6, 0.66);
    --panel-sheen-a: rgba(78,246,167,0.11);
    --panel-sheen-b: rgba(50,125,255,0.035);
    --globe-accent: rgba(47, 157, 105, 0.24);
    --globe-deep: #010805;
    --overlay-bg: rgba(3, 15, 10, 0.74);
    --cursor-core: #4ef6a7;
    --cursor-ring: #ccffe3;
    --cursor-glow: rgba(78, 246, 167, 0.36);
}

body[data-theme="polaranomaly"],
body[data-theme="lucentarchive"],
body[data-theme="haloterminal"],
body[data-theme="milkglassmatrix"],
body[data-theme="daybreakvector"] {
    color-scheme: light;
    background:
        radial-gradient(circle at 18% 8%, var(--shell-accent-1), transparent 24%),
        radial-gradient(circle at 86% 4%, var(--shell-accent-2), transparent 20%),
        linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 54%, color-mix(in srgb, var(--bg-2) 82%, #bfc5bf) 100%);
}

body[data-theme="polaranomaly"]::before {
    opacity: 0.38;
    mix-blend-mode: multiply;
    background-image:
        repeating-linear-gradient(to bottom, rgba(27, 37, 40, 0.085) 0 1px, transparent 1px 5px),
        repeating-linear-gradient(to right, rgba(27, 37, 40, 0.035) 0 1px, transparent 1px 18px),
        radial-gradient(circle at 50% -12%, rgba(255, 255, 255, 0.48), transparent 58%);
}

body[data-theme="polaranomaly"]::after {
    opacity: 0.34;
    mix-blend-mode: multiply;
    background:
        linear-gradient(110deg, transparent 0 28%, rgba(18, 28, 31, 0.055) 42%, transparent 58%),
        radial-gradient(circle at 72% 20%, rgba(38, 53, 57, 0.08), transparent 36%);
}

body[data-theme="haloterminal"]::before,
body[data-theme="milkglassmatrix"]::before,
body[data-theme="daybreakvector"]::before {
    opacity: 0.34;
    mix-blend-mode: multiply;
    background-image:
        repeating-linear-gradient(to bottom, color-mix(in srgb, var(--text) 8%, transparent) 0 1px, transparent 1px 5px),
        repeating-linear-gradient(to right, color-mix(in srgb, var(--cyan) 5%, transparent) 0 1px, transparent 1px 20px),
        radial-gradient(circle at 50% -12%, rgba(255, 255, 255, 0.52), transparent 58%);
}

body[data-theme="haloterminal"]::after,
body[data-theme="milkglassmatrix"]::after,
body[data-theme="daybreakvector"]::after {
    opacity: 0.3;
    mix-blend-mode: multiply;
    background:
        linear-gradient(112deg, transparent 0 28%, color-mix(in srgb, var(--cyan) 8%, transparent) 42%, transparent 58%),
        radial-gradient(circle at 76% 22%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 36%);
}

body[data-theme="lucentarchive"]::before {
    opacity: 0.34;
    mix-blend-mode: multiply;
    background-image:
        repeating-linear-gradient(90deg, rgba(45, 102, 116, 0.055) 0 1px, transparent 1px 22px),
        repeating-linear-gradient(0deg, rgba(131, 92, 48, 0.045) 0 1px, transparent 1px 10px),
        radial-gradient(circle at 24% 0%, rgba(255, 255, 255, 0.5), transparent 62%);
}

body[data-theme="lucentarchive"]::after {
    opacity: 0.32;
    mix-blend-mode: multiply;
    background:
        linear-gradient(135deg, rgba(45, 102, 116, 0.08), transparent 34%),
        radial-gradient(circle at 78% 72%, rgba(167, 114, 56, 0.08), transparent 38%);
}

body[data-theme="polaranomaly"] :where(.panel, .resource-card, .signal-card, .webcam-card, .radio-card, .radio-summary-card, .radio-legal-note, .topbar, .theme-panel, .modal-card),
body[data-theme="lucentarchive"] :where(.panel, .resource-card, .signal-card, .webcam-card, .radio-card, .radio-summary-card, .radio-legal-note, .topbar, .theme-panel, .modal-card),
body[data-theme="haloterminal"] :where(.panel, .resource-card, .signal-card, .webcam-card, .radio-card, .radio-summary-card, .radio-legal-note, .topbar, .theme-panel, .modal-card),
body[data-theme="milkglassmatrix"] :where(.panel, .resource-card, .signal-card, .webcam-card, .radio-card, .radio-summary-card, .radio-legal-note, .topbar, .theme-panel, .modal-card),
body[data-theme="daybreakvector"] :where(.panel, .resource-card, .signal-card, .webcam-card, .radio-card, .radio-summary-card, .radio-legal-note, .topbar, .theme-panel, .modal-card) {
    color: var(--text);
    text-shadow: none;
}

body[data-theme="polaranomaly"] :where(.button, .nav-link, .theme-option, .filter-chip),
body[data-theme="lucentarchive"] :where(.button, .nav-link, .theme-option, .filter-chip),
body[data-theme="haloterminal"] :where(.button, .nav-link, .theme-option, .filter-chip),
body[data-theme="milkglassmatrix"] :where(.button, .nav-link, .theme-option, .filter-chip),
body[data-theme="daybreakvector"] :where(.button, .nav-link, .theme-option, .filter-chip) {
    color: var(--text);
    border-color: color-mix(in srgb, var(--cyan) 35%, transparent);
    background: color-mix(in srgb, var(--panel-grad-1) 72%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, white 34%, transparent);
}

body[data-theme="polaranomaly"] :where(.button:hover, .nav-link:hover, .nav-link.active, .theme-option:hover, .theme-option.active),
body[data-theme="lucentarchive"] :where(.button:hover, .nav-link:hover, .nav-link.active, .theme-option:hover, .theme-option.active),
body[data-theme="haloterminal"] :where(.button:hover, .nav-link:hover, .nav-link.active, .theme-option:hover, .theme-option.active),
body[data-theme="milkglassmatrix"] :where(.button:hover, .nav-link:hover, .nav-link.active, .theme-option:hover, .theme-option.active),
body[data-theme="daybreakvector"] :where(.button:hover, .nav-link:hover, .nav-link.active, .theme-option:hover, .theme-option.active) {
    color: var(--text);
    background: color-mix(in srgb, var(--cyan) 14%, var(--panel-grad-1));
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, white 42%, transparent),
        0 0 22px color-mix(in srgb, var(--cyan) 22%, transparent);
}

body[data-theme="polaranomaly"] .globe-context-menu,
body[data-theme="lucentarchive"] .globe-context-menu,
body[data-theme="haloterminal"] .globe-context-menu,
body[data-theme="milkglassmatrix"] .globe-context-menu,
body[data-theme="daybreakvector"] .globe-context-menu,
body[data-theme="polaranomaly"] .globe-country-tooltip,
body[data-theme="lucentarchive"] .globe-country-tooltip,
body[data-theme="haloterminal"] .globe-country-tooltip,
body[data-theme="milkglassmatrix"] .globe-country-tooltip,
body[data-theme="daybreakvector"] .globe-country-tooltip {
    color: var(--text);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 48%),
        color-mix(in srgb, var(--panel-grad-1) 92%, white 8%);
    box-shadow:
        0 18px 48px rgba(34, 42, 44, 0.18),
        inset 0 0 18px color-mix(in srgb, var(--cyan) 9%, transparent),
        0 0 18px color-mix(in srgb, var(--cyan) 18%, transparent);
}

body[data-theme="polaranomaly"] :where(.landing-notice-card, .landing-notice-load-panel, .landing-theme-prompt, .landing-theme-preview, .landing-contact-card, .site-contact-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .theme-panel, .globe-overlay, .radio-card, .radio-summary-card, .radio-legal-note, .modal-card),
body[data-theme="lucentarchive"] :where(.landing-notice-card, .landing-notice-load-panel, .landing-theme-prompt, .landing-theme-preview, .landing-contact-card, .site-contact-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .theme-panel, .globe-overlay, .radio-card, .radio-summary-card, .radio-legal-note, .modal-card),
body[data-theme="haloterminal"] :where(.landing-notice-card, .landing-notice-load-panel, .landing-theme-prompt, .landing-theme-preview, .landing-contact-card, .site-contact-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .theme-panel, .globe-overlay, .radio-card, .radio-summary-card, .radio-legal-note, .modal-card),
body[data-theme="milkglassmatrix"] :where(.landing-notice-card, .landing-notice-load-panel, .landing-theme-prompt, .landing-theme-preview, .landing-contact-card, .site-contact-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .theme-panel, .globe-overlay, .radio-card, .radio-summary-card, .radio-legal-note, .modal-card),
body[data-theme="daybreakvector"] :where(.landing-notice-card, .landing-notice-load-panel, .landing-theme-prompt, .landing-theme-preview, .landing-contact-card, .site-contact-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .theme-panel, .globe-overlay, .radio-card, .radio-summary-card, .radio-legal-note, .modal-card) {
    color: var(--text);
    border-color: color-mix(in srgb, var(--cyan) 34%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 46%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 96%, white 4%), color-mix(in srgb, var(--panel-grad-2) 96%, white 4%));
    box-shadow:
        0 24px 70px rgba(36, 43, 44, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.58),
        0 0 24px color-mix(in srgb, var(--cyan) 14%, transparent);
}

body[data-theme="polaranomaly"] .landing-notice,
body[data-theme="lucentarchive"] .landing-notice,
body[data-theme="haloterminal"] .landing-notice,
body[data-theme="milkglassmatrix"] .landing-notice,
body[data-theme="daybreakvector"] .landing-notice {
    background: color-mix(in srgb, var(--bg) 16%, transparent);
    backdrop-filter: blur(20px) saturate(1.08);
}

body[data-theme="polaranomaly"] .landing-notice::before,
body[data-theme="lucentarchive"] .landing-notice::before,
body[data-theme="haloterminal"] .landing-notice::before,
body[data-theme="milkglassmatrix"] .landing-notice::before,
body[data-theme="daybreakvector"] .landing-notice::before {
    opacity: 0.18;
    mix-blend-mode: multiply;
}

body[data-theme="polaranomaly"] .landing-contact-tab summary,
body[data-theme="lucentarchive"] .landing-contact-tab summary,
body[data-theme="haloterminal"] .landing-contact-tab summary,
body[data-theme="milkglassmatrix"] .landing-contact-tab summary,
body[data-theme="daybreakvector"] .landing-contact-tab summary,
body[data-theme="polaranomaly"] .site-contact-tab summary,
body[data-theme="lucentarchive"] .site-contact-tab summary,
body[data-theme="haloterminal"] .site-contact-tab summary,
body[data-theme="milkglassmatrix"] .site-contact-tab summary,
body[data-theme="daybreakvector"] .site-contact-tab summary {
    color: var(--text);
    border-color: color-mix(in srgb, var(--cyan) 38%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 96%, white 4%), color-mix(in srgb, var(--panel-grad-2) 92%, white 8%));
    box-shadow: 0 0 18px color-mix(in srgb, var(--cyan) 14%, transparent);
}

body[data-theme="polaranomaly"] .landing-notice-progress,
body[data-theme="lucentarchive"] .landing-notice-progress,
body[data-theme="haloterminal"] .landing-notice-progress,
body[data-theme="milkglassmatrix"] .landing-notice-progress,
body[data-theme="daybreakvector"] .landing-notice-progress {
    background: color-mix(in srgb, var(--bg-2) 56%, transparent);
}

body[data-theme="polaranomaly"] .landing-notice-progress::before,
body[data-theme="lucentarchive"] .landing-notice-progress::before,
body[data-theme="haloterminal"] .landing-notice-progress::before,
body[data-theme="milkglassmatrix"] .landing-notice-progress::before,
body[data-theme="daybreakvector"] .landing-notice-progress::before {
    background: repeating-linear-gradient(90deg, transparent 0 10px, color-mix(in srgb, var(--text) 11%, transparent) 10px 11px);
}

body[data-theme="polaranomaly"] .flyout-panel::after,
body[data-theme="lucentarchive"] .flyout-panel::after,
body[data-theme="haloterminal"] .flyout-panel::after,
body[data-theme="milkglassmatrix"] .flyout-panel::after,
body[data-theme="daybreakvector"] .flyout-panel::after {
    background:
        radial-gradient(circle at top, color-mix(in srgb, white 32%, transparent), transparent 48%),
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 5%, transparent), transparent 38%);
    opacity: 0.68;
}

body[data-theme="polaranomaly"] .flyout-panel::before,
body[data-theme="lucentarchive"] .flyout-panel::before,
body[data-theme="haloterminal"] .flyout-panel::before,
body[data-theme="milkglassmatrix"] .flyout-panel::before,
body[data-theme="daybreakvector"] .flyout-panel::before {
    background: linear-gradient(108deg, transparent 16%, color-mix(in srgb, white 42%, transparent) 52%, transparent 84%);
}

body[data-theme="polaranomaly"] .tab-button,
body[data-theme="lucentarchive"] .tab-button,
body[data-theme="haloterminal"] .tab-button,
body[data-theme="milkglassmatrix"] .tab-button,
body[data-theme="daybreakvector"] .tab-button {
    color: var(--text);
    border-color: color-mix(in srgb, var(--cyan) 32%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 94%, white 6%), color-mix(in srgb, var(--panel-grad-2) 94%, white 6%));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, white 26%, transparent);
}

body[data-theme="polaranomaly"] .tab-button:hover,
body[data-theme="polaranomaly"] .tab-button.active,
body[data-theme="lucentarchive"] .tab-button:hover,
body[data-theme="lucentarchive"] .tab-button.active,
body[data-theme="haloterminal"] .tab-button:hover,
body[data-theme="haloterminal"] .tab-button.active,
body[data-theme="milkglassmatrix"] .tab-button:hover,
body[data-theme="milkglassmatrix"] .tab-button.active,
body[data-theme="daybreakvector"] .tab-button:hover,
body[data-theme="daybreakvector"] .tab-button.active {
    border-color: color-mix(in srgb, var(--cyan) 54%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 12%, var(--panel-grad-1)), color-mix(in srgb, var(--panel-grad-2) 88%, white 12%));
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, white 36%, transparent),
        0 0 22px color-mix(in srgb, var(--cyan) 18%, transparent);
}

body[data-theme="polaranomaly"] .globe-label,
body[data-theme="lucentarchive"] .globe-label,
body[data-theme="haloterminal"] .globe-label,
body[data-theme="milkglassmatrix"] .globe-label,
body[data-theme="daybreakvector"] .globe-label {
    color: var(--globe-label-color);
    text-shadow:
        0 0 2px rgba(255, 255, 255, 0.68),
        0 0 7px color-mix(in srgb, var(--globe-label-glow) 38%, transparent);
    filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.5));
}

body[data-theme="polaranomaly"] :where(.globe-label-country.has-cases, .globe-label-country:hover, .globe-label-country.active),
body[data-theme="lucentarchive"] :where(.globe-label-country.has-cases, .globe-label-country:hover, .globe-label-country.active),
body[data-theme="haloterminal"] :where(.globe-label-country.has-cases, .globe-label-country:hover, .globe-label-country.active),
body[data-theme="milkglassmatrix"] :where(.globe-label-country.has-cases, .globe-label-country:hover, .globe-label-country.active),
body[data-theme="daybreakvector"] :where(.globe-label-country.has-cases, .globe-label-country:hover, .globe-label-country.active) {
    color: var(--text);
    text-shadow:
        0 0 2px rgba(255, 255, 255, 0.9),
        0 0 8px color-mix(in srgb, var(--globe-label-glow) 44%, transparent);
}

@keyframes panelDrift {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50% { transform: translate3d(0, -6px, 0); }
}

@keyframes scanlineDrift {
    0% { background-position: 0 0, 0 0, 0 0; }
    100% { background-position: 0 3px, 0 0, 0 0; }
}

@keyframes scanBeam {
    0% { background-position: center top, 0 -220px, -35% 0; }
    100% { background-position: center top, 0 220px, 135% 0; }
}

@keyframes glowBreath {
    0%, 100% { opacity: 0.58; }
    50% { opacity: 0.82; }
}

@keyframes chromePulse {
    0%, 100% { opacity: 0.12; }
    50% { opacity: 0.26; }
}

@keyframes glitchSweep {
    0%, 100% { transform: translateX(0); opacity: 0; }
    10% { transform: translateX(-2px); opacity: 0.08; }
    12% { transform: translateX(2px); opacity: 0.12; }
    16% { transform: translateX(0); opacity: 0; }
}

body[data-theme="echelon"]::after,
body[data-theme="chromeslate"]::after,
body[data-theme="ghostsignal"]::after,
body[data-theme="obsidianpulse"]::after,
body[data-theme="neonvector"]::after,
body[data-theme="crimsonops"]::after,
body[data-theme="quantumveil"]::after {
    opacity: 1;
    background:
        radial-gradient(circle at 50% -18%, var(--chrome-glow), transparent 58%),
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(255,255,255,0.08) 49.2%,
            rgba(255,255,255,0.02) 50.1%,
            transparent 52%,
            transparent 100%
        ),
        linear-gradient(90deg, rgba(255,255,255,0.018), transparent 36%, rgba(255,255,255,0.012) 72%, transparent);
    background-size: 100% 100%, 100% 180px, 38% 100%;
    background-repeat: no-repeat, no-repeat, no-repeat;
    animation: scanBeam 10.8s linear infinite, glowBreath 6.8s ease-in-out infinite;
}

body[data-theme="echelon"] .panel::after,
body[data-theme="chromeslate"] .panel::after,
body[data-theme="ghostsignal"] .panel::after,
body[data-theme="obsidianpulse"] .panel::after,
body[data-theme="neonvector"] .panel::after,
body[data-theme="crimsonops"] .panel::after,
body[data-theme="quantumveil"] .panel::after {
    animation: chromePulse 5.5s ease-in-out infinite;
}

body[data-theme="echelon"] .brand-mark,
body[data-theme="chromeslate"] .brand-mark,
body[data-theme="ghostsignal"] .brand-mark,
body[data-theme="obsidianpulse"] .brand-mark,
body[data-theme="neonvector"] .brand-mark,
body[data-theme="crimsonops"] .brand-mark,
body[data-theme="quantumveil"] .brand-mark {
    animation: panelDrift 7s ease-in-out infinite;
}

@media (max-width: 1320px) {
    .grid-main,
    .hero-banner,
    .large-grid {
        grid-template-columns: 1fr;
    }

    .resource-grid,
    .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .grid-main {
        min-height: auto;
    }

    body.dashboard-page {
        overflow: auto;
    }

    .dashboard-layout {
        grid-template-rows: auto auto auto;
        overflow: visible;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-incident-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cases-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cases-field-wide {
        grid-column: span 3;
    }
}

@media (max-height: 920px) {
    body.dashboard-page .topbar {
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .dashboard-layout {
        gap: 12px;
        grid-template-rows: auto minmax(0, 1fr) minmax(130px, 16vh);
    }

    .dashboard-hero .panel-inner,
    .dashboard-console-inner,
    body.dashboard-page .dashboard-grid .panel-inner {
        padding: 14px 16px;
    }

    .dashboard-hero .title {
        font-size: 22px !important;
    }

    .dashboard-hero .subtitle,
    .dashboard-console .subtitle,
    .globe-overlay .subtitle {
        font-size: 11px;
    }

    .stat-value {
        font-size: clamp(22px, 2vw, 28px);
    }

    .globe-shell {
        min-height: 0;
    }
}

@media (max-width: 860px) {
    .topbar,
    .page {
        padding-left: 16px;
        padding-right: 16px;
    }

    .stat-grid,
    .resource-grid {
        grid-template-columns: 1fr;
    }

    .title {
        font-size: 22px;
    }

    .globe-shell {
        min-height: 520px;
    }

    .media-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-incident-grid {
        grid-template-columns: 1fr;
    }

    .cases-filter-grid {
        grid-template-columns: 1fr;
    }

    .cases-field-wide {
        grid-column: span 1;
    }

    .cases-archive-strip {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 6px;
    }

    .globe-overlay.top-left,
    .globe-overlay.top-right,
    .globe-overlay.bottom-left,
    .globe-overlay.bottom-center {
        left: 12px;
        right: 12px;
        transform: none;
        width: auto;
    }

    .globe-overlay.top-right {
        top: auto;
        bottom: 142px;
    }

    .globe-overlay.bottom-center {
        bottom: 12px;
    }

    .globe-overlay.bottom-left {
        bottom: 96px;
    }

    .control-cluster .button,
    .nav-link,
    .theme-trigger,
    .theme-picker {
        width: 100%;
        min-height: 50px;
        padding: 14px 16px;
        font-size: 12px;
        text-align: center;
    }

    .mobile-nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        min-width: 88px;
        padding: 13px 15px;
        font-size: 12px;
        margin-left: auto;
        order: 2;
    }

    .topbar {
        align-items: flex-start;
    }

    .topbar .brand {
        flex: 1 1 auto;
        min-width: 0;
        padding-right: 8px;
    }

    .topbar .nav {
        display: none;
        width: 100%;
        order: 3;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid rgba(255,255,255,0.08);
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .topbar.nav-open .nav {
        display: flex;
    }

    .topbar .theme-menu {
        width: 100%;
    }

    .topbar .theme-panel {
        position: static;
        margin-top: 8px;
        width: auto;
    }

    .topbar .theme-option {
        min-height: 50px;
        padding: 13px 14px;
        font-size: 12px;
    }

    .cases-field input,
    .cases-field select,
    .gerb2-search-row input,
    .gerb2-search-row select,
    .webcams-query input,
    .webcams-query select {
        min-height: 52px;
        padding: 13px 14px;
        font-size: 16px;
    }

    .cases-actions .button,
    .mini-button,
    .stacked-actions .button {
        min-height: 52px;
        padding: 14px 15px;
        font-size: 12px;
    }
}

.gerb-hero {
    align-items: start;
}

.gerb-metric-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.gerb-control-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 18px;
    align-items: start;
}

.gerb-field {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gerb-field input {
    width: 100%;
    background: rgba(255,255,255,0.03);
    color: var(--text);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    padding: 14px 16px;
}

.gerb-side-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 18px;
}

.gerb-video-card,
.glossary-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 22px;
    padding: 18px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.01);
}

.gerb-card-title {
    margin-top: 10px;
    font-size: 20px;
    line-height: 1.35;
}

.gerb-meta-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0;
    color: var(--muted);
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.video-frame {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid var(--line);
    aspect-ratio: 16 / 9;
    background:
        radial-gradient(circle at top, rgba(121,214,255,0.12), transparent 45%),
        linear-gradient(180deg, rgba(5,10,18,0.95), rgba(9,16,28,0.92));
}

.video-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.term-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}

.term-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,0.03);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cyan);
}

.term-chip:hover {
    border-color: var(--line-strong);
    box-shadow: 0 0 18px rgba(121, 214, 255, 0.1);
}

.gerb-disclosure {
    margin-top: 12px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
    overflow: hidden;
}

.gerb-disclosure summary {
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--cyan);
}

.gerb-disclosure summary::-webkit-details-marker {
    display: none;
}

.mini-definition-grid {
    display: grid;
    gap: 12px;
    padding: 0 14px 14px;
}

.mini-definition {
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,0.025);
    border: 1px solid rgba(255,255,255,0.06);
}

.mini-definition p,
.glossary-card p {
    margin: 10px 0 0;
    color: var(--muted);
    line-height: 1.65;
}

.gerb-bullets {
    margin: 0;
    padding: 0 16px 16px 34px;
    color: var(--muted);
    display: grid;
    gap: 8px;
}

.mini-button {
    padding: 10px 13px;
    font-size: 10px;
}

.stacked-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 14px 14px;
}

.library-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-height: 900px;
    overflow: auto;
    padding-right: 6px;
    scroll-behavior: smooth;
}

.glossary-grid {
    display: grid;
    gap: 12px;
    max-height: 900px;
    overflow: auto;
    padding-right: 6px;
    scroll-behavior: smooth;
}

.glossary-card {
    scroll-margin-top: 110px;
}

.library-card .resource-actions,
.gerb-video-card .resource-actions {
    margin-top: 14px;
}

.empty-state {
    border-radius: 22px;
    border: 1px dashed var(--line-strong);
    background: rgba(255,255,255,0.025);
    color: var(--muted);
    padding: 24px;
    text-align: center;
}

@media (max-width: 1320px) {
    .gerb-control-grid,
    .gerb-side-grid {
        grid-template-columns: 1fr;
    }

    .library-grid,
    .glossary-grid {
        max-height: none;
    }
}

@media (max-width: 860px) {
    .gerb-metric-strip,
    .library-grid,
    .video-grid {
        grid-template-columns: 1fr;
    }

    .gerb-card-title {
        font-size: 18px;
    }
}

/* Dashboard + Gerb UX refresh */
.theme-panel[hidden] {
    display: none !important;
}

.theme-menu.open .theme-panel {
    display: grid;
}

body.dashboard-page .topbar {
    padding: 7px 14px;
    gap: 10px;
    min-height: 56px;
}

body.dashboard-page .brand {
    gap: 10px;
    flex: 1 1 380px;
}

body.dashboard-page .brand-mark {
    width: 34px;
    height: 34px;
}

body.dashboard-page .brand-mark-logo {
    width: 23px;
    height: 23px;
}

body.dashboard-page .title {
    font-size: clamp(13px, 1.12vw, 17px);
    letter-spacing: 0.1em;
}

body.dashboard-page .subtitle {
    margin-top: 1px;
    font-size: 10px;
}

body.dashboard-page .nav-link,
body.dashboard-page .button,
body.dashboard-page .theme-trigger {
    padding: 9px 12px;
    border-color: rgba(121, 214, 255, 0.34);
    background: linear-gradient(180deg, rgba(129, 194, 255, 0.2), rgba(255, 255, 255, 0.03));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    font-size: 10px;
    font-weight: 600;
}

body.dashboard-page .nav-link.active,
body.dashboard-page .nav-link:hover,
body.dashboard-page .button:hover {
    box-shadow: 0 0 24px rgba(121, 214, 255, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

body.dashboard-page .page {
    padding: 8px 10px 10px;
}

body.dashboard-page .dashboard-layout {
    display: block;
    min-height: 0;
    height: 100%;
}

body.dashboard-page .globe-shell {
    min-height: 0;
    height: 100%;
    border-radius: 26px;
}

body.dashboard-page .globe-overlay.block {
    padding: 8px 10px;
}

body.dashboard-page .globe-overlay.top-left {
    top: 12px;
    left: 12px;
}

body.dashboard-page .globe-overlay.top-right {
    top: 12px;
    right: 12px;
    left: auto;
    max-width: 260px;
}

body.dashboard-page .globe-overlay.top-center {
    top: 12px;
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translateX(-50%);
}

body.dashboard-page .globe-overlay.bottom-left {
    left: 12px;
    bottom: 12px;
    top: auto;
}

body.dashboard-page .globe-overlay.bottom-center {
    left: 50%;
    bottom: 12px;
    transform: translateX(-50%);
}

.metrics-chip-strip {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.metric-chip {
    min-width: 70px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 11px;
    padding: 6px 8px;
    background: rgba(0, 0, 0, 0.24);
}

.metric-chip strong {
    display: block;
    margin-top: 3px;
    font-family: var(--font-display);
    font-size: 16px;
}

.globe-tab-rail {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 6;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.globe-tab-rail.left {
    left: 10px;
}

.globe-tab-rail.right {
    right: 10px;
}

.mobile-globe-dock {
    display: none;
}

.tab-button {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    border: 1px solid var(--line);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 68%),
        color-mix(in srgb, var(--overlay-bg) 54%, transparent);
    color: var(--text);
    backdrop-filter: blur(18px) saturate(1.3);
    border-radius: var(--radius-control);
    padding: 10px 8px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 10px;
    cursor: pointer;
    min-height: 122px;
    transition:
        border-color 200ms ease,
        box-shadow 260ms ease,
        background-color 220ms ease;
}

.tab-button:hover,
.tab-button.active {
    border-color: var(--line-strong);
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, white 10%, transparent),
        0 0 24px color-mix(in srgb, var(--cyan) 22%, transparent);
}

.flyout-panel {
    position: absolute;
    top: 12px;
    bottom: 12px;
    width: min(390px, calc(100% - 120px));
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 48%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 76%, transparent), color-mix(in srgb, var(--panel-grad-2) 70%, transparent));
    backdrop-filter: blur(24px) saturate(1.36);
    box-shadow:
        0 28px 64px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 color-mix(in srgb, white 11%, transparent),
        0 0 28px color-mix(in srgb, var(--cyan) 12%, transparent);
    z-index: 7;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    isolation: isolate;
    --flyout-enter-x: 0px;
    --flyout-exit-x: 0px;
    opacity: 0;
    filter: saturate(0.76) blur(1.2px);
    transform: translate3d(0, 0, 0) scale(0.972);
    pointer-events: none;
    transition:
        opacity 220ms cubic-bezier(0.26, 0.82, 0.24, 1),
        transform 320ms cubic-bezier(0.22, 0.84, 0.18, 1),
        filter 260ms ease;
    color: var(--text);
}

.flyout-panel.right#flyout-analytics {
    width: min(520px, calc(100% - 120px));
}

.flyout-panel.right#flyout-flights {
    width: min(1040px, calc(100% - 120px));
}

.flyout-panel::before,
.flyout-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.flyout-panel::before {
    opacity: 0;
    background: linear-gradient(108deg, transparent 16%, rgba(255,255,255,0.12) 52%, transparent 84%);
    transform: translateX(-58%);
}

.flyout-panel::after {
    background:
        radial-gradient(circle at top, rgba(255,255,255,0.06), transparent 48%),
        linear-gradient(180deg, rgba(255,255,255,0.02), transparent 38%);
    opacity: 0.58;
}

.flyout-panel.left {
    left: 56px;
    --flyout-enter-x: -26px;
    --flyout-exit-x: -18px;
    transform: translate3d(-26px, 0, 0) scale(0.972);
    transform-origin: left center;
}

.flyout-panel.right {
    right: 56px;
    --flyout-enter-x: 26px;
    --flyout-exit-x: 18px;
    transform: translate3d(26px, 0, 0) scale(0.972);
    transform-origin: right center;
}

.flyout-panel.is-opening {
    animation: flyoutPanelIn 420ms cubic-bezier(0.16, 0.88, 0.18, 1) both;
}

.flyout-panel.is-open {
    opacity: 1;
    filter: saturate(1) blur(0);
    transform: translate3d(0, 0, 0) scale(1);
    pointer-events: auto;
}

.flyout-panel.is-open::before {
    animation: flyoutSheen 760ms cubic-bezier(0.18, 0.88, 0.18, 1) both;
}

.flyout-panel.is-closing {
    opacity: 0;
    filter: saturate(0.78) blur(1px);
    pointer-events: none;
    animation: flyoutPanelOut 240ms cubic-bezier(0.3, 0.02, 0.7, 0.2) both;
}

.flyout-panel.left.is-closing {
    transform: translate3d(-18px, 0, 0) scale(0.982);
}

.flyout-panel.right.is-closing {
    transform: translate3d(18px, 0, 0) scale(0.982);
}

.flyout-panel.is-open .flyout-body > * {
    animation: flyoutItemRise 280ms cubic-bezier(0.2, 0.82, 0.2, 1) both;
}

.flyout-panel.is-open .flyout-body > *:nth-child(2) {
    animation-delay: 45ms;
}

.flyout-panel.is-open .flyout-body > *:nth-child(3) {
    animation-delay: 72ms;
}

.flyout-panel.is-open .flyout-body > *:nth-child(4) {
    animation-delay: 98ms;
}

.flyout-panel.is-open .flyout-body > *:nth-child(5) {
    animation-delay: 124ms;
}

.flyout-head {
    padding: 12px 12px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.flyout-body {
    padding: 12px;
    min-height: 0;
    flex: 1 1 auto;
    scroll-behavior: smooth;
}

.hotspot-button {
    width: 100%;
    text-align: left;
    cursor: pointer;
    color: var(--text);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 68%),
        rgba(255, 255, 255, 0.025);
    border-color: color-mix(in srgb, var(--cyan) 22%, transparent);
}

.hotspot-button.active {
    border-color: var(--line-strong);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 22%, transparent), transparent 74%),
        rgba(121, 214, 255, 0.08);
    box-shadow: 0 0 22px color-mix(in srgb, var(--cyan) 22%, transparent), inset 3px 0 0 var(--cyan);
}

.flight-status-card {
    position: relative;
    overflow: visible;
}

.flight-status-card::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 72%, #7d9193), color-mix(in srgb, var(--teal) 30%, var(--cyan)), transparent);
    opacity: 0.72;
    animation: signalBarPulse 2.6s ease-in-out infinite;
}

.flight-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.flight-feed-grid,
.flight-scan-grid,
.flight-custom-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.flight-feed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.flight-feed-grid span {
    display: grid;
    gap: 3px;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--cyan) 17%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 72%),
        color-mix(in srgb, var(--panel) 68%, transparent);
    padding: 8px;
}

.flight-feed-grid b {
    overflow: hidden;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flight-feed-grid em {
    color: var(--muted);
    font-size: 8px;
    font-style: normal;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.flight-command-card {
    overflow: visible;
}

body.dashboard-page #flyout-flights .resource-card {
    display: block;
    height: auto !important;
    max-height: none !important;
    min-height: auto;
    overflow: visible;
    padding: 12px;
}

.flight-console-grid {
    display: grid;
    grid-template-columns: minmax(420px, 1.28fr) minmax(300px, 0.72fr);
    gap: 12px;
    align-items: start;
    min-height: 0;
}

.flight-results-column {
    display: grid;
    gap: 12px;
    min-height: 0;
}

body.dashboard-page #flyout-flights .flight-status-card {
    min-height: auto;
}

body.dashboard-page #flyout-flights .flight-command-card,
body.dashboard-page #flyout-flights .flight-selected {
    min-height: auto;
}

body.dashboard-page #flyout-flights .flight-visible-card {
    min-height: 420px;
}

body.dashboard-page #flyout-flights .flight-list {
    max-height: min(52vh, 540px);
    overflow: auto;
    padding-right: 4px;
}

.flight-filter-section {
    border: 1px solid color-mix(in srgb, var(--cyan) 14%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 5%, transparent), transparent 62%),
        color-mix(in srgb, var(--panel) 46%, transparent);
    padding: 10px;
}

.flight-filter-deck {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}

.flight-search-shell,
.flight-filter-grid label,
.flight-scan-grid label,
.flight-custom-grid label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.flight-search-shell input,
.flight-filter-grid input,
.flight-filter-grid select,
.flight-scan-grid input,
.flight-scan-grid select,
.flight-custom-grid input {
    width: 100%;
    min-height: 40px;
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    border-radius: var(--radius-control);
    color: var(--text);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent),
        color-mix(in srgb, var(--bg) 78%, transparent);
    padding: 9px 10px;
    outline: none;
    box-shadow: inset 0 0 18px color-mix(in srgb, var(--cyan) 5%, transparent);
}

.flight-search-shell input:focus,
.flight-filter-grid input:focus,
.flight-filter-grid select:focus,
.flight-scan-grid input:focus,
.flight-scan-grid select:focus,
.flight-custom-grid input:focus {
    border-color: var(--line-strong);
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--cyan) 16%, transparent),
        0 0 20px color-mix(in srgb, var(--cyan) 14%, transparent);
}

.flight-type-chips,
.flight-region-chips {
    display: grid;
    gap: 7px;
}

.flight-type-chips {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.flight-region-chips {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.flight-type-chip,
.flight-region-chip {
    width: 100%;
    min-height: 32px;
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    border-radius: var(--radius-control);
    color: var(--muted);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 70%),
        color-mix(in srgb, var(--bg) 64%, transparent);
    padding: 7px 8px;
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 160ms ease, color 160ms ease, border-color 160ms ease, background 180ms ease, box-shadow 180ms ease;
}

.flight-type-chip:hover,
.flight-type-chip.active,
.flight-region-chip:hover,
.flight-region-chip.active {
    color: var(--text);
    border-color: var(--line-strong);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 20%, transparent), transparent 72%),
        color-mix(in srgb, var(--panel) 82%, transparent);
    box-shadow: 0 0 18px color-mix(in srgb, var(--cyan) 15%, transparent);
    transform: translateY(-1px);
}

.flight-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.flight-filter-grid select,
.flight-scan-grid select {
    appearance: none;
    -webkit-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--cyan) 50%),
        linear-gradient(135deg, var(--cyan) 50%, transparent 50%),
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent);
    background-position:
        calc(100% - 16px) 50%,
        calc(100% - 11px) 50%,
        0 0;
    background-size: 5px 5px, 5px 5px, 100% 100%;
    background-repeat: no-repeat;
    padding-right: 28px;
}

.flight-filter-grid option,
.flight-scan-grid option {
    background: #07111b;
    color: #eaf6ff;
}

.flight-toggle-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.flight-check {
    grid-template-columns: auto 1fr;
    align-items: center;
    min-height: 40px;
    padding: 9px 10px;
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    background: color-mix(in srgb, var(--cyan) 5%, transparent);
}

.flight-check input {
    width: 16px;
    min-height: 16px;
    accent-color: var(--cyan);
}

.flight-card {
    width: 100%;
    text-align: left;
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    border-radius: var(--radius-control);
    color: var(--text);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 72%),
        rgba(255, 255, 255, 0.025);
    padding: 10px 11px;
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 180ms ease, background 180ms ease;
}

.flight-card:hover {
    transform: translateY(-2px);
    border-color: var(--line-strong);
    box-shadow: 0 0 22px color-mix(in srgb, var(--cyan) 16%, transparent);
}

.flight-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 9px 0 7px;
}

.flight-card-grid span {
    display: grid;
    gap: 2px;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--cyan) 12%, transparent);
    background: color-mix(in srgb, var(--cyan) 4%, transparent);
    padding: 6px;
}

.flight-card-grid b {
    overflow: hidden;
    color: var(--text);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flight-card-grid em {
    color: var(--muted);
    font-size: 8px;
    font-style: normal;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.flight-selected-title {
    margin-top: 6px;
    font-family: var(--font-display);
    font-size: 22px;
    letter-spacing: 0.12em;
    color: var(--text);
    text-shadow: 0 0 14px color-mix(in srgb, var(--cyan) 34%, transparent);
}

.flight-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-top: 12px;
}

.flight-metric-grid span {
    display: grid;
    gap: 2px;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--cyan) 16%, transparent);
    background: color-mix(in srgb, var(--cyan) 5%, transparent);
}

.flight-metric-grid b {
    font-size: 12px;
    color: var(--text);
}

.flight-metric-grid em {
    font-style: normal;
    font-size: 9px;
    color: var(--muted);
    letter-spacing: 0.12em;
}

.flight-selected-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.flight-selected-tags span {
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    color: var(--muted);
    background: color-mix(in srgb, var(--cyan) 5%, transparent);
    padding: 5px 7px;
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.flight-selected-tags .alert {
    border-color: color-mix(in srgb, var(--amber) 55%, transparent);
    color: var(--amber);
    background: color-mix(in srgb, var(--amber) 12%, transparent);
}

body.dashboard-page #flyout-analytics .resource-card {
    border-color: color-mix(in srgb, var(--cyan) 25%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 44%),
        rgba(255, 255, 255, 0.025);
}

body.dashboard-page #flyout-analytics .kicker,
body.dashboard-page #flyout-analytics .micro-label {
    color: var(--cyan);
    text-shadow: 0 0 10px color-mix(in srgb, var(--cyan) 38%, transparent);
}

body.dashboard-page #flyout-analytics canvas {
    filter: drop-shadow(0 0 12px color-mix(in srgb, var(--cyan) 14%, transparent)) saturate(1.15) contrast(1.08);
}

.craft-pie-card {
    position: relative;
    overflow: hidden;
    min-height: 430px;
}

.craft-pie-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 32%),
        linear-gradient(115deg, rgba(255,255,255,0.085), transparent 30%, rgba(255,255,255,0.035) 54%, transparent 72%);
    opacity: 0.8;
    mix-blend-mode: screen;
}

.craft-pie-wrap {
    position: relative;
    margin-top: 12px;
    min-height: 320px;
    height: 320px;
    display: block;
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.012)),
        radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 58%),
        rgba(0, 0, 0, 0.18);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.12),
        inset 0 -18px 42px rgba(0,0,0,0.28),
        0 0 24px color-mix(in srgb, var(--cyan) 10%, transparent);
}

.craft-pie-wrap canvas {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 320px;
    max-height: none !important;
}

.craft-pie-tooltip {
    position: absolute;
    z-index: 8;
    width: min(252px, calc(100% - 28px));
    padding: 11px 12px;
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    color: var(--text);
    background:
        linear-gradient(135deg, rgba(255,255,255,0.11), rgba(255,255,255,0.035)),
        color-mix(in srgb, var(--bg) 86%, transparent);
    box-shadow:
        0 16px 34px rgba(0,0,0,0.34),
        inset 0 1px 0 rgba(255,255,255,0.14),
        0 0 24px color-mix(in srgb, var(--cyan) 18%, transparent);
    backdrop-filter: blur(16px) saturate(1.24);
    pointer-events: none;
    animation: tooltipSignalIn 150ms ease both;
}

.craft-pie-tooltip strong,
.craft-pie-tooltip span,
.craft-pie-tooltip em {
    display: block;
}

.craft-pie-tooltip strong {
    margin: 5px 0 8px;
    font-size: 15px;
    letter-spacing: 0.02em;
    color: color-mix(in srgb, var(--text) 88%, var(--cyan));
}

.craft-pie-tooltip span {
    margin-top: 4px;
    font-size: 11px;
    color: var(--muted);
}

.craft-pie-tooltip em {
    margin-top: 8px;
    font-size: 10px;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--cyan);
}

.craft-pie-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 10px;
}

.craft-pie-key {
    min-width: 0;
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    padding: 8px 9px;
    border: 1px solid color-mix(in srgb, var(--cyan) 16%, transparent);
    color: var(--text);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 72%),
        rgba(255,255,255,0.026);
    cursor: pointer;
    text-align: left;
    transition: transform 150ms ease, border-color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.craft-pie-key:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--cyan) 42%, transparent);
    box-shadow: 0 0 18px color-mix(in srgb, var(--cyan) 14%, transparent);
}

.craft-pie-key:disabled {
    cursor: help;
    opacity: 0.68;
}

.craft-pie-key span {
    width: 10px;
    height: 10px;
    background: var(--key-color);
    box-shadow: 0 0 12px var(--key-color);
}

.craft-pie-key b {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    letter-spacing: 0.05em;
}

.craft-pie-key em {
    font-size: 9px;
    font-style: normal;
    color: var(--muted);
}

.signal-diagram {
    display: grid;
    gap: 9px;
    margin-top: 10px;
}

.signal-diagram-row {
    --row-level: 20%;
    --row-index: 0;
    display: grid;
    gap: 5px;
    padding: 8px 9px;
    border: 1px solid color-mix(in srgb, var(--cyan) 17%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 72%),
        rgba(255, 255, 255, 0.02);
    animation: signalRowIn 420ms cubic-bezier(0.18, 0.88, 0.18, 1) both;
    animation-delay: calc(var(--row-index) * 34ms);
}

.signal-diagram-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--text);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.signal-diagram-label span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.signal-diagram-label b {
    color: var(--cyan);
    font-family: var(--font-mono);
    text-shadow: 0 0 12px color-mix(in srgb, var(--cyan) 42%, transparent);
}

.signal-diagram-track {
    height: 8px;
    border: 1px solid color-mix(in srgb, var(--cyan) 16%, transparent);
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 12px),
        rgba(255, 255, 255, 0.045);
    overflow: hidden;
}

.signal-diagram-track span {
    display: block;
    width: var(--row-level);
    height: 100%;
    background:
        linear-gradient(90deg, var(--cyan), color-mix(in srgb, var(--cyan) 54%, var(--amber)), var(--amber));
    box-shadow:
        0 0 14px color-mix(in srgb, var(--cyan) 38%, transparent),
        inset 0 0 8px rgba(255, 255, 255, 0.24);
    animation: signalBarPulse 2.8s ease-in-out infinite;
}

.hotspot-topline {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.hotspot-topline strong {
    display: block;
    margin-top: 3px;
    font-size: 11px;
    letter-spacing: 0.06em;
    line-height: 1.35;
}

.hotspot-topline span {
    min-width: 34px;
    text-align: center;
    padding: 5px 7px;
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    color: var(--cyan);
    font-family: var(--font-mono);
    background: color-mix(in srgb, var(--cyan) 8%, transparent);
}

.hotspot-meter {
    margin: 10px 0 7px;
    height: 7px;
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 14px),
        rgba(255, 255, 255, 0.04);
    overflow: hidden;
}

.hotspot-meter div {
    width: var(--hotspot-level);
    height: 100%;
    background: linear-gradient(90deg, color-mix(in srgb, var(--cyan) 68%, #7d9193), color-mix(in srgb, var(--teal) 28%, var(--cyan)));
    box-shadow: 0 0 16px color-mix(in srgb, var(--cyan) 35%, transparent);
    animation: signalBarPulse 2.6s ease-in-out infinite;
}

body.dashboard-page .list-card {
    text-align: left;
}

/* Theme animation upgrades */
@keyframes rainFall {
    0% { background-position: 0 0, 0 0; }
    100% { background-position: 0 520px, 0 260px; }
}

@keyframes synthSweep {
    0% { transform: translateY(-8%); opacity: 0.42; }
    50% { transform: translateY(8%); opacity: 0.7; }
    100% { transform: translateY(-8%); opacity: 0.42; }
}

@keyframes redGlitch {
    0%, 100% { transform: translateX(0); opacity: 0.2; }
    8% { transform: translateX(-2px); opacity: 0.5; }
    10% { transform: translateX(3px); opacity: 0.64; }
    12% { transform: translateX(0); opacity: 0.22; }
}

@keyframes voidVortex {
    0% { transform: scale(1) rotate(0deg); opacity: 0.22; }
    100% { transform: scale(1.22) rotate(360deg); opacity: 0.42; }
}

@keyframes flyoutSheen {
    0% { transform: translateX(-58%); opacity: 0; }
    24% { opacity: 0.75; }
    100% { transform: translateX(132%); opacity: 0; }
}

@keyframes flyoutPanelIn {
    0% {
        opacity: 0;
        filter: saturate(0.74) blur(1.6px);
        transform: translate3d(var(--flyout-enter-x), 0, 0) scale(0.958);
    }
    62% {
        opacity: 1;
        filter: saturate(1.05) blur(0);
        transform: translate3d(0, 0, 0) scale(1.008);
    }
    100% {
        opacity: 1;
        filter: saturate(1) blur(0);
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes flyoutPanelOut {
    0% {
        opacity: 1;
        filter: saturate(1) blur(0);
        transform: translate3d(0, 0, 0) scale(1);
    }
    100% {
        opacity: 0;
        filter: saturate(0.76) blur(1px);
        transform: translate3d(var(--flyout-exit-x), 0, 0) scale(0.984);
    }
}

@keyframes flyoutItemRise {
    0% { transform: translateY(7px); opacity: 0.18; }
    100% { transform: translateY(0); opacity: 1; }
}

@keyframes ionBandShift {
    0% { background-position: 0 0, 0 0; }
    100% { background-position: 0 300px, 220px 0; }
}

@keyframes chromeSweep {
    0% { transform: translateX(-22%) skewX(-8deg); opacity: 0.16; }
    50% { opacity: 0.38; }
    100% { transform: translateX(22%) skewX(-8deg); opacity: 0.16; }
}

@keyframes emberDrift {
    0% { background-position: 0 0, 0 0; }
    100% { background-position: 0 260px, 0 -120px; }
}

@keyframes ghostFlicker {
    0%, 100% { opacity: 0.24; }
    6% { opacity: 0.4; }
    9% { opacity: 0.2; }
    14% { opacity: 0.36; }
    17% { opacity: 0.22; }
    46% { opacity: 0.3; }
    49% { opacity: 0.16; }
    54% { opacity: 0.34; }
}

@keyframes diffuseThemePulse {
    0%, 100% { filter: saturate(1.08) contrast(1.07) brightness(1.01); }
    50% { filter: saturate(1.18) contrast(1.14) brightness(1.035); }
}

@keyframes tooltipSignalIn {
    0% { filter: blur(1px) saturate(0.75); opacity: 0; }
    100% { filter: blur(0) saturate(1.12); opacity: 1; }
}

@keyframes signalRowIn {
    0% { opacity: 0; transform: translate3d(-8px, 0, 0) scaleX(0.98); }
    100% { opacity: 1; transform: translate3d(0, 0, 0) scaleX(1); }
}

@keyframes signalBarPulse {
    0%, 100% { filter: saturate(1) brightness(1); opacity: 0.88; }
    50% { filter: saturate(1.28) brightness(1.18); opacity: 1; }
}

@keyframes heliosPulse {
    0% { transform: scale(0.96); opacity: 0.2; }
    50% { transform: scale(1.08); opacity: 0.42; }
    100% { transform: scale(0.96); opacity: 0.2; }
}

@keyframes dataCascade {
    0% { background-position: 0 0, 0 0; }
    100% { background-position: 0 240px, 0 -160px; }
}

@keyframes frostDrift {
    0% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.2; }
    100% { transform: translate3d(0, -8px, 0) scale(1.08); opacity: 0.34; }
}

@keyframes polarEtch {
    0% { background-position: 0 0, 0 0, 50% 50%; filter: contrast(1.04) saturate(1.02); }
    50% { background-position: 0 10px, 18px 0, 52% 48%; filter: contrast(1.18) saturate(1.08); }
    100% { background-position: 0 20px, 36px 0, 50% 50%; filter: contrast(1.04) saturate(1.02); }
}

@keyframes lucentFiche {
    0% { transform: translate3d(-1.5%, -1%, 0) rotate(0deg); opacity: 0.26; }
    50% { transform: translate3d(1.5%, 1%, 0) rotate(0.35deg); opacity: 0.42; }
    100% { transform: translate3d(-1.5%, -1%, 0) rotate(0deg); opacity: 0.26; }
}

@keyframes umbralRefraction {
    0% { background-position: -20% 0, 120% 0, 0 0; transform: skewX(-1deg); }
    50% { background-position: 55% 0, 45% 0, 16px 24px; transform: skewX(1deg); }
    100% { background-position: 130% 0, -30% 0, 32px 48px; transform: skewX(-1deg); }
}

@keyframes amberTicker {
    0% { background-position: 0 0, 0 0, 0 0; opacity: 0.32; }
    50% { background-position: 0 84px, 18px 0, 0 0; opacity: 0.5; }
    100% { background-position: 0 168px, 36px 0, 0 0; opacity: 0.32; }
}

@keyframes ultravioletBlind {
    0% { transform: translateX(-2%) skewX(-3deg); opacity: 0.25; }
    45% { transform: translateX(3%) skewX(2deg); opacity: 0.46; }
    55% { transform: translateX(2%) skewX(-5deg); opacity: 0.34; }
    100% { transform: translateX(-2%) skewX(-3deg); opacity: 0.25; }
}

@keyframes biolumePulse {
    0%, 100% { background-size: 130px 130px, 260px 260px, 100% 100%; filter: hue-rotate(0deg) saturate(1.08); }
    50% { background-size: 148px 148px, 232px 232px, 100% 100%; filter: hue-rotate(8deg) saturate(1.28); }
}

.shell {
    position: relative;
}

.shell::before,
.shell::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 1;
}

body[data-theme="echelon"] .shell::before {
    opacity: 0.35;
    background:
        repeating-linear-gradient(to bottom, rgba(121, 214, 255, 0.08) 0 1px, transparent 1px 8px),
        linear-gradient(115deg, rgba(103, 163, 255, 0.16), transparent 42%);
    animation: ionBandShift 8.2s linear infinite;
}

body[data-theme="echelon"] .shell::after {
    opacity: 0.27;
    background: radial-gradient(circle at 26% 14%, rgba(154, 230, 255, 0.19), transparent 38%);
    animation: diffuseThemePulse 7.4s ease-in-out infinite;
}

body[data-theme="chromeslate"] .shell::before {
    opacity: 0.3;
    background:
        linear-gradient(112deg, transparent 0%, rgba(214, 226, 255, 0.12) 45%, transparent 80%),
        repeating-linear-gradient(to right, rgba(255,255,255,0.028) 0 1px, transparent 1px 12px);
    animation: chromeSweep 6.6s ease-in-out infinite alternate;
}

body[data-theme="chromeslate"] .shell::after {
    opacity: 0.25;
    background: radial-gradient(circle at 24% 16%, rgba(196, 214, 255, 0.18), transparent 44%);
    animation: diffuseThemePulse 8.2s ease-in-out infinite;
}

body[data-theme="ghostsignal"] .shell::before {
    opacity: 0.26;
    background:
        repeating-linear-gradient(to right, rgba(178, 255, 218, 0.06) 0 1px, transparent 1px 11px),
        linear-gradient(180deg, rgba(178, 255, 218, 0.08), transparent 42%);
    animation: ghostFlicker 8.8s steps(1, end) infinite;
}

body[data-theme="ghostsignal"] .shell::after {
    opacity: 0.24;
    background:
        radial-gradient(circle at 40% 16%, rgba(194, 255, 229, 0.2), transparent 42%),
        radial-gradient(circle at 74% 72%, rgba(121, 255, 215, 0.1), transparent 34%);
    animation: diffuseThemePulse 7.8s ease-in-out infinite;
}

body[data-theme="polaranomaly"] .shell::before {
    opacity: 0.42;
    mix-blend-mode: multiply;
    background:
        repeating-linear-gradient(to bottom, rgba(28, 35, 37, 0.11) 0 1px, transparent 1px 8px),
        radial-gradient(circle, rgba(28, 35, 37, 0.06) 0 1px, transparent 1px 9px),
        linear-gradient(115deg, rgba(255, 255, 255, 0.42), transparent 36%, rgba(40, 50, 52, 0.08));
    background-size: 100% 8px, 18px 18px, 100% 100%;
    animation: polarEtch 9.6s ease-in-out infinite;
}

body[data-theme="polaranomaly"] .shell::after {
    opacity: 0.24;
    mix-blend-mode: multiply;
    background:
        linear-gradient(90deg, transparent 0 48%, rgba(28, 35, 37, 0.12) 49% 51%, transparent 52%),
        radial-gradient(circle at 68% 18%, rgba(28, 35, 37, 0.1), transparent 42%);
    animation: diffuseThemePulse 8.8s ease-in-out infinite;
}

body[data-theme="lucentarchive"] .shell::before {
    opacity: 0.36;
    mix-blend-mode: multiply;
    background:
        linear-gradient(120deg, rgba(45, 102, 116, 0.12), transparent 32%, rgba(167, 114, 56, 0.08) 68%, transparent),
        repeating-linear-gradient(90deg, rgba(33, 52, 58, 0.055) 0 1px, transparent 1px 28px),
        radial-gradient(circle at 34% 18%, rgba(255, 255, 255, 0.5), transparent 40%);
    animation: lucentFiche 10.5s ease-in-out infinite;
}

body[data-theme="lucentarchive"] .shell::after {
    opacity: 0.28;
    mix-blend-mode: multiply;
    background:
        radial-gradient(circle at 78% 22%, rgba(45, 102, 116, 0.12), transparent 38%),
        linear-gradient(180deg, rgba(167, 114, 56, 0.055), transparent 52%);
    animation: diffuseThemePulse 9.2s ease-in-out infinite;
}

body[data-theme="umbralglass"] .shell::before {
    opacity: 0.38;
    background:
        linear-gradient(112deg, transparent 0 35%, rgba(128, 247, 255, 0.16) 48%, transparent 62%),
        linear-gradient(68deg, transparent 0 44%, rgba(255, 255, 255, 0.08) 50%, transparent 58%),
        repeating-linear-gradient(120deg, rgba(128, 247, 255, 0.045) 0 1px, transparent 1px 20px);
    animation: umbralRefraction 8.8s ease-in-out infinite;
}

body[data-theme="umbralglass"] .shell::after {
    opacity: 0.3;
    background:
        radial-gradient(circle at 22% 18%, rgba(128, 247, 255, 0.18), transparent 36%),
        radial-gradient(circle at 82% 70%, rgba(255, 255, 255, 0.08), transparent 32%);
    animation: diffuseThemePulse 7.1s ease-in-out infinite;
}

body[data-theme="blacksiteamber"] .shell::before {
    opacity: 0.45;
    background:
        repeating-linear-gradient(to bottom, rgba(255, 178, 94, 0.13) 0 1px, transparent 1px 9px),
        repeating-linear-gradient(to right, rgba(255, 222, 159, 0.06) 0 2px, transparent 2px 42px),
        linear-gradient(180deg, rgba(255, 178, 94, 0.1), transparent 46%);
    animation: amberTicker 5.8s linear infinite;
}

body[data-theme="blacksiteamber"] .shell::after {
    opacity: 0.34;
    background:
        linear-gradient(90deg, rgba(255, 178, 94, 0.08), transparent 24%, rgba(255, 82, 46, 0.05)),
        radial-gradient(circle at 34% 18%, rgba(255, 178, 94, 0.18), transparent 42%);
    animation: redGlitch 10.8s steps(1) infinite, diffuseThemePulse 7.6s ease-in-out infinite;
}

body[data-theme="ultravioletnoir"] .shell::before {
    opacity: 0.42;
    background:
        repeating-linear-gradient(104deg, rgba(209, 124, 255, 0.13) 0 1px, transparent 1px 24px),
        linear-gradient(90deg, rgba(209, 124, 255, 0.12), transparent 32%, rgba(137, 183, 255, 0.08));
    animation: ultravioletBlind 7.8s ease-in-out infinite;
}

body[data-theme="ultravioletnoir"] .shell::after {
    opacity: 0.32;
    background:
        radial-gradient(circle at 76% 18%, rgba(209, 124, 255, 0.2), transparent 38%),
        radial-gradient(circle at 28% 78%, rgba(137, 183, 255, 0.13), transparent 34%);
    animation: redGlitch 12.4s steps(1) infinite, diffuseThemePulse 7.4s ease-in-out infinite;
}

body[data-theme="biolumecathedral"] .shell::before {
    opacity: 0.38;
    background:
        radial-gradient(circle at 50% 50%, rgba(99, 255, 199, 0.1) 0 1px, transparent 1px 38px),
        conic-gradient(from 45deg, rgba(99, 255, 199, 0.07), transparent 18%, rgba(181, 255, 139, 0.045), transparent 42%),
        radial-gradient(circle at 50% -16%, rgba(99, 255, 199, 0.14), transparent 58%);
    animation: biolumePulse 9.4s ease-in-out infinite;
}

body[data-theme="biolumecathedral"] .shell::after {
    opacity: 0.28;
    background:
        linear-gradient(115deg, transparent 0 38%, rgba(99, 255, 199, 0.1) 48%, transparent 58%),
        radial-gradient(circle at 72% 70%, rgba(181, 255, 139, 0.1), transparent 34%);
    animation: diffuseThemePulse 8.6s ease-in-out infinite;
}

body[data-theme="haloterminal"] .shell::before {
    opacity: 0.36;
    mix-blend-mode: multiply;
    background:
        repeating-linear-gradient(to bottom, color-mix(in srgb, var(--text) 9%, transparent) 0 1px, transparent 1px 7px),
        radial-gradient(circle, color-mix(in srgb, var(--text) 5%, transparent) 0 1px, transparent 1px 12px),
        linear-gradient(90deg, color-mix(in srgb, var(--teal) 10%, transparent), transparent 48%);
    animation: polarEtch 10.2s ease-in-out infinite;
}

body[data-theme="haloterminal"] .shell::after {
    opacity: 0.24;
    mix-blend-mode: multiply;
    background: radial-gradient(circle at 72% 18%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 40%);
    animation: diffuseThemePulse 8.4s ease-in-out infinite;
}

body[data-theme="milkglassmatrix"] .shell::before {
    opacity: 0.34;
    mix-blend-mode: multiply;
    background:
        linear-gradient(116deg, rgba(255,255,255,0.4), transparent 32%, color-mix(in srgb, var(--cyan) 10%, transparent) 64%, transparent),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--text) 4%, transparent) 0 1px, transparent 1px 26px);
    animation: lucentFiche 10.8s ease-in-out infinite;
}

body[data-theme="milkglassmatrix"] .shell::after {
    opacity: 0.25;
    mix-blend-mode: multiply;
    background:
        radial-gradient(circle at 18% 22%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 38%),
        radial-gradient(circle at 82% 76%, color-mix(in srgb, var(--teal) 9%, transparent), transparent 34%);
    animation: diffuseThemePulse 8.8s ease-in-out infinite;
}

body[data-theme="daybreakvector"] .shell::before {
    opacity: 0.35;
    mix-blend-mode: multiply;
    background:
        repeating-linear-gradient(118deg, color-mix(in srgb, var(--cyan) 9%, transparent) 0 1px, transparent 1px 22px),
        linear-gradient(90deg, color-mix(in srgb, var(--amber) 10%, transparent), transparent 38%, color-mix(in srgb, var(--cyan) 7%, transparent));
    animation: ultravioletBlind 9s ease-in-out infinite;
}

body[data-theme="daybreakvector"] .shell::after {
    opacity: 0.24;
    mix-blend-mode: multiply;
    background:
        radial-gradient(circle at 72% 20%, color-mix(in srgb, var(--amber) 12%, transparent), transparent 38%),
        radial-gradient(circle at 28% 78%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 34%);
    animation: diffuseThemePulse 8.5s ease-in-out infinite;
}

body[data-theme="nightwireorchid"] .shell::before {
    opacity: 0.42;
    background:
        repeating-linear-gradient(104deg, rgba(255, 119, 243, 0.12) 0 1px, transparent 1px 24px),
        linear-gradient(90deg, rgba(255, 119, 243, 0.12), transparent 32%, rgba(138, 184, 255, 0.08));
    animation: ultravioletBlind 7.2s ease-in-out infinite;
}

body[data-theme="nightwireorchid"] .shell::after {
    opacity: 0.32;
    background:
        radial-gradient(circle at 78% 18%, rgba(255, 119, 243, 0.2), transparent 38%),
        radial-gradient(circle at 24% 74%, rgba(138, 184, 255, 0.13), transparent 34%);
    animation: redGlitch 11.2s steps(1) infinite, diffuseThemePulse 7.2s ease-in-out infinite;
}

body[data-theme="eventhorizongold"] .shell::before {
    opacity: 0.42;
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 211, 110, 0.17), transparent 28%),
        radial-gradient(circle at 50% 50%, rgba(255, 125, 70, 0.09), transparent 58%),
        repeating-linear-gradient(to right, rgba(255, 211, 110, 0.045) 0 1px, transparent 1px 34px);
    animation: heliosPulse 6.8s ease-in-out infinite;
}

body[data-theme="eventhorizongold"] .shell::after {
    opacity: 0.3;
    background:
        linear-gradient(90deg, rgba(255, 211, 110, 0.08), transparent 24%, rgba(255, 113, 64, 0.05)),
        radial-gradient(circle at 34% 18%, rgba(255, 211, 110, 0.16), transparent 42%);
    animation: amberTicker 7.2s linear infinite;
}

body[data-theme="deepradar"] .shell::before {
    opacity: 0.38;
    background:
        repeating-radial-gradient(circle at 50% 50%, rgba(78, 246, 167, 0.11) 0 1px, transparent 1px 42px),
        linear-gradient(120deg, transparent 0 42%, rgba(78, 246, 167, 0.1) 50%, transparent 58%);
    animation: biolumePulse 8.8s ease-in-out infinite;
}

body[data-theme="deepradar"] .shell::after {
    opacity: 0.28;
    background:
        linear-gradient(115deg, transparent 0 38%, rgba(78, 246, 167, 0.1) 48%, transparent 58%),
        radial-gradient(circle at 72% 72%, rgba(80, 145, 255, 0.1), transparent 34%);
    animation: diffuseThemePulse 8.2s ease-in-out infinite;
}

body[data-theme="obsidianpulse"] .shell::before {
    opacity: 0.4;
    background:
        repeating-linear-gradient(to bottom, rgba(96, 224, 255, 0.08) 0 2px, transparent 2px 10px),
        linear-gradient(125deg, rgba(77, 151, 255, 0.18), transparent 42%, rgba(96, 224, 255, 0.12));
    animation: ionBandShift 7.2s linear infinite;
}

body[data-theme="obsidianpulse"] .shell::after {
    opacity: 0.31;
    background: radial-gradient(circle at 70% 18%, rgba(130, 214, 255, 0.22), transparent 40%);
    animation: diffuseThemePulse 6.8s ease-in-out infinite;
}

body[data-theme="neonvector"] .shell::before {
    opacity: 0.5;
    background:
        repeating-linear-gradient(to bottom, rgba(62, 244, 255, 0.1) 0 1px, transparent 1px 6px),
        repeating-linear-gradient(to right, rgba(120, 251, 255, 0.07) 0 1px, transparent 1px 12px);
    animation: synthSweep 4.1s ease-in-out infinite;
}

body[data-theme="neonvector"] .shell::after {
    opacity: 0.34;
    background:
        radial-gradient(circle at 72% 26%, rgba(123, 250, 255, 0.2), transparent 36%),
        linear-gradient(90deg, rgba(62, 244, 255, 0.08), transparent 46%);
    animation: diffuseThemePulse 6.2s ease-in-out infinite;
}

body[data-theme="crimsonops"] .shell::before {
    opacity: 0.5;
    background-image:
        linear-gradient(180deg, rgba(255, 95, 141, 0.36) 0 2px, transparent 2px 100%),
        linear-gradient(180deg, rgba(255, 130, 108, 0.22) 0 1px, transparent 1px 100%);
    background-size: 2px 34px, 1px 56px;
    animation: rainFall 1.15s linear infinite;
}

body[data-theme="crimsonops"] .shell::after {
    opacity: 0.42;
    background:
        linear-gradient(90deg, rgba(255, 57, 102, 0.08), transparent 20%, rgba(255, 113, 113, 0.06)),
        radial-gradient(circle at 36% 24%, rgba(255, 117, 153, 0.18), transparent 44%);
    animation: redGlitch 8.4s steps(1) infinite, diffuseThemePulse 7.1s ease-in-out infinite;
}

body[data-theme="quantumveil"] .shell::before {
    opacity: 0.36;
    background:
        radial-gradient(circle at 52% 50%, rgba(184, 200, 255, 0.2), rgba(0, 0, 0, 0) 32%),
        radial-gradient(circle at 52% 50%, rgba(115, 238, 255, 0.14), rgba(0, 0, 0, 0) 58%);
    animation: heliosPulse 6.2s ease-in-out infinite;
}

body[data-theme="quantumveil"] .shell::after {
    opacity: 0.32;
    background: radial-gradient(circle at 30% 16%, rgba(193, 205, 255, 0.16), transparent 44%);
    animation: diffuseThemePulse 7s ease-in-out infinite;
}

body[data-theme] .panel,
body[data-theme] .resource-card,
body[data-theme] .signal-card,
body[data-theme] .radio-card,
body[data-theme] .radio-summary-card,
body[data-theme] .radio-legal-note,
body[data-theme] .flyout-panel,
body[data-theme] .globe-overlay,
body[data-theme] .modal-card,
body[data-theme] .webcam-card {
    filter: saturate(1.08) contrast(1.08) brightness(1.015);
}

body[data-theme] .resource-card:hover,
body[data-theme] .signal-card:hover,
body[data-theme] .radio-card:hover,
body[data-theme] .webcam-card:hover,
body[data-theme] .panel:hover {
    filter: saturate(1.18) contrast(1.12) brightness(1.035);
}

:where(
    .brand-mark,
    .mobile-nav-toggle,
    .theme-panel,
    .theme-option,
    .nav-link,
    .button,
    .filter-chip,
    .theme-picker,
    .panel,
    .stat-card,
    .globe-shell,
    .globe-overlay,
    .globe-map-loader-card,
    .globe-map-loader-track,
    .list-card,
    .signal-card,
    .resource-card,
    .case-row,
    .tag,
    .date-field input[type="date"],
    #search-box,
    .modal-card,
    .media-card,
    .media-frame,
    .icon-badge,
    .term-chip,
    .gerb-video-card,
    .glossary-card,
    .gerb-disclosure,
    .mini-definition,
    .empty-state,
    .metric-chip,
    .tab-button,
    .flyout-panel,
    .flight-card,
    .flight-filter-grid input,
    .flight-filter-grid select,
    .flight-check,
    .flight-metric-grid span,
    .gerb-flyout,
    .gerb2-search-row input,
    .gerb2-search-row select,
    .gerb2-video-frame,
    .gerb2-video-card,
    .gerb2-drawer,
    .page-transition-card,
    .page-transition-track
) {
    border-radius: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .flyout-panel,
    .flyout-panel.left,
    .flyout-panel.right {
        filter: none !important;
        transform: translate3d(0, 0, 0) !important;
    }
}

/* Cinematic theme intensity pass */
body[data-theme] {
    --theme-noise-opacity: 0.28;
    --theme-grid-opacity: 0.31;
    --panel-sheen-a: color-mix(in srgb, var(--cyan) 13%, transparent);
    --panel-sheen-b: color-mix(in srgb, var(--pink) 8%, transparent);
    --chrome-glow: color-mix(in srgb, var(--cyan) 34%, transparent);
    --line: color-mix(in srgb, var(--cyan) 28%, transparent);
    --line-strong: color-mix(in srgb, var(--cyan) 72%, white 6%);
}

body[data-theme]::before {
    opacity: 0.5;
    filter: saturate(1.22) contrast(1.08);
}

body[data-theme]::after {
    opacity: 0.82;
    background:
        radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--cyan) 30%, transparent), transparent 19%),
        radial-gradient(circle at 84% 12%, color-mix(in srgb, var(--pink) 22%, transparent), transparent 24%),
        radial-gradient(circle at 62% 86%, color-mix(in srgb, var(--amber) 18%, transparent), transparent 28%),
        linear-gradient(115deg, transparent 0 35%, color-mix(in srgb, var(--cyan) 14%, transparent) 45%, transparent 58%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent) 0 1px, transparent 1px 28px);
    background-size: 125% 125%, 135% 135%, 130% 130%, 190% 100%, 100% 100%;
    animation: dramaticThemeAtmosphere 13s ease-in-out infinite alternate;
}

body[data-theme] .shell::before,
body[data-theme] .shell::after {
    filter: saturate(1.45) contrast(1.16) brightness(1.06);
}

.topbar,
.panel,
.resource-card,
.signal-card,
.list-card,
.case-row,
.webcam-card,
.radio-card,
.taxonomy-card,
.taxonomy-media-card,
.gerb2-video-card,
.flight-card,
.modal-card,
.flyout-panel,
.theme-panel {
    border-color: color-mix(in srgb, var(--cyan) 38%, transparent);
    box-shadow:
        var(--shadow),
        inset 0 1px 0 color-mix(in srgb, white 16%, transparent),
        inset 0 0 28px color-mix(in srgb, var(--cyan) 8%, transparent),
        0 0 34px color-mix(in srgb, var(--cyan) 18%, transparent);
}

.panel::after,
.resource-card::after,
.signal-card::after,
.taxonomy-card::after,
.taxonomy-media-card::after,
.gerb2-video-card::after,
.webcam-card::after,
.radio-card::after,
.flight-card::after {
    opacity: 0.3;
    filter: saturate(1.7);
}

.topbar::after {
    height: 3px;
    box-shadow:
        0 0 12px var(--header-accent-line),
        0 0 28px color-mix(in srgb, var(--cyan) 54%, transparent),
        0 0 58px color-mix(in srgb, var(--pink) 22%, transparent);
    animation: headerSignalDrift 3.8s ease-in-out infinite alternate, dramaticHeaderFlicker 9s steps(1) infinite;
}

.brand-mark,
.landing-logo,
.cursor-pointer,
.cursor-trail,
.cursor-option-preview {
    filter:
        drop-shadow(0 0 8px color-mix(in srgb, var(--cyan) 80%, transparent))
        drop-shadow(0 0 24px color-mix(in srgb, var(--pink) 22%, transparent));
}

.nav-link.active,
.nav-link:hover,
.button:hover,
.filter-chip.active,
.filter-chip:hover,
.theme-option:hover,
.cursor-option:hover,
.cursor-option.active,
.tab-button:hover,
.hotspot-button:hover,
.taxonomy-media-filter:hover {
    border-color: color-mix(in srgb, var(--cyan) 78%, white 10%);
    color: color-mix(in srgb, var(--text) 78%, white 22%);
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cyan) 27%, transparent), transparent 58%),
        linear-gradient(105deg, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 42%, color-mix(in srgb, var(--pink) 11%, transparent)),
        color-mix(in srgb, var(--overlay-bg) 60%, transparent);
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--cyan) 52%, transparent),
        0 0 26px color-mix(in srgb, var(--cyan) 34%, transparent),
        0 0 52px color-mix(in srgb, var(--pink) 14%, transparent),
        inset 0 0 20px color-mix(in srgb, white 7%, transparent);
}

.nav-link:hover,
.button:hover,
.filter-chip:hover,
.theme-option:hover,
.cursor-option:hover,
.tab-button:hover,
.hotspot-button:hover,
.taxonomy-media-filter:hover {
    transform: translateY(-4px) scale(1.045);
    filter: saturate(1.42) contrast(1.16) brightness(1.1);
}

.stat-value,
.metric-value,
.case-count,
.micro-label,
.eyebrow,
.kicker,
.theme-group-label {
    text-shadow:
        0 0 10px color-mix(in srgb, var(--cyan) 36%, transparent),
        0 0 24px color-mix(in srgb, var(--pink) 14%, transparent);
}

.theme-option-swatch,
.theme-swatch,
.cursor-option-preview {
    box-shadow:
        inset 0 0 14px color-mix(in srgb, white 15%, transparent),
        0 0 22px color-mix(in srgb, var(--cyan) 38%, transparent);
}

body[data-theme="ghostsignal"] {
    --cyan: #6cffc4;
    --teal: #24ffd9;
    --amber: #d9ff7a;
    --pink: #83ffe8;
    --shell-accent-1: rgba(108, 255, 196, 0.24);
    --shell-accent-2: rgba(36, 255, 217, 0.16);
    --theme-pulse-a: rgba(108, 255, 196, 0.28);
    --theme-pulse-b: rgba(131, 255, 232, 0.16);
    --cursor-core: #6cffc4;
    --cursor-ring: #e9fff7;
    --cursor-glow: rgba(108, 255, 196, 0.58);
    --header-accent-line: rgba(108, 255, 196, 0.86);
}

body[data-theme="blacksiteamber"] {
    --cyan: #ffd047;
    --teal: #fff0a3;
    --amber: #ff9f1a;
    --pink: #ff6f2c;
    --shell-accent-1: rgba(255, 208, 71, 0.25);
    --shell-accent-2: rgba(255, 111, 44, 0.13);
    --theme-pulse-a: rgba(255, 208, 71, 0.3);
    --theme-pulse-b: rgba(255, 111, 44, 0.16);
    --cursor-core: #ffd047;
    --cursor-ring: #fff7c9;
    --cursor-glow: rgba(255, 208, 71, 0.6);
    --header-accent-line: rgba(255, 208, 71, 0.9);
}

body[data-theme="nightwireorchid"] {
    --cyan: #b88adf;
    --teal: #7899c8;
    --amber: #b9a978;
    --pink: #a98fc1;
    --shell-accent-1: rgba(184, 138, 223, 0.16);
    --shell-accent-2: rgba(120, 153, 200, 0.1);
    --theme-pulse-a: rgba(184, 138, 223, 0.16);
    --theme-pulse-b: rgba(120, 153, 200, 0.1);
    --cursor-glow: rgba(184, 138, 223, 0.34);
}

body[data-theme="deepradar"] {
    --cyan: #39ff9d;
    --teal: #70ffd9;
    --amber: #e7ff59;
    --pink: #5afff2;
    --shell-accent-1: rgba(57, 255, 157, 0.24);
    --shell-accent-2: rgba(90, 255, 242, 0.14);
    --theme-pulse-a: rgba(57, 255, 157, 0.28);
    --theme-pulse-b: rgba(90, 255, 242, 0.16);
    --cursor-glow: rgba(57, 255, 157, 0.56);
}

body[data-theme="graviticvoid"] {
    --cyan: #8fb5ff;
    --teal: #c4d4ff;
    --amber: #ffd56f;
    --pink: #c07bff;
    --shell-accent-1: rgba(143, 181, 255, 0.26);
    --shell-accent-2: rgba(192, 123, 255, 0.14);
    --theme-pulse-a: rgba(143, 181, 255, 0.3);
    --theme-pulse-b: rgba(192, 123, 255, 0.18);
    --cursor-glow: rgba(143, 181, 255, 0.6);
}

body[data-theme="spectrallattice"] {
    --cyan: #22ffe7;
    --teal: #9bfff4;
    --amber: #cfff4a;
    --pink: #61a2ff;
    --shell-accent-1: rgba(34, 255, 231, 0.26);
    --shell-accent-2: rgba(97, 162, 255, 0.15);
    --theme-pulse-a: rgba(34, 255, 231, 0.3);
    --theme-pulse-b: rgba(97, 162, 255, 0.17);
    --cursor-glow: rgba(34, 255, 231, 0.6);
}

body[data-theme="afterglownoir"] {
    --cyan: #ff934f;
    --teal: #ffd0a8;
    --amber: #ffc247;
    --pink: #ff477e;
    --shell-accent-1: rgba(255, 147, 79, 0.27);
    --shell-accent-2: rgba(255, 71, 126, 0.15);
    --theme-pulse-a: rgba(255, 147, 79, 0.32);
    --theme-pulse-b: rgba(255, 71, 126, 0.17);
    --cursor-glow: rgba(255, 147, 79, 0.6);
}

body[data-theme="polaranomaly"],
body[data-theme="lucentarchive"],
body[data-theme="haloterminal"],
body[data-theme="milkglassmatrix"],
body[data-theme="daybreakvector"] {
    --chrome-glow: color-mix(in srgb, var(--cyan) 26%, transparent);
    --line: color-mix(in srgb, var(--cyan) 34%, transparent);
    --line-strong: color-mix(in srgb, var(--cyan) 76%, black 10%);
    --theme-pulse-a: color-mix(in srgb, var(--cyan) 18%, transparent);
    --theme-pulse-b: color-mix(in srgb, var(--amber) 10%, transparent);
}

body[data-theme="polaranomaly"] {
    --cyan: #16333b;
    --teal: #24515a;
    --amber: #8f6d24;
    --pink: #4a5967;
}

body[data-theme="lucentarchive"] {
    --cyan: #126f85;
    --teal: #188f9f;
    --amber: #a56a20;
    --pink: #6a5476;
}

body[data-theme="haloterminal"] {
    --cyan: #12362d;
    --teal: #1f5b4b;
    --amber: #7f6d22;
    --pink: #38524a;
}

body[data-theme="milkglassmatrix"] {
    --cyan: #174e65;
    --teal: #267e8b;
    --amber: #9b6d29;
    --pink: #48576d;
}

body[data-theme="daybreakvector"] {
    --cyan: #1b5f8c;
    --teal: #257f9c;
    --amber: #b56b1e;
    --pink: #7b4a68;
}

@keyframes dramaticThemeAtmosphere {
    0% {
        transform: translate3d(-1.2%, -0.8%, 0) scale(1);
        background-position: 0% 0%, 100% 0%, 50% 100%, 0% 0%, 0 0;
        filter: saturate(1.28) contrast(1.08) brightness(1);
    }
    50% {
        filter: saturate(1.72) contrast(1.2) brightness(1.08);
    }
    100% {
        transform: translate3d(1.1%, 0.9%, 0) scale(1.025);
        background-position: 100% 40%, 0% 70%, 20% 0%, 100% 0%, 52px 0;
        filter: saturate(1.48) contrast(1.15) brightness(1.04);
    }
}

@keyframes dramaticHeaderFlicker {
    0%, 91%, 100% { opacity: 1; }
    92% { opacity: 0.58; }
    93% { opacity: 1; }
    94% { opacity: 0.72; }
    95% { opacity: 1; }
}

/* Bespoke header, navigation, and glass material pass */
:root {
    --font-nav: var(--font-header);
    --nav-cut-a: 0px;
    --nav-cut-b: 0px;
    --glass-texture:
        radial-gradient(circle at 18% 12%, color-mix(in srgb, white 10%, transparent), transparent 24%),
        radial-gradient(circle at 86% 78%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 28%),
        repeating-linear-gradient(135deg, color-mix(in srgb, white 4%, transparent) 0 1px, transparent 1px 13px);
    --nav-texture:
        linear-gradient(105deg, color-mix(in srgb, var(--cyan) 20%, transparent), transparent 40%, color-mix(in srgb, var(--pink) 9%, transparent)),
        repeating-linear-gradient(90deg, color-mix(in srgb, white 5%, transparent) 0 1px, transparent 1px 8px);
}

.topbar {
    isolation: isolate;
    box-shadow:
        0 18px 70px rgba(0, 0, 0, 0.42),
        inset 0 -1px 0 color-mix(in srgb, white 10%, transparent),
        0 0 44px color-mix(in srgb, var(--cyan) 18%, transparent);
}

.topbar::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        var(--glass-texture),
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 36%, color-mix(in srgb, var(--pink) 9%, transparent)),
        color-mix(in srgb, var(--topbar-bg) 86%, transparent);
    background-size: 140% 140%, 100% 100%, 100% 100%, 100% 100%;
    opacity: 0.96;
    backdrop-filter: blur(calc(var(--glass-blur, 22px) + 5px)) saturate(1.65) contrast(1.08);
    animation: navGlassDrift 15s ease-in-out infinite alternate;
}

.brand {
    position: relative;
}

.brand::after {
    content: "";
    position: absolute;
    left: 60px;
    right: -12px;
    bottom: -7px;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, color-mix(in srgb, var(--cyan) 74%, transparent), transparent);
    box-shadow: 0 0 18px color-mix(in srgb, var(--cyan) 42%, transparent);
    opacity: 0.72;
}

.topbar .title {
    letter-spacing: clamp(0.14em, 0.78vw, 0.36em);
    text-shadow:
        0 0 12px color-mix(in srgb, var(--cyan) 44%, transparent),
        0 0 34px color-mix(in srgb, var(--pink) 14%, transparent);
}

.topbar .subtitle {
    font-family: var(--font-panel);
    letter-spacing: 0.08em;
}

.nav {
    padding: 4px;
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 6%, transparent), transparent 42%, color-mix(in srgb, var(--pink) 5%, transparent)),
        color-mix(in srgb, var(--overlay-bg) 44%, transparent);
    backdrop-filter: blur(18px) saturate(1.55);
    box-shadow:
        inset 0 0 24px color-mix(in srgb, var(--cyan) 7%, transparent),
        0 0 30px color-mix(in srgb, var(--cyan) 13%, transparent);
}

.nav::after {
    content: "";
    position: absolute;
    inset: 6px;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent, color-mix(in srgb, white 12%, transparent), transparent),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 10%, transparent) 0 1px, transparent 1px 24px);
    opacity: 0.26;
    mix-blend-mode: screen;
}

.nav-link,
.theme-trigger {
    font-family: var(--font-nav);
    letter-spacing: 0.2em;
    clip-path: polygon(
        var(--nav-cut-a) 0,
        100% 0,
        100% calc(100% - var(--nav-cut-b)),
        calc(100% - var(--nav-cut-a)) 100%,
        0 100%,
        0 var(--nav-cut-b)
    );
    background:
        var(--nav-texture),
        linear-gradient(180deg, color-mix(in srgb, white 10%, transparent), transparent 48%),
        color-mix(in srgb, var(--panel-grad-1) 64%, transparent);
    border-color: color-mix(in srgb, var(--cyan) 28%, transparent);
    text-shadow: 0 0 10px color-mix(in srgb, var(--cyan) 28%, transparent);
}

.nav-link::after,
.theme-trigger::after {
    opacity: 0.38;
    background:
        linear-gradient(90deg, transparent, color-mix(in srgb, white 26%, transparent), transparent),
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 14%, transparent), transparent);
}

.nav-link.active,
.theme-menu.open .theme-trigger {
    color: color-mix(in srgb, var(--text) 78%, white 22%);
    border-color: color-mix(in srgb, var(--cyan) 82%, white 8%);
    box-shadow:
        inset 0 0 18px color-mix(in srgb, var(--cyan) 17%, transparent),
        0 0 0 1px color-mix(in srgb, var(--cyan) 46%, transparent),
        0 0 30px color-mix(in srgb, var(--cyan) 34%, transparent),
        0 0 70px color-mix(in srgb, var(--pink) 12%, transparent);
}

.nav-rail-indicator {
    height: 4px;
    border: 1px solid color-mix(in srgb, white 22%, transparent);
    background:
        linear-gradient(90deg, transparent 0 8%, var(--cyan) 22%, var(--teal) 50%, var(--pink) 78%, transparent 100%);
    box-shadow:
        0 0 14px color-mix(in srgb, var(--cyan) 72%, transparent),
        0 0 42px color-mix(in srgb, var(--pink) 22%, transparent);
}

:where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .gerb2-video-card, .flight-card, .modal-card, .flyout-panel, .theme-panel, .landing-notice-card, .landing-notice-load-panel) {
    background:
        var(--glass-texture),
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 42%, color-mix(in srgb, var(--pink) 6%, transparent)),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 84%, transparent), color-mix(in srgb, var(--panel-grad-2) 88%, transparent));
    backdrop-filter: blur(calc(var(--glass-blur, 22px) + 2px)) saturate(1.55) contrast(1.08);
}

:where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .gerb2-video-card, .flight-card, .modal-card, .flyout-panel, .theme-panel, .landing-notice-card, .landing-notice-load-panel)::before {
    background:
        linear-gradient(108deg, transparent 14%, color-mix(in srgb, white 24%, transparent) 44%, transparent 68%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 5%, transparent) 0 1px, transparent 1px 18px);
    opacity: 0.34;
}

.flyout-panel,
.theme-panel,
.globe-context-menu,
.globe-country-tooltip {
    box-shadow:
        0 34px 90px rgba(0, 0, 0, 0.46),
        inset 0 1px 0 color-mix(in srgb, white 18%, transparent),
        inset 0 0 32px color-mix(in srgb, var(--cyan) 9%, transparent),
        0 0 52px color-mix(in srgb, var(--cyan) 22%, transparent);
}

body[data-theme="ghostsignal"] {
    --font-nav: "Share Tech Mono", "Space Grotesk", monospace;
    --font-header: "Syncopate", "Michroma", sans-serif;
    --nav-cut-a: 0px;
    --nav-cut-b: 7px;
    --glass-texture:
        radial-gradient(circle at 12% 18%, rgba(108,255,196,0.18), transparent 22%),
        repeating-linear-gradient(0deg, rgba(108,255,196,0.055) 0 1px, transparent 1px 9px),
        repeating-linear-gradient(90deg, rgba(108,255,196,0.04) 0 1px, transparent 1px 31px);
}

body[data-theme="blacksiteamber"] {
    --font-nav: "Oxanium", "Rajdhani", sans-serif;
    --font-header: "Audiowide", "Michroma", sans-serif;
    --nav-cut-a: 8px;
    --nav-cut-b: 0px;
    --glass-texture:
        radial-gradient(circle at 20% 18%, rgba(255,208,71,0.2), transparent 24%),
        repeating-linear-gradient(115deg, rgba(255,208,71,0.08) 0 1px, transparent 1px 13px),
        linear-gradient(180deg, rgba(255,255,255,0.06), transparent 54%);
}

body[data-theme="nightwireorchid"] {
    --font-nav: "Bruno Ace SC", "Michroma", sans-serif;
    --font-header: "Bruno Ace SC", "Michroma", sans-serif;
    --nav-cut-a: 10px;
    --nav-cut-b: 10px;
    --glass-texture:
        radial-gradient(circle at 18% 10%, rgba(255,99,246,0.2), transparent 24%),
        radial-gradient(circle at 80% 76%, rgba(138,216,255,0.14), transparent 27%),
        repeating-linear-gradient(90deg, rgba(255,99,246,0.055) 0 1px, transparent 1px 10px);
}

body[data-theme="deepradar"] {
    --font-nav: "Share Tech Mono", "IBM Plex Sans", monospace;
    --font-header: "Orbitron", "Chakra Petch", sans-serif;
    --nav-cut-a: 0px;
    --nav-cut-b: 0px;
    --glass-texture:
        repeating-radial-gradient(circle at 50% 50%, rgba(57,255,157,0.1) 0 1px, transparent 1px 11px),
        linear-gradient(90deg, rgba(57,255,157,0.11), transparent 36%, rgba(90,255,242,0.08));
}

body[data-theme="graviticvoid"] {
    --font-nav: "Syncopate", "Sora", sans-serif;
    --font-header: "Syncopate", "Michroma", sans-serif;
    --nav-cut-a: 12px;
    --nav-cut-b: 12px;
    --glass-texture:
        radial-gradient(circle at 50% 40%, rgba(143,181,255,0.2), transparent 26%),
        radial-gradient(circle at 86% 10%, rgba(192,123,255,0.16), transparent 24%),
        repeating-linear-gradient(145deg, rgba(143,181,255,0.06) 0 1px, transparent 1px 20px);
}

body[data-theme="spectrallattice"] {
    --font-nav: "Chakra Petch", "Orbitron", sans-serif;
    --font-header: "Orbitron", "Chakra Petch", sans-serif;
    --nav-cut-a: 4px;
    --nav-cut-b: 12px;
    --glass-texture:
        repeating-linear-gradient(60deg, rgba(34,255,231,0.09) 0 1px, transparent 1px 18px),
        repeating-linear-gradient(120deg, rgba(97,162,255,0.08) 0 1px, transparent 1px 22px),
        radial-gradient(circle at 50% 0%, rgba(34,255,231,0.16), transparent 34%);
}

body[data-theme="afterglownoir"] {
    --font-nav: "Oxanium", "Exo 2", sans-serif;
    --font-header: "Audiowide", "Rajdhani", sans-serif;
    --nav-cut-a: 14px;
    --nav-cut-b: 4px;
    --glass-texture:
        radial-gradient(circle at 18% 20%, rgba(255,147,79,0.2), transparent 25%),
        radial-gradient(circle at 88% 82%, rgba(255,71,126,0.15), transparent 26%),
        repeating-linear-gradient(0deg, rgba(255,147,79,0.06) 0 1px, transparent 1px 8px);
}

body[data-theme="polaranomaly"] {
    --font-nav: "Share Tech Mono", "IBM Plex Sans", monospace;
    --font-header: "Syncopate", "IBM Plex Sans", sans-serif;
    --nav-cut-a: 0px;
    --nav-cut-b: 0px;
    --glass-texture:
        radial-gradient(circle at 20% 18%, rgba(22,51,59,0.12), transparent 23%),
        repeating-linear-gradient(0deg, rgba(22,51,59,0.05) 0 1px, transparent 1px 7px),
        linear-gradient(180deg, rgba(255,255,255,0.56), rgba(255,255,255,0.12));
}

body[data-theme="lucentarchive"] {
    --font-nav: "Sora", "IBM Plex Sans", sans-serif;
    --font-header: "Bruno Ace SC", "Sora", sans-serif;
    --nav-cut-a: 6px;
    --nav-cut-b: 0px;
    --glass-texture:
        radial-gradient(circle at 18% 14%, rgba(18,111,133,0.14), transparent 24%),
        repeating-linear-gradient(120deg, rgba(165,106,32,0.055) 0 1px, transparent 1px 18px),
        linear-gradient(180deg, rgba(255,255,255,0.42), rgba(255,255,255,0.1));
}

body[data-theme="haloterminal"] {
    --font-nav: "Share Tech Mono", "Rajdhani", monospace;
    --font-header: "Share Tech Mono", "Rajdhani", monospace;
    --nav-cut-a: 0px;
    --nav-cut-b: 0px;
    --glass-texture:
        repeating-linear-gradient(0deg, rgba(18,54,45,0.07) 0 2px, transparent 2px 8px),
        radial-gradient(circle at 50% 50%, rgba(31,91,75,0.12), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,0.36), rgba(255,255,255,0.08));
}

body[data-theme="milkglassmatrix"] {
    --font-nav: "Oxanium", "Sora", sans-serif;
    --font-header: "Bruno Ace SC", "Sora", sans-serif;
    --nav-cut-a: 8px;
    --nav-cut-b: 8px;
    --glass-texture:
        radial-gradient(circle at 16% 12%, rgba(23,78,101,0.12), transparent 24%),
        repeating-linear-gradient(90deg, rgba(23,78,101,0.05) 0 1px, transparent 1px 14px),
        linear-gradient(180deg, rgba(255,255,255,0.5), rgba(255,255,255,0.12));
}

body[data-theme="daybreakvector"] {
    --font-nav: "Chakra Petch", "Space Grotesk", sans-serif;
    --font-header: "Syncopate", "Space Grotesk", sans-serif;
    --nav-cut-a: 12px;
    --nav-cut-b: 0px;
    --glass-texture:
        radial-gradient(circle at 18% 16%, rgba(27,95,140,0.13), transparent 24%),
        repeating-linear-gradient(115deg, rgba(181,107,30,0.06) 0 1px, transparent 1px 18px),
        linear-gradient(180deg, rgba(255,255,255,0.46), rgba(255,255,255,0.08));
}

@keyframes navGlassDrift {
    0% {
        background-position: 0% 0%, 0% 0%, 0% 0%;
        filter: saturate(1.18) contrast(1.02);
    }
    100% {
        background-position: 100% 28%, 48% 0%, 0% 0%;
        filter: saturate(1.52) contrast(1.1);
    }
}

/* Full-screen theme dialog + marble/stone light materials */
.theme-swatch-aurelianmarble {
    background:
        radial-gradient(circle at 22% 22%, #fff7d8, transparent 28%),
        linear-gradient(135deg, #f8e7bd 0 22%, #b77922 23% 28%, #fff2cd 29% 52%, #6b4315 53% 56%, #e6c681 57% 100%);
}

.theme-swatch-moonstoneledger {
    background:
        radial-gradient(circle at 70% 28%, #ffffff, transparent 22%),
        linear-gradient(135deg, #f1f3ec 0 32%, #9eaeb1 33% 40%, #d8ddd5 41% 68%, #4d6d78 69% 100%);
}

.theme-menu.open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2147482500;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 34%, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 30%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.28));
    backdrop-filter: blur(16px) saturate(1.28);
}

.theme-panel {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    width: min(1080px, calc(100vw - 34px)) !important;
    max-height: calc(100dvh - 34px) !important;
    overflow: hidden !important;
    padding: clamp(12px, 1.6vw, 18px) !important;
    z-index: 2147482600 !important;
    display: grid;
    gap: 12px;
    transform: translate3d(-50%, -50%, 0) scale(1);
    transform-origin: center;
    border: 1px solid color-mix(in srgb, var(--cyan) 54%, white 8%);
    background:
        radial-gradient(circle at 18% 8%, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 28%),
        radial-gradient(circle at 84% 92%, color-mix(in srgb, var(--pink) 14%, transparent), transparent 32%),
        var(--glass-texture),
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 48%),
        color-mix(in srgb, var(--overlay-bg) 86%, transparent);
    box-shadow:
        0 42px 110px rgba(0, 0, 0, 0.56),
        inset 0 1px 0 color-mix(in srgb, white 22%, transparent),
        inset 0 0 42px color-mix(in srgb, var(--cyan) 11%, transparent),
        0 0 68px color-mix(in srgb, var(--cyan) 24%, transparent);
    animation: themeDialogMaterialize 220ms cubic-bezier(0.2, 0.84, 0.22, 1) both !important;
}

.theme-panel[hidden] {
    display: none !important;
}

.theme-dialog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 44px;
    padding: 4px 4px 10px;
    border-bottom: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
}

.theme-dialog-header strong {
    display: block;
    margin-top: 3px;
    font-family: var(--font-header);
    font-size: clamp(15px, 1.6vw, 24px);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text);
    text-shadow: 0 0 18px color-mix(in srgb, var(--cyan) 38%, transparent);
}

.theme-dialog-close {
    min-width: 92px;
    min-height: 34px;
    border: 1px solid color-mix(in srgb, var(--cyan) 38%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent),
        color-mix(in srgb, var(--overlay-bg) 44%, transparent);
    color: var(--text);
    font-family: var(--font-nav);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
}

.theme-dialog-close:hover {
    border-color: color-mix(in srgb, var(--cyan) 76%, white 10%);
    box-shadow: 0 0 24px color-mix(in srgb, var(--cyan) 28%, transparent);
    transform: translateY(-2px);
}

.theme-dialog-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(250px, 0.92fr);
    gap: clamp(8px, 1.1vw, 14px);
    align-items: stretch;
}

.theme-dialog-body .theme-group {
    min-width: 0;
    margin: 0;
    padding: clamp(8px, 1vw, 12px);
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 54%),
        color-mix(in srgb, var(--overlay-bg) 24%, transparent);
    box-shadow: inset 0 0 22px color-mix(in srgb, var(--cyan) 5%, transparent);
}

.theme-dialog-body .theme-group + .theme-group {
    margin: 0;
    border-top: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
}

.theme-option-grid,
.cursor-option-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.theme-dialog-body .theme-option,
.theme-dialog-body .cursor-option {
    min-height: 34px;
    padding: 7px 9px;
    gap: 8px;
    font-size: clamp(7px, 0.68vw, 9px);
    letter-spacing: 0.12em;
    white-space: nowrap;
}

.theme-dialog-body .theme-swatch,
.theme-dialog-body .cursor-option-preview {
    width: 18px;
    height: 18px;
}

.theme-dialog-body .theme-group-label {
    margin-bottom: 6px;
    font-size: clamp(7px, 0.66vw, 9px);
}

body[data-theme="aurelianmarble"] {
    color-scheme: light;
    --bg: #f5ead3;
    --bg-2: #dfca9d;
    --panel-grad-1: rgba(247, 231, 191, 0.76);
    --panel-grad-2: rgba(214, 180, 112, 0.58);
    --overlay-bg: rgba(252, 242, 215, 0.72);
    --topbar-bg: rgba(250, 236, 199, 0.82);
    --text: #1f1710;
    --muted: #6c5633;
    --cyan: #8b5b18;
    --teal: #315d61;
    --amber: #b77922;
    --pink: #7d523e;
    --cursor-core: #11100c;
    --cursor-ring: #4b3516;
    --cursor-glow: rgba(183, 121, 34, 0.26);
    --font-body: "Sora", "IBM Plex Sans", sans-serif;
    --font-panel: "Sora", "IBM Plex Sans", sans-serif;
    --font-header: "Bruno Ace SC", "Sora", sans-serif;
    --font-nav: "Oxanium", "Sora", sans-serif;
    --nav-cut-a: 9px;
    --nav-cut-b: 3px;
    --shell-accent-1: rgba(183, 121, 34, 0.2);
    --shell-accent-2: rgba(49, 93, 97, 0.12);
    --theme-pulse-a: rgba(183, 121, 34, 0.18);
    --theme-pulse-b: rgba(255, 255, 255, 0.24);
    --header-accent-line: rgba(139, 91, 24, 0.62);
    --glass-texture:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,0.52), transparent 24%),
        radial-gradient(circle at 72% 76%, rgba(183,121,34,0.16), transparent 30%),
        linear-gradient(122deg, transparent 0 28%, rgba(139,91,24,0.14) 30% 31%, transparent 34% 52%, rgba(255,255,255,0.22) 53% 54%, transparent 57%),
        repeating-linear-gradient(38deg, rgba(104,67,19,0.045) 0 1px, transparent 1px 18px);
}

body[data-theme="moonstoneledger"] {
    color-scheme: light;
    --bg: #edf0e9;
    --bg-2: #cfd7d2;
    --panel-grad-1: rgba(239, 242, 235, 0.78);
    --panel-grad-2: rgba(189, 202, 199, 0.58);
    --overlay-bg: rgba(242, 245, 239, 0.72);
    --topbar-bg: rgba(239, 242, 235, 0.82);
    --text: #121b1f;
    --muted: #536365;
    --cyan: #2d6571;
    --teal: #587f7f;
    --amber: #8d7b54;
    --pink: #647182;
    --cursor-core: #071014;
    --cursor-ring: #243942;
    --cursor-glow: rgba(77, 109, 120, 0.25);
    --font-body: "IBM Plex Sans", "Sora", sans-serif;
    --font-panel: "IBM Plex Sans", "Sora", sans-serif;
    --font-header: "Syncopate", "IBM Plex Sans", sans-serif;
    --font-nav: "Share Tech Mono", "IBM Plex Sans", monospace;
    --nav-cut-a: 0px;
    --nav-cut-b: 9px;
    --shell-accent-1: rgba(77, 109, 120, 0.16);
    --shell-accent-2: rgba(141, 123, 84, 0.1);
    --theme-pulse-a: rgba(77, 109, 120, 0.16);
    --theme-pulse-b: rgba(255, 255, 255, 0.22);
    --header-accent-line: rgba(45, 101, 113, 0.56);
    --glass-texture:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,0.5), transparent 24%),
        radial-gradient(circle at 82% 72%, rgba(77,109,120,0.13), transparent 30%),
        linear-gradient(132deg, transparent 0 34%, rgba(45,101,113,0.11) 35% 36%, transparent 38% 62%, rgba(255,255,255,0.2) 63% 64%, transparent 66%),
        repeating-linear-gradient(0deg, rgba(18,27,31,0.035) 0 1px, transparent 1px 10px);
}

body[data-theme="aurelianmarble"],
body[data-theme="moonstoneledger"] {
    color-scheme: light;
    background:
        radial-gradient(circle at 18% 8%, var(--shell-accent-1), transparent 25%),
        radial-gradient(circle at 86% 12%, var(--shell-accent-2), transparent 24%),
        var(--glass-texture),
        linear-gradient(180deg, var(--bg), var(--bg-2));
}

body[data-theme="aurelianmarble"]::before,
body[data-theme="moonstoneledger"]::before,
body[data-theme="aurelianmarble"]::after,
body[data-theme="moonstoneledger"]::after {
    mix-blend-mode: multiply;
}

body[data-theme="aurelianmarble"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card, .landing-notice-load-panel),
body[data-theme="moonstoneledger"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card, .landing-notice-load-panel) {
    color: var(--text);
    text-shadow: none;
    border-color: color-mix(in srgb, var(--cyan) 32%, transparent);
    background:
        var(--glass-texture),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 86%, white 14%), color-mix(in srgb, var(--panel-grad-2) 86%, white 14%));
}

body[data-theme="aurelianmarble"] :where(.button, .nav-link, .theme-option, .cursor-option, .filter-chip, .tab-button),
body[data-theme="moonstoneledger"] :where(.button, .nav-link, .theme-option, .cursor-option, .filter-chip, .tab-button) {
    color: var(--text);
}

body[data-theme="aurelianmarble"] .cursor-halo,
body[data-theme="moonstoneledger"] .cursor-halo,
body[data-theme="aurelianmarble"] .cursor-pointer,
body[data-theme="moonstoneledger"] .cursor-pointer,
body[data-theme="aurelianmarble"] .cursor-trail,
body[data-theme="moonstoneledger"] .cursor-trail {
    mix-blend-mode: normal;
}

body[data-theme="aurelianmarble"] .cursor-halo,
body[data-theme="moonstoneledger"] .cursor-halo {
    border-color: color-mix(in srgb, var(--cursor-core) 34%, #031014);
    background: linear-gradient(180deg, rgba(5, 14, 18, 0.2), rgba(0, 0, 0, 0.1));
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.45),
        0 0 12px rgba(2, 8, 12, 0.3),
        0 0 18px color-mix(in srgb, var(--cursor-core) 18%, transparent);
}

body[data-theme="aurelianmarble"] .cursor-pointer,
body[data-theme="moonstoneledger"] .cursor-pointer {
    background:
        linear-gradient(35deg, transparent 0 41%, color-mix(in srgb, var(--cursor-ring) 30%, #051017) 42% 47%, transparent 48%),
        linear-gradient(61deg, transparent 0 39%, color-mix(in srgb, var(--cursor-core) 30%, #06131a) 40% 46%, transparent 47%),
        linear-gradient(135deg, rgba(255,255,255,0.18), color-mix(in srgb, var(--cursor-core) 22%, #04090e) 38%, rgba(0,0,0,0.9) 100%);
    border-color: color-mix(in srgb, var(--cursor-core) 30%, #02080d);
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.54),
        0 0 12px color-mix(in srgb, var(--cursor-core) 20%, transparent),
        0 5px 14px rgba(0, 0, 0, 0.36);
}

body[data-theme="aurelianmarble"] .cursor-pointer::after,
body[data-theme="moonstoneledger"] .cursor-pointer::after {
    border-color: color-mix(in srgb, var(--cursor-core) 32%, #02080d);
    background: linear-gradient(135deg, rgba(255,255,255,0.12), rgba(0,0,0,0.2) 62%);
    box-shadow:
        inset 0 0 7px color-mix(in srgb, var(--cursor-core) 12%, transparent),
        0 0 8px color-mix(in srgb, var(--cursor-core) 18%, transparent);
}

body[data-theme="aurelianmarble"] .cursor-trail,
body[data-theme="moonstoneledger"] .cursor-trail {
    border-color: color-mix(in srgb, var(--cursor-core) 20%, rgba(3, 10, 14, 0.5));
    background:
        radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--cursor-core) 12%, rgba(2, 8, 12, 0.26)), transparent 48%),
        linear-gradient(34deg, transparent 0 42%, color-mix(in srgb, var(--cursor-core) 14%, rgba(3, 10, 14, 0.36)) 43% 48%, transparent 49%);
    filter: none;
}

body[data-theme="polaranomaly"],
body[data-theme="lucentarchive"],
body[data-theme="haloterminal"],
body[data-theme="milkglassmatrix"],
body[data-theme="daybreakvector"] {
    --light-stone-vein: color-mix(in srgb, var(--amber) 14%, transparent);
    --light-cool-vein: color-mix(in srgb, var(--cyan) 12%, transparent);
}

body[data-theme="polaranomaly"] {
    --glass-texture:
        radial-gradient(circle at 20% 18%, rgba(255,255,255,0.44), transparent 24%),
        linear-gradient(118deg, transparent 0 31%, rgba(31,43,46,0.1) 32% 33%, transparent 35% 62%, rgba(255,255,255,0.18) 63% 64%, transparent 66%),
        repeating-linear-gradient(0deg, rgba(31,43,46,0.035) 0 1px, transparent 1px 8px);
}

body[data-theme="lucentarchive"] {
    --glass-texture:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,0.46), transparent 24%),
        linear-gradient(124deg, transparent 0 26%, rgba(165,106,32,0.16) 28% 29%, transparent 32% 58%, rgba(18,111,133,0.11) 59% 60%, transparent 63%),
        repeating-linear-gradient(38deg, rgba(113,78,40,0.04) 0 1px, transparent 1px 18px);
}

body[data-theme="haloterminal"] {
    --glass-texture:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,0.4), transparent 24%),
        repeating-linear-gradient(0deg, rgba(18,54,45,0.055) 0 1px, transparent 1px 7px),
        linear-gradient(116deg, transparent 0 34%, rgba(31,91,75,0.1) 35% 36%, transparent 38%);
}

body[data-theme="milkglassmatrix"] {
    --glass-texture:
        radial-gradient(circle at 16% 12%, rgba(255,255,255,0.52), transparent 24%),
        linear-gradient(126deg, transparent 0 32%, rgba(23,78,101,0.1) 33% 34%, transparent 37% 66%, rgba(255,255,255,0.22) 67% 68%, transparent 71%),
        repeating-linear-gradient(90deg, rgba(23,78,101,0.038) 0 1px, transparent 1px 15px);
}

body[data-theme="daybreakvector"] {
    --glass-texture:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,0.48), transparent 24%),
        linear-gradient(116deg, transparent 0 30%, rgba(181,107,30,0.16) 31% 32%, transparent 35% 58%, rgba(27,95,140,0.1) 59% 60%, transparent 63%),
        repeating-linear-gradient(115deg, rgba(181,107,30,0.04) 0 1px, transparent 1px 18px);
}

.cursor-style-azimuth { clip-path: polygon(0 9%, 100% 0, 66% 22%, 84% 42%, 48% 35%, 54% 100%, 31% 43%, 8% 58%); }
.cursor-style-aperture { clip-path: polygon(50% 0, 68% 27%, 100% 24%, 74% 50%, 100% 76%, 68% 73%, 50% 100%, 32% 73%, 0 76%, 26% 50%, 0 24%, 32% 27%); }
.cursor-style-triangulum { clip-path: polygon(50% 0, 100% 86%, 58% 68%, 50% 100%, 42% 68%, 0 86%); }
.cursor-style-monolith { clip-path: polygon(35% 0, 70% 0, 82% 72%, 57% 100%, 20% 84%); }
.cursor-style-helix { clip-path: polygon(0 6%, 56% 24%, 100% 0, 72% 36%, 100% 58%, 55% 51%, 66% 100%, 32% 57%, 4% 76%, 26% 43%); }
.cursor-style-starforge { clip-path: polygon(48% 0, 60% 31%, 96% 15%, 73% 48%, 100% 72%, 64% 67%, 52% 100%, 39% 67%, 4% 72%, 30% 48%, 7% 15%, 42% 31%); }

html[data-cursor-style="azimuth"] .cursor-pointer,
body[data-cursor-style="azimuth"] .cursor-pointer,
html[data-cursor-style="azimuth"] .cursor-trail,
body[data-cursor-style="azimuth"] .cursor-trail {
    clip-path: polygon(0 9%, 100% 0, 66% 22%, 84% 42%, 48% 35%, 54% 100%, 31% 43%, 8% 58%);
}

html[data-cursor-style="aperture"] .cursor-pointer,
body[data-cursor-style="aperture"] .cursor-pointer,
html[data-cursor-style="aperture"] .cursor-trail,
body[data-cursor-style="aperture"] .cursor-trail {
    clip-path: polygon(50% 0, 68% 27%, 100% 24%, 74% 50%, 100% 76%, 68% 73%, 50% 100%, 32% 73%, 0 76%, 26% 50%, 0 24%, 32% 27%);
}

html[data-cursor-style="triangulum"] .cursor-pointer,
body[data-cursor-style="triangulum"] .cursor-pointer,
html[data-cursor-style="triangulum"] .cursor-trail,
body[data-cursor-style="triangulum"] .cursor-trail {
    clip-path: polygon(50% 0, 100% 86%, 58% 68%, 50% 100%, 42% 68%, 0 86%);
}

html[data-cursor-style="monolith"] .cursor-pointer,
body[data-cursor-style="monolith"] .cursor-pointer,
html[data-cursor-style="monolith"] .cursor-trail,
body[data-cursor-style="monolith"] .cursor-trail {
    clip-path: polygon(35% 0, 70% 0, 82% 72%, 57% 100%, 20% 84%);
}

html[data-cursor-style="helix"] .cursor-pointer,
body[data-cursor-style="helix"] .cursor-pointer,
html[data-cursor-style="helix"] .cursor-trail,
body[data-cursor-style="helix"] .cursor-trail {
    clip-path: polygon(0 6%, 56% 24%, 100% 0, 72% 36%, 100% 58%, 55% 51%, 66% 100%, 32% 57%, 4% 76%, 26% 43%);
}

html[data-cursor-style="starforge"] .cursor-pointer,
body[data-cursor-style="starforge"] .cursor-pointer,
html[data-cursor-style="starforge"] .cursor-trail,
body[data-cursor-style="starforge"] .cursor-trail {
    clip-path: polygon(48% 0, 60% 31%, 96% 15%, 73% 48%, 100% 72%, 64% 67%, 52% 100%, 39% 67%, 4% 72%, 30% 48%, 7% 15%, 42% 31%);
}

html[data-cursor-style="aperture"] .cursor-pointer::after,
body[data-cursor-style="aperture"] .cursor-pointer::after,
html[data-cursor-style="starforge"] .cursor-pointer::after,
body[data-cursor-style="starforge"] .cursor-pointer::after {
    inset: 5px auto auto 5px;
    width: 7px;
    height: 7px;
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}

@media (max-width: 760px) {
    .theme-panel {
        width: calc(100vw - 18px) !important;
        padding: 9px !important;
        gap: 8px;
    }

    .theme-dialog-header {
        min-height: 38px;
        padding-bottom: 7px;
    }

    .theme-dialog-header strong {
        font-size: 13px;
        letter-spacing: 0.1em;
    }

    .theme-dialog-close {
        min-width: 70px;
        min-height: 32px;
        font-size: 8px;
    }

    .theme-dialog-body {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .theme-dialog-body .theme-group {
        padding: 6px;
    }

    .theme-dialog-body .theme-option,
    .theme-dialog-body .cursor-option {
        min-height: 29px;
        padding: 5px 5px;
        gap: 5px;
        font-size: 6.8px;
        letter-spacing: 0.06em;
    }

    .theme-dialog-body .theme-swatch,
    .theme-dialog-body .cursor-option-preview {
        width: 14px;
        height: 14px;
    }
}

@keyframes themeDialogMaterialize {
    0% {
        opacity: 0;
        transform: translate3d(-50%, -47%, 0) scale(0.972);
        filter: blur(8px) saturate(0.85);
    }
    68% {
        opacity: 1;
        filter: blur(0.4px) saturate(1.2);
    }
    100% {
        opacity: 1;
        transform: translate3d(-50%, -50%, 0) scale(1);
        filter: blur(0) saturate(1);
    }
}

/* Theme pruning + cursor selector refresh */
:root {
    --font-panel: var(--font-body);
    --font-header: var(--font-display);
    --header-pattern: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 16%, transparent), transparent);
    --header-accent-line: color-mix(in srgb, var(--cyan) 52%, transparent);
}

.panel,
.resource-card,
.signal-card,
.list-card,
.case-row,
.webcam-card,
.radio-card,
.taxonomy-card,
.taxonomy-media-card,
.gerb2-video-card,
.flight-card,
.modal-card,
.flyout-panel,
.theme-panel {
    font-family: var(--font-panel);
}

.topbar .title,
.panel h1,
.panel h2,
.panel h3,
.resource-card h2,
.resource-card h3,
.signal-card h2,
.signal-card h3,
.taxonomy-card h2,
.taxonomy-media-card h3,
.gerb2-video-card h3,
.stat-value,
.micro-label,
.eyebrow,
.kicker {
    font-family: var(--font-header);
}

.topbar::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    pointer-events: none;
    background: var(--header-pattern);
    box-shadow: 0 0 18px var(--header-accent-line);
    animation: headerSignalDrift 7s ease-in-out infinite alternate;
}

.title {
    text-transform: uppercase;
}

.theme-swatch-graviticvoid { background: linear-gradient(135deg, #7aa7ff, #050711 62%, #c9d8ff); }
.theme-swatch-spectrallattice { background: linear-gradient(135deg, #35ffe5, #061316 58%, #1b6fff); }
.theme-swatch-afterglownoir { background: linear-gradient(135deg, #ff8a4c, #170706 60%, #ffd2a8); }

body[data-theme="ghostsignal"] {
    --font-body: "Space Grotesk", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --font-panel: "Space Grotesk", "Inter", sans-serif;
    --font-header: "Michroma", "Orbitron", sans-serif;
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(181, 255, 224, 0.34), transparent),
        repeating-linear-gradient(90deg, transparent 0 24px, rgba(181, 255, 224, 0.12) 24px 25px);
    --header-accent-line: rgba(181, 255, 224, 0.58);
}

body[data-theme="blacksiteamber"] {
    --font-body: "Rajdhani", "Exo 2", sans-serif;
    --font-display: "Michroma", "Rajdhani", sans-serif;
    --font-panel: "Rajdhani", "Exo 2", sans-serif;
    --font-header: "Michroma", "Rajdhani", sans-serif;
    --cyan: #ffc061;
    --teal: #ffe2a8;
    --amber: #ffce78;
    --line: rgba(255, 192, 97, 0.26);
    --line-strong: rgba(255, 226, 168, 0.58);
    --topbar-bg: rgba(19, 11, 4, 0.86);
    --panel-grad-1: rgba(35, 20, 8, 0.78);
    --panel-grad-2: rgba(10, 6, 3, 0.72);
    --theme-pulse-a: rgba(255, 192, 97, 0.17);
    --theme-pulse-b: rgba(255, 226, 168, 0.08);
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(255, 192, 97, 0.38), transparent),
        repeating-linear-gradient(115deg, rgba(255, 192, 97, 0.14) 0 1px, transparent 1px 18px);
    --header-accent-line: rgba(255, 192, 97, 0.64);
}

body[data-theme="nightwireorchid"] {
    --font-body: "Exo 2", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --font-panel: "Exo 2", "Inter", sans-serif;
    --font-header: "Michroma", "Orbitron", sans-serif;
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(255, 119, 243, 0.36), transparent),
        repeating-linear-gradient(90deg, rgba(138, 184, 255, 0.12) 0 1px, transparent 1px 12px);
    --header-accent-line: rgba(255, 119, 243, 0.62);
}

body[data-theme="deepradar"] {
    --font-body: "IBM Plex Sans", "Inter", sans-serif;
    --font-display: "Orbitron", "Rajdhani", sans-serif;
    --font-panel: "IBM Plex Sans", "Inter", sans-serif;
    --font-header: "Orbitron", "Rajdhani", sans-serif;
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(78, 246, 167, 0.32), transparent),
        repeating-radial-gradient(circle at 50% 50%, rgba(78, 246, 167, 0.12) 0 1px, transparent 1px 10px);
    --header-accent-line: rgba(78, 246, 167, 0.58);
}

body[data-theme="polaranomaly"] {
    --font-panel: "IBM Plex Sans", "Inter", sans-serif;
    --font-header: "Michroma", "Orbitron", sans-serif;
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(31, 43, 46, 0.26), transparent),
        repeating-linear-gradient(90deg, rgba(31, 43, 46, 0.1) 0 1px, transparent 1px 18px);
    --header-accent-line: rgba(31, 43, 46, 0.48);
}

body[data-theme="lucentarchive"] {
    --font-panel: "Sora", "Inter", sans-serif;
    --font-header: "Orbitron", "Sora", sans-serif;
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(45, 102, 116, 0.24), transparent),
        repeating-linear-gradient(120deg, rgba(167, 114, 56, 0.1) 0 1px, transparent 1px 24px);
    --header-accent-line: rgba(45, 102, 116, 0.46);
}

body[data-theme="haloterminal"] {
    --font-panel: "IBM Plex Sans", "Inter", sans-serif;
    --font-header: "Rajdhani", "Michroma", sans-serif;
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(38, 51, 46, 0.24), transparent),
        repeating-linear-gradient(0deg, rgba(38, 51, 46, 0.08) 0 1px, transparent 1px 7px);
    --header-accent-line: rgba(38, 51, 46, 0.46);
}

body[data-theme="milkglassmatrix"] {
    --font-panel: "Sora", "Inter", sans-serif;
    --font-header: "Michroma", "Orbitron", sans-serif;
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(46, 83, 101, 0.22), transparent),
        repeating-linear-gradient(90deg, rgba(46, 83, 101, 0.08) 0 1px, transparent 1px 14px);
    --header-accent-line: rgba(46, 83, 101, 0.42);
}

body[data-theme="daybreakvector"] {
    --font-panel: "Space Grotesk", "Inter", sans-serif;
    --font-header: "Orbitron", "Rajdhani", sans-serif;
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(55, 90, 119, 0.24), transparent),
        repeating-linear-gradient(115deg, rgba(166, 110, 47, 0.12) 0 1px, transparent 1px 22px);
    --header-accent-line: rgba(55, 90, 119, 0.46);
}

body[data-theme="graviticvoid"] {
    --font-body: "Sora", "Inter", sans-serif;
    --font-display: "Michroma", "Orbitron", sans-serif;
    --font-panel: "Sora", "Inter", sans-serif;
    --font-header: "Michroma", "Orbitron", sans-serif;
    --shell-accent-1: rgba(122, 167, 255, 0.16);
    --shell-accent-2: rgba(52, 72, 142, 0.12);
    --chrome-glow: rgba(122, 167, 255, 0.22);
    --cyan: #7aa7ff;
    --teal: #b7c9ff;
    --amber: #d6b36a;
    --pink: #ba87ff;
    --line: rgba(122, 167, 255, 0.24);
    --line-strong: rgba(202, 216, 255, 0.56);
    --muted: #9ba7c2;
    --topbar-bg: rgba(5, 7, 17, 0.86);
    --panel-grad-1: rgba(9, 12, 28, 0.78);
    --panel-grad-2: rgba(3, 4, 11, 0.72);
    --globe-accent: rgba(76, 98, 180, 0.24);
    --globe-deep: #03040b;
    --overlay-bg: rgba(5, 7, 17, 0.7);
    --cursor-core: #9bb9ff;
    --cursor-ring: #e2e9ff;
    --cursor-glow: rgba(122, 167, 255, 0.38);
    --theme-pulse-a: rgba(122, 167, 255, 0.16);
    --theme-pulse-b: rgba(186, 135, 255, 0.08);
    --header-pattern:
        radial-gradient(circle at 50% 50%, rgba(122, 167, 255, 0.34), transparent 34%),
        linear-gradient(90deg, transparent, rgba(186, 135, 255, 0.24), transparent);
    --header-accent-line: rgba(122, 167, 255, 0.62);
}

body[data-theme="spectrallattice"] {
    --font-body: "IBM Plex Sans", "Inter", sans-serif;
    --font-display: "Orbitron", "Rajdhani", sans-serif;
    --font-panel: "IBM Plex Sans", "Inter", sans-serif;
    --font-header: "Orbitron", "Rajdhani", sans-serif;
    --shell-accent-1: rgba(53, 255, 229, 0.16);
    --shell-accent-2: rgba(27, 111, 255, 0.1);
    --chrome-glow: rgba(53, 255, 229, 0.2);
    --cyan: #35ffe5;
    --teal: #8dfff4;
    --amber: #b9ff72;
    --pink: #7ca8ff;
    --line: rgba(53, 255, 229, 0.24);
    --line-strong: rgba(192, 255, 247, 0.54);
    --muted: #90bdb7;
    --topbar-bg: rgba(4, 15, 18, 0.86);
    --panel-grad-1: rgba(7, 28, 31, 0.78);
    --panel-grad-2: rgba(2, 9, 11, 0.72);
    --globe-accent: rgba(53, 255, 229, 0.22);
    --globe-deep: #02090a;
    --overlay-bg: rgba(4, 15, 18, 0.7);
    --cursor-core: #35ffe5;
    --cursor-ring: #d5fff9;
    --cursor-glow: rgba(53, 255, 229, 0.38);
    --theme-pulse-a: rgba(53, 255, 229, 0.15);
    --theme-pulse-b: rgba(27, 111, 255, 0.08);
    --header-pattern:
        repeating-linear-gradient(60deg, rgba(53, 255, 229, 0.16) 0 1px, transparent 1px 18px),
        repeating-linear-gradient(120deg, rgba(124, 168, 255, 0.12) 0 1px, transparent 1px 24px);
    --header-accent-line: rgba(53, 255, 229, 0.6);
}

body[data-theme="afterglownoir"] {
    --font-body: "Exo 2", "Inter", sans-serif;
    --font-display: "Rajdhani", "Michroma", sans-serif;
    --font-panel: "Exo 2", "Inter", sans-serif;
    --font-header: "Rajdhani", "Michroma", sans-serif;
    --shell-accent-1: rgba(255, 138, 76, 0.16);
    --shell-accent-2: rgba(255, 80, 118, 0.08);
    --chrome-glow: rgba(255, 138, 76, 0.22);
    --cyan: #ff8a4c;
    --teal: #ffd2a8;
    --amber: #ffbd6b;
    --pink: #ff6f91;
    --line: rgba(255, 138, 76, 0.24);
    --line-strong: rgba(255, 210, 168, 0.56);
    --muted: #bfa195;
    --topbar-bg: rgba(21, 7, 6, 0.86);
    --panel-grad-1: rgba(34, 13, 9, 0.78);
    --panel-grad-2: rgba(10, 4, 3, 0.72);
    --globe-accent: rgba(188, 72, 39, 0.24);
    --globe-deep: #080302;
    --overlay-bg: rgba(18, 6, 5, 0.72);
    --cursor-core: #ff9b5f;
    --cursor-ring: #ffd8b8;
    --cursor-glow: rgba(255, 138, 76, 0.38);
    --theme-pulse-a: rgba(255, 138, 76, 0.16);
    --theme-pulse-b: rgba(255, 111, 145, 0.08);
    --header-pattern:
        linear-gradient(90deg, transparent, rgba(255, 138, 76, 0.38), transparent),
        repeating-linear-gradient(0deg, rgba(255, 111, 145, 0.12) 0 1px, transparent 1px 9px);
    --header-accent-line: rgba(255, 138, 76, 0.64);
}

body[data-theme="graviticvoid"]::after,
body[data-theme="spectrallattice"]::after,
body[data-theme="afterglownoir"]::after {
    opacity: 0.98;
}

body[data-theme="graviticvoid"] .panel::after,
body[data-theme="spectrallattice"] .panel::after,
body[data-theme="afterglownoir"] .panel::after,
body[data-theme="blacksiteamber"] .panel::after,
body[data-theme="nightwireorchid"] .panel::after,
body[data-theme="deepradar"] .panel::after {
    animation: chromePulse 5.5s ease-in-out infinite;
}

.cursor-theme-group {
    gap: 9px;
}

.cursor-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.cursor-option {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 9px 10px;
    border: 1px solid color-mix(in srgb, var(--cyan) 17%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 70%),
        color-mix(in srgb, var(--overlay-bg) 36%, transparent);
    color: var(--text);
    cursor: pointer;
    font-family: var(--font-header);
    font-size: 9px;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    transition: transform 170ms ease, border-color 170ms ease, box-shadow 190ms ease, background 190ms ease;
}

.cursor-option:hover,
.cursor-option.active {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--cyan) 54%, transparent);
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 58%),
        color-mix(in srgb, var(--overlay-bg) 48%, transparent);
    box-shadow: 0 0 18px color-mix(in srgb, var(--cyan) 18%, transparent);
}

.cursor-option-preview {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    border: 1px solid color-mix(in srgb, var(--cyan) 66%, white);
    background:
        linear-gradient(135deg, rgba(255,255,255,0.22), var(--cursor-core) 44%, rgba(0,0,0,0.08));
    box-shadow: 0 0 14px var(--cursor-glow);
    clip-path: polygon(0 0, 100% 34%, 34% 35%, 59% 100%, 23% 43%);
}

.cursor-style-delta { clip-path: polygon(50% 0, 100% 100%, 50% 76%, 0 100%); }
.cursor-style-reticle { clip-path: polygon(43% 0, 57% 0, 57% 34%, 100% 34%, 100% 48%, 57% 48%, 57% 100%, 43% 100%, 43% 48%, 0 48%, 0 34%, 43% 34%); }
.cursor-style-saucer { clip-path: polygon(8% 45%, 30% 22%, 70% 22%, 92% 45%, 75% 65%, 25% 65%); }
.cursor-style-signal { clip-path: polygon(0 0, 92% 20%, 58% 44%, 100% 100%, 42% 58%, 18% 92%); }
.cursor-style-prism { clip-path: polygon(18% 0, 100% 25%, 62% 100%, 0 70%); }
.cursor-style-crosshair { clip-path: polygon(42% 0, 58% 0, 58% 38%, 100% 38%, 100% 56%, 58% 56%, 58% 100%, 42% 100%, 42% 56%, 0 56%, 0 38%, 42% 38%); }
.cursor-style-comet { clip-path: polygon(0 48%, 54% 0, 100% 48%, 54% 100%, 28% 66%); }

html[data-cursor-style="vector"] .cursor-pointer,
body[data-cursor-style="vector"] .cursor-pointer,
html[data-cursor-style="vector"] .cursor-trail,
body[data-cursor-style="vector"] .cursor-trail {
    clip-path: polygon(0 0, 100% 34%, 34% 35%, 59% 100%, 23% 43%);
}

html[data-cursor-style="delta"] .cursor-pointer,
body[data-cursor-style="delta"] .cursor-pointer,
html[data-cursor-style="delta"] .cursor-trail,
body[data-cursor-style="delta"] .cursor-trail {
    clip-path: polygon(50% 0, 100% 100%, 50% 76%, 0 100%);
}

html[data-cursor-style="reticle"] .cursor-pointer,
body[data-cursor-style="reticle"] .cursor-pointer,
html[data-cursor-style="reticle"] .cursor-trail,
body[data-cursor-style="reticle"] .cursor-trail {
    clip-path: polygon(43% 0, 57% 0, 57% 34%, 100% 34%, 100% 48%, 57% 48%, 57% 100%, 43% 100%, 43% 48%, 0 48%, 0 34%, 43% 34%);
}

html[data-cursor-style="saucer"] .cursor-pointer,
body[data-cursor-style="saucer"] .cursor-pointer,
html[data-cursor-style="saucer"] .cursor-trail,
body[data-cursor-style="saucer"] .cursor-trail {
    clip-path: polygon(8% 45%, 30% 22%, 70% 22%, 92% 45%, 75% 65%, 25% 65%);
}

html[data-cursor-style="signal"] .cursor-pointer,
body[data-cursor-style="signal"] .cursor-pointer,
html[data-cursor-style="signal"] .cursor-trail,
body[data-cursor-style="signal"] .cursor-trail {
    clip-path: polygon(0 0, 92% 20%, 58% 44%, 100% 100%, 42% 58%, 18% 92%);
}

html[data-cursor-style="prism"] .cursor-pointer,
body[data-cursor-style="prism"] .cursor-pointer,
html[data-cursor-style="prism"] .cursor-trail,
body[data-cursor-style="prism"] .cursor-trail {
    clip-path: polygon(18% 0, 100% 25%, 62% 100%, 0 70%);
}

html[data-cursor-style="crosshair"] .cursor-pointer,
body[data-cursor-style="crosshair"] .cursor-pointer,
html[data-cursor-style="crosshair"] .cursor-trail,
body[data-cursor-style="crosshair"] .cursor-trail {
    clip-path: polygon(42% 0, 58% 0, 58% 38%, 100% 38%, 100% 56%, 58% 56%, 58% 100%, 42% 100%, 42% 56%, 0 56%, 0 38%, 42% 38%);
}

html[data-cursor-style="comet"] .cursor-pointer,
body[data-cursor-style="comet"] .cursor-pointer,
html[data-cursor-style="comet"] .cursor-trail,
body[data-cursor-style="comet"] .cursor-trail {
    clip-path: polygon(0 48%, 54% 0, 100% 48%, 54% 100%, 28% 66%);
}

html[data-cursor-style="reticle"] .cursor-pointer::after,
body[data-cursor-style="reticle"] .cursor-pointer::after,
html[data-cursor-style="crosshair"] .cursor-pointer::after,
body[data-cursor-style="crosshair"] .cursor-pointer::after,
html[data-cursor-style="saucer"] .cursor-pointer::after,
body[data-cursor-style="saucer"] .cursor-pointer::after {
    opacity: 0;
}

@keyframes headerSignalDrift {
    0% {
        opacity: 0.52;
        background-position: 0 0, 0 0;
    }
    100% {
        opacity: 1;
        background-position: 120px 0, 48px 0;
    }
}

/* Gerb page flyout controls */
.gerb-flyout-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gerb-flyout-panels {
    position: relative;
    min-height: 0;
}

.gerb-flyout {
    border: 1px solid var(--line);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(8, 14, 24, 0.95), rgba(4, 8, 14, 0.94));
    padding: 14px;
    display: none;
}

.gerb-flyout.is-open {
    display: block;
}

@media (max-width: 1280px) {
    body.dashboard-page .metrics-chip-strip {
        gap: 6px;
    }

    .metric-chip {
        min-width: 62px;
        padding: 5px 7px;
    }

    .metric-chip strong {
        font-size: 14px;
    }

    .flyout-panel {
        width: min(336px, calc(100% - 86px));
    }
}

@media (max-width: 860px) {
    body.dashboard-page {
        overflow: auto;
    }

    body.dashboard-page .page {
        padding: 8px;
    }

    body.dashboard-page .globe-shell {
        min-height: 0;
        height: 100%;
        border-radius: 18px;
    }

    body.dashboard-page .desktop-overlay {
        display: none !important;
    }

    body.dashboard-page .globe-overlay.top-center {
        top: 10px;
        left: 10px;
        right: auto;
        transform: none;
        max-width: 140px;
    }

    body.dashboard-page .metrics-chip-strip {
        width: auto;
        overflow: visible;
    }

    body.dashboard-page .globe-tab-rail {
        display: none;
    }

    body.dashboard-page .mobile-globe-dock {
        position: absolute;
        left: 8px;
        right: 8px;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 8px);
        z-index: 8;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body.dashboard-page .mobile-globe-dock .button {
        width: 100%;
        min-width: 0;
        min-height: 58px;
        padding: 15px 10px;
        letter-spacing: 0.11em;
        font-size: 12px;
        line-height: 1.15;
    }

    .flyout-panel {
        top: 44px;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 132px);
        border-radius: 14px;
    }

    .flyout-head {
        padding: 16px;
        gap: 12px;
    }

    .flyout-body {
        padding: 16px;
        font-size: 15px;
    }

    .flyout-head .micro-label {
        font-size: 12px;
        letter-spacing: 0.22em;
    }

    .flyout-head .subtitle {
        font-size: 13px;
        line-height: 1.45;
    }

    .flyout-panel .button,
    .flyout-panel .filter-chip,
    .flyout-panel .hotspot-button,
    .globe-context-menu button {
        min-height: 54px;
        padding: 14px 13px;
        font-size: 13px;
        letter-spacing: 0.1em;
    }

    .flyout-panel input,
    .flyout-panel select {
        min-height: 52px;
        padding: 13px 14px;
        font-size: 16px;
    }

    .flight-filter-grid,
    .flight-scan-grid,
    .flight-custom-grid,
    .flight-toggle-row,
    .flight-feed-grid,
    .flight-console-grid,
    .flight-type-chips,
    .flight-region-chips,
    .flight-metric-grid,
    .flight-card-grid {
        grid-template-columns: 1fr;
    }

    .flight-type-chip,
    .flight-region-chip {
        flex: 1 1 calc(50% - 8px);
        min-height: 48px;
        font-size: 11px;
    }

    .flight-card {
        min-height: 62px;
        padding: 14px 13px;
    }

    body.dashboard-page #flyout-flights .flight-list {
        max-height: none;
    }

    .globe-context-menu {
        width: min(360px, calc(100vw - 20px));
        padding: 15px;
    }

    .globe-context-menu strong {
        font-size: 13px;
    }

    .globe-context-menu p,
    .globe-country-tooltip p,
    .globe-country-tooltip-types div,
    .tiny,
    .muted {
        font-size: max(12px, 0.78rem);
    }

    .tab-button {
        min-height: 148px;
        min-width: 42px;
        padding: 12px 8px;
        font-size: 12px;
    }

    .topbar-utilities {
        order: 2;
    }
}

/* Rebuilt Gerb Workspace */
body.gerb2-page .page {
    padding: 10px 12px 14px;
}

.gerb2-layout {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    gap: 12px;
    min-height: calc(100vh - 86px);
}

.gerb2-command {
    min-height: 0;
}

.gerb2-command-inner {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
}

.gerb2-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.gerb2-metrics .stat-card {
    padding: 10px;
}

.gerb2-metrics .stat-value {
    font-size: 23px;
    margin-top: 2px;
}

.gerb2-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 132px;
    gap: 8px;
}

.gerb2-search-row input,
.gerb2-search-row select {
    width: 100%;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: var(--text);
    padding: 10px 11px;
}

.gerb2-search-row input {
    background: rgba(255, 255, 255, 0.04);
}

.gerb2-search-row select {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 10px;
}

.gerb2-chip-block {
    display: grid;
    gap: 8px;
}

.gerb2-panel-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gerb2-main {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 12px;
}

.gerb2-feature .panel-inner,
.gerb2-feed .panel-inner {
    padding: 14px;
}

.gerb2-feature-frame-wrap {
    margin-top: 10px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.32);
    aspect-ratio: 16 / 9;
    position: relative;
}

.gerb2-feature-frame {
    width: 100%;
    height: 100%;
    border: 0;
}

.gerb2-feature-empty {
    position: absolute;
    inset: 0;
    display: none;
    place-items: center;
    text-align: center;
    padding: 14px;
    color: var(--muted);
}

.gerb2-feature-copy {
    margin-top: 10px;
}

.gerb2-feature-copy h2 {
    margin: 0;
    font-size: 22px;
    line-height: 1.3;
}

.gerb2-feed {
    min-height: 0;
}

.gerb2-feed-list {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    max-height: 100%;
    overflow: auto;
    padding-right: 4px;
    scroll-behavior: smooth;
}

.gerb2-video-card {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    padding: 11px;
    display: grid;
    gap: 8px;
}

.gerb2-video-card.selected {
    border-color: var(--line-strong);
    box-shadow: 0 0 22px rgba(121, 214, 255, 0.15);
}

.gerb2-video-head {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.gerb2-video-head h3 {
    margin: 4px 0 0;
    font-size: 15px;
    line-height: 1.35;
}

.gerb2-video-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.gerb2-video-summary {
    margin: 0;
    color: var(--text);
    font-size: 13px;
    line-height: 1.45;
}

.gerb2-video-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gerb2-drawer {
    position: fixed;
    top: 92px;
    right: 12px;
    width: min(460px, calc(100vw - 24px));
    bottom: 12px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(8, 14, 24, 0.98), rgba(5, 9, 16, 0.96));
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
    z-index: 70;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.gerb2-drawer[hidden] {
    display: none !important;
}

.gerb2-drawer-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 12px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.gerb2-drawer-body {
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    padding: 10px;
    scroll-behavior: smooth;
}

@media (max-width: 1280px) {
    .gerb2-layout {
        grid-template-columns: 1fr;
    }

    .gerb2-main {
        grid-template-rows: auto auto;
    }

    .gerb2-feed-list {
        grid-template-columns: 1fr;
        max-height: 720px;
    }
}

@media (max-width: 860px) {
    .gerb2-search-row {
        grid-template-columns: 1fr;
    }

    .gerb2-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gerb2-drawer {
        top: 78px;
        left: 10px;
        right: 10px;
        width: auto;
    }

    .gerb-flyout-stack .button,
    .gerb2-drawer .button,
    .gerb2-video-card button,
    .gerb2-feed-card button,
    .webcam-card .button {
        min-height: 52px;
        padding: 14px 15px;
        font-size: 12px;
    }

    .gerb2-drawer {
        font-size: 14px;
    }
}

/* Page transition cache dialog */
.page-transition {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(3, 6, 12, 0.58);
    backdrop-filter: blur(8px);
}

.page-transition.show {
    display: flex;
}

.page-transition-card {
    width: min(420px, calc(100vw - 28px));
    border-radius: 18px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(8, 14, 24, 0.96), rgba(4, 8, 14, 0.95));
    box-shadow: 0 28px 64px rgba(0, 0, 0, 0.42);
    padding: 16px 16px 14px;
    color: var(--text);
}

.page-transition-title {
    margin-top: 8px;
    font-family: var(--font-display);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 13px;
}

.page-transition-track {
    margin-top: 12px;
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.09);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.page-transition-fill {
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, color-mix(in srgb, var(--cyan) 68%, #7d9193), color-mix(in srgb, var(--teal) 28%, var(--cyan)));
    transition: width 180ms ease;
}

.page-transition-meta {
    margin-top: 9px;
    color: var(--muted);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Slimmer layout density for non-globe pages */
body.cases-page .panel,
body.resources-page .panel,
body.gerb2-page .panel {
    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 0 0 1px rgba(121, 214, 255, 0.08),
        0 0 14px rgba(121, 214, 255, 0.08);
}

body.cases-page .panel-inner,
body.resources-page .panel-inner,
body.gerb2-page .panel-inner {
    padding: 12px 14px;
}

body.cases-page .resource-card,
body.resources-page .resource-card,
body.gerb2-page .resource-card,
body.gerb2-page .gerb2-video-card,
body.gerb2-page .glossary-card {
    padding: 10px 11px;
    border-color: rgba(255, 255, 255, 0.1);
}

body.cases-page .cases-archive-strip {
    padding-top: 6px;
    padding-bottom: 6px;
    gap: 8px;
}

body.cases-page .cases-archive-count {
    font-size: clamp(18px, 1.45vw, 24px);
}

body.cases-page .cases-query-panel .panel-inner {
    padding-top: 8px;
    padding-bottom: 8px;
}

body.resources-page .hero-banner {
    gap: 10px;
    margin-bottom: 10px;
}

body.gerb2-page .gerb2-panel-buttons .button {
    flex: 1 1 0;
    min-width: 138px;
    font-weight: 600;
}

body.gerb2-page .gerb2-video-card {
    transition: border-color 180ms ease, box-shadow 220ms ease, transform 180ms ease;
}

body.gerb2-page .gerb2-video-card:hover {
    border-color: var(--line-strong);
    box-shadow: 0 0 20px rgba(121, 214, 255, 0.12);
    transform: translateY(-1px);
}

body.gerb2-page .gerb2-video-actions .button {
    min-width: 122px;
}

body.gerb2-page .gerb2-feature-frame-wrap {
    border-color: rgba(121, 214, 255, 0.24);
    background: rgba(0, 0, 0, 0.48);
}

body.gerb2-page .gerb2-drawer {
    border-width: 1px;
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.38);
}

.creator-dossier {
    grid-column: 1 / -1;
}

.creator-dossier-inner {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
}

.dossier-photo {
    width: 132px;
    aspect-ratio: 1 / 1.18;
    object-fit: cover;
    border: 1px solid var(--line-strong);
    background: rgba(0,0,0,0.36);
    box-shadow:
        inset 0 0 24px rgba(255,255,255,0.04),
        0 0 24px color-mix(in srgb, var(--blue) 20%, transparent);
}

.dossier-copy h1 {
    margin: 3px 0 8px;
    font-family: "Orbitron", sans-serif;
    font-size: clamp(22px, 2vw, 34px);
    letter-spacing: 0.04em;
}

.dossier-copy p {
    margin: 6px 0;
    color: var(--muted);
    line-height: 1.55;
}

.dossier-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.dossier-stats span,
.guest-dossier {
    border: 1px solid var(--line);
    background:
        linear-gradient(135deg, rgba(255,255,255,0.055), rgba(255,255,255,0.015)),
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--blue) 18%, transparent), transparent 56%);
}

.dossier-stats span {
    padding: 6px 8px;
    font-size: 10px;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.guest-dossier {
    margin: 10px 0;
    padding: 10px 12px;
    box-shadow: inset 2px 0 0 var(--line-strong);
}

.guest-dossier[hidden] {
    display: none !important;
}

.guest-dossier-name {
    margin-top: 5px;
    font-family: "Orbitron", sans-serif;
    font-size: 17px;
    letter-spacing: 0.06em;
}

.guest-dossier-role {
    margin-top: 4px;
    color: var(--blue);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.guest-dossier p {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.5;
}

@media (max-width: 760px) {
    .creator-dossier-inner {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .dossier-photo {
        width: 82px;
    }
}

/* Custom cursor system */
html.custom-cursor-ready,
html.custom-cursor-ready body,
html.custom-cursor-ready a,
html.custom-cursor-ready button,
html.custom-cursor-ready select,
html.custom-cursor-ready [role="button"] {
    cursor: none !important;
}

html.custom-cursor-ready input,
html.custom-cursor-ready textarea,
html.custom-cursor-ready [contenteditable="true"] {
    cursor: text !important;
}

.custom-cursor {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 2147483646;
    opacity: 0;
    transition: opacity 140ms ease;
    will-change: transform, opacity;
}

.custom-cursor.is-visible {
    opacity: 1;
}

.cursor-halo {
    width: 34px;
    height: 34px;
    margin-left: -8px;
    margin-top: -6px;
    border: 1px solid var(--cursor-ring);
    border-radius: 2px;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.05),
        0 0 22px var(--cursor-glow);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.1));
    clip-path: polygon(0 0, 84% 42%, 52% 52%, 66% 84%, 55% 89%, 40% 58%, 18% 78%);
    mix-blend-mode: screen;
    transition: width 160ms ease, height 160ms ease, margin 160ms ease, border-color 160ms ease, box-shadow 180ms ease;
}

.cursor-dot {
    width: 5px;
    height: 5px;
    margin-left: 0;
    margin-top: 0;
    background: var(--cursor-core);
    border-radius: 999px;
    box-shadow: 0 0 14px var(--cursor-glow);
    transition: width 140ms ease, height 140ms ease, margin 140ms ease, background-color 140ms ease;
}

.cursor-halo.is-active {
    width: 42px;
    height: 42px;
    margin-left: -10px;
    margin-top: -8px;
    border-color: var(--cursor-core);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.08),
        0 0 28px var(--cursor-glow);
}

.cursor-dot.is-active {
    width: 7px;
    height: 7px;
    margin-left: 0;
    margin-top: 0;
}

.cursor-halo.is-pressed {
    width: 30px;
    height: 30px;
    margin-left: -6px;
    margin-top: -5px;
}

.cursor-dot.is-pressed {
    width: 6px;
    height: 6px;
    margin-left: -3px;
    margin-top: -3px;
}

body[data-theme="echelon"] .cursor-halo {
    clip-path: polygon(0 0, 86% 43%, 55% 53%, 70% 85%, 58% 91%, 42% 61%, 17% 81%);
}

body[data-theme="chromeslate"] .cursor-halo {
    clip-path: polygon(0 0, 82% 40%, 55% 51%, 68% 82%, 56% 88%, 42% 58%, 18% 78%);
}

body[data-theme="ghostsignal"] .cursor-halo {
    clip-path: polygon(0 0, 90% 45%, 56% 54%, 72% 88%, 60% 94%, 43% 63%, 18% 84%);
}

body[data-theme="obsidianpulse"] .cursor-halo {
    clip-path: polygon(0 0, 84% 38%, 58% 50%, 76% 80%, 62% 89%, 44% 59%, 20% 77%);
}

body[data-theme="neonvector"] .cursor-halo {
    clip-path: polygon(0 0, 94% 46%, 58% 55%, 76% 94%, 62% 98%, 42% 62%, 16% 86%);
}

body[data-theme="crimsonops"] .cursor-halo {
    clip-path: polygon(0 0, 86% 39%, 57% 53%, 74% 86%, 58% 93%, 42% 60%, 18% 82%);
}

body[data-theme="quantumveil"] .cursor-halo {
    border-radius: 2px;
    clip-path: polygon(0 0, 82% 42%, 55% 52%, 68% 84%, 55% 90%, 40% 59%, 18% 79%);
}

body[data-theme="polaranomaly"] .cursor-halo,
body[data-theme="lucentarchive"] .cursor-halo,
body[data-theme="haloterminal"] .cursor-halo,
body[data-theme="milkglassmatrix"] .cursor-halo,
body[data-theme="daybreakvector"] .cursor-halo,
body[data-theme="polaranomaly"] .cursor-pointer,
body[data-theme="lucentarchive"] .cursor-pointer,
body[data-theme="haloterminal"] .cursor-pointer,
body[data-theme="milkglassmatrix"] .cursor-pointer,
body[data-theme="daybreakvector"] .cursor-pointer,
body[data-theme="polaranomaly"] .cursor-trail,
body[data-theme="lucentarchive"] .cursor-trail,
body[data-theme="haloterminal"] .cursor-trail,
body[data-theme="milkglassmatrix"] .cursor-trail,
body[data-theme="daybreakvector"] .cursor-trail {
    mix-blend-mode: normal;
}

body[data-theme="polaranomaly"] .cursor-halo,
body[data-theme="lucentarchive"] .cursor-halo,
body[data-theme="haloterminal"] .cursor-halo,
body[data-theme="milkglassmatrix"] .cursor-halo,
body[data-theme="daybreakvector"] .cursor-halo {
    border-color: color-mix(in srgb, var(--cursor-core) 28%, #031014);
    background: linear-gradient(180deg, rgba(5, 14, 18, 0.18), rgba(0, 0, 0, 0.08));
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.42),
        0 0 12px rgba(2, 8, 12, 0.28),
        0 0 18px color-mix(in srgb, var(--cursor-core) 18%, transparent);
}

body[data-theme="polaranomaly"] .cursor-dot,
body[data-theme="lucentarchive"] .cursor-dot,
body[data-theme="haloterminal"] .cursor-dot,
body[data-theme="milkglassmatrix"] .cursor-dot,
body[data-theme="daybreakvector"] .cursor-dot {
    background: color-mix(in srgb, var(--cursor-core) 24%, #03080c);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.42),
        0 0 10px color-mix(in srgb, var(--cursor-core) 20%, transparent);
}

.cursor-pointer {
    width: 18px;
    height: 17px;
    margin-left: -2px;
    margin-top: -2px;
    clip-path: polygon(0 0, 100% 34%, 34% 35%, 59% 100%, 23% 43%);
    background:
        linear-gradient(35deg, transparent 0 41%, color-mix(in srgb, var(--cursor-ring) 82%, white) 42% 47%, transparent 48%),
        linear-gradient(61deg, transparent 0 39%, color-mix(in srgb, var(--cursor-core) 90%, white) 40% 46%, transparent 47%),
        linear-gradient(135deg, rgba(255,255,255,0.92), var(--cursor-core) 38%, rgba(0,0,0,0.04) 100%);
    border: 1px solid color-mix(in srgb, var(--cursor-core) 72%, white);
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.18),
        0 0 18px var(--cursor-glow),
        0 0 42px color-mix(in srgb, var(--cursor-glow) 70%, transparent);
    mix-blend-mode: screen;
    transform-origin: 9% 9%;
    transition: opacity 140ms ease, filter 170ms ease, clip-path 180ms ease;
}

body[data-theme="polaranomaly"] .cursor-pointer,
body[data-theme="lucentarchive"] .cursor-pointer,
body[data-theme="haloterminal"] .cursor-pointer,
body[data-theme="milkglassmatrix"] .cursor-pointer,
body[data-theme="daybreakvector"] .cursor-pointer {
    background:
        linear-gradient(35deg, transparent 0 41%, color-mix(in srgb, var(--cursor-ring) 32%, #051017) 42% 47%, transparent 48%),
        linear-gradient(61deg, transparent 0 39%, color-mix(in srgb, var(--cursor-core) 32%, #06131a) 40% 46%, transparent 47%),
        linear-gradient(135deg, rgba(255,255,255,0.2), color-mix(in srgb, var(--cursor-core) 20%, #04090e) 38%, rgba(0,0,0,0.88) 100%);
    border-color: color-mix(in srgb, var(--cursor-core) 26%, #02080d);
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.52),
        0 0 12px color-mix(in srgb, var(--cursor-core) 20%, transparent),
        0 5px 14px rgba(0, 0, 0, 0.34);
}

.cursor-pointer::after {
    content: "";
    position: absolute;
    inset: 3px auto auto 5px;
    width: 8px;
    height: 7px;
    clip-path: polygon(0 0, 100% 27%, 41% 100%, 24% 54%);
    border: 1px solid color-mix(in srgb, var(--cursor-core) 82%, white);
    background: linear-gradient(135deg, rgba(255,255,255,0.1), transparent 62%);
    box-shadow:
        inset 0 0 9px color-mix(in srgb, var(--cursor-glow) 44%, transparent),
        0 0 12px var(--cursor-glow);
}

body[data-theme="polaranomaly"] .cursor-pointer::after,
body[data-theme="lucentarchive"] .cursor-pointer::after,
body[data-theme="haloterminal"] .cursor-pointer::after,
body[data-theme="milkglassmatrix"] .cursor-pointer::after,
body[data-theme="daybreakvector"] .cursor-pointer::after {
    border-color: color-mix(in srgb, var(--cursor-core) 28%, #02080d);
    background: linear-gradient(135deg, rgba(255,255,255,0.12), rgba(0,0,0,0.18) 62%);
    box-shadow:
        inset 0 0 7px color-mix(in srgb, var(--cursor-core) 12%, transparent),
        0 0 8px color-mix(in srgb, var(--cursor-core) 18%, transparent);
}

.cursor-trail {
    width: 22px;
    height: 20px;
    margin-left: -4px;
    margin-top: -4px;
    border: 1px solid color-mix(in srgb, var(--cursor-ring) 62%, transparent);
    background:
        radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--cursor-glow) 34%, transparent), transparent 48%),
        linear-gradient(34deg, transparent 0 42%, color-mix(in srgb, var(--cursor-core) 24%, transparent) 43% 48%, transparent 49%);
    clip-path: polygon(0 0, 100% 34%, 34% 35%, 59% 100%, 23% 43%);
    filter: blur(0.2px);
    mix-blend-mode: screen;
    transition: opacity 140ms ease, width 170ms ease, height 170ms ease, margin 170ms ease, border-color 170ms ease;
}

body[data-theme="polaranomaly"] .cursor-trail,
body[data-theme="lucentarchive"] .cursor-trail,
body[data-theme="haloterminal"] .cursor-trail,
body[data-theme="milkglassmatrix"] .cursor-trail,
body[data-theme="daybreakvector"] .cursor-trail {
    border-color: color-mix(in srgb, var(--cursor-core) 18%, rgba(3, 10, 14, 0.48));
    background:
        radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--cursor-core) 12%, rgba(2, 8, 12, 0.24)), transparent 48%),
        linear-gradient(34deg, transparent 0 42%, color-mix(in srgb, var(--cursor-core) 14%, rgba(3, 10, 14, 0.34)) 43% 48%, transparent 49%);
    filter: none;
}

.cursor-pointer.is-active {
    filter: saturate(1.45) brightness(1.22);
    clip-path: polygon(0 0, 100% 33%, 35% 35%, 60% 100%, 22% 43%);
}

.cursor-trail.is-active {
    width: 27px;
    height: 24px;
    margin-left: -5px;
    margin-top: -5px;
    border-color: var(--cursor-core);
}

.cursor-pointer.is-pressed {
    filter: saturate(1.7) brightness(1.42);
}

.cursor-trail.is-pressed {
    width: 18px;
    height: 16px;
    margin-left: -3px;
    margin-top: -3px;
}

@media (pointer: coarse) {
    .custom-cursor {
        display: none !important;
    }
}

/* Webcams page */
body.webcams-page .webcams-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 14px;
}

.webcams-query {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: end;
}

.webcams-query input {
    width: 100%;
    padding: 9px 10px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.03);
    color: var(--text);
}

.webcams-query input::placeholder {
    color: var(--muted);
}

.webcam-card {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cyan) 28%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 42%),
        radial-gradient(circle at 82% 14%, color-mix(in srgb, var(--teal) 11%, transparent), transparent 32%),
        rgba(255, 255, 255, 0.025);
    padding: 12px;
    display: grid;
    gap: 10px;
    box-shadow: 0 20px 52px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.webcam-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 12%, transparent), transparent);
    opacity: 0;
    transform: translateX(-70%);
    transition: opacity 180ms ease, transform 420ms cubic-bezier(0.2, 0.84, 0.22, 1);
}

.webcam-card:hover::before {
    opacity: 1;
    transform: translateX(70%);
}

.webcam-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.webcam-frame-wrap {
    position: relative;
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    background: rgba(0, 0, 0, 0.62);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    box-shadow: inset 0 0 28px rgba(0, 0, 0, 0.38), 0 0 20px color-mix(in srgb, var(--cyan) 10%, transparent);
}

.webcam-frame-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: repeating-linear-gradient(to bottom, rgba(255,255,255,0.04) 0 1px, transparent 1px 7px);
    mix-blend-mode: screen;
    opacity: 0.28;
}

.webcam-embed-note {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 2;
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    background: rgba(0, 4, 10, 0.68);
    color: var(--muted);
    padding: 7px 8px;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    pointer-events: none;
    opacity: 0.72;
    backdrop-filter: blur(10px);
}

.webcam-frame {
    width: 100%;
    height: 100%;
    border: 0;
    filter: saturate(1.12) contrast(1.08) brightness(0.96);
}

.webcam-image-frame {
    display: block;
    object-fit: cover;
}

.webcam-frame-wrap-external {
    display: grid;
    place-items: center;
    min-height: 210px;
}

.webcam-external-state {
    width: min(88%, 420px);
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 44%),
        rgba(0, 5, 12, 0.74);
    padding: 16px;
    color: var(--text);
    text-align: left;
    box-shadow: inset 0 0 24px rgba(255,255,255,0.04), 0 0 26px color-mix(in srgb, var(--cyan) 12%, transparent);
}

.webcam-external-state strong {
    display: block;
    margin-top: 7px;
    font-family: var(--font-display);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.webcam-external-state p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.webcam-cases {
    display: grid;
    gap: 8px;
    max-height: 210px;
    overflow: auto;
    padding-right: 4px;
}

.webcam-case {
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 6%, transparent), transparent 70%),
        rgba(255, 255, 255, 0.02);
    padding: 8px 9px;
    display: grid;
    gap: 4px;
}

@media (max-width: 860px) {
    .webcams-query {
        grid-template-columns: 1fr;
    }
}

/* Radio feeds page */
body.radio-page .radio-hero .panel-inner {
    gap: 14px;
}

.radio-legal-note {
    max-width: 460px;
    border: 1px solid color-mix(in srgb, var(--amber) 30%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--amber) 10%, transparent), transparent 54%),
        color-mix(in srgb, var(--overlay-bg) 70%, transparent);
    padding: 12px;
    backdrop-filter: blur(18px) saturate(1.18);
}

.radio-legal-note p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.radio-query {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(170px, 0.8fr)) auto;
    gap: 8px;
    align-items: end;
}

.radio-field-wide {
    min-width: 0;
}

.radio-query input,
.radio-query select {
    width: 100%;
    min-height: 39px;
    padding: 9px 10px;
    border: 1px solid color-mix(in srgb, var(--cyan) 26%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--overlay-bg) 84%, transparent), color-mix(in srgb, var(--panel-grad-2) 82%, transparent));
    color: var(--text);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cyan) 8%, transparent);
}

.radio-query input::placeholder {
    color: var(--muted);
}

.radio-query select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    color-scheme: dark;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--cyan) 50%),
        linear-gradient(135deg, var(--cyan) 50%, transparent 50%),
        linear-gradient(180deg, color-mix(in srgb, var(--overlay-bg) 90%, transparent), color-mix(in srgb, var(--panel-grad-2) 88%, transparent));
    background-position:
        calc(100% - 14px) calc(50% - 1px),
        calc(100% - 9px) calc(50% - 1px),
        0 0;
    background-size: 5px 5px, 5px 5px, 100% 100%;
    background-repeat: no-repeat;
    padding-right: 30px;
}

.radio-summary-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.radio-summary-card {
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--cyan) 11%, transparent), transparent 36%),
        color-mix(in srgb, var(--overlay-bg) 68%, transparent);
    padding: 11px 12px;
    backdrop-filter: blur(18px) saturate(1.2);
    box-shadow: inset 0 0 22px color-mix(in srgb, var(--cyan) 5%, transparent);
}

.radio-summary-card strong {
    display: block;
    margin-top: 5px;
    font-family: var(--font-display);
    font-size: 20px;
    letter-spacing: 0.08em;
    color: var(--text);
}

.radio-feed-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 14px;
}

.radio-card {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cyan) 28%, transparent);
    background:
        linear-gradient(132deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 44%),
        radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--pink) 10%, transparent), transparent 32%),
        color-mix(in srgb, var(--overlay-bg) 72%, transparent);
    padding: 13px;
    display: grid;
    gap: 11px;
    box-shadow:
        0 24px 58px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        inset 0 0 30px color-mix(in srgb, var(--cyan) 5%, transparent);
    backdrop-filter: blur(17px) saturate(1.16);
}

.radio-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent) 0 1px, transparent 1px 15px),
        linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 12%, transparent), transparent);
    opacity: 0.14;
    transform: translateX(-18%);
    transition: opacity 180ms ease, transform 480ms cubic-bezier(0.2, 0.84, 0.22, 1);
}

.radio-card:hover::before {
    opacity: 0.32;
    transform: translateX(18%);
}

.radio-card-head {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.radio-card h2 {
    margin: 5px 0 0;
    font-family: var(--font-display);
    font-size: 18px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.radio-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
    font-size: 13px;
}

.radio-status {
    flex: 0 0 auto;
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    background: color-mix(in srgb, var(--cyan) 10%, transparent);
    color: var(--text);
    padding: 7px 9px;
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.radio-band-row,
.radio-card-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.radio-band {
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background: color-mix(in srgb, var(--cyan) 8%, transparent);
    color: var(--text);
    padding: 5px 7px;
    font-size: 10px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.radio-caution {
    position: relative;
    z-index: 1;
    border: 1px solid color-mix(in srgb, var(--amber) 24%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--amber) 8%, transparent), transparent 68%),
        rgba(0, 0, 0, 0.12);
    padding: 9px;
}

.radio-caution p {
    margin-top: 5px;
    font-size: 12px;
}

.radio-link-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.radio-source-link {
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 50%),
        rgba(255, 255, 255, 0.025);
    padding: 9px;
    display: grid;
    gap: 6px;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.radio-source-link:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--cyan) 52%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 13%, transparent), transparent 50%),
        rgba(255, 255, 255, 0.04);
}

.radio-source-link strong {
    font-size: 12px;
    color: var(--text);
    letter-spacing: 0.05em;
}

.radio-source-link small {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@media (max-width: 1100px) {
    .radio-query {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .radio-field-wide {
        grid-column: 1 / -1;
    }
}

@media (max-width: 860px) {
    .radio-query,
    .radio-summary-strip,
    .radio-feed-grid,
    .radio-link-grid {
        grid-template-columns: 1fr;
    }

    .radio-card-head {
        display: grid;
    }

    .radio-query input,
    .radio-query select,
    .radio-query .button,
    .radio-card-actions .button,
    .radio-source-link {
        min-height: 52px;
        padding: 14px 15px;
        font-size: 14px;
    }
}

/* SIGINT and craft taxonomy pages */
body.sigint-page .sigint-hero .panel-inner,
body.taxonomy-page .taxonomy-hero .panel-inner {
    gap: 14px;
}

.sigint-radius-card,
.taxonomy-note {
    max-width: 470px;
    border: 1px solid color-mix(in srgb, var(--cyan) 30%, transparent);
    background:
        radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--cyan) 13%, transparent), transparent 42%),
        linear-gradient(135deg, color-mix(in srgb, var(--pink) 6%, transparent), transparent 58%),
        color-mix(in srgb, var(--overlay-bg) 70%, transparent);
    padding: 12px;
    backdrop-filter: blur(18px) saturate(1.18);
}

.sigint-radius-card strong {
    display: block;
    margin-top: 4px;
    font-family: var(--font-display);
    font-size: 28px;
    letter-spacing: 0.08em;
    color: var(--text);
}

.sigint-radius-card p,
.taxonomy-note p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.sigint-query,
.taxonomy-query {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(170px, 0.8fr)) auto;
    gap: 8px;
    align-items: end;
}

.taxonomy-query {
    grid-template-columns: minmax(260px, 1.7fr) minmax(180px, 0.85fr) minmax(180px, 0.85fr) auto;
}

.sigint-field-wide,
.taxonomy-field-wide {
    min-width: 0;
}

.sigint-query input,
.sigint-query select,
.taxonomy-query input,
.taxonomy-query select {
    width: 100%;
    min-height: 39px;
    padding: 9px 10px;
    border: 1px solid color-mix(in srgb, var(--cyan) 26%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--overlay-bg) 84%, transparent), color-mix(in srgb, var(--panel-grad-2) 82%, transparent));
    color: var(--text);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cyan) 8%, transparent);
}

.sigint-query input::placeholder,
.taxonomy-query input::placeholder {
    color: var(--muted);
}

.sigint-query select,
.taxonomy-query select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    color-scheme: dark;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--cyan) 50%),
        linear-gradient(135deg, var(--cyan) 50%, transparent 50%),
        linear-gradient(180deg, color-mix(in srgb, var(--overlay-bg) 90%, transparent), color-mix(in srgb, var(--panel-grad-2) 88%, transparent));
    background-position:
        calc(100% - 14px) calc(50% - 1px),
        calc(100% - 9px) calc(50% - 1px),
        0 0;
    background-size: 5px 5px, 5px 5px, 100% 100%;
    background-repeat: no-repeat;
    padding-right: 30px;
}

.sigint-summary-strip,
.taxonomy-summary-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.sigint-summary-card,
.taxonomy-summary-card {
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--cyan) 11%, transparent), transparent 36%),
        color-mix(in srgb, var(--overlay-bg) 68%, transparent);
    padding: 11px 12px;
    backdrop-filter: blur(18px) saturate(1.2);
    box-shadow: inset 0 0 22px color-mix(in srgb, var(--cyan) 5%, transparent);
}

.sigint-summary-card strong,
.taxonomy-summary-card strong {
    display: block;
    margin-top: 5px;
    font-family: var(--font-display);
    font-size: 20px;
    letter-spacing: 0.08em;
    color: var(--text);
}

.sigint-workflow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.sigint-step {
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 50%),
        color-mix(in srgb, var(--overlay-bg) 62%, transparent);
    padding: 12px;
    display: grid;
    gap: 6px;
    backdrop-filter: blur(16px) saturate(1.18);
}

.sigint-step span {
    width: 36px;
    height: 26px;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    color: var(--cyan);
    font-family: var(--font-display);
    font-size: 12px;
}

.sigint-step strong {
    color: var(--text);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sigint-step p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.sigint-grid,
.taxonomy-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(370px, 1fr));
    gap: 14px;
}

.sigint-card,
.taxonomy-card {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cyan) 28%, transparent);
    background:
        linear-gradient(132deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 44%),
        radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--pink) 10%, transparent), transparent 32%),
        color-mix(in srgb, var(--overlay-bg) 72%, transparent);
    padding: 13px;
    display: grid;
    gap: 11px;
    box-shadow:
        0 24px 58px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        inset 0 0 30px color-mix(in srgb, var(--cyan) 5%, transparent);
    backdrop-filter: blur(17px) saturate(1.16);
}

.sigint-card::before,
.taxonomy-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent) 0 1px, transparent 1px 15px),
        linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 12%, transparent), transparent);
    opacity: 0.14;
    transform: translateX(-18%);
    transition: opacity 180ms ease, transform 480ms cubic-bezier(0.2, 0.84, 0.22, 1);
}

.sigint-card:hover::before,
.taxonomy-card:hover::before {
    opacity: 0.32;
    transform: translateX(18%);
}

.sigint-card-head,
.taxonomy-card-head {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.taxonomy-card-head {
    justify-content: flex-start;
}

.sigint-card h2,
.taxonomy-card h2 {
    margin: 5px 0 0;
    font-family: var(--font-display);
    font-size: 18px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sigint-card p,
.taxonomy-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
    font-size: 13px;
}

.sigint-status {
    flex: 0 0 auto;
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    background: color-mix(in srgb, var(--cyan) 10%, transparent);
    color: var(--text);
    padding: 7px 9px;
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sigint-band-row,
.sigint-card-actions,
.taxonomy-chip-row,
.taxonomy-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.sigint-band,
.taxonomy-chip {
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background: color-mix(in srgb, var(--cyan) 8%, transparent);
    color: var(--text);
    padding: 5px 7px;
    font-size: 10px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.sigint-correlation,
.taxonomy-analysis,
.taxonomy-observed {
    position: relative;
    z-index: 1;
    border: 1px solid color-mix(in srgb, var(--amber) 24%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--amber) 8%, transparent), transparent 68%),
        rgba(0, 0, 0, 0.12);
    padding: 9px;
}

.sigint-correlation p,
.taxonomy-analysis p,
.taxonomy-observed p {
    margin-top: 5px;
    font-size: 12px;
}

.sigint-link-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.sigint-source-link {
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 50%),
        rgba(255, 255, 255, 0.025);
    padding: 9px;
    display: grid;
    gap: 6px;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.sigint-source-link:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--cyan) 52%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 13%, transparent), transparent 50%),
        rgba(255, 255, 255, 0.04);
}

.sigint-source-link strong {
    font-size: 12px;
    color: var(--text);
    letter-spacing: 0.05em;
}

.sigint-source-link small {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.taxonomy-abbrev-panel {
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 50%),
        color-mix(in srgb, var(--overlay-bg) 64%, transparent);
    padding: 13px;
    display: grid;
    gap: 12px;
    backdrop-filter: blur(17px) saturate(1.16);
}

.taxonomy-abbrev-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 8px;
}

.taxonomy-abbrev {
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    background: rgba(255, 255, 255, 0.025);
    padding: 9px;
    display: grid;
    gap: 4px;
}

.taxonomy-abbrev strong {
    color: var(--cyan);
    font-family: var(--font-display);
    letter-spacing: 0.12em;
}

.taxonomy-abbrev span {
    color: var(--text);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.taxonomy-abbrev p {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.45;
}

.taxonomy-icon {
    width: 62px;
    height: 62px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--cyan) 28%, transparent);
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cyan) 15%, transparent), transparent 64%),
        color-mix(in srgb, var(--overlay-bg) 72%, transparent);
    box-shadow: inset 0 0 24px color-mix(in srgb, var(--cyan) 9%, transparent), 0 0 18px color-mix(in srgb, var(--cyan) 12%, transparent);
}

.taxonomy-icon svg {
    width: 48px;
    height: 48px;
    fill: none;
    stroke: var(--cyan);
    stroke-width: 3;
    stroke-linejoin: miter;
    stroke-linecap: square;
    filter: drop-shadow(0 0 8px color-mix(in srgb, var(--cyan) 70%, transparent));
}

.taxonomy-gallery {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 8px;
}

.taxonomy-gallery-frame {
    position: relative;
    display: block;
    width: 100%;
    min-height: 220px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cyan) 30%, transparent);
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 62%),
        rgba(0, 0, 0, 0.46);
    box-shadow:
        inset 0 0 28px rgba(0, 0, 0, 0.34),
        0 0 22px color-mix(in srgb, var(--cyan) 10%, transparent);
    color: inherit;
    cursor: zoom-in;
    appearance: none;
    text-align: left;
}

.taxonomy-gallery-frame img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.08) brightness(0.92);
    transform: scale(1.01);
    transition: transform 420ms cubic-bezier(0.2, 0.84, 0.22, 1), filter 220ms ease;
}

.taxonomy-card:hover .taxonomy-gallery-frame img {
    transform: scale(1.045);
    filter: saturate(1.2) contrast(1.14) brightness(0.98);
}

.taxonomy-gallery-sheen {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 34%),
        repeating-linear-gradient(to bottom, rgba(255,255,255,0.055) 0 1px, transparent 1px 8px);
    mix-blend-mode: screen;
    opacity: 0.24;
}

.taxonomy-gallery-caption {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: grid;
    gap: 2px;
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background: color-mix(in srgb, var(--overlay-bg) 78%, transparent);
    backdrop-filter: blur(14px) saturate(1.16);
    padding: 8px 9px;
}

.taxonomy-gallery-caption strong {
    color: var(--text);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.taxonomy-gallery-caption span {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.taxonomy-gallery-badge,
.taxonomy-gallery-play {
    position: absolute;
    z-index: 2;
    top: 10px;
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    background: color-mix(in srgb, var(--overlay-bg) 78%, transparent);
    color: var(--cyan);
    backdrop-filter: blur(12px) saturate(1.3);
    font-family: var(--font-display);
    font-size: 9px;
    letter-spacing: 0.16em;
    line-height: 1;
    padding: 7px 8px;
    text-transform: uppercase;
}

.taxonomy-gallery-badge {
    left: 10px;
}

.taxonomy-gallery-play {
    right: 10px;
    color: var(--text);
    box-shadow: 0 0 20px color-mix(in srgb, var(--cyan) 22%, transparent);
}

.taxonomy-gallery-play[hidden] {
    display: none;
}

.taxonomy-gallery-tools {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.taxonomy-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.taxonomy-thumb {
    position: relative;
    width: 54px;
    height: 38px;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    background: rgba(255,255,255,0.03);
    overflow: hidden;
    cursor: pointer;
    opacity: 0.68;
    transition: transform 160ms ease, opacity 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.taxonomy-thumb:hover,
.taxonomy-thumb.active {
    opacity: 1;
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--cyan) 64%, transparent);
    box-shadow: 0 0 16px color-mix(in srgb, var(--cyan) 18%, transparent);
}

.taxonomy-thumb span {
    position: absolute;
    inset: auto 2px 2px 2px;
    z-index: 1;
    overflow: hidden;
    background: rgba(0,0,0,0.64);
    color: #fff;
    font-family: var(--font-display);
    font-size: 6px;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.taxonomy-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.taxonomy-gallery-meta {
    display: grid;
    gap: 4px;
    justify-items: end;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-align: right;
}

.taxonomy-gallery-meta a {
    color: var(--cyan);
    border-bottom: 1px solid color-mix(in srgb, var(--cyan) 40%, transparent);
}

.taxonomy-media-panel .panel-inner {
    gap: 14px;
}

.taxonomy-media-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.taxonomy-media-filter {
    min-height: 38px;
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 52%),
        color-mix(in srgb, var(--overlay-bg) 76%, transparent);
    color: var(--muted);
    cursor: pointer;
    font-family: var(--font-display);
    font-size: 10px;
    letter-spacing: 0.14em;
    padding: 10px 12px;
    text-transform: uppercase;
    transition: transform 170ms ease, border-color 170ms ease, color 170ms ease, background 170ms ease, box-shadow 170ms ease;
}

.taxonomy-media-filter:hover,
.taxonomy-media-filter.active {
    color: var(--text);
    border-color: color-mix(in srgb, var(--cyan) 68%, transparent);
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cyan) 20%, transparent), transparent 68%),
        color-mix(in srgb, var(--panel-grad-1) 82%, transparent);
    box-shadow: 0 0 20px color-mix(in srgb, var(--cyan) 15%, transparent);
    transform: translateY(-1px);
}

.taxonomy-media-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    max-height: min(620px, 62vh);
    overflow: auto;
    padding-right: 4px;
}

.taxonomy-media-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 270px;
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 42%),
        color-mix(in srgb, var(--overlay-bg) 73%, transparent);
    box-shadow: inset 0 0 24px rgba(0,0,0,0.2);
    overflow: hidden;
}

.taxonomy-media-image {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    background: rgba(0,0,0,0.48);
    cursor: zoom-in;
    padding: 0;
    text-align: left;
}

.taxonomy-media-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: saturate(1.12) contrast(1.12) brightness(0.9);
    transform: scale(1.01);
    transition: transform 360ms cubic-bezier(0.2, 0.84, 0.22, 1), filter 220ms ease;
}

.taxonomy-media-card:hover .taxonomy-media-image img {
    transform: scale(1.055);
    filter: saturate(1.24) contrast(1.18) brightness(0.98);
}

.taxonomy-media-body {
    display: grid;
    gap: 6px;
    align-content: start;
    padding: 11px;
}

.taxonomy-media-body h3 {
    margin: 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 13px;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.taxonomy-media-body p,
.taxonomy-media-body span {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.45;
}

.taxonomy-media-body span {
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.taxonomy-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: clamp(12px, 2vw, 28px);
    pointer-events: none;
    opacity: 0;
    transition: opacity 220ms ease;
}

.taxonomy-lightbox.show {
    pointer-events: auto;
    opacity: 1;
}

.taxonomy-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cyan) 16%, transparent), transparent 42%),
        color-mix(in srgb, var(--bg) 55%, transparent);
    backdrop-filter: blur(16px) saturate(1.28);
}

.taxonomy-lightbox-panel {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto minmax(220px, 1fr) auto auto;
    gap: 12px;
    width: min(1180px, 96vw);
    max-height: 94vh;
    border: 1px solid color-mix(in srgb, var(--cyan) 34%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 13%, transparent), transparent 38%),
        color-mix(in srgb, var(--overlay-bg) 84%, transparent);
    box-shadow:
        0 30px 90px rgba(0,0,0,0.45),
        inset 0 0 40px color-mix(in srgb, var(--cyan) 7%, transparent);
    padding: clamp(12px, 1.6vw, 18px);
    backdrop-filter: blur(22px) saturate(1.35);
}

.taxonomy-lightbox-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: start;
    border-bottom: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    padding-bottom: 10px;
}

.taxonomy-lightbox-head h2 {
    margin: 3px 0 4px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: clamp(18px, 2vw, 26px);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.taxonomy-lightbox-head p,
.taxonomy-lightbox-license {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    letter-spacing: 0.06em;
}

.taxonomy-lightbox-stage {
    min-height: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 66%),
        rgba(0, 0, 0, 0.58);
}

.taxonomy-lightbox-stage img,
.taxonomy-lightbox-stage video,
.taxonomy-lightbox-stage iframe {
    width: 100%;
    height: min(66vh, 680px);
    max-height: 66vh;
    display: block;
    object-fit: contain;
    border: 0;
}

.taxonomy-lightbox-stage img {
    max-width: 100%;
    cursor: grab;
    transform-origin: center;
    transition: transform 90ms linear, filter 180ms ease;
    filter: saturate(1.12) contrast(1.16);
    touch-action: none;
}

.taxonomy-lightbox-stage img.dragging {
    cursor: grabbing;
}

.taxonomy-source-card {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(240px, 1fr);
    gap: clamp(14px, 2vw, 24px);
    align-items: center;
    width: min(860px, 92%);
    color: var(--text);
    padding: clamp(14px, 2vw, 24px);
}

.taxonomy-source-card img {
    height: auto;
    max-height: 420px;
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    object-fit: cover;
}

.taxonomy-source-card p {
    color: var(--muted);
    line-height: 1.6;
}

.taxonomy-lightbox-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.taxonomy-lightbox-open {
    overflow: hidden;
}

body[data-theme] .sigint-card,
body[data-theme] .sigint-summary-card,
body[data-theme] .sigint-radius-card,
body[data-theme] .sigint-step,
body[data-theme] .taxonomy-card,
body[data-theme] .taxonomy-summary-card,
body[data-theme] .taxonomy-note,
body[data-theme] .taxonomy-abbrev-panel {
    filter: saturate(1.08) contrast(1.08) brightness(1.015);
}

body[data-theme] .sigint-card:hover,
body[data-theme] .taxonomy-card:hover {
    filter: saturate(1.18) contrast(1.12) brightness(1.035);
}

body[data-theme="polaranomaly"] :where(.sigint-card, .sigint-summary-card, .sigint-radius-card, .sigint-step, .taxonomy-card, .taxonomy-summary-card, .taxonomy-note, .taxonomy-abbrev-panel),
body[data-theme="lucentarchive"] :where(.sigint-card, .sigint-summary-card, .sigint-radius-card, .sigint-step, .taxonomy-card, .taxonomy-summary-card, .taxonomy-note, .taxonomy-abbrev-panel),
body[data-theme="haloterminal"] :where(.sigint-card, .sigint-summary-card, .sigint-radius-card, .sigint-step, .taxonomy-card, .taxonomy-summary-card, .taxonomy-note, .taxonomy-abbrev-panel),
body[data-theme="milkglassmatrix"] :where(.sigint-card, .sigint-summary-card, .sigint-radius-card, .sigint-step, .taxonomy-card, .taxonomy-summary-card, .taxonomy-note, .taxonomy-abbrev-panel),
body[data-theme="daybreakvector"] :where(.sigint-card, .sigint-summary-card, .sigint-radius-card, .sigint-step, .taxonomy-card, .taxonomy-summary-card, .taxonomy-note, .taxonomy-abbrev-panel) {
    color: var(--text);
    text-shadow: none;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 46%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 96%, white 4%), color-mix(in srgb, var(--panel-grad-2) 96%, white 4%));
}

@media (max-width: 1100px) {
    .sigint-query,
    .taxonomy-query {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sigint-field-wide,
    .taxonomy-field-wide {
        grid-column: 1 / -1;
    }

    .taxonomy-media-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .sigint-query,
    .taxonomy-query,
    .sigint-summary-strip,
    .taxonomy-summary-strip,
    .sigint-workflow,
    .sigint-grid,
    .taxonomy-grid,
    .taxonomy-media-grid,
    .sigint-link-grid {
        grid-template-columns: 1fr;
    }

    .taxonomy-media-grid {
        max-height: none;
    }

    .sigint-card-head,
    .taxonomy-card-head {
        display: grid;
    }

    .sigint-query input,
    .sigint-query select,
    .sigint-query .button,
    .sigint-card-actions .button,
    .sigint-source-link,
    .taxonomy-query input,
    .taxonomy-query select,
    .taxonomy-query .button,
    .taxonomy-actions .button {
        min-height: 52px;
        padding: 14px 15px;
        font-size: 14px;
    }

    .taxonomy-lightbox {
        padding: 8px;
    }

    .taxonomy-lightbox-panel {
        width: 100%;
        max-height: 96vh;
        gap: 10px;
    }

    .taxonomy-lightbox-head {
        display: grid;
    }

    .taxonomy-lightbox-stage img,
    .taxonomy-lightbox-stage video,
    .taxonomy-lightbox-stage iframe {
        height: min(56vh, 520px);
        max-height: 56vh;
    }

    .taxonomy-source-card {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .taxonomy-lightbox-controls .button {
        flex: 1 1 96px;
        min-height: 48px;
    }
}

/* Site-wide visual systems upgrade */
:root {
    --glass-alpha: 0.72;
    --glass-alpha-strong: 0.88;
    --glass-blur: 18px;
    --edge-light: color-mix(in srgb, var(--cyan) 42%, transparent);
    --edge-faint: color-mix(in srgb, var(--cyan) 17%, transparent);
    --hover-lift: -4px;
    --motion-fast: 160ms;
    --motion-med: 300ms;
    --motion-slow: 1200ms;
    --theme-pulse-a: color-mix(in srgb, var(--cyan) 14%, transparent);
    --theme-pulse-b: color-mix(in srgb, var(--teal) 8%, transparent);
    --theme-noise-opacity: 0.12;
    --theme-grid-opacity: 0.12;
    --theme-overlay-pattern:
        radial-gradient(circle at 16% 18%, var(--theme-pulse-a), transparent 18%),
        radial-gradient(circle at 78% 12%, var(--theme-pulse-b), transparent 22%),
        linear-gradient(115deg, transparent 0 36%, color-mix(in srgb, var(--cyan) 7%, transparent) 46%, transparent 58%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 4%, transparent) 0 1px, transparent 1px 32px),
        repeating-linear-gradient(0deg, color-mix(in srgb, white 2%, transparent) 0 1px, transparent 1px 42px);
    --panel-overlay-texture:
        radial-gradient(circle at 14% 10%, color-mix(in srgb, white 7%, transparent), transparent 24%),
        linear-gradient(128deg, transparent 0 30%, color-mix(in srgb, var(--amber) 4%, transparent) 42%, transparent 58%),
        repeating-linear-gradient(135deg, color-mix(in srgb, var(--cyan) 4%, transparent) 0 1px, transparent 1px 19px);
}

html {
    scroll-behavior: smooth;
}

body {
    background:
        radial-gradient(circle at 14% 4%, color-mix(in srgb, var(--cyan) 16%, transparent), transparent 26%),
        radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--pink) 9%, transparent), transparent 24%),
        radial-gradient(circle at 48% 120%, color-mix(in srgb, var(--teal) 10%, transparent), transparent 34%),
        linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 52%, color-mix(in srgb, var(--bg) 82%, black 18%) 100%);
    background-attachment: fixed;
}

body[data-theme]::after {
    opacity: var(--theme-noise-opacity);
    background: var(--theme-overlay-pattern);
    background-size: 120% 120%, 120% 120%, 180% 100%, 100% 100%;
    animation: themeAtmosphere 24s ease-in-out infinite alternate;
}

.topbar {
    border-bottom: 1px solid var(--edge-faint);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 32%, color-mix(in srgb, var(--pink) 5%, transparent)),
        color-mix(in srgb, var(--topbar-bg) 88%, transparent);
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.18),
        inset 0 -1px 0 color-mix(in srgb, white 7%, transparent);
    backdrop-filter: blur(var(--glass-blur)) saturate(1.18);
}

.brand-mark,
.landing-notice-logo {
    animation: brandSignalPulse 4.8s ease-in-out infinite;
}

.panel,
.resource-card,
.signal-card,
.list-card,
.case-row,
.webcam-card,
.radio-card,
.radio-summary-card,
.radio-legal-note,
.taxonomy-card,
.taxonomy-summary-card,
.taxonomy-note,
.taxonomy-abbrev-panel,
.taxonomy-media-card,
.taxonomy-lightbox-panel,
.gerb-video-card,
.glossary-card,
.gerb-disclosure,
.gerb-flyout,
.gerb2-drawer,
.gerb2-video-card,
.modal-card,
.globe-context-menu,
.globe-country-tooltip,
.flight-card,
.page-transition-card,
.site-contact-card,
.landing-notice-card,
.landing-theme-prompt,
.landing-notice-load-panel {
    border-color: var(--edge-faint);
    background:
        var(--panel-overlay-texture),
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 42%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 100%, transparent), color-mix(in srgb, var(--panel-grad-2) 100%, transparent));
    box-shadow:
        0 14px 36px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 color-mix(in srgb, white 12%, transparent),
        inset 0 0 24px color-mix(in srgb, var(--cyan) 4%, transparent),
        0 0 18px color-mix(in srgb, var(--cyan) 5%, transparent);
    backdrop-filter: blur(var(--glass-blur)) saturate(1.16);
    transition:
        transform var(--motion-med) cubic-bezier(0.18, 0.84, 0.24, 1),
        border-color var(--motion-med) ease,
        box-shadow var(--motion-med) ease,
        background var(--motion-med) ease,
        filter var(--motion-med) ease;
}

.panel::before,
.resource-card::before,
.signal-card::before,
.webcam-card::before,
.radio-card::before,
.taxonomy-card::before,
.taxonomy-media-card::before,
.gerb2-video-card::before,
.flight-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(116deg, transparent 8%, color-mix(in srgb, white 10%, transparent) 42%, transparent 62%),
        radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 36%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 3%, transparent) 0 1px, transparent 1px 26px);
    opacity: 0.12;
    transform: translateX(-8%);
    transition: opacity var(--motion-med) ease, transform 620ms cubic-bezier(0.18, 0.84, 0.24, 1);
}

.resource-card,
.signal-card,
.webcam-card,
.radio-card,
.taxonomy-card,
.taxonomy-media-card,
.gerb2-video-card,
.flight-card {
    position: relative;
    overflow: hidden;
}

.resource-card:hover,
.signal-card:hover,
.webcam-card:hover,
.radio-card:hover,
.taxonomy-card:hover,
.taxonomy-media-card:hover,
.gerb2-video-card:hover,
.flight-card:hover,
.case-row:hover {
    border-color: var(--edge-light);
    box-shadow:
        0 18px 46px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 color-mix(in srgb, white 18%, transparent),
        inset 0 0 28px color-mix(in srgb, var(--cyan) 7%, transparent),
        0 0 24px color-mix(in srgb, var(--cyan) 12%, transparent);
}

.resource-card:hover::before,
.signal-card:hover::before,
.webcam-card:hover::before,
.radio-card:hover::before,
.taxonomy-card:hover::before,
.taxonomy-media-card:hover::before,
.gerb2-video-card:hover::before,
.flight-card:hover::before {
    opacity: 0.46;
    transform: translateX(0);
}

.nav-link,
.button,
.filter-chip,
.theme-option,
.taxonomy-media-filter,
.mobile-nav-toggle,
.tab-button,
.hotspot-button,
.globe-context-menu button,
.cases-field select,
.cases-field input,
.date-field input[type="date"],
.gerb2-search-row input,
.gerb2-search-row select,
.webcams-query input,
.webcams-query select,
.sigint-query input,
.sigint-query select,
.taxonomy-query input,
.taxonomy-query select,
.flight-filter-grid input,
.flight-filter-grid select {
    position: relative;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--cyan) 26%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, white 7%, transparent), color-mix(in srgb, black 6%, transparent)),
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 62%);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 13%, transparent),
        inset 0 -1px 0 color-mix(in srgb, black 24%, transparent);
}

.nav-link::after,
.button::after,
.filter-chip::after,
.theme-option::after,
.taxonomy-media-filter::after,
.mobile-nav-toggle::after,
.tab-button::after,
.hotspot-button::after,
.globe-context-menu button::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(115deg, transparent 0 32%, color-mix(in srgb, white 28%, transparent) 48%, transparent 66%);
    opacity: 0;
    transform: translateX(-120%);
    transition: opacity 160ms ease, transform 480ms cubic-bezier(0.2, 0.82, 0.2, 1);
}

.nav-link:hover::after,
.button:hover::after,
.filter-chip:hover::after,
.theme-option:hover::after,
.taxonomy-media-filter:hover::after,
.mobile-nav-toggle:hover::after,
.tab-button:hover::after,
.hotspot-button:hover::after,
.globe-context-menu button:hover::after {
    opacity: 0.82;
    transform: translateX(120%);
}

.nav-link:hover,
.button:hover,
.filter-chip:hover,
.theme-option:hover,
.taxonomy-media-filter:hover,
.mobile-nav-toggle:hover,
.tab-button:hover,
.hotspot-button:hover,
.globe-context-menu button:hover {
    border-color: var(--edge-light);
    transform: translateY(var(--hover-lift));
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--cyan) 28%, transparent),
        0 12px 28px color-mix(in srgb, var(--cyan) 10%, transparent),
        0 0 28px color-mix(in srgb, var(--cyan) 22%, transparent),
        inset 0 1px 0 color-mix(in srgb, white 18%, transparent);
}

.nav-link.active,
.filter-chip.active,
.theme-option.active,
.taxonomy-media-filter.active,
.tab-button.active {
    color: color-mix(in srgb, var(--text) 90%, white 10%);
    border-color: color-mix(in srgb, var(--cyan) 62%, transparent);
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cyan) 22%, transparent), transparent 58%),
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 13%, transparent), color-mix(in srgb, var(--panel-grad-2) 86%, transparent));
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--cyan) 20%, transparent),
        0 0 30px color-mix(in srgb, var(--cyan) 24%, transparent),
        inset 0 0 24px color-mix(in srgb, var(--cyan) 9%, transparent);
}

.theme-panel {
    transform-origin: top right;
    animation: themePanelDrop 240ms cubic-bezier(0.2, 0.84, 0.22, 1) both;
}

.theme-panel[hidden] {
    display: none !important;
}

.theme-option {
    min-height: 42px;
}

.theme-swatch {
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, white 28%, transparent),
        0 0 14px color-mix(in srgb, var(--cyan) 16%, transparent);
}

.theme-preview-tooltip {
    animation: tooltipMicroFloat 1.8s ease-in-out infinite alternate;
}

.flyout-panel,
.gerb-flyout,
.gerb2-drawer {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 44%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 82%, transparent), color-mix(in srgb, var(--panel-grad-2) 76%, transparent));
    backdrop-filter: blur(28px) saturate(1.42);
}

.flyout-panel.is-open {
    box-shadow:
        0 26px 82px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 color-mix(in srgb, white 16%, transparent),
        inset 0 0 46px color-mix(in srgb, var(--cyan) 7%, transparent),
        0 0 40px color-mix(in srgb, var(--cyan) 16%, transparent);
}

.flyout-panel.is-open .flyout-body > *,
.gerb-flyout.is-open > *,
details[open] > :not(summary) {
    animation: interfaceRise 260ms cubic-bezier(0.2, 0.82, 0.2, 1) both;
}

.kicker,
.micro-label,
.eyebrow {
    color: color-mix(in srgb, var(--cyan) 86%, var(--text) 14%);
    text-shadow: 0 0 12px color-mix(in srgb, var(--cyan) 26%, transparent);
}

.stat-value,
.title,
.landing-notice-name {
    text-shadow:
        0 0 18px color-mix(in srgb, var(--cyan) 22%, transparent),
        0 0 2px color-mix(in srgb, white 20%, transparent);
}

a {
    transition: color var(--motion-fast) ease, border-color var(--motion-fast) ease, opacity var(--motion-fast) ease;
}

a:hover {
    color: color-mix(in srgb, var(--cyan) 82%, white 18%);
}

input,
select,
textarea {
    transition:
        border-color var(--motion-fast) ease,
        box-shadow var(--motion-fast) ease,
        background var(--motion-fast) ease,
        filter var(--motion-fast) ease;
}

input:focus,
select:focus,
textarea:focus,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: none;
    border-color: color-mix(in srgb, var(--cyan) 62%, transparent) !important;
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--cyan) 28%, transparent),
        0 0 24px color-mix(in srgb, var(--cyan) 18%, transparent),
        inset 0 0 18px color-mix(in srgb, var(--cyan) 6%, transparent) !important;
}

.case-row,
.timeline-item,
.hotspot-button,
.radio-link,
.sigint-source-link,
.taxonomy-source-card,
.taxonomy-gallery-frame,
.taxonomy-media-image {
    transition:
        transform var(--motion-med) cubic-bezier(0.18, 0.84, 0.24, 1),
        border-color var(--motion-med) ease,
        box-shadow var(--motion-med) ease,
        filter var(--motion-med) ease;
}

.taxonomy-media-image:hover,
.taxonomy-gallery-frame:hover,
.radio-link:hover,
.sigint-source-link:hover {
    transform: translateY(-3px);
    border-color: var(--edge-light);
    box-shadow: 0 0 30px color-mix(in srgb, var(--cyan) 16%, transparent);
}

.landing-notice-card,
.page-transition-card,
.modal-card,
.taxonomy-lightbox-panel {
    animation: modalMaterialize 360ms cubic-bezier(0.18, 0.84, 0.24, 1) both;
}

body[data-theme="ghostsignal"] {
    --shell-accent-1: rgba(168, 255, 216, 0.18);
    --shell-accent-2: rgba(54, 255, 206, 0.08);
    --chrome-glow: rgba(168, 255, 216, 0.24);
    --cyan: #b5ffe0;
    --teal: #69ffd4;
    --line: rgba(181, 255, 224, 0.24);
    --line-strong: rgba(224, 255, 243, 0.56);
    --panel-grad-1: rgba(9, 23, 21, 0.82);
    --panel-grad-2: rgba(3, 10, 10, 0.74);
    --overlay-bg: rgba(6, 14, 13, 0.68);
    --theme-pulse-a: rgba(181, 255, 224, 0.17);
    --theme-pulse-b: rgba(105, 255, 212, 0.1);
}

body[data-theme="chromeslate"] {
    --cyan: #b9ccff;
    --blue: #e3eaff;
    --line: rgba(185, 204, 255, 0.24);
    --line-strong: rgba(235, 240, 255, 0.58);
    --panel-grad-1: rgba(15, 20, 31, 0.82);
    --panel-grad-2: rgba(7, 10, 17, 0.74);
    --theme-pulse-a: rgba(185, 204, 255, 0.15);
    --theme-pulse-b: rgba(255, 255, 255, 0.06);
}

body[data-theme="echelon"],
body[data-theme="umbralglass"],
body[data-theme="deepradar"],
body[data-theme="biolumecathedral"] {
    --glass-alpha: 0.68;
    --theme-noise-opacity: 0.2;
}

body[data-theme="blacksiteamber"],
body[data-theme="eventhorizongold"],
body[data-theme="ultravioletnoir"],
body[data-theme="nightwireorchid"] {
    --theme-noise-opacity: 0.22;
    --glass-alpha: 0.7;
}

body[data-theme="polaranomaly"],
body[data-theme="lucentarchive"],
body[data-theme="haloterminal"],
body[data-theme="milkglassmatrix"],
body[data-theme="daybreakvector"] {
    --glass-alpha: 0.58;
    --glass-alpha-strong: 0.74;
    --theme-noise-opacity: 0.2;
    --theme-grid-opacity: 0.12;
}

body[data-theme="polaranomaly"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer),
body[data-theme="lucentarchive"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer),
body[data-theme="haloterminal"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer),
body[data-theme="milkglassmatrix"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer),
body[data-theme="daybreakvector"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer) {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 46%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 88%, transparent), color-mix(in srgb, var(--panel-grad-2) 82%, transparent));
    box-shadow:
        0 20px 58px rgba(34, 42, 44, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.62),
        inset 0 0 30px color-mix(in srgb, var(--cyan) 5%, transparent),
        0 0 24px color-mix(in srgb, var(--cyan) 11%, transparent);
}

body[data-theme="polaranomaly"] :where(.nav-link, .button, .filter-chip, .theme-option, .taxonomy-media-filter, .mobile-nav-toggle, .tab-button),
body[data-theme="lucentarchive"] :where(.nav-link, .button, .filter-chip, .theme-option, .taxonomy-media-filter, .mobile-nav-toggle, .tab-button),
body[data-theme="haloterminal"] :where(.nav-link, .button, .filter-chip, .theme-option, .taxonomy-media-filter, .mobile-nav-toggle, .tab-button),
body[data-theme="milkglassmatrix"] :where(.nav-link, .button, .filter-chip, .theme-option, .taxonomy-media-filter, .mobile-nav-toggle, .tab-button),
body[data-theme="daybreakvector"] :where(.nav-link, .button, .filter-chip, .theme-option, .taxonomy-media-filter, .mobile-nav-toggle, .tab-button) {
    background:
        linear-gradient(180deg, color-mix(in srgb, white 46%, transparent), color-mix(in srgb, var(--panel-grad-2) 70%, transparent)),
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 64%);
}

@keyframes themeAtmosphere {
    0% {
        transform: translate3d(-1.6%, -0.8%, 0) scale(1);
        background-position: 0% 0%, 100% 0%, 0% 0%, 0 0;
    }
    100% {
        transform: translate3d(1.2%, 0.9%, 0) scale(1.018);
        background-position: 100% 32%, 0% 22%, 100% 0%, 34px 0;
    }
}

@keyframes brandSignalPulse {
    0%, 100% {
        filter: drop-shadow(0 0 8px color-mix(in srgb, var(--cyan) 32%, transparent));
    }
    50% {
        filter: drop-shadow(0 0 18px color-mix(in srgb, var(--cyan) 64%, transparent));
    }
}

@keyframes themePanelDrop {
    0% {
        opacity: 0;
        transform: translate3d(0, -8px, 0) scale(0.975);
        filter: blur(4px) saturate(0.86);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0) saturate(1);
    }
}

@keyframes tooltipMicroFloat {
    0% { transform: translate3d(0, 0, 0) scale(1); }
    100% { transform: translate3d(0, -3px, 0) scale(1.01); }
}

@keyframes interfaceRise {
    0% {
        opacity: 0;
        transform: translate3d(0, 10px, 0);
        filter: blur(3px);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes modalMaterialize {
    0% {
        opacity: 0;
        transform: translate3d(0, 14px, 0) scale(0.985);
        filter: blur(5px) saturate(0.88);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0) saturate(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 1ms !important;
    }
}

/* Command-rail top navigation upgrade */
.topbar {
    overflow: visible;
}

.nav {
    position: relative;
    isolation: isolate;
    gap: 4px;
    flex-wrap: nowrap;
    width: max-content;
    max-width: 100%;
    flex: 0 1 auto;
    padding: 5px;
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 48%),
        color-mix(in srgb, var(--overlay-bg) 52%, transparent);
    box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 color-mix(in srgb, white 12%, transparent),
        inset 0 -1px 0 color-mix(in srgb, black 28%, transparent);
    backdrop-filter: blur(18px) saturate(1.24);
}

.nav::before {
    content: "";
    position: absolute;
    inset: 4px;
    z-index: -1;
    pointer-events: none;
    background:
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent) 0 1px, transparent 1px 22px),
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 58%);
    opacity: 0.62;
}

.nav-rail-indicator {
    position: absolute;
    left: 0;
    bottom: 3px;
    z-index: 0;
    width: var(--nav-indicator-w, 0px);
    height: 2px;
    opacity: 0;
    transform: translate3d(var(--nav-indicator-x, 0px), 0, 0);
    background:
        linear-gradient(90deg, transparent, var(--cyan), color-mix(in srgb, var(--teal) 72%, white 28%), transparent);
    box-shadow:
        0 0 12px color-mix(in srgb, var(--cyan) 50%, transparent),
        0 -9px 26px color-mix(in srgb, var(--cyan) 14%, transparent);
    transition:
        transform 260ms cubic-bezier(0.2, 0.84, 0.22, 1),
        width 260ms cubic-bezier(0.2, 0.84, 0.22, 1),
        opacity 180ms ease;
}

.nav-rail-indicator.ready {
    opacity: 1;
}

.nav-link,
.theme-trigger {
    z-index: 1;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-color: transparent;
    background:
        linear-gradient(180deg, color-mix(in srgb, white 5%, transparent), transparent),
        transparent;
    box-shadow: none;
    clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}

.nav-link::before,
.theme-trigger::before {
    content: "";
    position: absolute;
    inset: 5px 8px;
    pointer-events: none;
    border-top: 1px solid color-mix(in srgb, var(--cyan) 14%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--cyan) 8%, transparent);
    opacity: 0;
    transform: scaleX(0.72);
    transition: opacity 180ms ease, transform 260ms cubic-bezier(0.2, 0.84, 0.22, 1);
}

.nav-link:hover::before,
.nav-link.active::before,
.theme-trigger:hover::before,
.theme-menu.open .theme-trigger::before {
    opacity: 1;
    transform: scaleX(1);
}

.nav-link:hover,
.theme-trigger:hover,
.nav-link.active,
.theme-menu.open .theme-trigger {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--cyan) 22%, transparent);
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cyan) 16%, transparent), transparent 62%),
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 8%, transparent), color-mix(in srgb, var(--overlay-bg) 22%, transparent));
    box-shadow:
        inset 0 0 18px color-mix(in srgb, var(--cyan) 6%, transparent),
        0 0 18px color-mix(in srgb, var(--cyan) 10%, transparent);
}

.nav-link.nav-pressing,
.theme-trigger.nav-pressing {
    transform: translateY(1px) scale(0.985);
    filter: brightness(1.24) saturate(1.2);
}

.theme-trigger {
    min-width: 124px;
}

.mobile-nav-toggle {
    min-height: 42px;
    align-items: center;
    gap: 8px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 54%),
        color-mix(in srgb, var(--overlay-bg) 56%, transparent);
}

.mobile-nav-toggle::before {
    content: "";
    width: 16px;
    height: 10px;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    box-shadow: 0 4px 0 currentColor;
    opacity: 0.82;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.topbar.nav-open .mobile-nav-toggle::before {
    transform: rotate(90deg) scaleX(0.82);
    box-shadow: none;
}

.topbar.nav-open .mobile-nav-toggle {
    border-color: var(--edge-light);
    box-shadow: 0 0 24px color-mix(in srgb, var(--cyan) 18%, transparent);
}

@media (max-width: 1180px) {
    .nav {
        flex-wrap: wrap;
        justify-content: flex-end;
        width: auto;
    }
}

@media (max-width: 860px) {
    .topbar {
        align-items: center;
    }

    .topbar .nav {
        position: relative;
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 10px;
        border-color: color-mix(in srgb, var(--cyan) 28%, transparent);
        background:
            radial-gradient(circle at 16% 0%, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 34%),
            color-mix(in srgb, var(--overlay-bg) 76%, transparent);
        box-shadow:
            0 22px 56px rgba(0,0,0,0.28),
            inset 0 1px 0 color-mix(in srgb, white 13%, transparent);
        animation: mobileNavReveal 220ms cubic-bezier(0.2, 0.84, 0.22, 1) both;
    }

    .topbar .nav-rail-indicator {
        display: none;
    }

    .topbar .nav-link,
    .topbar .theme-trigger {
        width: 100%;
        min-height: 54px;
        justify-content: flex-start;
        padding: 15px 16px;
        clip-path: none;
        border-color: color-mix(in srgb, var(--cyan) 18%, transparent);
        background:
            linear-gradient(90deg, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 68%),
            color-mix(in srgb, var(--overlay-bg) 28%, transparent);
    }

    .topbar .nav-link.active {
        border-left-color: color-mix(in srgb, var(--cyan) 82%, transparent);
        box-shadow:
            inset 4px 0 0 color-mix(in srgb, var(--cyan) 72%, transparent),
            0 0 22px color-mix(in srgb, var(--cyan) 13%, transparent);
    }
}

@keyframes mobileNavReveal {
    0% {
        opacity: 0;
        transform: translate3d(0, -8px, 0) scaleY(0.975);
        filter: blur(4px) saturate(0.88);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scaleY(1);
        filter: blur(0) saturate(1);
    }
}

/* Motion blur layer */
:root {
    --motion-blur-soft: 0.65px;
    --motion-blur-med: 1.25px;
    --motion-blur-hard: 2.4px;
}

.nav-link:hover,
.theme-trigger:hover,
.button:hover,
.filter-chip:hover,
.theme-option:hover,
.taxonomy-media-filter:hover,
.mobile-nav-toggle:hover,
.tab-button:hover,
.hotspot-button:hover,
.resource-card:hover,
.signal-card:hover,
.webcam-card:hover,
.radio-card:hover,
.taxonomy-card:hover,
.taxonomy-media-card:hover,
.gerb2-video-card:hover,
.flight-card:hover,
.case-row:hover {
    animation: motionSmearLift 260ms cubic-bezier(0.18, 0.84, 0.24, 1) both;
}

.nav-rail-indicator.ready {
    filter:
        blur(0.12px)
        drop-shadow(0 0 10px color-mix(in srgb, var(--cyan) 50%, transparent))
        drop-shadow(0 0 22px color-mix(in srgb, var(--cyan) 22%, transparent));
}

.nav:hover .nav-rail-indicator.ready,
.nav:focus-within .nav-rail-indicator.ready {
    animation: navRailMotionBlur 340ms cubic-bezier(0.18, 0.84, 0.24, 1) both;
}

.theme-panel,
.landing-notice-card,
.page-transition-card,
.modal-card,
.taxonomy-lightbox-panel,
.flyout-panel.is-opening,
.flyout-panel.is-closing,
.gerb-flyout.is-open,
.gerb2-drawer,
.topbar.nav-open .nav {
    will-change: transform, opacity, filter;
}

.cursor-pointer {
    filter: blur(var(--cursor-motion-blur, 0px)) saturate(1.12);
}

.cursor-trail {
    filter: blur(var(--cursor-motion-blur, 0.2px)) saturate(1.14);
}

.cursor-pointer.is-fast {
    opacity: 0.92;
    filter:
        blur(var(--cursor-motion-blur, 0.55px))
        saturate(1.38)
        brightness(1.12)
        drop-shadow(-10px 3px 8px var(--cursor-glow));
}

.cursor-trail.is-fast {
    opacity: 0.72;
    transform-origin: 8% 10%;
    filter:
        blur(var(--cursor-motion-blur, 1.4px))
        saturate(1.32)
        brightness(1.06);
}

.cursor-pointer.is-fast::after {
    filter: blur(0.3px);
}

.page-transition.show .page-transition-card {
    animation: modalMaterialize 360ms cubic-bezier(0.18, 0.84, 0.24, 1) both;
}

.page-transition-fill,
.landing-notice-progress-fill {
    filter:
        blur(0.1px)
        drop-shadow(8px 0 12px color-mix(in srgb, var(--cyan) 28%, transparent));
}

@keyframes motionSmearLift {
    0% {
        filter: saturate(1.02) contrast(1.02) brightness(1) blur(0);
    }
    36% {
        filter: saturate(1.28) contrast(1.1) brightness(1.08) blur(var(--motion-blur-soft));
    }
    100% {
        filter: saturate(1.16) contrast(1.06) brightness(1.04) blur(0);
    }
}

@keyframes navRailMotionBlur {
    0% {
        filter:
            blur(0.1px)
            drop-shadow(0 0 10px color-mix(in srgb, var(--cyan) 46%, transparent));
    }
    42% {
        filter:
            blur(var(--motion-blur-med))
            drop-shadow(14px 0 16px color-mix(in srgb, var(--cyan) 34%, transparent))
            drop-shadow(-14px 0 16px color-mix(in srgb, var(--teal) 20%, transparent));
    }
    100% {
        filter:
            blur(0.12px)
            drop-shadow(0 0 10px color-mix(in srgb, var(--cyan) 50%, transparent))
            drop-shadow(0 0 22px color-mix(in srgb, var(--cyan) 22%, transparent));
    }
}

@keyframes flyoutPanelIn {
    0% {
        opacity: 0;
        filter: saturate(0.7) blur(var(--motion-blur-hard));
        transform: translate3d(calc(var(--flyout-enter-x) * 1.15), 0, 0) scale(0.952);
    }
    48% {
        opacity: 1;
        filter: saturate(1.15) blur(var(--motion-blur-soft));
        transform: translate3d(-3px, 0, 0) scale(1.012);
    }
    100% {
        opacity: 1;
        filter: saturate(1) blur(0);
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes flyoutPanelOut {
    0% {
        opacity: 1;
        filter: saturate(1) blur(0);
        transform: translate3d(0, 0, 0) scale(1);
    }
    100% {
        opacity: 0;
        filter: saturate(0.72) blur(var(--motion-blur-med));
        transform: translate3d(calc(var(--flyout-exit-x) * 1.2), 0, 0) scale(0.978);
    }
}

@keyframes flyoutItemRise {
    0% {
        transform: translateY(10px);
        opacity: 0.12;
        filter: blur(var(--motion-blur-med));
    }
    70% {
        filter: blur(0.35px);
    }
    100% {
        transform: translateY(0);
        opacity: 1;
        filter: blur(0);
    }
}

@keyframes interfaceRise {
    0% {
        opacity: 0;
        transform: translate3d(0, 14px, 0);
        filter: blur(var(--motion-blur-hard)) saturate(0.82);
    }
    72% {
        opacity: 1;
        filter: blur(0.45px) saturate(1.08);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0) saturate(1);
    }
}

@keyframes themePanelDrop {
    0% {
        opacity: 0;
        transform: translate3d(0, -12px, 0) scale(0.968);
        filter: blur(var(--motion-blur-hard)) saturate(0.78);
    }
    62% {
        opacity: 1;
        filter: blur(0.5px) saturate(1.1);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0) saturate(1);
    }
}

@keyframes modalMaterialize {
    0% {
        opacity: 0;
        transform: translate3d(0, 20px, 0) scale(0.978);
        filter: blur(var(--motion-blur-hard)) saturate(0.82);
    }
    58% {
        opacity: 1;
        filter: blur(0.55px) saturate(1.12);
        transform: translate3d(0, -2px, 0) scale(1.006);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0) saturate(1);
    }
}

@keyframes mobileNavReveal {
    0% {
        opacity: 0;
        transform: translate3d(0, -12px, 0) scaleY(0.965);
        filter: blur(var(--motion-blur-hard)) saturate(0.82);
    }
    68% {
        opacity: 1;
        filter: blur(0.45px) saturate(1.08);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scaleY(1);
        filter: blur(0) saturate(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .nav-link:hover,
    .theme-trigger:hover,
    .button:hover,
    .filter-chip:hover,
    .theme-option:hover,
    .taxonomy-media-filter:hover,
    .mobile-nav-toggle:hover,
    .tab-button:hover,
    .hotspot-button:hover,
    .resource-card:hover,
    .signal-card:hover,
    .webcam-card:hover,
    .radio-card:hover,
    .taxonomy-card:hover,
    .taxonomy-media-card:hover,
    .gerb2-video-card:hover,
    .flight-card:hover,
    .case-row:hover,
    .nav:hover .nav-rail-indicator.ready,
    .nav:focus-within .nav-rail-indicator.ready {
        animation: none !important;
        filter: none !important;
    }

    .cursor-pointer,
    .cursor-trail,
    .cursor-pointer.is-fast,
    .cursor-trail.is-fast {
        filter: none !important;
    }
}

/* True EOF override: center the theme command dialog after all motion/nav rules. */
body .theme-menu.open .theme-panel:not([hidden]) {
    position: fixed !important;
    inset: auto !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: min(1080px, calc(100vw - 34px)) !important;
    max-width: calc(100vw - 34px) !important;
    max-height: calc(100dvh - 34px) !important;
    overflow: hidden !important;
    transform: translate3d(-50%, -50%, 0) scale(1) !important;
    transform-origin: center center !important;
    animation: themeDialogCenteredInFinal 220ms cubic-bezier(0.2, 0.84, 0.22, 1) both !important;
    z-index: 2147482600 !important;
}

body .theme-menu.open .theme-panel:not([hidden]) .theme-dialog-body {
    max-height: none !important;
    overflow: hidden !important;
}

@media (max-width: 760px) {
    body .theme-menu.open .theme-panel:not([hidden]) {
        width: calc(100vw - 18px) !important;
        max-width: calc(100vw - 18px) !important;
        max-height: calc(100dvh - 18px) !important;
    }
}

@keyframes themeDialogCenteredInFinal {
    0% {
        opacity: 0;
        transform: translate3d(-50%, -47%, 0) scale(0.972);
        filter: blur(8px) saturate(0.85);
    }
    68% {
        opacity: 1;
        filter: blur(0.4px) saturate(1.2);
    }
    100% {
        opacity: 1;
        transform: translate3d(-50%, -50%, 0) scale(1);
        filter: blur(0) saturate(1);
    }
}

/* True EOF override: cursor selector geometry + transparent globe header. */
.cursor-option-preview.cursor-style-vector {
    clip-path: polygon(0 0, 100% 34%, 34% 35%, 59% 100%, 23% 43%) !important;
}

.theme-picker-preview-cursor.cursor-style-vector {
    clip-path: polygon(0 0, 100% 34%, 34% 35%, 59% 100%, 23% 43%) !important;
}

.cursor-option-preview.cursor-style-crosshair {
    clip-path: polygon(44% 0, 56% 0, 56% 36%, 100% 36%, 100% 52%, 56% 52%, 56% 100%, 44% 100%, 44% 52%, 0 52%, 0 36%, 44% 36%) !important;
}

.theme-picker-preview-cursor.cursor-style-crosshair {
    clip-path: polygon(44% 0, 56% 0, 56% 36%, 100% 36%, 100% 52%, 56% 52%, 56% 100%, 44% 100%, 44% 52%, 0 52%, 0 36%, 44% 36%) !important;
}

body.dashboard-page .shell {
    min-height: 100dvh;
    height: 100dvh;
}

body.dashboard-page .topbar {
    position: absolute !important;
    top: 8px !important;
    left: 10px !important;
    right: 10px !important;
    z-index: 20 !important;
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 38%, color-mix(in srgb, var(--pink) 5%, transparent)),
        color-mix(in srgb, var(--overlay-bg) 16%, transparent) !important;
    backdrop-filter: blur(16px) saturate(1.18) contrast(1.04);
    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 color-mix(in srgb, white 14%, transparent),
        0 0 20px color-mix(in srgb, var(--cyan) 10%, transparent);
}

body.dashboard-page .topbar::before {
    opacity: 0.46;
    background:
        var(--glass-texture),
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 42%, color-mix(in srgb, var(--pink) 6%, transparent)),
        color-mix(in srgb, var(--topbar-bg) 16%, transparent);
}

body.dashboard-page .page.dashboard-layout {
    height: 100% !important;
    padding: 0 8px 8px !important;
}

body.dashboard-page .globe-shell {
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 24px;
}

body.dashboard-page .globe-overlay.top-left,
body.dashboard-page .globe-overlay.top-center {
    margin-top: 66px;
}

@media (max-width: 980px) {
    body.dashboard-page .topbar {
        top: 8px !important;
        left: 8px !important;
        right: 8px !important;
    }

    body.dashboard-page .globe-overlay.top-left,
    body.dashboard-page .globe-overlay.top-center {
        margin-top: 82px;
    }
}

/* Theme Picker v3: balanced 8/8 banks with integrated previewer. */
.theme-swatch-quartzrelay {
    background:
        radial-gradient(circle at 24% 22%, #ffffff, transparent 22%),
        linear-gradient(135deg, #f8f8ec 0 24%, #8fc7d6 25% 34%, #dfeee9 35% 62%, #356d9c 63% 100%);
}

.theme-swatch-umbralreactor {
    background:
        radial-gradient(circle at 66% 36%, #c78a98, transparent 24%),
        linear-gradient(135deg, #bd4a5e 0 24%, #18080b 25% 68%, #3d1820 69% 100%);
}

body[data-theme="quartzrelay"] {
    color-scheme: light;
    --bg: #f6f7ef;
    --bg-2: #d9e8e7;
    --panel-grad-1: rgba(247, 249, 239, 0.8);
    --panel-grad-2: rgba(196, 220, 221, 0.58);
    --overlay-bg: rgba(245, 249, 244, 0.74);
    --topbar-bg: rgba(247, 249, 239, 0.82);
    --text: #101a20;
    --muted: #4f6670;
    --cyan: #236d8f;
    --teal: #3e9fb3;
    --amber: #9d7b2f;
    --pink: #6b6f90;
    --cursor-core: #061016;
    --cursor-ring: #24475a;
    --cursor-glow: rgba(35, 109, 143, 0.25);
    --font-body: "Sora", "IBM Plex Sans", sans-serif;
    --font-panel: "Sora", "IBM Plex Sans", sans-serif;
    --font-header: "Syncopate", "Sora", sans-serif;
    --font-nav: "Chakra Petch", "Sora", sans-serif;
    --nav-cut-a: 10px;
    --nav-cut-b: 10px;
    --shell-accent-1: rgba(35, 109, 143, 0.16);
    --shell-accent-2: rgba(157, 123, 47, 0.1);
    --theme-pulse-a: rgba(35, 109, 143, 0.16);
    --theme-pulse-b: rgba(255, 255, 255, 0.24);
    --header-accent-line: rgba(35, 109, 143, 0.58);
    --glass-texture:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,0.52), transparent 24%),
        radial-gradient(circle at 82% 72%, rgba(35,109,143,0.14), transparent 30%),
        linear-gradient(132deg, transparent 0 28%, rgba(62,159,179,0.12) 29% 30%, transparent 33% 58%, rgba(255,255,255,0.23) 59% 60%, transparent 63%),
        repeating-linear-gradient(45deg, rgba(16,26,32,0.032) 0 1px, transparent 1px 17px);
}

body[data-theme="umbralreactor"] {
    --bg: #100708;
    --bg-2: #1b0e10;
    --panel-grad-1: rgba(28, 13, 15, 0.82);
    --panel-grad-2: rgba(12, 6, 7, 0.84);
    --overlay-bg: rgba(16, 7, 8, 0.76);
    --topbar-bg: rgba(16, 7, 8, 0.86);
    --text: #f0d1d6;
    --muted: #b8959c;
    --cyan: #bd4a5e;
    --teal: #c78a68;
    --amber: #bfa06a;
    --pink: #b76f92;
    --cursor-core: #bd4a5e;
    --cursor-ring: #edd5da;
    --cursor-glow: rgba(189, 74, 94, 0.38);
    --font-body: "Exo 2", "Inter", sans-serif;
    --font-panel: "Exo 2", "Inter", sans-serif;
    --font-header: "Audiowide", "Rajdhani", sans-serif;
    --font-nav: "Oxanium", "Rajdhani", sans-serif;
    --nav-cut-a: 14px;
    --nav-cut-b: 2px;
    --shell-accent-1: rgba(189, 74, 94, 0.18);
    --shell-accent-2: rgba(199, 138, 104, 0.1);
    --theme-pulse-a: rgba(189, 74, 94, 0.18);
    --theme-pulse-b: rgba(255, 200, 93, 0.14);
    --header-accent-line: rgba(255, 54, 95, 0.92);
    --glass-texture:
        radial-gradient(circle at 22% 20%, rgba(255,54,95,0.22), transparent 26%),
        radial-gradient(circle at 82% 78%, rgba(255,90,168,0.16), transparent 30%),
        repeating-linear-gradient(0deg, rgba(255,54,95,0.07) 0 1px, transparent 1px 8px),
        linear-gradient(116deg, transparent 0 36%, rgba(255,200,93,0.08) 38% 39%, transparent 42%);
}

body[data-theme="quartzrelay"] {
    background:
        radial-gradient(circle at 18% 8%, var(--shell-accent-1), transparent 25%),
        radial-gradient(circle at 86% 12%, var(--shell-accent-2), transparent 24%),
        var(--glass-texture),
        linear-gradient(180deg, var(--bg), var(--bg-2));
}

body[data-theme="quartzrelay"]::before,
body[data-theme="quartzrelay"]::after {
    mix-blend-mode: multiply;
}

body[data-theme="quartzrelay"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card, .landing-notice-load-panel) {
    color: var(--text);
    text-shadow: none;
    border-color: color-mix(in srgb, var(--cyan) 32%, transparent);
    background:
        var(--glass-texture),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 88%, white 12%), color-mix(in srgb, var(--panel-grad-2) 86%, white 14%));
}

body[data-theme="quartzrelay"] :where(.button, .nav-link, .theme-option, .cursor-option, .filter-chip, .tab-button) {
    color: var(--text);
}

body[data-theme="quartzrelay"] .cursor-halo,
body[data-theme="quartzrelay"] .cursor-pointer,
body[data-theme="quartzrelay"] .cursor-trail {
    mix-blend-mode: normal;
}

body[data-theme="quartzrelay"] .cursor-pointer {
    background:
        linear-gradient(35deg, transparent 0 41%, color-mix(in srgb, var(--cursor-ring) 30%, #051017) 42% 47%, transparent 48%),
        linear-gradient(61deg, transparent 0 39%, color-mix(in srgb, var(--cursor-core) 30%, #06131a) 40% 46%, transparent 47%),
        linear-gradient(135deg, rgba(255,255,255,0.18), color-mix(in srgb, var(--cursor-core) 22%, #04090e) 38%, rgba(0,0,0,0.9) 100%);
    border-color: color-mix(in srgb, var(--cursor-core) 30%, #02080d);
}

body .theme-menu.open .theme-panel:not([hidden]) {
    width: min(1240px, calc(100vw - 28px)) !important;
}

.theme-picker-console {
    display: grid;
    grid-template-columns: minmax(230px, 0.78fr) minmax(190px, 1fr) minmax(190px, 1fr) minmax(190px, 0.9fr);
    gap: clamp(8px, 1vw, 13px);
    align-items: stretch;
    min-height: 0;
}

.theme-dialog-count {
    margin-left: auto;
    color: var(--muted);
    font-family: var(--font-nav);
    font-size: 9px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.theme-picker-preview,
.theme-picker-bank {
    min-width: 0;
    padding: clamp(8px, 1vw, 12px);
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 54%),
        color-mix(in srgb, var(--overlay-bg) 26%, transparent);
    box-shadow:
        inset 0 0 24px color-mix(in srgb, var(--cyan) 5%, transparent),
        0 0 22px color-mix(in srgb, var(--cyan) 8%, transparent);
}

.theme-picker-preview {
    display: grid;
    grid-template-rows: minmax(150px, 1fr) auto;
    gap: 11px;
    overflow: hidden;
}

.theme-picker-preview-stage {
    position: relative;
    min-height: 150px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    background:
        radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 42%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 7%, transparent) 0 1px, transparent 1px 18px),
        color-mix(in srgb, var(--overlay-bg) 38%, transparent);
}

.theme-picker-preview-stage::before {
    content: "";
    position: absolute;
    inset: -20%;
    background:
        linear-gradient(115deg, transparent 0 34%, color-mix(in srgb, white 18%, transparent) 44%, transparent 56%),
        radial-gradient(circle at 20% 18%, color-mix(in srgb, var(--pink) 18%, transparent), transparent 24%);
    animation: themePickerPreviewSweep 5.8s ease-in-out infinite alternate;
}

.theme-picker-preview-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--preview-star, var(--text)) 10%, transparent) 0 1px, transparent 1px 100%),
        repeating-linear-gradient(0deg, transparent 0 9px, color-mix(in srgb, var(--preview-accent, var(--cyan)) 11%, transparent) 10px 11px),
        radial-gradient(circle at 18% 22%, color-mix(in srgb, var(--preview-accent, var(--cyan)) 22%, transparent), transparent 30%);
    mix-blend-mode: screen;
    opacity: 0.58;
}

.theme-preview-dialog-demo {
    position: absolute;
    left: 15px;
    top: 15px;
    z-index: 2;
    width: min(220px, calc(100% - 86px));
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--preview-accent, var(--cyan)) 48%, transparent);
    color: var(--preview-ink, var(--text));
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--preview-accent, var(--cyan)) 14%, transparent), transparent 54%),
        linear-gradient(180deg, color-mix(in srgb, var(--preview-star, white) 14%, transparent), transparent),
        color-mix(in srgb, var(--preview-base, var(--overlay-bg)) 78%, transparent);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 24%, transparent),
        inset 0 0 22px color-mix(in srgb, var(--preview-accent, var(--cyan)) 12%, transparent),
        0 14px 36px rgba(0, 0, 0, 0.25),
        0 0 26px color-mix(in srgb, var(--preview-accent, var(--cyan)) 18%, transparent);
    backdrop-filter: blur(14px) saturate(1.35);
    transform: skewX(-1deg);
}

.theme-preview-dialog-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-bottom: 7px;
    border-bottom: 1px solid color-mix(in srgb, var(--preview-accent, var(--cyan)) 34%, transparent);
    font-family: var(--font-header);
    font-size: 9px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.theme-preview-dialog-top i {
    width: 18px;
    height: 6px;
    border: 1px solid color-mix(in srgb, var(--preview-accent, var(--cyan)) 62%, transparent);
    background: color-mix(in srgb, var(--preview-accent, var(--cyan)) 30%, transparent);
    box-shadow: 0 0 13px color-mix(in srgb, var(--preview-accent, var(--cyan)) 45%, transparent);
}

.theme-preview-dialog-demo p {
    margin: 8px 0 10px;
    color: var(--preview-muted, var(--muted));
    font-family: var(--font-panel);
    font-size: 10px;
    line-height: 1.42;
}

.theme-preview-dialog-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.theme-preview-dialog-actions span {
    min-height: 24px;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--preview-accent, var(--cyan)) 34%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--preview-star, white) 12%, transparent), transparent),
        color-mix(in srgb, var(--preview-accent, var(--cyan)) 10%, transparent);
    color: var(--preview-ink, var(--text));
    font-family: var(--font-nav);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    box-shadow: inset 0 0 12px color-mix(in srgb, var(--preview-accent, var(--cyan)) 9%, transparent);
}

.theme-preview-system-readout {
    position: absolute;
    right: 15px;
    bottom: 13px;
    z-index: 2;
    max-width: 54%;
    padding: 6px 8px;
    border: 1px solid color-mix(in srgb, var(--preview-accent, var(--cyan)) 32%, transparent);
    background: color-mix(in srgb, var(--preview-base, var(--overlay-bg)) 72%, transparent);
    color: var(--preview-ink, var(--text));
    font-family: var(--font-nav);
    font-size: 7px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    box-shadow: 0 0 18px color-mix(in srgb, var(--preview-accent, var(--cyan)) 12%, transparent);
}

.theme-picker-preview-swatch {
    position: absolute;
    inset: 20px 20px auto auto;
    width: 74px !important;
    height: 74px !important;
    border: 1px solid color-mix(in srgb, white 32%, transparent);
    box-shadow:
        inset 0 0 20px color-mix(in srgb, white 16%, transparent),
        0 0 34px color-mix(in srgb, var(--preview-accent, var(--cyan)) 28%, transparent);
}

.theme-picker-preview-cursor {
    position: absolute;
    left: 32px;
    bottom: 26px;
    width: 58px;
    height: 58px;
    border: 1px solid color-mix(in srgb, var(--cyan) 68%, white 18%);
    background:
        linear-gradient(135deg, rgba(255,255,255,0.36), var(--cursor-core) 48%, rgba(0,0,0,0.1));
    box-shadow:
        inset 0 0 18px color-mix(in srgb, white 14%, transparent),
        0 0 34px var(--cursor-glow);
    clip-path: polygon(0 0, 100% 34%, 34% 35%, 59% 100%, 23% 43%);
    z-index: 3;
}

.theme-picker-preview-copy strong {
    display: block;
    margin-top: 5px;
    color: var(--text);
    font-family: var(--font-header);
    font-size: clamp(14px, 1.3vw, 20px);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.theme-picker-preview-copy p {
    margin: 8px 0 10px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

.theme-preview-palette {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin: 0 0 10px;
}

.theme-preview-palette span {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    padding: 5px 6px;
    border: 1px solid color-mix(in srgb, var(--cyan) 17%, transparent);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--chip) 15%, transparent), transparent 72%),
        color-mix(in srgb, var(--overlay-bg) 22%, transparent);
    color: var(--text);
    font-family: var(--font-nav);
    font-size: 7px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.theme-preview-palette i {
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
    border: 1px solid color-mix(in srgb, white 32%, transparent);
    background: var(--chip);
    box-shadow:
        inset 0 0 8px color-mix(in srgb, white 18%, transparent),
        0 0 12px color-mix(in srgb, var(--chip) 42%, transparent);
}

.theme-picker-preview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.theme-picker-preview-meta span {
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    background: color-mix(in srgb, var(--cyan) 7%, transparent);
    color: var(--text);
    padding: 4px 6px;
    font-family: var(--font-nav);
    font-size: 8px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.theme-picker-bank .theme-option-grid,
.theme-picker-bank .cursor-option-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.theme-picker-bank .theme-option,
.theme-picker-bank .cursor-option {
    min-height: 32px;
    padding: 6px 8px;
    font-size: clamp(7px, 0.62vw, 9px);
    letter-spacing: 0.1em;
}

.theme-picker-bank .theme-swatch,
.theme-picker-bank .cursor-option-preview {
    width: 17px;
    height: 17px;
}

@media (max-width: 980px) {
    .theme-picker-console {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-picker-preview {
        grid-column: 1 / -1;
        grid-template-columns: minmax(160px, 0.7fr) 1fr;
        grid-template-rows: auto;
    }
}

@media (max-width: 680px) {
    .theme-picker-console {
        grid-template-columns: 1fr;
    }

    .theme-picker-preview {
        grid-template-columns: 1fr;
    }

    .theme-picker-preview-stage {
        min-height: 116px;
    }
}

@keyframes themePickerPreviewSweep {
    0% {
        transform: translate3d(-5%, -2%, 0) scale(1);
        filter: saturate(1.1);
    }
    100% {
        transform: translate3d(5%, 2%, 0) scale(1.04);
        filter: saturate(1.45);
    }
}

/* Theme picker and visual systems refresh */
body.theme-picker-open .theme-menu.open::before {
    display: none !important;
}

body > .theme-panel[data-theme-panel-root="body"]:not([hidden]) {
    position: fixed !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: min(1340px, calc(100vw - 28px)) !important;
    max-width: min(1340px, calc(100vw - 28px)) !important;
    max-height: calc(100dvh - 24px) !important;
    transform: translate3d(-50%, -50%, 0) scale(1) !important;
    transform-origin: center center !important;
    overflow: hidden !important;
    z-index: 2147482600 !important;
    animation: themePickerModalIn 220ms cubic-bezier(0.2, 0.86, 0.2, 1) both !important;
}

body.theme-picker-open::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 2147482500;
    background:
        radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 38%),
        linear-gradient(135deg, rgba(255,255,255,0.035), transparent 48%, rgba(0,0,0,0.18));
    backdrop-filter: blur(7px) saturate(1.18);
}

body > .theme-panel[data-theme-panel-root="body"] .theme-picker-console {
    grid-template-columns: minmax(230px, 0.78fr) minmax(185px, 1fr) minmax(185px, 1fr) minmax(185px, 0.9fr);
}

body > .theme-panel[data-theme-panel-root="body"] .theme-picker-bank .theme-option,
body > .theme-panel[data-theme-panel-root="body"] .theme-picker-bank .cursor-option {
    min-height: 27px;
    padding: 4px 7px;
    font-size: clamp(7px, 0.56vw, 8px);
}

body > .theme-panel[data-theme-panel-root="body"] .theme-picker-bank .theme-swatch,
body > .theme-panel[data-theme-panel-root="body"] .theme-picker-bank .cursor-option-preview {
    width: 15px;
    height: 15px;
}

body[data-theme="voidcopper"] {
    --bg: #070504;
    --bg-2: #160905;
    --panel-grad-1: rgba(28, 10, 4, 0.82);
    --panel-grad-2: rgba(8, 4, 3, 0.86);
    --overlay-bg: rgba(11, 5, 3, 0.78);
    --topbar-bg: rgba(12, 5, 3, 0.86);
    --text: #fff0e4;
    --muted: #c79a7a;
    --cyan: #ff7a33;
    --teal: #ffb46f;
    --amber: #ffd47d;
    --pink: #ff6e88;
    --cursor-core: #ff7a33;
    --cursor-ring: #ffe0c4;
    --cursor-glow: rgba(255, 122, 51, 0.62);
    --font-body: "Rajdhani", "IBM Plex Sans", sans-serif;
    --font-panel: "Rajdhani", "IBM Plex Sans", sans-serif;
    --font-header: "Bruno Ace SC", "Orbitron", sans-serif;
    --font-nav: "Share Tech Mono", "Oxanium", monospace;
    --theme-pulse-a: rgba(255, 122, 51, 0.22);
    --theme-pulse-b: rgba(255, 212, 125, 0.1);
    --glass-texture:
        radial-gradient(circle at 18% 16%, rgba(255,122,51,0.2), transparent 25%),
        repeating-linear-gradient(135deg, rgba(255,180,111,0.055) 0 1px, transparent 1px 13px),
        linear-gradient(118deg, transparent 0 34%, rgba(255,212,125,0.08) 36% 37%, transparent 40%);
}

body[data-theme="neonmonastery"] {
    --bg: #020806;
    --bg-2: #07170d;
    --panel-grad-1: rgba(5, 28, 15, 0.78);
    --panel-grad-2: rgba(2, 8, 6, 0.88);
    --overlay-bg: rgba(2, 12, 8, 0.78);
    --topbar-bg: rgba(2, 10, 7, 0.88);
    --text: #eafff0;
    --muted: #92c7a5;
    --cyan: #7dffb2;
    --teal: #30ffa2;
    --amber: #d5ff78;
    --pink: #88ffea;
    --cursor-core: #7dffb2;
    --cursor-ring: #e1ffec;
    --cursor-glow: rgba(125, 255, 178, 0.5);
    --font-body: "Sora", "IBM Plex Sans", sans-serif;
    --font-panel: "Sora", "IBM Plex Sans", sans-serif;
    --font-header: "Syncopate", "Orbitron", sans-serif;
    --font-nav: "Chakra Petch", "Rajdhani", sans-serif;
    --theme-pulse-a: rgba(125, 255, 178, 0.18);
    --theme-pulse-b: rgba(213, 255, 120, 0.09);
    --glass-texture:
        radial-gradient(circle at 50% 5%, rgba(125,255,178,0.16), transparent 32%),
        repeating-linear-gradient(90deg, rgba(125,255,178,0.055) 0 1px, transparent 1px 21px),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 7px);
}

body[data-theme="sablequantum"] {
    --bg: #05040d;
    --bg-2: #0f0922;
    --panel-grad-1: rgba(18, 11, 42, 0.82);
    --panel-grad-2: rgba(5, 4, 13, 0.88);
    --overlay-bg: rgba(7, 5, 18, 0.8);
    --topbar-bg: rgba(7, 5, 18, 0.88);
    --text: #f2edff;
    --muted: #aaa1cf;
    --cyan: #9e7bff;
    --teal: #57d7ff;
    --amber: #ffc76a;
    --pink: #ff7ee7;
    --cursor-core: #9e7bff;
    --cursor-ring: #e6dcff;
    --cursor-glow: rgba(158, 123, 255, 0.58);
    --font-body: "Exo 2", "IBM Plex Sans", sans-serif;
    --font-panel: "Exo 2", "IBM Plex Sans", sans-serif;
    --font-header: "Michroma", "Orbitron", sans-serif;
    --font-nav: "Oxanium", "Rajdhani", sans-serif;
    --theme-pulse-a: rgba(158, 123, 255, 0.22);
    --theme-pulse-b: rgba(87, 215, 255, 0.08);
    --glass-texture:
        radial-gradient(circle at 24% 24%, rgba(158,123,255,0.17), transparent 28%),
        radial-gradient(circle at 82% 76%, rgba(87,215,255,0.12), transparent 30%),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 18px);
}

body[data-theme="redlinecipher"] {
    --bg: #100606;
    --bg-2: #1c0c0d;
    --panel-grad-1: rgba(29, 12, 13, 0.82);
    --panel-grad-2: rgba(12, 5, 5, 0.88);
    --overlay-bg: rgba(16, 6, 7, 0.8);
    --topbar-bg: rgba(16, 6, 7, 0.88);
    --text: #f0d1d4;
    --muted: #b79499;
    --cyan: #b94750;
    --teal: #c17a63;
    --amber: #bfa06a;
    --pink: #a97086;
    --cursor-core: #b94750;
    --cursor-ring: #efd1d5;
    --cursor-glow: rgba(185, 71, 80, 0.38);
    --font-body: "Chakra Petch", "IBM Plex Sans", sans-serif;
    --font-panel: "Chakra Petch", "IBM Plex Sans", sans-serif;
    --font-header: "Audiowide", "Orbitron", sans-serif;
    --font-nav: "Share Tech Mono", "Oxanium", monospace;
    --theme-pulse-a: rgba(185, 71, 80, 0.16);
    --theme-pulse-b: rgba(191, 160, 106, 0.08);
    --glass-texture:
        linear-gradient(90deg, transparent 0 48%, rgba(185,71,80,0.08) 49% 50%, transparent 51%),
        repeating-linear-gradient(0deg, rgba(185,71,80,0.04) 0 1px, transparent 1px 9px),
        radial-gradient(circle at 76% 18%, rgba(169,112,134,0.08), transparent 28%);
}

body[data-theme="ivorydatavault"],
body[data-theme="paleaurora"],
body[data-theme="sandstonehalo"],
body[data-theme="opallattice"] {
    color-scheme: light;
    --topbar-bg: rgba(238, 242, 235, 0.82);
    --overlay-bg: rgba(232, 238, 232, 0.7);
    --text: #263135;
    --muted: #667176;
    --cursor-core: #2d373b;
    --cursor-ring: #5c6d75;
    --cursor-glow: rgba(40, 52, 58, 0.25);
}

body[data-theme="ivorydatavault"] {
    --bg: #f4efe2;
    --bg-2: #dfd9ca;
    --panel-grad-1: rgba(248, 243, 229, 0.8);
    --panel-grad-2: rgba(224, 219, 207, 0.74);
    --cyan: #446b80;
    --teal: #6b928c;
    --amber: #9f7d37;
    --pink: #8b6f7b;
    --font-body: "IBM Plex Sans", "Sora", sans-serif;
    --font-panel: "IBM Plex Sans", "Sora", sans-serif;
    --font-header: "Syncopate", "Orbitron", sans-serif;
    --font-nav: "Share Tech Mono", "Oxanium", monospace;
    --theme-pulse-a: rgba(68, 107, 128, 0.12);
    --theme-pulse-b: rgba(159, 125, 55, 0.08);
    --glass-texture:
        radial-gradient(circle at 20% 18%, rgba(255,255,255,0.48), transparent 25%),
        repeating-linear-gradient(30deg, rgba(68,107,128,0.04) 0 1px, transparent 1px 17px),
        linear-gradient(118deg, transparent 0 35%, rgba(159,125,55,0.08) 36% 37%, transparent 40%);
}

body[data-theme="paleaurora"] {
    --bg: #eff5ed;
    --bg-2: #d8e6dd;
    --panel-grad-1: rgba(242, 248, 239, 0.8);
    --panel-grad-2: rgba(215, 228, 220, 0.74);
    --cyan: #4f8d78;
    --teal: #6bb99d;
    --amber: #8d8746;
    --pink: #6c7f91;
    --font-body: "Sora", "IBM Plex Sans", sans-serif;
    --font-panel: "Sora", "IBM Plex Sans", sans-serif;
    --font-header: "Michroma", "Orbitron", sans-serif;
    --font-nav: "Chakra Petch", "Rajdhani", sans-serif;
    --theme-pulse-a: rgba(79, 141, 120, 0.14);
    --theme-pulse-b: rgba(107, 185, 157, 0.1);
    --glass-texture:
        radial-gradient(circle at 62% 8%, rgba(107,185,157,0.18), transparent 30%),
        repeating-linear-gradient(120deg, rgba(48,75,66,0.04) 0 1px, transparent 1px 18px),
        linear-gradient(180deg, rgba(255,255,255,0.2), transparent);
}

body[data-theme="sandstonehalo"] {
    --bg: #f3ead7;
    --bg-2: #decdb0;
    --panel-grad-1: rgba(247, 235, 213, 0.8);
    --panel-grad-2: rgba(221, 203, 173, 0.75);
    --cyan: #9a6a31;
    --teal: #5e7e79;
    --amber: #b9812f;
    --pink: #8d6561;
    --font-body: "Rajdhani", "IBM Plex Sans", sans-serif;
    --font-panel: "Rajdhani", "IBM Plex Sans", sans-serif;
    --font-header: "Bruno Ace SC", "Orbitron", sans-serif;
    --font-nav: "Oxanium", "Rajdhani", sans-serif;
    --theme-pulse-a: rgba(154, 106, 49, 0.13);
    --theme-pulse-b: rgba(94, 126, 121, 0.08);
    --glass-texture:
        radial-gradient(circle at 18% 24%, rgba(255,255,255,0.38), transparent 26%),
        radial-gradient(circle at 80% 70%, rgba(154,106,49,0.12), transparent 28%),
        repeating-linear-gradient(20deg, rgba(85,65,38,0.045) 0 1px, transparent 1px 16px);
}

body[data-theme="opallattice"] {
    --bg: #f7f8f1;
    --bg-2: #dfe8e8;
    --panel-grad-1: rgba(249, 250, 243, 0.8);
    --panel-grad-2: rgba(222, 232, 232, 0.74);
    --cyan: #6585a0;
    --teal: #65a8a0;
    --amber: #a58342;
    --pink: #8a7aa5;
    --font-body: "Exo 2", "IBM Plex Sans", sans-serif;
    --font-panel: "Exo 2", "IBM Plex Sans", sans-serif;
    --font-header: "Orbitron", "Michroma", sans-serif;
    --font-nav: "Share Tech Mono", "Oxanium", monospace;
    --theme-pulse-a: rgba(101, 133, 160, 0.13);
    --theme-pulse-b: rgba(101, 168, 160, 0.08);
    --glass-texture:
        radial-gradient(circle at 18% 18%, rgba(255,255,255,0.5), transparent 22%),
        radial-gradient(circle at 86% 76%, rgba(138,122,165,0.11), transparent 32%),
        repeating-linear-gradient(60deg, rgba(57,74,88,0.04) 0 1px, transparent 1px 16px);
}

body[data-theme="ivorydatavault"],
body[data-theme="paleaurora"],
body[data-theme="sandstonehalo"],
body[data-theme="opallattice"],
body[data-theme="polaranomaly"],
body[data-theme="lucentarchive"],
body[data-theme="haloterminal"],
body[data-theme="milkglassmatrix"],
body[data-theme="daybreakvector"],
body[data-theme="aurelianmarble"],
body[data-theme="moonstoneledger"],
body[data-theme="quartzrelay"] {
    --text: #2a3438;
    --muted: #657276;
    --cursor-core: #253034;
    --cursor-ring: #566a70;
    --cursor-glow: rgba(37, 48, 52, 0.25);
}

body[data-theme="ivorydatavault"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card, .landing-notice-load-panel),
body[data-theme="paleaurora"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card, .landing-notice-load-panel),
body[data-theme="sandstonehalo"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card, .landing-notice-load-panel),
body[data-theme="opallattice"] :where(.panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card, .taxonomy-card, .taxonomy-media-card, .theme-panel, .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card, .landing-notice-load-panel) {
    color: var(--text);
    text-shadow: none;
    background:
        var(--glass-texture),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 92%, white 8%), color-mix(in srgb, var(--panel-grad-2) 90%, white 10%));
    border-color: color-mix(in srgb, var(--cyan) 34%, transparent);
}

.theme-swatch-voidcopper {
    background:
        radial-gradient(circle at 30% 28%, #ffd47d, transparent 20%),
        linear-gradient(135deg, #070504, #ff7a33 50%, #160905);
}

.theme-swatch-neonmonastery {
    background:
        radial-gradient(circle at 50% 10%, #eafff0, transparent 21%),
        repeating-linear-gradient(90deg, rgba(125,255,178,0.34) 0 2px, transparent 2px 11px),
        linear-gradient(135deg, #020806, #30ffa2);
}

.theme-swatch-sablequantum {
    background:
        radial-gradient(circle at 72% 30%, #57d7ff, transparent 22%),
        linear-gradient(135deg, #05040d, #9e7bff 52%, #0f0922);
}

.theme-swatch-redlinecipher {
    background:
        linear-gradient(90deg, transparent 0 48%, #bfa06a 49% 50%, transparent 51%),
        linear-gradient(135deg, #080203, #b94750 48%, #180506);
}

.theme-swatch-ivorydatavault {
    background:
        radial-gradient(circle at 28% 20%, #ffffff, transparent 22%),
        linear-gradient(135deg, #f4efe2, #446b80 62%, #dfd9ca);
}

.theme-swatch-paleaurora {
    background:
        radial-gradient(circle at 62% 18%, #6bb99d, transparent 25%),
        linear-gradient(135deg, #eff5ed, #4f8d78 60%, #d8e6dd);
}

.theme-swatch-sandstonehalo {
    background:
        radial-gradient(circle at 25% 24%, #fff7e7, transparent 22%),
        linear-gradient(135deg, #f3ead7, #9a6a31 57%, #decdb0);
}

.theme-swatch-opallattice {
    background:
        radial-gradient(circle at 78% 28%, #8a7aa5, transparent 24%),
        linear-gradient(135deg, #f7f8f1, #6585a0 58%, #dfe8e8);
}

.cursor-style-arrow,
html[data-cursor-style="arrow"] .cursor-pointer,
body[data-cursor-style="arrow"] .cursor-pointer,
html[data-cursor-style="arrow"] .cursor-trail,
body[data-cursor-style="arrow"] .cursor-trail {
    clip-path: polygon(0 0, 100% 42%, 58% 50%, 78% 100%, 55% 100%, 36% 56%, 12% 78%);
}

.cursor-style-pinpoint,
html[data-cursor-style="pinpoint"] .cursor-pointer,
body[data-cursor-style="pinpoint"] .cursor-pointer,
html[data-cursor-style="pinpoint"] .cursor-trail,
body[data-cursor-style="pinpoint"] .cursor-trail {
    clip-path: polygon(47% 0, 62% 0, 58% 74%, 76% 74%, 52% 100%, 28% 74%, 45% 74%);
}

.cursor-style-bracket,
html[data-cursor-style="bracket"] .cursor-pointer,
body[data-cursor-style="bracket"] .cursor-pointer,
html[data-cursor-style="bracket"] .cursor-trail,
body[data-cursor-style="bracket"] .cursor-trail {
    clip-path: polygon(0 0, 48% 0, 48% 15%, 15% 15%, 15% 85%, 48% 85%, 48% 100%, 0 100%);
}

.cursor-style-beam,
html[data-cursor-style="beam"] .cursor-pointer,
body[data-cursor-style="beam"] .cursor-pointer,
html[data-cursor-style="beam"] .cursor-trail,
body[data-cursor-style="beam"] .cursor-trail {
    clip-path: polygon(40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%, 0 40%, 40% 40%);
}

.cursor-style-hand,
html[data-cursor-style="hand"] .cursor-pointer,
body[data-cursor-style="hand"] .cursor-pointer,
html[data-cursor-style="hand"] .cursor-trail,
body[data-cursor-style="hand"] .cursor-trail {
    clip-path: polygon(0 0, 100% 42%, 59% 49%, 79% 100%, 55% 100%, 36% 56%, 12% 78%);
}

.cursor-style-targetdot,
html[data-cursor-style="targetdot"] .cursor-pointer,
body[data-cursor-style="targetdot"] .cursor-pointer,
html[data-cursor-style="targetdot"] .cursor-trail,
body[data-cursor-style="targetdot"] .cursor-trail {
    clip-path: polygon(46% 0, 54% 0, 54% 32%, 68% 32%, 68% 46%, 100% 46%, 100% 54%, 68% 54%, 68% 68%, 54% 68%, 54% 100%, 46% 100%, 46% 68%, 32% 68%, 32% 54%, 0 54%, 0 46%, 32% 46%, 32% 32%, 46% 32%);
}

html[data-cursor-style="crosshair"] .cursor-pointer::after,
body[data-cursor-style="crosshair"] .cursor-pointer::after,
html[data-cursor-style="bracket"] .cursor-pointer::after,
body[data-cursor-style="bracket"] .cursor-pointer::after,
html[data-cursor-style="beam"] .cursor-pointer::after,
body[data-cursor-style="beam"] .cursor-pointer::after,
html[data-cursor-style="targetdot"] .cursor-pointer::after,
body[data-cursor-style="targetdot"] .cursor-pointer::after {
    opacity: 0;
}

@keyframes themePickerModalIn {
    from {
        opacity: 0;
        transform: translate3d(-50%, -47%, 0) scale(0.985);
        filter: blur(8px) saturate(1.2);
    }
    to {
        opacity: 1;
        transform: translate3d(-50%, -50%, 0) scale(1);
        filter: blur(0) saturate(1);
    }
}

/* Context-aware cursor states */
html.custom-cursor-ready input,
html.custom-cursor-ready textarea,
html.custom-cursor-ready select,
html.custom-cursor-ready [contenteditable="true"],
html.custom-cursor-ready .globe-shell,
html.custom-cursor-ready canvas,
html.custom-cursor-ready [aria-busy="true"],
html.custom-cursor-ready [data-loading="true"] {
    cursor: none !important;
}

.cursor-pointer,
.cursor-trail,
.cursor-option-preview,
.theme-picker-preview-cursor {
    background:
        linear-gradient(140deg, color-mix(in srgb, white 36%, transparent) 0 16%, transparent 17% 34%, color-mix(in srgb, var(--cursor-ring) 28%, transparent) 35% 39%, transparent 40%),
        linear-gradient(135deg, color-mix(in srgb, var(--cursor-ring) 74%, white 14%), var(--cursor-core) 45%, color-mix(in srgb, black 34%, var(--cursor-core)) 100%) !important;
    border: 1px solid color-mix(in srgb, var(--cursor-ring) 66%, transparent);
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, white 18%, transparent),
        0 0 12px color-mix(in srgb, var(--cursor-core) 42%, transparent),
        0 0 30px color-mix(in srgb, var(--cursor-core) 22%, transparent);
}

.cursor-pointer.cursor-mode-default {
    width: 18px;
    height: 18px;
    margin-left: -2px;
    margin-top: -2px;
}

.cursor-trail.cursor-mode-default {
    width: 25px;
    height: 25px;
    margin-left: -5px;
    margin-top: -5px;
    opacity: 0.48;
}

.cursor-pointer.cursor-mode-action,
.cursor-trail.cursor-mode-action {
    clip-path: polygon(0 0, 100% 42%, 59% 49%, 79% 100%, 55% 100%, 36% 56%, 12% 78%) !important;
}

.cursor-pointer.cursor-mode-action {
    width: 20px;
    height: 20px;
    margin-left: -3px;
    margin-top: -3px;
    filter: saturate(1.65) brightness(1.25) !important;
}

.cursor-trail.cursor-mode-action {
    width: 30px;
    height: 30px;
    margin-left: -8px;
    margin-top: -8px;
    opacity: 0.32;
}

.cursor-pointer.cursor-mode-text,
.cursor-trail.cursor-mode-text {
    clip-path: polygon(42% 0, 58% 0, 58% 42%, 100% 42%, 100% 58%, 58% 58%, 58% 100%, 42% 100%, 42% 58%, 0 58%, 0 42%, 42% 42%) !important;
}

.cursor-pointer.cursor-mode-text {
    width: 9px;
    height: 31px;
    margin-left: -4px;
    margin-top: -15px;
    filter: saturate(1.45) brightness(1.18) !important;
}

.cursor-trail.cursor-mode-text {
    width: 17px;
    height: 38px;
    margin-left: -8px;
    margin-top: -19px;
    opacity: 0.24;
}

.cursor-pointer.cursor-mode-precision,
.cursor-trail.cursor-mode-precision {
    clip-path: polygon(46% 0, 54% 0, 54% 32%, 68% 32%, 68% 46%, 100% 46%, 100% 54%, 68% 54%, 68% 68%, 54% 68%, 54% 100%, 46% 100%, 46% 68%, 32% 68%, 32% 54%, 0 54%, 0 46%, 32% 46%, 32% 32%, 46% 32%) !important;
}

.cursor-pointer.cursor-mode-precision {
    width: 23px;
    height: 23px;
    margin-left: -11px;
    margin-top: -11px;
    filter: saturate(1.7) brightness(1.28) !important;
}

.cursor-trail.cursor-mode-precision {
    width: 38px;
    height: 38px;
    margin-left: -19px;
    margin-top: -19px;
    opacity: 0.28;
}

.cursor-pointer.cursor-mode-loading,
.cursor-trail.cursor-mode-loading {
    clip-path: polygon(18% 0, 82% 0, 68% 34%, 55% 50%, 68% 66%, 82% 100%, 18% 100%, 32% 66%, 45% 50%, 32% 34%) !important;
}

.cursor-pointer.cursor-mode-loading {
    width: 20px;
    height: 26px;
    margin-left: -10px;
    margin-top: -13px;
    animation: cursorHourglass 860ms steps(4, end) infinite;
}

.cursor-trail.cursor-mode-loading {
    width: 32px;
    height: 40px;
    margin-left: -16px;
    margin-top: -20px;
    opacity: 0.24;
    animation: cursorHourglass 1200ms linear infinite reverse;
}

.cursor-pointer.cursor-mode-text::after,
.cursor-pointer.cursor-mode-precision::after,
.cursor-pointer.cursor-mode-loading::after,
.cursor-pointer.cursor-mode-action::after {
    opacity: 0 !important;
}

body.cursor-mode-loading .cursor-pointer,
body.cursor-mode-loading .cursor-trail {
    --cursor-motion-blur: 0px;
}

.cursor-style-crosshair,
.cursor-option-preview.cursor-style-crosshair,
.theme-picker-preview-cursor.cursor-style-crosshair,
html[data-cursor-style="crosshair"] .cursor-pointer,
body[data-cursor-style="crosshair"] .cursor-pointer,
html[data-cursor-style="crosshair"] .cursor-trail,
body[data-cursor-style="crosshair"] .cursor-trail {
    clip-path: polygon(47% 0, 53% 0, 53% 43%, 100% 43%, 100% 51%, 53% 51%, 53% 100%, 47% 100%, 47% 51%, 0 51%, 0 43%, 47% 43%) !important;
}

html[data-cursor-style="crosshair"] .cursor-pointer,
body[data-cursor-style="crosshair"] .cursor-pointer {
    width: 21px;
    height: 21px;
    margin-left: -10px;
    margin-top: -10px;
}

html[data-cursor-style="crosshair"] .cursor-trail,
body[data-cursor-style="crosshair"] .cursor-trail {
    width: 34px;
    height: 34px;
    margin-left: -17px;
    margin-top: -17px;
    opacity: 0.26;
}

.cursor-pointer.cursor-mode-action,
.cursor-trail.cursor-mode-action {
    clip-path: none !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='white' d='M12.4 2.5c1.7 0 3 1.3 3 3v8.3l1-.6c1.3-.8 3-.4 3.8.9l.4.7.9-.4c1.4-.6 3.1 0 3.7 1.4l.3.7.8-.2c1.5-.3 2.9.7 3.2 2.2l.1.7c.5 3.2-.2 5.8-2.1 7.8-1.8 1.9-4.3 2.9-7.4 2.9h-4.3c-3 0-5.2-1.2-6.7-3.5l-5-7.7c-.8-1.3-.5-3 .8-3.8 1.1-.7 2.5-.5 3.4.5l1.2 1.4V5.5c0-1.7 1.3-3 2.9-3z'/%3E%3C/svg%3E") 0 0 / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='white' d='M12.4 2.5c1.7 0 3 1.3 3 3v8.3l1-.6c1.3-.8 3-.4 3.8.9l.4.7.9-.4c1.4-.6 3.1 0 3.7 1.4l.3.7.8-.2c1.5-.3 2.9.7 3.2 2.2l.1.7c.5 3.2-.2 5.8-2.1 7.8-1.8 1.9-4.3 2.9-7.4 2.9h-4.3c-3 0-5.2-1.2-6.7-3.5l-5-7.7c-.8-1.3-.5-3 .8-3.8 1.1-.7 2.5-.5 3.4.5l1.2 1.4V5.5c0-1.7 1.3-3 2.9-3z'/%3E%3C/svg%3E") 0 0 / contain no-repeat;
}

.cursor-pointer.cursor-mode-action {
    width: 23px;
    height: 23px;
    margin-left: -8px;
    margin-top: -5px;
}

.cursor-trail.cursor-mode-action {
    width: 34px;
    height: 34px;
    margin-left: -13px;
    margin-top: -9px;
    opacity: 0.2;
}

@keyframes cursorHourglass {
    0% {
        opacity: 0.82;
        box-shadow:
            inset 0 0 0 1px color-mix(in srgb, white 18%, transparent),
            0 0 8px color-mix(in srgb, var(--cursor-core) 34%, transparent),
            0 0 22px color-mix(in srgb, var(--cursor-core) 18%, transparent);
    }
    50% {
        opacity: 1;
        box-shadow:
            inset 0 0 0 1px color-mix(in srgb, white 22%, transparent),
            0 0 16px color-mix(in srgb, var(--cursor-core) 58%, transparent),
            0 0 36px color-mix(in srgb, var(--cursor-core) 28%, transparent);
    }
    100% {
        opacity: 0.82;
        box-shadow:
            inset 0 0 0 1px color-mix(in srgb, white 18%, transparent),
            0 0 8px color-mix(in srgb, var(--cursor-core) 34%, transparent),
            0 0 22px color-mix(in srgb, var(--cursor-core) 18%, transparent);
    }
}

/* Globe interface: always use the thin rangefinder silhouette while navigating map precision targets. */
body.dashboard-page .cursor-pointer.cursor-mode-precision,
body.dashboard-page .cursor-trail.cursor-mode-precision {
    clip-path: polygon(47% 0, 53% 0, 53% 43%, 100% 43%, 100% 51%, 53% 51%, 53% 100%, 47% 100%, 47% 51%, 0 51%, 0 43%, 47% 43%) !important;
}

body.dashboard-page .cursor-pointer.cursor-mode-precision {
    width: 21px;
    height: 21px;
    margin-left: -10px;
    margin-top: -10px;
    filter: saturate(1.72) brightness(1.3) !important;
}

body.dashboard-page .cursor-trail.cursor-mode-precision {
    width: 34px;
    height: 34px;
    margin-left: -17px;
    margin-top: -17px;
    opacity: 0.26;
}

/* Light theme readability + whitespace texture pass */
body[data-theme="polaranomaly"],
body[data-theme="lucentarchive"],
body[data-theme="haloterminal"],
body[data-theme="milkglassmatrix"],
body[data-theme="daybreakvector"],
body[data-theme="aurelianmarble"],
body[data-theme="moonstoneledger"],
body[data-theme="quartzrelay"],
body[data-theme="ivorydatavault"],
body[data-theme="paleaurora"],
body[data-theme="sandstonehalo"],
body[data-theme="opallattice"] {
    --light-panel-ink: color-mix(in srgb, var(--text) 96%, black 4%);
    --light-muted-ink: color-mix(in srgb, var(--text) 74%, var(--muted) 26%);
    --light-faint-ink: color-mix(in srgb, var(--text) 58%, var(--muted) 42%);
    --light-panel-grid:
        repeating-linear-gradient(0deg, color-mix(in srgb, var(--cyan) 5%, transparent) 0 1px, transparent 1px 19px),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 4%, transparent) 0 1px, transparent 1px 23px);
    --light-panel-noise:
        radial-gradient(circle at 18% 16%, color-mix(in srgb, white 72%, transparent), transparent 20%),
        radial-gradient(circle at 84% 74%, color-mix(in srgb, var(--cyan) 7%, transparent), transparent 24%),
        linear-gradient(128deg, transparent 0 28%, color-mix(in srgb, var(--amber) 7%, transparent) 42%, transparent 58%);
    --theme-noise-opacity: 0.08;
    --theme-overlay-pattern:
        radial-gradient(circle at 16% 18%, color-mix(in srgb, white 28%, transparent), transparent 18%),
        radial-gradient(circle at 80% 14%, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 22%),
        linear-gradient(118deg, transparent 0 34%, color-mix(in srgb, var(--amber) 5%, transparent) 46%, transparent 58%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 3%, transparent) 0 1px, transparent 1px 36px),
        repeating-linear-gradient(0deg, color-mix(in srgb, white 20%, transparent) 0 1px, transparent 1px 46px);
    --panel-overlay-texture:
        radial-gradient(circle at 16% 12%, color-mix(in srgb, white 44%, transparent), transparent 22%),
        linear-gradient(132deg, transparent 0 30%, color-mix(in srgb, var(--amber) 5%, transparent) 42%, transparent 58%),
        repeating-linear-gradient(135deg, color-mix(in srgb, var(--cyan) 3%, transparent) 0 1px, transparent 1px 22px);
}

body[data-theme="polaranomaly"] :where(
    .panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card,
    .radio-summary-card, .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .theme-panel,
    .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card,
    .landing-notice-load-panel, .topbar, .site-contact-card
),
body[data-theme="lucentarchive"] :where(
    .panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card,
    .radio-summary-card, .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .theme-panel,
    .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card,
    .landing-notice-load-panel, .topbar, .site-contact-card
),
body[data-theme="haloterminal"] :where(
    .panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card,
    .radio-summary-card, .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .theme-panel,
    .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card,
    .landing-notice-load-panel, .topbar, .site-contact-card
),
body[data-theme="milkglassmatrix"] :where(
    .panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card,
    .radio-summary-card, .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .theme-panel,
    .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card,
    .landing-notice-load-panel, .topbar, .site-contact-card
),
body[data-theme="daybreakvector"] :where(
    .panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card,
    .radio-summary-card, .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .theme-panel,
    .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card,
    .landing-notice-load-panel, .topbar, .site-contact-card
),
body[data-theme="ivorydatavault"] :where(
    .panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card,
    .radio-summary-card, .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .theme-panel,
    .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card,
    .landing-notice-load-panel, .topbar, .site-contact-card
),
body[data-theme="paleaurora"] :where(
    .panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card,
    .radio-summary-card, .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .theme-panel,
    .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card,
    .landing-notice-load-panel, .topbar, .site-contact-card
),
body[data-theme="sandstonehalo"] :where(
    .panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card,
    .radio-summary-card, .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .theme-panel,
    .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card,
    .landing-notice-load-panel, .topbar, .site-contact-card
),
body[data-theme="opallattice"] :where(
    .panel, .resource-card, .signal-card, .list-card, .case-row, .webcam-card, .radio-card,
    .radio-summary-card, .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .theme-panel,
    .modal-card, .flyout-panel, .gerb-flyout, .gerb2-drawer, .landing-notice-card,
    .landing-notice-load-panel, .topbar, .site-contact-card
) {
    color: var(--light-panel-ink);
    background:
        var(--light-panel-noise),
        var(--light-panel-grid),
        var(--glass-texture),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 94%, white 6%), color-mix(in srgb, var(--panel-grad-2) 92%, white 8%));
    box-shadow:
        0 18px 42px rgba(46, 55, 58, 0.12),
        inset 0 0 0 1px color-mix(in srgb, white 42%, transparent),
        inset 0 0 28px color-mix(in srgb, var(--cyan) 5%, transparent);
}

body[data-theme="polaranomaly"] :where(
    p, .subtitle, .muted, .tiny, .kicker, .eyebrow, .micro-label, .theme-dialog-count,
    .theme-picker-preview-copy p, .theme-picker-preview-meta span, .site-contact-card p,
    .globe-overlay, .hotspot-meter + .tiny, .flight-card p, .resource-card p, .signal-card p
),
body[data-theme="lucentarchive"] :where(
    p, .subtitle, .muted, .tiny, .kicker, .eyebrow, .micro-label, .theme-dialog-count,
    .theme-picker-preview-copy p, .theme-picker-preview-meta span, .site-contact-card p,
    .globe-overlay, .hotspot-meter + .tiny, .flight-card p, .resource-card p, .signal-card p
),
body[data-theme="haloterminal"] :where(
    p, .subtitle, .muted, .tiny, .kicker, .eyebrow, .micro-label, .theme-dialog-count,
    .theme-picker-preview-copy p, .theme-picker-preview-meta span, .site-contact-card p,
    .globe-overlay, .hotspot-meter + .tiny, .flight-card p, .resource-card p, .signal-card p
),
body[data-theme="milkglassmatrix"] :where(
    p, .subtitle, .muted, .tiny, .kicker, .eyebrow, .micro-label, .theme-dialog-count,
    .theme-picker-preview-copy p, .theme-picker-preview-meta span, .site-contact-card p,
    .globe-overlay, .hotspot-meter + .tiny, .flight-card p, .resource-card p, .signal-card p
),
body[data-theme="daybreakvector"] :where(
    p, .subtitle, .muted, .tiny, .kicker, .eyebrow, .micro-label, .theme-dialog-count,
    .theme-picker-preview-copy p, .theme-picker-preview-meta span, .site-contact-card p,
    .globe-overlay, .hotspot-meter + .tiny, .flight-card p, .resource-card p, .signal-card p
),
body[data-theme="ivorydatavault"] :where(
    p, .subtitle, .muted, .tiny, .kicker, .eyebrow, .micro-label, .theme-dialog-count,
    .theme-picker-preview-copy p, .theme-picker-preview-meta span, .site-contact-card p,
    .globe-overlay, .hotspot-meter + .tiny, .flight-card p, .resource-card p, .signal-card p
),
body[data-theme="paleaurora"] :where(
    p, .subtitle, .muted, .tiny, .kicker, .eyebrow, .micro-label, .theme-dialog-count,
    .theme-picker-preview-copy p, .theme-picker-preview-meta span, .site-contact-card p,
    .globe-overlay, .hotspot-meter + .tiny, .flight-card p, .resource-card p, .signal-card p
),
body[data-theme="sandstonehalo"] :where(
    p, .subtitle, .muted, .tiny, .kicker, .eyebrow, .micro-label, .theme-dialog-count,
    .theme-picker-preview-copy p, .theme-picker-preview-meta span, .site-contact-card p,
    .globe-overlay, .hotspot-meter + .tiny, .flight-card p, .resource-card p, .signal-card p
),
body[data-theme="opallattice"] :where(
    p, .subtitle, .muted, .tiny, .kicker, .eyebrow, .micro-label, .theme-dialog-count,
    .theme-picker-preview-copy p, .theme-picker-preview-meta span, .site-contact-card p,
    .globe-overlay, .hotspot-meter + .tiny, .flight-card p, .resource-card p, .signal-card p
) {
    color: var(--light-muted-ink);
    text-shadow: none;
}

body[data-theme="polaranomaly"] :where(
    h1, h2, h3, h4, h5, h6, .title, .stat-value, .brand .title, .nav-link,
    .button, strong, b, .tag, .taxonomy-card h2, .theme-picker-preview-copy strong
),
body[data-theme="lucentarchive"] :where(
    h1, h2, h3, h4, h5, h6, .title, .stat-value, .brand .title, .nav-link,
    .button, strong, b, .tag, .taxonomy-card h2, .theme-picker-preview-copy strong
),
body[data-theme="haloterminal"] :where(
    h1, h2, h3, h4, h5, h6, .title, .stat-value, .brand .title, .nav-link,
    .button, strong, b, .tag, .taxonomy-card h2, .theme-picker-preview-copy strong
),
body[data-theme="milkglassmatrix"] :where(
    h1, h2, h3, h4, h5, h6, .title, .stat-value, .brand .title, .nav-link,
    .button, strong, b, .tag, .taxonomy-card h2, .theme-picker-preview-copy strong
),
body[data-theme="daybreakvector"] :where(
    h1, h2, h3, h4, h5, h6, .title, .stat-value, .brand .title, .nav-link,
    .button, strong, b, .tag, .taxonomy-card h2, .theme-picker-preview-copy strong
),
body[data-theme="ivorydatavault"] :where(
    h1, h2, h3, h4, h5, h6, .title, .stat-value, .brand .title, .nav-link,
    .button, strong, b, .tag, .taxonomy-card h2, .theme-picker-preview-copy strong
),
body[data-theme="paleaurora"] :where(
    h1, h2, h3, h4, h5, h6, .title, .stat-value, .brand .title, .nav-link,
    .button, strong, b, .tag, .taxonomy-card h2, .theme-picker-preview-copy strong
),
body[data-theme="sandstonehalo"] :where(
    h1, h2, h3, h4, h5, h6, .title, .stat-value, .brand .title, .nav-link,
    .button, strong, b, .tag, .taxonomy-card h2, .theme-picker-preview-copy strong
),
body[data-theme="opallattice"] :where(
    h1, h2, h3, h4, h5, h6, .title, .stat-value, .brand .title, .nav-link,
    .button, strong, b, .tag, .taxonomy-card h2, .theme-picker-preview-copy strong
) {
    color: var(--light-panel-ink);
    text-shadow: none;
}

body[data-theme="polaranomaly"] :where(input, select, textarea, .cases-field, .theme-option, .filter-chip, .tab-button, .nav-link, .button),
body[data-theme="lucentarchive"] :where(input, select, textarea, .cases-field, .theme-option, .filter-chip, .tab-button, .nav-link, .button),
body[data-theme="haloterminal"] :where(input, select, textarea, .cases-field, .theme-option, .filter-chip, .tab-button, .nav-link, .button),
body[data-theme="milkglassmatrix"] :where(input, select, textarea, .cases-field, .theme-option, .filter-chip, .tab-button, .nav-link, .button),
body[data-theme="daybreakvector"] :where(input, select, textarea, .cases-field, .theme-option, .filter-chip, .tab-button, .nav-link, .button),
body[data-theme="ivorydatavault"] :where(input, select, textarea, .cases-field, .theme-option, .filter-chip, .tab-button, .nav-link, .button),
body[data-theme="paleaurora"] :where(input, select, textarea, .cases-field, .theme-option, .filter-chip, .tab-button, .nav-link, .button),
body[data-theme="sandstonehalo"] :where(input, select, textarea, .cases-field, .theme-option, .filter-chip, .tab-button, .nav-link, .button),
body[data-theme="opallattice"] :where(input, select, textarea, .cases-field, .theme-option, .filter-chip, .tab-button, .nav-link, .button) {
    color: var(--light-panel-ink);
    border-color: color-mix(in srgb, var(--cyan) 30%, rgba(24, 28, 32, 0.22));
}

body[data-theme="polaranomaly"] :where(input::placeholder, textarea::placeholder),
body[data-theme="lucentarchive"] :where(input::placeholder, textarea::placeholder),
body[data-theme="haloterminal"] :where(input::placeholder, textarea::placeholder),
body[data-theme="milkglassmatrix"] :where(input::placeholder, textarea::placeholder),
body[data-theme="daybreakvector"] :where(input::placeholder, textarea::placeholder),
body[data-theme="ivorydatavault"] :where(input::placeholder, textarea::placeholder),
body[data-theme="paleaurora"] :where(input::placeholder, textarea::placeholder),
body[data-theme="sandstonehalo"] :where(input::placeholder, textarea::placeholder),
body[data-theme="opallattice"] :where(input::placeholder, textarea::placeholder) {
    color: var(--light-faint-ink);
}

/* Light-theme cursor visibility pass */
body[data-theme="polaranomaly"] .cursor-pointer,
body[data-theme="lucentarchive"] .cursor-pointer,
body[data-theme="haloterminal"] .cursor-pointer,
body[data-theme="milkglassmatrix"] .cursor-pointer,
body[data-theme="daybreakvector"] .cursor-pointer,
body[data-theme="aurelianmarble"] .cursor-pointer,
body[data-theme="moonstoneledger"] .cursor-pointer,
body[data-theme="quartzrelay"] .cursor-pointer,
body[data-theme="ivorydatavault"] .cursor-pointer,
body[data-theme="paleaurora"] .cursor-pointer,
body[data-theme="sandstonehalo"] .cursor-pointer,
body[data-theme="opallattice"] .cursor-pointer,
body[data-theme="polaranomaly"] .theme-picker-preview-cursor,
body[data-theme="lucentarchive"] .theme-picker-preview-cursor,
body[data-theme="haloterminal"] .theme-picker-preview-cursor,
body[data-theme="milkglassmatrix"] .theme-picker-preview-cursor,
body[data-theme="daybreakvector"] .theme-picker-preview-cursor,
body[data-theme="aurelianmarble"] .theme-picker-preview-cursor,
body[data-theme="moonstoneledger"] .theme-picker-preview-cursor,
body[data-theme="quartzrelay"] .theme-picker-preview-cursor,
body[data-theme="ivorydatavault"] .theme-picker-preview-cursor,
body[data-theme="paleaurora"] .theme-picker-preview-cursor,
body[data-theme="sandstonehalo"] .theme-picker-preview-cursor,
body[data-theme="opallattice"] .theme-picker-preview-cursor {
    background:
        linear-gradient(35deg, transparent 0 41%, color-mix(in srgb, var(--cursor-contrast-ring) 90%, white 10%) 42% 47%, transparent 48%),
        linear-gradient(61deg, transparent 0 39%, color-mix(in srgb, var(--cursor-contrast-core) 82%, #46545d 18%) 40% 46%, transparent 47%),
        linear-gradient(135deg, rgba(255,255,255,0.92), color-mix(in srgb, var(--cursor-contrast-core) 92%, #2d3940 8%) 36%, rgba(0,0,0,0.1) 100%) !important;
    border-color: color-mix(in srgb, var(--cursor-contrast-core) 78%, #415058 22%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.3),
        0 0 0 1px rgba(10, 16, 20, 0.16),
        0 0 12px rgba(255,255,255,0.18),
        0 0 22px color-mix(in srgb, var(--cursor-contrast-glow) 82%, transparent) !important;
    opacity: 1 !important;
    filter: none !important;
}

body[data-theme="polaranomaly"] .cursor-pointer::after,
body[data-theme="lucentarchive"] .cursor-pointer::after,
body[data-theme="haloterminal"] .cursor-pointer::after,
body[data-theme="milkglassmatrix"] .cursor-pointer::after,
body[data-theme="daybreakvector"] .cursor-pointer::after,
body[data-theme="aurelianmarble"] .cursor-pointer::after,
body[data-theme="moonstoneledger"] .cursor-pointer::after,
body[data-theme="quartzrelay"] .cursor-pointer::after,
body[data-theme="ivorydatavault"] .cursor-pointer::after,
body[data-theme="paleaurora"] .cursor-pointer::after,
body[data-theme="sandstonehalo"] .cursor-pointer::after,
body[data-theme="opallattice"] .cursor-pointer::after,
body[data-theme="polaranomaly"] .theme-picker-preview-cursor::after,
body[data-theme="lucentarchive"] .theme-picker-preview-cursor::after,
body[data-theme="haloterminal"] .theme-picker-preview-cursor::after,
body[data-theme="milkglassmatrix"] .theme-picker-preview-cursor::after,
body[data-theme="daybreakvector"] .theme-picker-preview-cursor::after,
body[data-theme="aurelianmarble"] .theme-picker-preview-cursor::after,
body[data-theme="moonstoneledger"] .theme-picker-preview-cursor::after,
body[data-theme="quartzrelay"] .theme-picker-preview-cursor::after,
body[data-theme="ivorydatavault"] .theme-picker-preview-cursor::after,
body[data-theme="paleaurora"] .theme-picker-preview-cursor::after,
body[data-theme="sandstonehalo"] .theme-picker-preview-cursor::after,
body[data-theme="opallattice"] .theme-picker-preview-cursor::after {
    border-color: color-mix(in srgb, var(--cursor-contrast-ring) 86%, #eef5f8 14%) !important;
    box-shadow:
        inset 0 0 7px rgba(255,255,255,0.14),
        0 0 10px rgba(13, 20, 25, 0.14) !important;
}

body[data-theme="polaranomaly"] .cursor-trail,
body[data-theme="lucentarchive"] .cursor-trail,
body[data-theme="haloterminal"] .cursor-trail,
body[data-theme="milkglassmatrix"] .cursor-trail,
body[data-theme="daybreakvector"] .cursor-trail,
body[data-theme="aurelianmarble"] .cursor-trail,
body[data-theme="moonstoneledger"] .cursor-trail,
body[data-theme="quartzrelay"] .cursor-trail,
body[data-theme="ivorydatavault"] .cursor-trail,
body[data-theme="paleaurora"] .cursor-trail,
body[data-theme="sandstonehalo"] .cursor-trail,
body[data-theme="opallattice"] .cursor-trail {
    border-color: color-mix(in srgb, var(--cursor-contrast-core) 30%, rgba(0, 0, 0, 0.08)) !important;
    background:
        radial-gradient(circle at 35% 30%, rgba(255,255,255,0.14), transparent 48%),
        linear-gradient(34deg, transparent 0 42%, color-mix(in srgb, var(--cursor-contrast-core) 18%, transparent) 43% 48%, transparent 49%) !important;
    box-shadow:
        0 0 0 1px rgba(18, 24, 28, 0.14),
        0 0 10px rgba(255,255,255,0.1),
        0 0 14px color-mix(in srgb, var(--cursor-contrast-core) 16%, transparent) !important;
    opacity: 0.96 !important;
    mix-blend-mode: normal !important;
    filter: none !important;
}

body[data-theme="polaranomaly"] .cursor-halo,
body[data-theme="lucentarchive"] .cursor-halo,
body[data-theme="haloterminal"] .cursor-halo,
body[data-theme="milkglassmatrix"] .cursor-halo,
body[data-theme="daybreakvector"] .cursor-halo,
body[data-theme="aurelianmarble"] .cursor-halo,
body[data-theme="moonstoneledger"] .cursor-halo,
body[data-theme="quartzrelay"] .cursor-halo,
body[data-theme="ivorydatavault"] .cursor-halo,
body[data-theme="paleaurora"] .cursor-halo,
body[data-theme="sandstonehalo"] .cursor-halo,
body[data-theme="opallattice"] .cursor-halo {
    border-color: color-mix(in srgb, var(--cursor-contrast-core) 34%, rgba(7, 12, 15, 0.22)) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.08), color-mix(in srgb, var(--cursor-contrast-core) 10%, transparent)) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.2),
        0 0 16px color-mix(in srgb, var(--cursor-contrast-glow) 48%, transparent) !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    filter: none !important;
}

body[data-theme="polaranomaly"] .cursor-dot,
body[data-theme="lucentarchive"] .cursor-dot,
body[data-theme="haloterminal"] .cursor-dot,
body[data-theme="milkglassmatrix"] .cursor-dot,
body[data-theme="daybreakvector"] .cursor-dot,
body[data-theme="aurelianmarble"] .cursor-dot,
body[data-theme="moonstoneledger"] .cursor-dot,
body[data-theme="quartzrelay"] .cursor-dot,
body[data-theme="ivorydatavault"] .cursor-dot,
body[data-theme="paleaurora"] .cursor-dot,
body[data-theme="sandstonehalo"] .cursor-dot,
body[data-theme="opallattice"] .cursor-dot {
    background: var(--cursor-contrast-core) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.16),
        0 0 12px color-mix(in srgb, var(--cursor-contrast-glow) 58%, transparent) !important;
    opacity: 1 !important;
}

/* Header navigation polish */
body .topbar {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 26%, color-mix(in srgb, var(--pink) 8%, transparent) 74%, transparent),
        linear-gradient(180deg, color-mix(in srgb, white 5%, transparent), transparent 40%),
        color-mix(in srgb, var(--topbar-bg) 90%, transparent);
    border-bottom-color: color-mix(in srgb, var(--cyan) 22%, transparent);
    box-shadow:
        0 20px 52px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 color-mix(in srgb, white 16%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 18%, transparent),
        0 0 28px color-mix(in srgb, var(--cyan) 8%, transparent);
    backdrop-filter: blur(22px) saturate(1.42) contrast(1.05);
}

body .topbar::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: -1px;
    height: 1px;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent, color-mix(in srgb, var(--header-accent-line) 92%, white 8%), transparent);
    opacity: 0.92;
}

body .topbar .nav {
    gap: 6px;
    padding: 3px;
    border: 1px solid color-mix(in srgb, var(--cyan) 12%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, white 4%, transparent), transparent 56%),
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 68%);
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, white 4%, transparent),
        0 0 24px color-mix(in srgb, var(--cyan) 5%, transparent);
}

body .topbar .nav::before {
    inset: 0;
    opacity: 0.78;
    background:
        linear-gradient(90deg, transparent 0 2%, color-mix(in srgb, var(--cyan) 5%, transparent) 18%, transparent 34%, color-mix(in srgb, var(--pink) 5%, transparent) 72%, transparent 88%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 4%, transparent) 0 1px, transparent 1px 26px);
}

body .topbar .nav-link,
body .topbar .theme-trigger,
body .topbar .mobile-nav-toggle {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 36px;
    padding: 8px 14px;
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent) !important;
    background:
        linear-gradient(180deg, color-mix(in srgb, white 7%, transparent), transparent 40%),
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 58%, color-mix(in srgb, var(--pink) 6%, transparent)),
        color-mix(in srgb, var(--overlay-bg) 24%, transparent) !important;
    color: color-mix(in srgb, var(--text) 92%, white 8%);
    font-family: var(--font-nav);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-shadow: 0 0 12px color-mix(in srgb, var(--cyan) 18%, transparent);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 10%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 12%, transparent),
        0 0 0 1px color-mix(in srgb, black 22%, transparent),
        0 8px 22px rgba(0, 0, 0, 0.16);
    clip-path: none;
    transition:
        transform 180ms cubic-bezier(0.2, 0.84, 0.22, 1),
        border-color 180ms ease,
        box-shadow 220ms ease,
        background 220ms ease,
        color 180ms ease,
        filter 180ms ease;
}

body .topbar .nav-link::before,
body .topbar .theme-trigger::before,
body .topbar .mobile-nav-toggle::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.78;
    background:
        linear-gradient(115deg, transparent 0 24%, color-mix(in srgb, white 18%, transparent) 38%, transparent 52%),
        linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 12%, transparent), transparent);
    transform: translateX(-58%);
    transition: transform 320ms cubic-bezier(0.2, 0.84, 0.22, 1), opacity 180ms ease;
}

body .topbar .nav-link::after,
body .topbar .theme-trigger::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 4px;
    height: 2px;
    pointer-events: none;
    opacity: 0.28;
    background:
        linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 84%, white 16%), color-mix(in srgb, var(--pink) 56%, white 18%), transparent);
    box-shadow: 0 0 14px color-mix(in srgb, var(--cyan) 32%, transparent);
    transform: scaleX(0.28);
    transform-origin: center;
    transition: transform 220ms cubic-bezier(0.2, 0.84, 0.22, 1), opacity 180ms ease;
}

body .topbar .nav-link:hover,
body .topbar .theme-trigger:hover,
body .topbar .mobile-nav-toggle:hover,
body .topbar .nav-link.active,
body .topbar .theme-menu.open .theme-trigger {
    color: color-mix(in srgb, var(--text) 84%, white 16%);
    border-color: color-mix(in srgb, var(--cyan) 58%, transparent) !important;
    background:
        linear-gradient(180deg, color-mix(in srgb, white 10%, transparent), transparent 34%),
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cyan) 22%, transparent), transparent 68%),
        linear-gradient(135deg, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 54%, color-mix(in srgb, var(--pink) 10%, transparent)) !important;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 18%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 24%, transparent),
        0 0 0 1px color-mix(in srgb, var(--cyan) 18%, transparent),
        0 0 28px color-mix(in srgb, var(--cyan) 14%, transparent),
        0 14px 30px rgba(0, 0, 0, 0.18);
    transform: translateY(-2px);
    filter: saturate(1.2) brightness(1.08);
}

body .topbar .nav-link:hover::before,
body .topbar .theme-trigger:hover::before,
body .topbar .mobile-nav-toggle:hover::after,
body .topbar .nav-link.active::before,
body .topbar .theme-menu.open .theme-trigger::before {
    opacity: 1;
    transform: translateX(58%);
}

body .topbar .nav-link:hover::after,
body .topbar .theme-trigger:hover::after,
body .topbar .nav-link.active::after,
body .topbar .theme-menu.open .theme-trigger::after {
    opacity: 1;
    transform: scaleX(1);
}

body .topbar .nav-link.nav-pressing,
body .topbar .theme-trigger.nav-pressing {
    transform: translateY(0) scale(0.988);
    filter: saturate(1.16) brightness(1.02);
}

body .topbar .theme-trigger {
    min-width: 116px;
}

body .topbar .mobile-nav-toggle {
    min-width: 84px;
    justify-content: center;
    gap: 8px;
}

body .topbar .mobile-nav-toggle::before {
    opacity: 0.92;
    filter: drop-shadow(0 0 8px color-mix(in srgb, var(--cyan) 22%, transparent));
}

body .flyout-panel {
    user-select: auto;
}

body .flyout-panel.is-focused {
    border-color: color-mix(in srgb, var(--cyan) 54%, var(--line) 46%) !important;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 28%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 18%, transparent),
        0 24px 62px rgba(0, 0, 0, 0.32),
        0 0 42px color-mix(in srgb, var(--cyan) 18%, transparent) !important;
}

body .flyout-panel.is-moved {
    bottom: auto;
    transform: none !important;
}

body .flyout-panel.is-moving {
    cursor: grabbing;
    transition: box-shadow 120ms ease, filter 120ms ease !important;
    filter: saturate(1.18) brightness(1.06);
}

body .flyout-head.window-chrome {
    cursor: grab;
    min-height: 54px;
    padding-right: 10px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 42%),
        linear-gradient(180deg, color-mix(in srgb, white 8%, transparent), transparent);
}

body .flyout-panel.is-moving .flyout-head.window-chrome {
    cursor: grabbing;
}

.window-controls {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
}

.window-control {
    width: 32px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--cyan) 25%, transparent);
    color: var(--text);
    background:
        linear-gradient(145deg, color-mix(in srgb, white 17%, transparent), transparent 42%),
        color-mix(in srgb, var(--overlay-bg) 72%, transparent);
    font-family: var(--font-mono);
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 24%, transparent),
        0 0 14px color-mix(in srgb, var(--cyan) 8%, transparent);
    transition: transform 160ms ease, border-color 160ms ease, filter 160ms ease, box-shadow 160ms ease;
}

.window-control:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--cyan) 60%, transparent);
    filter: saturate(1.24) brightness(1.12);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 32%, transparent),
        0 0 20px color-mix(in srgb, var(--cyan) 18%, transparent);
}

.window-control.close:hover {
    border-color: color-mix(in srgb, var(--red) 64%, var(--cyan) 18%);
    color: color-mix(in srgb, var(--red) 80%, white 20%);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 30%, transparent),
        0 0 22px color-mix(in srgb, var(--red) 22%, transparent);
}

.panel-taskbar {
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    z-index: 95;
    display: none;
    align-items: center;
    gap: 8px;
    max-width: min(720px, calc(100% - 210px));
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    background:
        linear-gradient(145deg, color-mix(in srgb, white 13%, transparent), transparent 34%),
        color-mix(in srgb, var(--overlay-bg) 72%, transparent);
    backdrop-filter: blur(18px) saturate(1.35);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 24%, transparent),
        0 16px 42px rgba(0,0,0,0.28),
        0 0 28px color-mix(in srgb, var(--cyan) 12%, transparent);
}

.panel-taskbar.has-items {
    display: flex;
}

.panel-taskbar-icon {
    min-width: 46px;
    max-width: 152px;
    height: 42px;
    display: inline-grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
    color: var(--text);
    background:
        radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--cyan) 22%, transparent), transparent 48%),
        color-mix(in srgb, var(--overlay-bg) 70%, transparent);
    padding: 6px 10px;
    cursor: pointer;
    text-align: left;
    overflow: hidden;
}

.panel-taskbar-icon span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid color-mix(in srgb, var(--cyan) 32%, transparent);
    color: var(--cyan);
    font-family: var(--font-display);
    font-size: 12px;
}

.panel-taskbar-icon b {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.panel-taskbar-icon:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--cyan) 54%, transparent);
    box-shadow: 0 0 22px color-mix(in srgb, var(--cyan) 16%, transparent);
}

body .resource-card,
body .case-row,
body .signal-card,
body .list-card,
body .flyout-panel,
body .theme-dialog,
body .globe-context-menu,
body .globe-country-tooltip {
    background:
        linear-gradient(145deg, color-mix(in srgb, white 14%, transparent), transparent 28%),
        radial-gradient(circle at 16% 0%, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 42%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel-grad-1) 76%, transparent), color-mix(in srgb, var(--panel-grad-2) 82%, transparent)) !important;
    border-color: color-mix(in srgb, var(--cyan) 28%, var(--line) 72%) !important;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 24%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 12%, transparent),
        0 18px 48px rgba(0, 0, 0, 0.22),
        0 0 34px color-mix(in srgb, var(--cyan) 9%, transparent) !important;
    backdrop-filter: blur(22px) saturate(1.42) contrast(1.06);
}

body .button,
body .nav-link,
body .filter-chip,
body .theme-trigger,
body .tab-button,
body .mini-button,
body button[data-flyout-toggle],
body .orbit-button,
body .orbit-home-button,
body .globe-context-menu button {
    background:
        linear-gradient(145deg, color-mix(in srgb, white 18%, transparent), transparent 31%),
        linear-gradient(180deg, color-mix(in srgb, var(--cyan) 13%, transparent), color-mix(in srgb, var(--overlay-bg) 70%, transparent)) !important;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 32%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 22%, transparent),
        0 10px 26px rgba(0, 0, 0, 0.18),
        0 0 18px color-mix(in srgb, var(--cyan) 8%, transparent) !important;
    backdrop-filter: blur(16px) saturate(1.55);
}

body .button:hover,
body .nav-link:hover,
body .filter-chip:hover,
body .theme-trigger:hover,
body .tab-button:hover,
body .mini-button:hover,
body button[data-flyout-toggle]:hover,
body .filter-chip.active,
body .button.active {
    filter: saturate(1.36) brightness(1.1);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 38%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cyan) 36%, transparent),
        0 14px 34px rgba(0, 0, 0, 0.22),
        0 0 28px color-mix(in srgb, var(--cyan) 20%, transparent) !important;
}

.flyout-panel-wide {
    width: min(560px, calc(100vw - 132px));
}

.radar-command-card {
    display: grid;
    gap: 14px;
}

.radar-controls,
.radar-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.radar-range {
    width: 100%;
    accent-color: var(--cyan);
    filter: drop-shadow(0 0 10px color-mix(in srgb, var(--cyan) 28%, transparent));
}

.radar-meta-grid > div,
.globe-country-tooltip-time div {
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, white 9%, transparent), transparent),
        color-mix(in srgb, var(--overlay-bg) 64%, transparent);
    padding: 9px 10px;
}

.radar-meta-grid span,
.globe-country-tooltip-time span {
    display: block;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.radar-meta-grid strong,
.globe-country-tooltip-time b {
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 11px;
}

.signals-ticker {
    left: 50%;
    right: auto;
    bottom: 18px;
    top: auto;
    transform: translateX(-50%);
    z-index: 6;
    width: min(820px, calc(100% - 240px));
    min-height: 48px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cyan) 30%, transparent);
    background:
        linear-gradient(145deg, color-mix(in srgb, white 14%, transparent), transparent 36%),
        radial-gradient(circle at 12% 20%, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 42%),
        color-mix(in srgb, var(--overlay-bg) 80%, transparent);
    backdrop-filter: blur(22px) saturate(1.45);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 24%, transparent),
        0 0 30px color-mix(in srgb, var(--cyan) 12%, transparent);
}

.signals-ticker::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--cyan) 16%, transparent), transparent 12%, transparent 88%, color-mix(in srgb, var(--cyan) 16%, transparent)),
        repeating-linear-gradient(90deg, transparent 0 14px, color-mix(in srgb, white 5%, transparent) 15px, transparent 16px);
    mix-blend-mode: screen;
    opacity: 0.48;
}

.signals-ticker-label {
    min-width: 84px;
    display: grid;
    gap: 2px;
}

.signals-ticker-label strong {
    color: var(--cyan);
    font-family: var(--font-display);
    font-size: 18px;
    line-height: 1;
}

.signals-ticker-window {
    min-width: 0;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, black 7%, black 93%, transparent);
}

.signals-ticker-track {
    display: inline-flex;
    gap: 18px;
    min-width: max-content;
    will-change: transform;
    animation: signalsTickerDrift var(--ticker-duration, 42s) linear infinite;
}

.signals-ticker:hover .signals-ticker-track {
    animation-play-state: paused;
}

.signals-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--text);
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
    padding-right: 14px;
}

.signals-ticker-item b {
    color: var(--amber);
    font-family: var(--font-display);
}

.signals-ticker-item em {
    color: var(--muted);
    font-style: normal;
}

.signals-ticker-stamp {
    color: var(--muted);
    opacity: 0.82;
}

@keyframes signalsTickerDrift {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(var(--ticker-shift, -33.333%), 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .signals-ticker-track {
        animation-duration: calc(var(--ticker-duration, 42s) * 1.5) !important;
        animation-iteration-count: infinite !important;
    }
}

.signal-tab-pulse {
    animation: signalTabPulse 3.2s ease-in-out infinite;
}

@keyframes signalTabPulse {
    0%, 100% { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cyan) 10%, transparent), 0 0 14px color-mix(in srgb, var(--cyan) 7%, transparent) !important; }
    50% { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cyan) 38%, transparent), 0 0 30px color-mix(in srgb, var(--cyan) 24%, transparent) !important; }
}

.signal-command-panel.flyout-panel-wide {
    top: 10px;
    bottom: 10px;
    width: min(920px, calc(100vw - 132px));
    max-width: calc(100vw - 132px);
}

.signal-command-panel .flyout-head {
    flex: 0 0 auto;
}

.signal-command-panel .flyout-body {
    display: grid;
    align-content: start;
    gap: 12px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 14px;
    scrollbar-gutter: stable;
}

.signal-command-panel .resource-card {
    min-height: auto;
    overflow: visible;
}

.signal-command-panel .row-head {
    align-items: flex-start;
    min-width: 0;
}

.signal-command-panel .row-head > div {
    min-width: 0;
}

.signal-command-panel .row-head .subtitle,
.signal-command-panel .signal-card p,
.signal-command-panel .signal-alert-card p {
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: initial;
    overflow: visible;
}

.signal-hero-card,
.signal-kpi,
.signal-adapter-card,
.signal-alert-card,
.signal-empty {
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        linear-gradient(145deg, color-mix(in srgb, white 12%, transparent), transparent 34%),
        radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--cyan) 15%, transparent), transparent 44%),
        color-mix(in srgb, var(--overlay-bg) 66%, transparent);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 18%, transparent),
        0 12px 28px rgba(0,0,0,0.18);
}

.signal-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 74px;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    overflow: hidden;
}

.signal-hero-card strong {
    display: block;
    color: var(--text);
    font-family: var(--font-display);
    font-size: clamp(18px, 1.65vw, 26px);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.signal-pulse-orb {
    width: 64px;
    aspect-ratio: 1;
    border: 1px solid color-mix(in srgb, var(--cyan) 46%, transparent);
    border-radius: 50%;
    background:
        radial-gradient(circle, color-mix(in srgb, var(--cyan) 78%, white 18%) 0 4px, transparent 5px),
        conic-gradient(from 90deg, transparent, color-mix(in srgb, var(--cyan) 70%, transparent), transparent 36%, color-mix(in srgb, var(--amber) 56%, transparent), transparent 68%),
        radial-gradient(circle, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 64%);
    filter: drop-shadow(0 0 22px color-mix(in srgb, var(--cyan) 34%, transparent));
    animation: signalOrbSweep 4.8s linear infinite;
}

@keyframes signalOrbSweep {
    to { transform: rotate(360deg); }
}

.signal-kpi-grid,
.signal-adapter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.signal-kpi,
.signal-adapter-card {
    min-width: 0;
    padding: 11px;
}

.signal-kpi span,
.signal-adapter-card span {
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.signal-kpi strong {
    display: block;
    margin-top: 6px;
    color: var(--cyan);
    font-family: var(--font-display);
    font-size: 20px;
}

.signal-adapter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.signal-adapter-card b {
    display: block;
    margin-top: 8px;
    color: var(--text);
    font-size: 12px;
}

.signal-adapter-card p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
}

.signal-adapter-card .row-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
}

.signal-adapter-card .row-head strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.signal-adapter-card .row-head span {
    white-space: nowrap;
}

.signal-adapter-card.live.active {
    border-color: color-mix(in srgb, var(--green) 48%, var(--cyan) 22%);
}

.signal-adapter-card.has-data:not(.active) {
    border-color: color-mix(in srgb, var(--amber) 28%, var(--cyan) 14%);
}

.signal-adapter-card.locked {
    opacity: 0.76;
}

.signal-watch-controls {
    display: grid;
    gap: 12px;
}

.signal-watch-controls input {
    width: 100%;
    min-height: 46px;
    color: var(--text);
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, white 8%, transparent), transparent),
        color-mix(in srgb, var(--overlay-bg) 78%, transparent);
    padding: 12px 14px;
    font-family: var(--font-body);
}

.signal-source-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: 118px;
    overflow: auto;
    padding-right: 4px;
}

.signal-alert-stack,
.signal-feed-grid {
    display: grid;
    gap: 10px;
}

.signal-feed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.signal-alert-card {
    width: 100%;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 8px 12px;
    align-items: start;
    color: var(--text);
    padding: 13px 14px;
    text-align: left;
    cursor: pointer;
    min-width: 0;
}

.signal-alert-card span {
    grid-row: span 2;
    display: grid;
    place-items: center;
    min-height: 48px;
    color: var(--amber);
    border: 1px solid color-mix(in srgb, var(--amber) 36%, transparent);
    font-family: var(--font-display);
}

.signal-alert-card strong {
    font-size: 14px;
    letter-spacing: 0.04em;
}

.signal-alert-card p {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
}

.signal-alert-card:hover,
.signal-intel-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--cyan) 50%, transparent) !important;
}

.signal-intel-card {
    display: block;
    text-decoration: none;
    min-width: 0;
    padding: 12px;
}

.signal-intel-card .row-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 10px;
    align-items: start;
}

.signal-intel-card strong {
    display: block;
    margin-top: 3px;
    color: var(--text);
    font-size: 15px;
    line-height: 1.25;
}

.signal-score {
    --signal-score: 50%;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: var(--text);
    border-radius: 50%;
    background:
        radial-gradient(circle at center, color-mix(in srgb, var(--overlay-bg) 82%, transparent) 0 58%, transparent 60%),
        conic-gradient(var(--amber) 0 var(--signal-score), color-mix(in srgb, var(--cyan) 13%, transparent) 0);
    font-family: var(--font-display);
    font-size: 11px;
}

.signal-ops-card {
    display: grid;
    gap: 11px;
}

.signal-ops-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.signal-ops-grid > div {
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, white 8%, transparent), transparent),
        color-mix(in srgb, var(--overlay-bg) 60%, transparent);
    padding: 9px 10px;
}

.signal-ops-grid span {
    display: block;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.signal-ops-grid strong {
    display: block;
    min-width: 0;
    margin-top: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text);
    font-family: var(--font-nav);
    font-size: 13px;
}

.signal-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.signal-action-row .button {
    flex: 1 1 180px;
    justify-content: center;
    text-decoration: none;
}

.signal-meta-line,
.signal-keyword-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 9px;
}

.signal-meta-line span,
.signal-keyword {
    border: 1px solid color-mix(in srgb, var(--cyan) 18%, transparent);
    color: var(--muted);
    background: color-mix(in srgb, var(--overlay-bg) 58%, transparent);
    padding: 4px 7px;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.signal-empty {
    padding: 18px;
    color: var(--muted);
    text-align: center;
}

.profile-quick-badge {
    display: inline-grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-width: 142px;
    min-height: 42px;
    padding: 5px 10px;
    color: var(--text);
    text-decoration: none;
    border: 1px solid color-mix(in srgb, var(--cyan) 28%, transparent);
    background:
        linear-gradient(145deg, color-mix(in srgb, white 15%, transparent), transparent 34%),
        color-mix(in srgb, var(--overlay-bg) 72%, transparent);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 24%, transparent),
        0 0 20px color-mix(in srgb, var(--cyan) 10%, transparent);
    backdrop-filter: blur(16px) saturate(1.35);
}

.profile-quick-badge:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--cyan) 54%, transparent);
    filter: saturate(1.22) brightness(1.08);
}

.profile-avatar-mini,
.account-avatar-large {
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--avatar-accent, var(--cyan)) 86%, white 14%);
    border: 1px solid color-mix(in srgb, var(--avatar-accent, var(--cyan)) 46%, transparent);
    background:
        radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--avatar-accent, var(--cyan)) 20%, transparent), transparent 58%),
        color-mix(in srgb, var(--overlay-bg) 74%, transparent);
    font-family: var(--font-display);
    text-transform: uppercase;
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, white 10%, transparent),
        0 0 20px color-mix(in srgb, var(--avatar-accent, var(--cyan)) 16%, transparent);
}

.profile-avatar-mini {
    width: 32px;
    height: 32px;
    font-size: 11px;
}

.profile-quick-badge b,
.profile-quick-badge em {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-quick-badge b {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.profile-quick-badge em {
    color: var(--muted);
    font-size: 9px;
    font-style: normal;
}

.submit-pin-button {
    position: absolute;
    left: 22px;
    bottom: 24px;
    z-index: 8;
}

.achievement-toast-stack {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 100000;
    display: grid;
    gap: 10px;
    width: min(360px, calc(100vw - 36px));
    pointer-events: none;
}

.achievement-toast,
.submission-card,
.achievement-card,
.submission-row,
.account-stat-stack > div {
    border: 1px solid color-mix(in srgb, var(--cyan) 26%, transparent);
    background:
        linear-gradient(145deg, color-mix(in srgb, white 14%, transparent), transparent 30%),
        radial-gradient(circle at 16% 0%, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 44%),
        color-mix(in srgb, var(--overlay-bg) 78%, transparent);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, white 22%, transparent),
        0 18px 42px rgba(0,0,0,0.24),
        0 0 28px color-mix(in srgb, var(--cyan) 10%, transparent);
    backdrop-filter: blur(20px) saturate(1.35);
}

.achievement-toast {
    padding: 14px 16px;
    animation: achievementToastIn 420ms cubic-bezier(0.18, 0.86, 0.2, 1) both;
}

.achievement-toast strong {
    display: block;
    margin-top: 5px;
    color: var(--cyan);
    font-family: var(--font-display);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.achievement-toast p {
    margin: 6px 0 0;
    color: var(--muted);
    font-size: 12px;
}

@keyframes achievementToastIn {
    from { opacity: 0; transform: translate3d(18px, 12px, 0) scale(0.96); filter: blur(5px); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}

.submission-modal {
    position: fixed;
    inset: 0;
    z-index: 99990;
    display: none;
    place-items: center;
    padding: 24px;
    background: color-mix(in srgb, var(--bg) 18%, transparent);
    backdrop-filter: blur(16px) saturate(1.18);
}

.submission-modal.show {
    display: grid;
}

.submission-card {
    width: min(820px, calc(100vw - 32px));
    max-height: min(86vh, 900px);
    overflow: auto;
    padding: 20px;
    animation: flyoutPanelIn 360ms cubic-bezier(0.16, 0.88, 0.18, 1) both;
}

.submission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.submission-grid label {
    display: grid;
    gap: 6px;
    color: var(--text);
}

.submission-grid label.wide,
.submission-actions.wide {
    grid-column: 1 / -1;
}

.submission-grid span {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.submission-grid input,
.submission-grid textarea,
.submission-grid select {
    width: 100%;
    min-height: 44px;
    color: var(--text);
    border: 1px solid color-mix(in srgb, var(--cyan) 24%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, white 8%, transparent), transparent),
        color-mix(in srgb, var(--overlay-bg) 78%, transparent);
    padding: 12px 13px;
    font-family: var(--font-body);
}

.submission-grid textarea {
    resize: vertical;
}

.submission-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.profile-import-label {
    position: relative;
    overflow: hidden;
}

.profile-import-label input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.account-hero-grid {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) minmax(220px, 0.45fr);
    gap: 22px;
    align-items: center;
}

.account-avatar-large {
    width: 112px;
    height: 112px;
    font-size: 30px;
}

.account-hero h1 {
    margin: 6px 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: clamp(28px, 4vw, 54px);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.account-stat-stack {
    display: grid;
    gap: 10px;
}

.account-stat-stack > div {
    padding: 12px;
}

.account-stat-stack span {
    display: block;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.account-stat-stack strong {
    display: block;
    margin-top: 5px;
    color: var(--cyan);
    font-family: var(--font-display);
    font-size: 22px;
}

.account-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: 18px;
}

.achievement-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.achievement-card,
.submission-row {
    padding: 14px;
}

.achievement-card {
    opacity: 0.72;
}

.achievement-card.unlocked {
    opacity: 1;
    border-color: color-mix(in srgb, var(--green) 38%, var(--cyan) 20%);
}

.achievement-card strong,
.submission-row strong {
    color: var(--text);
}

.achievement-card p,
.submission-row p {
    color: var(--muted);
    font-size: 12px;
}

.achievement-track {
    height: 8px;
    margin: 12px 0 8px;
    border: 1px solid color-mix(in srgb, var(--cyan) 20%, transparent);
    background: color-mix(in srgb, var(--overlay-bg) 72%, transparent);
    overflow: hidden;
}

.achievement-track i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, color-mix(in srgb, var(--cyan) 68%, #7d9193), color-mix(in srgb, var(--teal) 28%, var(--cyan)));
    box-shadow: 0 0 14px color-mix(in srgb, var(--cyan) 30%, transparent);
}

.submission-list {
    display: grid;
    gap: 10px;
}

@media (max-width: 860px) {
    .profile-quick-badge {
        min-width: 44px;
        grid-template-columns: 34px;
        padding: 5px;
    }

    .profile-quick-badge span:last-child {
        display: none;
    }

    .submit-pin-button {
        left: 12px;
        bottom: 142px;
        min-height: 48px;
    }

    .submission-grid,
    .account-hero-grid,
    .account-grid,
    .achievement-grid {
        grid-template-columns: 1fr;
    }

    .account-avatar-large {
        width: 88px;
        height: 88px;
        font-size: 24px;
    }

    .submission-modal {
        padding: 12px;
    }
}

.globe-country-tooltip-time {
    display: grid;
    gap: 5px;
    margin: 9px 0;
}

@media (max-width: 860px) {
    body .topbar .nav {
        padding: 10px;
        gap: 9px;
        background:
            linear-gradient(180deg, color-mix(in srgb, white 8%, transparent), transparent 34%),
            radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--cyan) 16%, transparent), transparent 40%),
            color-mix(in srgb, var(--overlay-bg) 82%, transparent);
        box-shadow:
            0 26px 56px rgba(0,0,0,0.28),
            inset 0 1px 0 color-mix(in srgb, white 14%, transparent),
            0 0 24px color-mix(in srgb, var(--cyan) 10%, transparent);
    }

    body .topbar .nav-link,
    body .topbar .theme-trigger {
        min-height: 56px;
        width: 100%;
        justify-content: flex-start;
        padding: 16px 18px;
        font-size: 11px;
        letter-spacing: 0.16em;
    }

    body .topbar .nav-link::after,
    body .topbar .theme-trigger::after {
        left: 14px;
        right: 14px;
        bottom: 6px;
    }

    .flyout-panel-wide {
        width: calc(100vw - 28px);
    }

    .signals-ticker {
        left: 10px;
        right: 10px;
        bottom: 82px;
        width: auto;
        transform: none;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }

    .signals-ticker-label {
        display: none;
    }

    .signals-ticker-window {
        min-height: 30px;
    }

    .signals-ticker-item {
        font-size: 10px;
    }

    .signal-command-panel.flyout-panel-wide {
        width: calc(100vw - 28px);
    }

    .signal-hero-card,
    .signal-kpi-grid,
    .signal-adapter-grid,
    .signal-feed-grid,
    .signal-ops-grid {
        grid-template-columns: 1fr;
    }

    .signal-pulse-orb {
        display: none;
    }

    .radar-controls,
    .radar-meta-grid {
        grid-template-columns: 1fr;
    }

    .panel-taskbar {
        left: 10px;
        right: 10px;
        bottom: 76px;
        max-width: none;
        transform: none;
        overflow-x: auto;
        justify-content: flex-start;
    }

    .panel-taskbar-icon {
        min-width: 54px;
        height: 48px;
    }

    .panel-taskbar-icon b {
        display: none;
    }

    body .flyout-head.window-chrome {
        min-height: 62px;
    }

    .window-control {
        width: 42px;
        height: 40px;
        font-size: 15px;
    }
}
/* UFO Web knowledge graph */
.ufo-web-page {
    min-height: 100vh;
}

.ufo-web-layout {
    gap: 14px;
}

.ufo-web-hero .panel-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-block: 16px;
}

.ufo-web-hero h1 {
    margin: 0 0 6px;
    font-family: var(--font-display, "Orbitron", sans-serif);
    font-size: clamp(28px, 4vw, 54px);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text);
    text-shadow: 0 0 18px color-mix(in srgb, var(--accent) 58%, transparent);
}

.ufo-web-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(82px, 1fr));
    gap: 8px;
    min-width: min(420px, 100%);
}

.ufo-web-metrics span {
    border: 1px solid color-mix(in srgb, var(--accent) 36%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--panel) 74%, transparent), color-mix(in srgb, var(--accent) 12%, transparent)),
        var(--panel);
    box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent), 0 0 22px color-mix(in srgb, var(--accent) 14%, transparent);
    padding: 12px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 10px;
}

.ufo-web-metrics strong {
    display: block;
    font-family: var(--font-display, "Orbitron", sans-serif);
    font-size: 24px;
    letter-spacing: 0.05em;
    color: var(--text);
}

.ufo-web-grid {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(420px, 1fr) minmax(280px, 370px);
    gap: 14px;
    align-items: stretch;
}

.ufo-web-controls,
.ufo-web-dossier,
.ufo-web-stage-panel {
    min-height: 660px;
}

.ufo-web-controls .panel-inner,
.ufo-web-dossier .panel-inner {
    height: 100%;
    overflow: auto;
}

.ufo-web-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.ufo-web-chip {
    border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 8%, transparent), transparent 34%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel) 72%, transparent), color-mix(in srgb, var(--bg) 72%, transparent));
    color: var(--muted);
    padding: 8px 10px;
    font: 700 10px/1 var(--font-ui, "Inter", sans-serif);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 9%, transparent);
    transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.ufo-web-chip:hover,
.ufo-web-chip.active {
    color: var(--text);
    border-color: color-mix(in srgb, var(--accent) 72%, transparent);
    background:
        radial-gradient(circle at 18% 22%, color-mix(in srgb, #fff 12%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), color-mix(in srgb, var(--accent-2, var(--accent)) 7%, transparent)),
        var(--panel);
    box-shadow:
        0 0 16px color-mix(in srgb, var(--accent) 14%, transparent),
        inset 0 1px 0 color-mix(in srgb, #fff 18%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 17%, transparent);
}

.ufo-web-chip:hover {
    transform: translateY(-1px);
}

.ufo-web-modebar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ufo-web-modebar .button.active {
    color: var(--text);
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 13%, transparent), transparent 28%),
        linear-gradient(90deg, color-mix(in srgb, var(--accent) 18%, transparent), color-mix(in srgb, var(--accent-2, var(--accent)) 8%, transparent)),
        color-mix(in srgb, var(--panel) 78%, transparent);
    box-shadow:
        0 0 16px color-mix(in srgb, var(--accent) 18%, transparent),
        inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent);
}

.ufo-web-stage-panel {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.ufo-web-stage-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.18;
    background:
        radial-gradient(circle at 28% 18%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 30%),
        radial-gradient(circle at 78% 78%, color-mix(in srgb, var(--accent-2, var(--accent)) 14%, transparent), transparent 36%),
        linear-gradient(120deg, color-mix(in srgb, #fff 5%, transparent), transparent 24%, color-mix(in srgb, #000 18%, transparent) 64%, transparent),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent) 5%, transparent) 0 1px, transparent 1px 44px);
    mix-blend-mode: normal;
}

.ufo-web-stage-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.1;
    background:
        linear-gradient(115deg, transparent 0 44%, color-mix(in srgb, #fff 12%, transparent) 48%, transparent 52% 100%),
        repeating-linear-gradient(0deg, color-mix(in srgb, var(--accent) 4%, transparent) 0 1px, transparent 1px 5px);
    mix-blend-mode: overlay;
    animation: ufoWebSheen 9s linear infinite;
}

@keyframes ufoWebSheen {
    0% { transform: translate3d(-14%, 0, 0); }
    100% { transform: translate3d(14%, 0, 0); }
}

.ufo-web-stage-head {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px 8px;
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
}

.ufo-web-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.11em;
}

.ufo-web-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--muted);
}

.ufo-web-legend i {
    width: 9px;
    height: 9px;
    box-shadow: 0 0 12px currentColor;
}

.ufo-web-minimap {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 10px 14px;
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 16%, transparent);
    background: linear-gradient(90deg, color-mix(in srgb, var(--panel) 74%, transparent), color-mix(in srgb, var(--accent) 4%, transparent));
    backdrop-filter: blur(12px) saturate(1.05);
}

.ufo-web-minimap-node {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "count label"
        "count total";
    gap: 2px 8px;
    min-height: 42px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 9%, transparent), transparent 30%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel) 78%, transparent), color-mix(in srgb, var(--bg) 68%, transparent));
    color: var(--text);
    padding: 7px 9px;
    cursor: pointer;
    text-align: left;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 10%, transparent);
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.ufo-web-minimap-node::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: color-mix(in srgb, var(--cluster-color) 72%, var(--accent));
    box-shadow: 0 0 10px color-mix(in srgb, var(--cluster-color) 32%, transparent);
}

.ufo-web-minimap-node:hover,
.ufo-web-minimap-node.active {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--cluster-color) 82%, transparent);
    background:
        radial-gradient(circle at 18% 30%, color-mix(in srgb, var(--cluster-color) 16%, transparent), transparent 50%),
        linear-gradient(135deg, color-mix(in srgb, #fff 14%, transparent), transparent 34%),
        color-mix(in srgb, var(--panel) 70%, transparent);
    box-shadow:
        0 0 18px color-mix(in srgb, var(--cluster-color) 16%, transparent),
        inset 0 1px 0 color-mix(in srgb, #fff 18%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--cluster-color) 18%, transparent);
}

.ufo-web-minimap-node strong {
    grid-area: count;
    align-self: center;
    color: var(--cluster-color);
    font-family: var(--font-display, "Orbitron", sans-serif);
    font-size: 20px;
    line-height: 1;
    text-shadow: 0 0 8px color-mix(in srgb, var(--cluster-color) 26%, transparent);
}

.ufo-web-minimap-node span {
    grid-area: label;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ufo-web-minimap-node em {
    grid-area: total;
    color: var(--muted);
    font-size: 10px;
    font-style: normal;
}

.ufo-web-stage {
    position: relative;
    z-index: 1;
    min-height: 590px;
    flex: 1;
    background:
        radial-gradient(circle at 50% 52%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 40%),
        radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--accent-2, var(--accent)) 5%, transparent), transparent 32%),
        linear-gradient(135deg, color-mix(in srgb, #fff 4%, transparent), transparent 28%, color-mix(in srgb, #000 28%, transparent)),
        color-mix(in srgb, var(--bg) 44%, transparent);
}

.ufo-web-audit-strip {
    position: relative;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 14px;
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
    background: color-mix(in srgb, var(--panel) 54%, transparent);
    backdrop-filter: blur(12px) saturate(1.5);
}

.ufo-web-audit-strip span {
    border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
    background: color-mix(in srgb, var(--bg) 30%, transparent);
    color: var(--muted);
    padding: 5px 8px;
    font-size: 10px;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.ufo-web-audit-strip strong {
    color: var(--accent);
    text-shadow: 0 0 10px color-mix(in srgb, var(--accent) 50%, transparent);
}

#ufo-web-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    cursor: crosshair;
}

#ufo-web-canvas.is-orbit-mode {
    cursor: grab;
}

#ufo-web-canvas.is-orbit-mode:active {
    cursor: grabbing;
}

.ufo-web-tooltip {
    position: absolute;
    z-index: 5;
    max-width: 260px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 62%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 12%, transparent), transparent 34%),
        color-mix(in srgb, var(--panel) 86%, transparent);
    color: var(--text);
    box-shadow:
        0 16px 45px color-mix(in srgb, #000 50%, transparent),
        0 0 34px color-mix(in srgb, var(--accent) 30%, transparent),
        inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent);
    backdrop-filter: blur(14px) saturate(1.6);
    pointer-events: none;
}

.ufo-web-tooltip strong,
.ufo-web-tooltip span {
    display: block;
}

.ufo-web-tooltip strong {
    margin-bottom: 4px;
    font-family: var(--font-display, "Orbitron", sans-serif);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ufo-web-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.ufo-web-detail-grid > div {
    border: 1px solid color-mix(in srgb, var(--accent) 24%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 10%, transparent), transparent 32%),
        color-mix(in srgb, var(--panel) 68%, transparent);
    padding: 10px;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent);
}

.ufo-web-detail-grid strong {
    display: block;
    margin-top: 6px;
    color: var(--text);
}

.ufo-web-relations,
.ufo-web-sources,
.ufo-web-ledger {
    display: grid;
    gap: 8px;
}

.ufo-web-relation,
.ufo-web-ledger-row {
    width: 100%;
    border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 10%, transparent), transparent 28%),
        linear-gradient(120deg, color-mix(in srgb, var(--panel) 84%, transparent), color-mix(in srgb, var(--accent) 8%, transparent)),
        var(--panel);
    color: var(--text);
    text-align: left;
    padding: 10px;
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.ufo-web-relation:hover,
.ufo-web-ledger-row:hover {
    transform: translateX(3px);
    border-color: color-mix(in srgb, var(--accent) 68%, transparent);
    box-shadow: 0 0 22px color-mix(in srgb, var(--accent) 17%, transparent);
}

.ufo-web-relation span,
.ufo-web-relation em {
    display: block;
    color: var(--muted);
    font-size: 11px;
}

.ufo-web-relation strong {
    display: block;
    margin: 4px 0;
    font-size: 14px;
}

.ufo-web-sources a {
    border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
    padding: 9px 10px;
    color: var(--accent);
    text-decoration: none;
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 10%, transparent), transparent 30%),
        color-mix(in srgb, var(--panel) 62%, transparent);
    box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent);
}

.ufo-web-table-panel {
    overflow: hidden;
}

.ufo-web-ledger {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    max-height: 380px;
    overflow: auto;
}

.ufo-web-ledger-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.ufo-web-ledger-row em {
    color: var(--muted);
    font-style: normal;
}

.ufo-web-evidence-pill {
    white-space: nowrap;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
    padding: 5px 7px;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.ufo-web-evidence-pill.official { color: #8be9ff; }
.ufo-web-evidence-pill.archive { color: #9fb8d9; }
.ufo-web-evidence-pill.public { color: #78d9c4; }
.ufo-web-evidence-pill.contested { color: #c4a45a; }
.ufo-web-evidence-pill.alleged { color: #b76f92; }

.empty-state.compact {
    padding: 12px;
    min-height: auto;
}

@media (max-width: 1180px) {
    .ufo-web-grid {
        grid-template-columns: 1fr;
    }

    .ufo-web-controls,
    .ufo-web-dossier,
    .ufo-web-stage-panel {
        min-height: auto;
    }

    .ufo-web-stage {
        min-height: 620px;
    }

    .ufo-web-minimap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ufo-web-hero .panel-inner {
        display: block;
    }

    .ufo-web-metrics {
        grid-template-columns: 1fr;
        margin-top: 14px;
    }

    .ufo-web-stage-head,
    .ufo-web-ledger-row {
        display: block;
    }

    .ufo-web-stage {
        min-height: 70vh;
    }

    .ufo-web-chip,
    .ufo-web-modebar .button {
        min-height: 42px;
    }

    .ufo-web-minimap {
        grid-template-columns: 1fr;
    }
}

/* IntraTerra Theme + Cursor System V3 */
html[data-theme],
body.theme-continuity-ready {
    --radius-panel: 0px;
    --radius-control: 0px;
    --theme-border: color-mix(in srgb, var(--accent) 30%, transparent);
    --theme-border-strong: color-mix(in srgb, var(--accent) 58%, transparent);
    --theme-glow: color-mix(in srgb, var(--accent) 18%, transparent);
    --theme-glow-soft: color-mix(in srgb, var(--accent) 8%, transparent);
    --halo-panel-sheen: linear-gradient(135deg, color-mix(in srgb, #fff 13%, transparent), transparent 34%);
    --glass-fill: var(--halo-panel-sheen), linear-gradient(180deg, color-mix(in srgb, var(--panel) 82%, transparent), color-mix(in srgb, var(--panel-2) 86%, transparent));
}

body.theme-continuity-ready {
    color: var(--text);
    font-family: var(--font-body, var(--font-ui, "Inter", sans-serif));
    background:
        radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 30%),
        radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--accent-2) 5%, transparent), transparent 34%),
        linear-gradient(180deg, var(--bg), var(--bg-2));
    transition: background 260ms ease, color 180ms ease;
}

body.theme-continuity-ready::before {
    background-image:
        repeating-linear-gradient(0deg, color-mix(in srgb, var(--accent) 3.5%, transparent) 0 1px, transparent 1px 5px),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent-2) 2.5%, transparent) 0 1px, transparent 1px 32px),
        radial-gradient(circle at 50% -12%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 58%);
    opacity: 0.36;
}

body.theme-continuity-ready::after {
    background:
        linear-gradient(115deg, transparent 0 38%, color-mix(in srgb, var(--accent) 4%, transparent) 48%, transparent 58%),
        radial-gradient(circle at 76% 24%, color-mix(in srgb, var(--accent-2) 5%, transparent), transparent 38%);
    opacity: 0.32;
    animation: intraterraThemePulse 7s ease-in-out infinite alternate;
}

@keyframes intraterraThemePulse {
    from { opacity: 0.22; filter: saturate(0.94); }
    to { opacity: 0.38; filter: saturate(1.04); }
}

body.theme-continuity-ready :where(
    .topbar, .panel, .modal-card, .theme-panel, .flyout-panel, .globe-overlay, .landing-notice-card,
    .landing-notice-load-panel, .landing-theme-prompt, .landing-contact-card, .site-contact-card,
    .resource-card, .signal-card, .list-card, .case-row, .radio-card, .radio-summary-card,
    .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .gerb-flyout, .gerb2-drawer,
    .ufo-web-stage-panel, .ufo-web-controls, .ufo-web-dossier, .ufo-web-table-panel
) {
    color: var(--text);
    border-color: var(--theme-border);
    background: var(--glass-fill);
    box-shadow:
        0 18px 48px var(--glass-shadow),
        0 0 22px var(--theme-glow-soft),
        inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 10%, transparent);
    backdrop-filter: blur(18px) saturate(1.08);
}

body.theme-continuity-ready[data-theme-tone="light"] :where(
    .topbar, .panel, .modal-card, .theme-panel, .flyout-panel, .globe-overlay, .landing-notice-card,
    .landing-notice-load-panel, .landing-theme-prompt, .landing-contact-card, .site-contact-card,
    .resource-card, .signal-card, .list-card, .case-row, .radio-card, .radio-summary-card,
    .radio-legal-note, .taxonomy-card, .taxonomy-media-card, .gerb-flyout, .gerb2-drawer,
    .ufo-web-stage-panel, .ufo-web-controls, .ufo-web-dossier, .ufo-web-table-panel
) {
    text-shadow: none;
    box-shadow:
        0 18px 48px rgba(25, 34, 38, 0.14),
        0 0 30px color-mix(in srgb, var(--accent) 10%, transparent),
        inset 0 1px 0 rgba(255,255,255,0.74),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 14%, transparent);
}

body.theme-continuity-ready :where(h1, h2, h3, .title, .brand .title, .micro-label, .kicker, .eyebrow, .panel-title) {
    color: var(--text);
    font-family: var(--font-display, "Orbitron", sans-serif);
}

body.theme-continuity-ready :where(.subtitle, .muted, .tiny, p, small, td, th, label, option, .case-location, .case-meta, .resource-card p) {
    color: var(--muted);
}

body.theme-continuity-ready :where(a, strong, b, .metric-value, .case-title, .tag, .ufo-web-minimap-node strong) {
    color: var(--accent);
}

body.theme-continuity-ready :where(
    .button, .nav-link, .theme-trigger, .theme-option, .theme-dialog-close, .filter-chip, .tab-button,
    button[data-flyout-toggle], .mini-button, .ufo-web-chip, .ufo-web-modebar .button, input, select, textarea
) {
    border-color: var(--theme-border);
    color: var(--text);
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 9%, transparent), transparent 30%),
        linear-gradient(180deg, color-mix(in srgb, var(--control-bg) 78%, transparent), color-mix(in srgb, var(--panel-2) 78%, transparent));
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 9%, transparent);
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease, color 160ms ease;
}

body.theme-continuity-ready :where(
    .button:hover, .nav-link:hover, .nav-link.active, .theme-trigger:hover, .theme-option:hover, .theme-option.active,
    .filter-chip:hover, .filter-chip.active, .tab-button:hover, .tab-button.active, button[data-flyout-toggle]:hover,
    .mini-button:hover, .ufo-web-chip:hover, .ufo-web-chip.active, .ufo-web-modebar .button.active
) {
    transform: translateY(-1px);
    border-color: var(--theme-border-strong);
    background:
        radial-gradient(circle at 18% 24%, color-mix(in srgb, #fff 13%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, transparent), color-mix(in srgb, var(--accent-2) 6%, transparent)),
        color-mix(in srgb, var(--control-hover) 76%, transparent);
    box-shadow:
        0 0 18px var(--theme-glow),
        inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 20%, transparent);
}

body.theme-continuity-ready :where(input, select, textarea) {
    color: var(--text);
    caret-color: var(--accent);
}

body.theme-continuity-ready :where(input::placeholder, textarea::placeholder) {
    color: color-mix(in srgb, var(--muted) 74%, transparent);
}

body.theme-continuity-ready .topbar {
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 13%, transparent), transparent 34%),
        color-mix(in srgb, var(--topbar-bg) 78%, transparent);
    backdrop-filter: blur(22px) saturate(1.08);
}

body > .theme-panel[data-theme-panel-root="body"],
.theme-panel[data-theme-panel-root="body"] {
    position: fixed !important;
    inset: 50% auto auto 50% !important;
    transform: translate(-50%, -50%) scale(0.98);
    z-index: 99999;
    width: min(1160px, calc(100vw - 28px));
    max-height: min(760px, calc(100vh - 28px));
    overflow: hidden;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

body.theme-picker-open > .theme-panel[data-theme-panel-root="body"]:not([hidden]),
.theme-menu.open .theme-panel:not([hidden]) {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

.theme-panel[hidden] {
    display: none !important;
}

.theme-dialog-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border-bottom: 1px solid var(--theme-border);
}

.theme-picker-console-v3 {
    display: grid;
    grid-template-columns: minmax(260px, 0.95fr) minmax(280px, 1fr) minmax(280px, 1fr);
    gap: 12px;
    padding: 14px;
}

.theme-picker-bank {
    min-width: 0;
}

.theme-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.theme-option {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-height: 52px;
    padding: 8px;
    text-align: left;
    color: var(--swatch-text, var(--text));
    border-color: color-mix(in srgb, var(--swatch-a, var(--cyan)) 38%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--swatch-a, var(--cyan)) 13%, transparent), transparent 46%),
        linear-gradient(180deg, color-mix(in srgb, white 9%, transparent), transparent),
        color-mix(in srgb, var(--swatch-panel, var(--overlay-bg)) 72%, transparent);
}

.theme-option-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.theme-option-copy strong,
.theme-option-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-option-copy strong {
    font: 800 11px/1.1 var(--font-display, "Orbitron", sans-serif);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.theme-option-copy small {
    color: var(--swatch-muted, var(--muted));
    font-size: 10px;
}

.theme-swatch,
.theme-preview-swatch {
    width: 32px;
    height: 32px;
    border: 1px solid color-mix(in srgb, var(--swatch-a, var(--accent)) 62%, transparent);
    background:
        radial-gradient(circle at 24% 20%, color-mix(in srgb, #fff 44%, transparent), transparent 30%),
        linear-gradient(135deg, var(--swatch-a, var(--accent)), var(--swatch-b, var(--accent-2)) 48%, var(--swatch-bg, var(--bg)));
    box-shadow:
        0 0 18px color-mix(in srgb, var(--swatch-a, var(--accent)) 38%, transparent),
        inset 0 1px 0 color-mix(in srgb, #fff 32%, transparent);
}

.theme-picker-preview {
    min-height: 100%;
    border: 1px solid var(--theme-border);
    color: var(--swatch-text, var(--text));
    background:
        radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--swatch-a, var(--accent)) 28%, transparent), transparent 35%),
        linear-gradient(135deg, color-mix(in srgb, #fff 12%, transparent), transparent 34%),
        var(--swatch-panel, var(--panel));
    box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 20%, transparent);
}

.theme-picker-preview .micro-label,
.theme-picker-preview-copy strong,
.theme-preview-dialog-top {
    color: var(--swatch-text, var(--text));
}

.theme-picker-preview-stage {
    position: relative;
    min-height: 230px;
    overflow: hidden;
    border-bottom: 1px solid var(--theme-border);
    background:
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--swatch-a, var(--accent)) 12%, transparent) 0 1px, transparent 1px 28px),
        linear-gradient(135deg, color-mix(in srgb, var(--swatch-bg-2, var(--bg-2)) 72%, transparent), color-mix(in srgb, var(--swatch-bg, var(--bg)) 58%, transparent)),
        radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--swatch-a, var(--accent)) 20%, transparent), transparent 46%);
}

.theme-preview-orb {
    position: absolute;
    inset: 46px auto auto 42px;
    width: 128px;
    height: 128px;
    border: 1px solid color-mix(in srgb, var(--swatch-a, var(--accent)) 72%, transparent);
    border-radius: 999px;
    background:
        radial-gradient(circle at 35% 28%, color-mix(in srgb, #fff 30%, transparent), transparent 22%),
        radial-gradient(circle at 62% 66%, color-mix(in srgb, var(--swatch-b, var(--accent-2)) 42%, transparent), transparent 45%),
        color-mix(in srgb, var(--swatch-bg, var(--bg)) 70%, transparent);
    box-shadow: 0 0 46px color-mix(in srgb, var(--swatch-a, var(--accent)) 36%, transparent);
}

.theme-preview-dialog-demo {
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: min(260px, calc(100% - 36px));
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--swatch-a, var(--accent)) 48%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 16%, transparent), transparent 32%),
        color-mix(in srgb, var(--swatch-panel, var(--panel)) 82%, transparent);
    backdrop-filter: blur(14px) saturate(1.4);
    color: var(--swatch-text, var(--text));
}

.theme-preview-dialog-top,
.theme-preview-dialog-actions {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
}

.theme-preview-dialog-actions span {
    border: 1px solid color-mix(in srgb, var(--swatch-a, var(--accent)) 48%, transparent);
    padding: 5px 8px;
    color: var(--swatch-text, var(--text));
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.theme-picker-preview-copy {
    display: grid;
    gap: 8px;
    padding: 12px;
}

.theme-picker-preview-copy p,
.theme-preview-dialog-demo p {
    color: var(--swatch-muted, var(--muted));
}

.theme-preview-palette,
.theme-picker-preview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.theme-preview-palette span,
.theme-picker-preview-meta span {
    border: 1px solid color-mix(in srgb, var(--swatch-a, var(--accent)) 24%, transparent);
    padding: 5px 7px;
    color: var(--swatch-muted, var(--muted));
    font-size: 10px;
}

.theme-preview-palette i {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 5px;
    background: var(--chip);
    box-shadow: 0 0 10px var(--chip);
}

html.custom-cursor-ready,
html.custom-cursor-ready * {
    cursor: none !important;
}

.custom-cursor {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 2147483647;
    pointer-events: none;
    opacity: 0;
    transform: translate3d(-100px, -100px, 0);
    transition: opacity 120ms ease, width 120ms ease, height 120ms ease, filter 120ms ease;
}

.custom-cursor.is-visible {
    opacity: 1;
}

.cursor-pointer {
    width: 19px;
    height: 26px;
    transform-origin: 8px 8px;
    filter:
        drop-shadow(0 0 8px var(--cursor-glow))
        drop-shadow(0 0 18px color-mix(in srgb, var(--cursor-core) 32%, transparent));
}

/* Shared theme continuity: landing selector and main selector use the same preview grammar. */
.landing-theme-prompt .theme-picker-console.landing-theme-console {
    grid-template-columns: minmax(190px, 0.68fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

.landing-theme-prompt .theme-picker-preview,
.landing-theme-prompt .theme-picker-bank {
    min-width: 0;
    padding: 8px;
}

.landing-theme-prompt .theme-picker-preview {
    grid-template-rows: minmax(118px, 1fr) auto;
}

.landing-theme-prompt .theme-picker-preview-stage {
    min-height: 118px;
}

.landing-theme-prompt .theme-preview-orb {
    width: 74px;
    height: 74px;
    inset: 24px auto auto 24px;
}

.landing-theme-prompt .theme-preview-dialog-demo {
    right: 10px;
    bottom: 10px;
    width: min(190px, calc(100% - 20px));
    padding: 8px;
}

.landing-theme-prompt .theme-picker-preview-copy {
    padding: 8px 2px 2px;
    gap: 6px;
}

.landing-theme-prompt .theme-picker-preview-meta {
    display: none;
}

.landing-theme-prompt .theme-option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
}

.landing-theme-prompt .theme-option {
    min-height: 34px;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 6px;
    padding: 5px 6px;
}

.landing-theme-prompt .theme-swatch {
    width: 18px;
    height: 18px;
}

.landing-theme-prompt .theme-option-copy strong {
    font-size: 8px;
}

.landing-theme-prompt .theme-option-copy small {
    font-size: 7px;
}

.cursor-pointer::before,
.cursor-pointer::after,
.cursor-pointer span {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
}

.cursor-pointer::before {
    clip-path: polygon(4% 0, 100% 35%, 56% 42%, 78% 100%, 52% 100%, 34% 48%, 7% 72%);
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 72%, var(--cursor-ring) 28%), var(--cursor-core) 46%, color-mix(in srgb, #000 24%, var(--cursor-core) 76%));
    border: 1px solid var(--cursor-ring);
}

.cursor-pointer::after {
    inset: 4px 5px 7px 5px;
    clip-path: polygon(0 0, 100% 36%, 48% 42%, 72% 100%, 52% 100%, 32% 45%, 3% 68%);
    border: 1px solid color-mix(in srgb, var(--cursor-ring) 70%, transparent);
}

.cursor-trail {
    width: 30px;
    height: 30px;
    margin: -8px 0 0 -8px;
    border: 1px solid color-mix(in srgb, var(--cursor-ring) 42%, transparent);
    background: radial-gradient(circle, color-mix(in srgb, var(--cursor-glow) 42%, transparent), transparent 60%);
    transform-origin: center;
}

.cursor-pointer.is-fast {
    filter:
        blur(calc(var(--cursor-speed, 0) * 0.7px))
        drop-shadow(-10px 4px 10px var(--cursor-glow));
}

.cursor-pointer.is-pressed {
    transform: scale(0.9);
}

.cursor-mode-action.cursor-pointer {
    width: 22px;
    height: 24px;
}

.cursor-mode-action.cursor-pointer::before {
    clip-path: polygon(22% 0, 48% 0, 48% 45%, 60% 35%, 72% 38%, 66% 58%, 78% 62%, 66% 88%, 28% 88%, 19% 42%);
}

.cursor-mode-text.cursor-pointer {
    width: 7px;
    height: 29px;
    margin-left: -2px;
}

.cursor-mode-text.cursor-pointer::before {
    clip-path: none;
    background: var(--cursor-core);
    box-shadow: 0 0 12px var(--cursor-glow);
}

.cursor-mode-text.cursor-pointer::after {
    inset: 0;
    border-top: 2px solid var(--cursor-ring);
    border-bottom: 2px solid var(--cursor-ring);
    border-left: none;
    border-right: none;
    clip-path: none;
}

.cursor-mode-precision.cursor-pointer,
.cursor-style-crosshair,
.theme-picker-preview-cursor.cursor-style-crosshair {
    width: 28px;
    height: 28px;
    margin: -10px 0 0 -10px;
}

.cursor-mode-precision.cursor-pointer::before,
.cursor-style-crosshair::before {
    content: "";
    position: absolute;
    inset: 0;
    clip-path: none;
    border: 1px solid var(--cursor-ring);
    background:
        linear-gradient(90deg, transparent 0 46%, var(--cursor-core) 47% 53%, transparent 54%),
        linear-gradient(0deg, transparent 0 46%, var(--cursor-core) 47% 53%, transparent 54%),
        radial-gradient(circle, transparent 0 36%, color-mix(in srgb, var(--cursor-core) 18%, transparent) 37% 44%, transparent 45%);
}

.cursor-mode-precision.cursor-pointer::after {
    inset: 6px;
    clip-path: none;
    border: 1px solid color-mix(in srgb, var(--cursor-ring) 74%, transparent);
}

.cursor-mode-loading.cursor-pointer {
    width: 17px;
    height: 28px;
}

.cursor-mode-loading.cursor-pointer::before {
    clip-path: polygon(18% 0, 82% 0, 66% 44%, 82% 100%, 18% 100%, 34% 44%);
    animation: cursorHourglass 0.9s ease-in-out infinite alternate;
}

@keyframes cursorHourglass {
    from { filter: saturate(1); transform: rotate(0deg); }
    to { filter: saturate(1.5); transform: rotate(180deg); }
}

body.theme-continuity-ready :where(
    .landing-notice-progress-fill,
    .globe-map-loader-fill,
    .cases-load-fill,
    .page-transition-fill,
    .signal-diagram-track span,
    .hotspot-meter div,
    .achievement-track i
) {
    background:
        linear-gradient(
            90deg,
            color-mix(in srgb, var(--accent) 58%, #7d9193),
            color-mix(in srgb, var(--accent) 82%, #e4eee8),
            color-mix(in srgb, var(--accent-2) 28%, var(--accent))
        ) !important;
    box-shadow:
        0 0 13px color-mix(in srgb, var(--accent) 30%, transparent),
        inset 0 0 7px color-mix(in srgb, #fff 18%, transparent) !important;
}

body.theme-continuity-ready :where(
    .landing-notice-progress,
    .globe-map-loader-track,
    .cases-load-track,
    .page-transition-track,
    .signal-diagram-track,
    .hotspot-meter,
    .achievement-track
) {
    border-color: color-mix(in srgb, var(--accent) 22%, transparent) !important;
    background:
        repeating-linear-gradient(90deg, transparent 0 16px, color-mix(in srgb, var(--accent) 6%, transparent) 16px 17px),
        color-mix(in srgb, var(--bg-2) 72%, transparent) !important;
    box-shadow:
        inset 0 0 12px color-mix(in srgb, var(--accent) 6%, transparent),
        0 0 10px color-mix(in srgb, var(--accent) 5%, transparent) !important;
}

body.theme-continuity-ready .ufo-web-page,
body.ufo-web-page.theme-continuity-ready {
    --ufo-web-ink: color-mix(in srgb, var(--text) 88%, var(--accent) 12%);
    --ufo-web-rule: color-mix(in srgb, var(--accent) 22%, transparent);
    --ufo-web-rule-soft: color-mix(in srgb, var(--accent) 10%, transparent);
}

body.ufo-web-page.theme-continuity-ready :where(
    .ufo-web-controls,
    .ufo-web-stage-panel,
    .ufo-web-dossier,
    .ufo-web-table-panel,
    .ufo-web-metrics span,
    .ufo-web-minimap-node,
    .ufo-web-chip,
    .ufo-web-audit-strip span,
    .ufo-web-relation,
    .ufo-web-ledger-row
) {
    border-color: var(--ufo-web-rule) !important;
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 10%, transparent), transparent 32%),
        linear-gradient(180deg, color-mix(in srgb, var(--panel) 72%, transparent), color-mix(in srgb, var(--panel-2) 82%, transparent)) !important;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 7%, transparent),
        0 0 14px color-mix(in srgb, var(--accent) 5%, transparent) !important;
}

body.ufo-web-page.theme-continuity-ready[data-theme-tone="light"] :where(
    .ufo-web-controls,
    .ufo-web-stage-panel,
    .ufo-web-dossier,
    .ufo-web-table-panel,
    .ufo-web-metrics span,
    .ufo-web-minimap-node,
    .ufo-web-chip,
    .ufo-web-audit-strip span,
    .ufo-web-relation,
    .ufo-web-ledger-row
) {
    background:
        linear-gradient(135deg, rgba(255,255,255,0.42), transparent 34%),
        repeating-linear-gradient(0deg, rgba(20, 34, 31, 0.026) 0 1px, transparent 1px 5px),
        linear-gradient(180deg, color-mix(in srgb, var(--panel) 84%, transparent), color-mix(in srgb, var(--panel-2) 78%, transparent)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.62),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 9%, transparent),
        0 12px 28px rgba(30, 42, 38, 0.08) !important;
}

body.ufo-web-page.theme-continuity-ready .ufo-web-stage {
    background:
        repeating-linear-gradient(0deg, color-mix(in srgb, var(--accent) 4%, transparent) 0 1px, transparent 1px 6px),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent) 5%, transparent) 0 1px, transparent 1px 54px),
        linear-gradient(135deg, color-mix(in srgb, #fff 4%, transparent), transparent 32%, color-mix(in srgb, #000 16%, transparent)),
        color-mix(in srgb, var(--bg) 62%, var(--panel)) !important;
}

body.ufo-web-page.theme-continuity-ready[data-theme-tone="light"] .ufo-web-stage {
    background:
        repeating-linear-gradient(0deg, rgba(16, 35, 32, 0.035) 0 1px, transparent 1px 5px),
        repeating-linear-gradient(90deg, rgba(16, 35, 32, 0.05) 0 1px, transparent 1px 58px),
        radial-gradient(circle at 52% 52%, rgba(21, 54, 47, 0.06), transparent 42%),
        linear-gradient(135deg, rgba(255,255,255,0.22), transparent 38%, rgba(14, 28, 26, 0.11)),
        color-mix(in srgb, var(--bg) 72%, var(--panel)) !important;
}

body.ufo-web-page.theme-continuity-ready .ufo-web-minimap-node::before {
    background: color-mix(in srgb, var(--cluster-color) 46%, var(--accent)) !important;
    box-shadow: none !important;
}

body.ufo-web-page.theme-continuity-ready .ufo-web-minimap-node strong,
body.ufo-web-page.theme-continuity-ready .ufo-web-audit-strip strong,
body.ufo-web-page.theme-continuity-ready .ufo-web-evidence-pill {
    color: var(--ufo-web-ink) !important;
    text-shadow: none !important;
}

body.ufo-web-page.theme-continuity-ready :where(.ufo-web-chip:hover, .ufo-web-chip.active, .ufo-web-minimap-node:hover, .ufo-web-minimap-node.active) {
    border-color: color-mix(in srgb, var(--accent) 42%, transparent) !important;
    background:
        linear-gradient(135deg, color-mix(in srgb, #fff 14%, transparent), transparent 34%),
        linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, var(--panel)), color-mix(in srgb, var(--panel-2) 88%, transparent)) !important;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, #fff 18%, transparent),
        inset 0 -1px 0 color-mix(in srgb, var(--accent) 13%, transparent),
        0 0 12px color-mix(in srgb, var(--accent) 8%, transparent) !important;
}

body.ufo-web-page.theme-continuity-ready[data-theme-tone="light"] #ufo-web-canvas {
    filter: saturate(0.48) contrast(1.08) brightness(0.92);
}

html[data-theme],
body.theme-continuity-ready {
    --font-body: "IBM Plex Sans", "Inter", sans-serif !important;
    --font-panel: "IBM Plex Sans", "Inter", sans-serif !important;
    --font-ui: "Rajdhani", "IBM Plex Sans", sans-serif !important;
    --font-nav: "Rajdhani", "IBM Plex Sans", sans-serif !important;
    --font-display: "Rajdhani", "Michroma", sans-serif !important;
    --font-header: "Rajdhani", "Michroma", sans-serif !important;
}

body.theme-continuity-ready :where(
    body,
    .panel,
    .flyout-panel,
    .modal-card,
    .resource-card,
    .signal-card,
    .case-row,
    .taxonomy-card,
    .ufo-web-controls,
    .ufo-web-dossier,
    .ufo-web-table-panel,
    input,
    select,
    textarea
) {
    font-family: var(--font-body) !important;
}

body.theme-continuity-ready :where(
    .nav-link,
    .button,
    .theme-trigger,
    .theme-option,
    .filter-chip,
    .ufo-web-chip,
    .ufo-web-modebar .button,
    button
) {
    font-family: var(--font-nav) !important;
}

body.theme-continuity-ready :where(
    h1,
    h2,
    h3,
    .title,
    .brand .title,
    .micro-label,
    .kicker,
    .eyebrow,
    .panel-title,
    .ufo-web-hero h1,
    .ufo-web-metrics strong
) {
    font-family: var(--font-header) !important;
}

.theme-picker-preview-cursor,
.cursor-style-vector {
    position: absolute;
    width: 26px;
    height: 34px;
    right: 38px;
    top: 32px;
    filter: drop-shadow(0 0 12px var(--cursor-glow));
}

.theme-picker-preview-cursor::before,
.cursor-style-vector::before {
    content: "";
    position: absolute;
    inset: 0;
    clip-path: polygon(4% 0, 100% 35%, 56% 42%, 78% 100%, 52% 100%, 34% 48%, 7% 72%);
    background: linear-gradient(135deg, color-mix(in srgb, #fff 70%, var(--cursor-ring)), var(--cursor-core));
}

@media (max-width: 860px) {
    .theme-picker-console-v3 {
        grid-template-columns: 1fr;
        overflow: auto;
        max-height: calc(100vh - 104px);
    }

    .theme-option-grid {
        grid-template-columns: 1fr;
    }

    .theme-picker-preview-stage {
        min-height: 180px;
    }
}

body.dashboard-page .flyout-panel.right#flyout-flights {
    width: min(1120px, calc(100% - 96px));
}

body.dashboard-page #flyout-flights .flyout-body {
    scrollbar-gutter: stable;
}

body.dashboard-page #flyout-flights .flight-console-grid {
    align-items: start;
    grid-template-columns: minmax(460px, 1.18fr) minmax(330px, 0.82fr);
}

body.dashboard-page #flyout-flights .flight-status-card .tag,
body.dashboard-page #flyout-flights .flight-feed-grid b {
    white-space: nowrap;
}

body.dashboard-page #flyout-flights .flight-list {
    max-height: min(48vh, 520px);
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    padding: 2px 8px 8px 0;
}

body.dashboard-page #flyout-flights .flight-card {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    min-height: 142px;
    height: auto;
    overflow: visible;
    padding: 12px 13px;
    line-height: 1.18;
}

body.dashboard-page #flyout-flights .flight-card::before,
body.dashboard-page #flyout-flights .flight-card::after {
    pointer-events: none;
}

body.dashboard-page #flyout-flights .flight-card .row-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
    margin-bottom: 8px;
    min-height: 0;
}

body.dashboard-page #flyout-flights .flight-card .row-head > div {
    min-width: 0;
}

body.dashboard-page #flyout-flights .flight-card .kicker {
    margin-bottom: 4px;
    font-size: 8px;
    line-height: 1;
}

body.dashboard-page #flyout-flights .flight-card strong {
    display: block;
    overflow: hidden;
    color: var(--text);
    font-size: 15px;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.dashboard-page #flyout-flights .flight-card .tag {
    align-self: start;
    max-width: 116px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.dashboard-page #flyout-flights .flight-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin: 8px 0 7px;
}

body.dashboard-page #flyout-flights .flight-card-grid span {
    min-height: 42px;
    padding: 6px 7px;
}

body.dashboard-page #flyout-flights .flight-card-grid b {
    font-size: 10px;
    line-height: 1.1;
}

body.dashboard-page #flyout-flights .flight-card-grid em {
    font-size: 7px;
    line-height: 1;
}

body.dashboard-page #flyout-flights .flight-card p {
    display: block;
    overflow: hidden;
    margin: 6px 0 0;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1120px) {
    body.dashboard-page .flyout-panel.right#flyout-flights {
        width: calc(100vw - 28px);
    }

    body.dashboard-page #flyout-flights .flight-console-grid {
        grid-template-columns: 1fr;
    }

    body.dashboard-page #flyout-flights .flight-card {
        min-height: 168px;
    }

    body.dashboard-page #flyout-flights .flight-card-grid {
        grid-template-columns: 1fr;
    }
}
