/*
 * Global theme palette overrides.
 * Each theme sets both shared contract tokens and legacy page aliases.
 */

@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Bebas+Neue&family=Exo+2:wght@400;600;700;900&family=Press+Start+2P&family=Rajdhani:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;700&display=swap');

:root {
    --theme-grid-color: rgba(0, 240, 255, 0.03);
    --theme-glow-top: rgba(255, 45, 123, 0.08);
    --theme-glow-bottom: rgba(0, 240, 255, 0.07);
    --theme-page-wash-a: rgba(0, 240, 255, 0.08);
    --theme-page-wash-b: rgba(178, 77, 255, 0.08);
    --theme-grid-size: 60px;
    --theme-font-body: 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Orbitron', monospace;
    --theme-body-spacing: 0;
    --theme-card-radius: 14px;
    --theme-card-border-width: 1px;
    --theme-card-border-style: solid;
    --theme-card-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
    --theme-card-filter: none;
    --theme-card-background: var(--bg-card);
    --theme-card-hover-transform: translateY(-2px);
    --theme-button-radius: 10px;
    --theme-button-spacing: 0.8px;
    --theme-button-border: 1px solid rgba(255, 255, 255, 0.12);
    --theme-button-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
    --theme-button-transform: uppercase;
    --theme-button-hover-transform: translateY(-2px);
    --theme-input-radius: 10px;
    --theme-input-border-style: solid;
    --theme-rail-filter: blur(20px);
    --theme-scanline-opacity: 1;
}

html[data-lane-theme] body {
    font-family: var(--theme-font-body);
    letter-spacing: var(--theme-body-spacing);
    background:
        radial-gradient(circle at 8% -8%, var(--theme-page-wash-a) 0%, transparent 40%),
        radial-gradient(circle at 92% 0%, var(--theme-page-wash-b) 0%, transparent 45%),
        var(--bg-dark);
}

html[data-lane-theme] body::before {
    background:
        linear-gradient(var(--theme-grid-color) 1px, transparent 1px),
        linear-gradient(90deg, var(--theme-grid-color) 1px, transparent 1px);
    background-size: var(--theme-grid-size) var(--theme-grid-size);
}

html[data-lane-theme] body::after {
    background: radial-gradient(circle, var(--theme-glow-top) 0%, transparent 70%);
}

html[data-lane-theme] .lane-grid-bg::before {
    background:
        linear-gradient(var(--theme-grid-color) 1px, transparent 1px),
        linear-gradient(90deg, var(--theme-grid-color) 1px, transparent 1px);
    background-size: var(--theme-grid-size) var(--theme-grid-size);
}

html[data-lane-theme] .lane-glow-top::after {
    background: radial-gradient(circle, var(--theme-glow-top) 0%, transparent 70%);
}

html[data-lane-theme] .glow-1 {
    background: var(--theme-glow-bottom);
}

html[data-lane-theme] .glow-2 {
    background: var(--theme-glow-top);
}

html[data-lane-theme] h1,
html[data-lane-theme] h2,
html[data-lane-theme] h3,
html[data-lane-theme] h4,
html[data-lane-theme] .logo,
html[data-lane-theme] .sidebar-logo,
html[data-lane-theme] .topbar-logo,
html[data-lane-theme] .mobile-title,
html[data-lane-theme] .lane-title,
html[data-lane-theme] .lane-eyebrow,
html[data-lane-theme] .lane-display,
html[data-lane-theme] .lane-kpi,
html[data-lane-theme] .hero h1,
html[data-lane-theme] .payment-title,
html[data-lane-theme] .vipps-title,
html[data-lane-theme] .login-logo,
html[data-lane-theme] .card-header h3,
html[data-lane-theme] .topbar-title {
    font-family: var(--theme-font-display);
}

html[data-lane-theme] .lane-surface,
html[data-lane-theme] .lane-panel,
html[data-lane-theme] .lane-card,
html[data-lane-theme] .card,
html[data-lane-theme] .payment-card,
html[data-lane-theme] .login-card,
html[data-lane-theme] .price-box,
html[data-lane-theme] .vipps-box,
html[data-lane-theme] .faq-item,
html[data-lane-theme] .seat-list-item,
html[data-lane-theme] .panel-section {
    border-radius: var(--theme-card-radius);
    border-width: var(--theme-card-border-width);
    border-style: var(--theme-card-border-style);
    box-shadow: var(--theme-card-shadow);
    background: var(--theme-card-background);
    backdrop-filter: var(--theme-card-filter);
}

html[data-lane-theme] .lane-card:hover,
html[data-lane-theme] .card:hover,
html[data-lane-theme] .price-box:hover,
html[data-lane-theme] .faq-item:hover,
html[data-lane-theme] .seat-list-item:hover {
    transform: var(--theme-card-hover-transform);
}

html[data-lane-theme] nav,
html[data-lane-theme] .topbar,
html[data-lane-theme] .mobile-header {
    backdrop-filter: var(--theme-rail-filter);
}

html[data-lane-theme] .btn,
html[data-lane-theme] .nav-cta,
html[data-lane-theme] .login-btn,
html[data-lane-theme] .vipps-btn,
html[data-lane-theme] .mobile-toggle {
    border-radius: var(--theme-button-radius);
    border: var(--theme-button-border);
    box-shadow: var(--theme-button-shadow);
    letter-spacing: var(--theme-button-spacing);
    text-transform: var(--theme-button-transform);
}

html[data-lane-theme] .btn:hover,
html[data-lane-theme] .nav-cta:hover,
html[data-lane-theme] .login-btn:hover,
html[data-lane-theme] .vipps-btn:hover {
    transform: var(--theme-button-hover-transform);
}

html[data-lane-theme] input,
html[data-lane-theme] select,
html[data-lane-theme] textarea {
    border-radius: var(--theme-input-radius);
    border-style: var(--theme-input-border-style);
}

html[data-lane-theme] .scanline {
    opacity: var(--theme-scanline-opacity);
}

.theme-picker-floating {
    position: fixed;
    top: 14px;
    right: 14px;
    z-index: 2400;
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: min(220px, calc(100vw - 28px));
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(10, 10, 18, 0.75);
    backdrop-filter: blur(14px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

.theme-picker-label {
    margin: 0;
    color: var(--text-secondary);
    font-family: 'Orbitron', monospace;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.theme-picker-select {
    width: 100%;
    padding: 9px 10px;
    border: 1px solid var(--border-glow);
    border-radius: 8px;
    background: var(--bg-card);
    color: var(--text-primary);
    font-size: 0.86rem;
    outline: none;
    cursor: pointer;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.theme-picker-select:focus {
    border-color: var(--cyan);
    box-shadow: 0 0 0 2px var(--cyan-dim);
}

@media (max-width: 920px) {
    .theme-picker-floating {
        top: 10px;
        right: 10px;
    }
}

html[data-lane-theme="cyber-neon"] {
    --lane-color-bg: #0a0a12;
    --lane-color-surface: #12121f;
    --lane-color-surface-hover: #1a1a2e;
    --lane-color-border: #1e1e35;
    --lane-color-cyan: #00f0ff;
    --lane-color-cyan-dim: rgba(0, 240, 255, 0.15);
    --lane-color-pink: #ff2d7b;
    --lane-color-pink-dim: rgba(255, 45, 123, 0.15);
    --lane-color-yellow: #ffe44d;
    --lane-color-yellow-dim: rgba(255, 228, 77, 0.15);
    --lane-color-purple: #b24dff;
    --lane-color-purple-dim: rgba(178, 77, 255, 0.15);
    --lane-color-green: #39ff14;
    --lane-color-green-dim: rgba(57, 255, 20, 0.15);
    --lane-color-red: #ff4444;
    --lane-color-red-dim: rgba(255, 68, 68, 0.15);
    --lane-text-primary: #eaeaf0;
    --lane-text-secondary: #9999b0;
    --lane-text-muted: #5c5c78;
    --bg-dark: #0a0a12;
    --bg-card: #12121f;
    --bg-card-hover: #1a1a2e;
    --border-glow: #1e1e35;
    --cyan: #00f0ff;
    --cyan-dim: rgba(0, 240, 255, 0.15);
    --pink: #ff2d7b;
    --pink-dim: rgba(255, 45, 123, 0.15);
    --yellow: #ffe44d;
    --yellow-dim: rgba(255, 228, 77, 0.15);
    --purple: #b24dff;
    --purple-dim: rgba(178, 77, 255, 0.15);
    --green: #39ff14;
    --green-dim: rgba(57, 255, 20, 0.15);
    --red: #ff4444;
    --red-dim: rgba(255, 68, 68, 0.15);
    --text-primary: #eaeaf0;
    --text-secondary: #9999b0;
    --text-muted: #5c5c78;
    --theme-grid-color: rgba(0, 240, 255, 0.03);
    --theme-glow-top: rgba(255, 45, 123, 0.08);
    --theme-glow-bottom: rgba(0, 240, 255, 0.07);
    --theme-page-wash-a: rgba(0, 240, 255, 0.08);
    --theme-page-wash-b: rgba(178, 77, 255, 0.08);
}

html[data-lane-theme="arcade-sunset"] {
    --lane-color-bg: #14090f;
    --lane-color-surface: #25111f;
    --lane-color-surface-hover: #34172a;
    --lane-color-border: #52213a;
    --lane-color-cyan: #22d4ff;
    --lane-color-cyan-dim: rgba(34, 212, 255, 0.16);
    --lane-color-pink: #ff4d9a;
    --lane-color-pink-dim: rgba(255, 77, 154, 0.15);
    --lane-color-yellow: #ffca3a;
    --lane-color-yellow-dim: rgba(255, 202, 58, 0.18);
    --lane-color-purple: #d06dff;
    --lane-color-purple-dim: rgba(208, 109, 255, 0.15);
    --lane-color-green: #65ff8f;
    --lane-color-green-dim: rgba(101, 255, 143, 0.15);
    --lane-color-red: #ff5f5f;
    --lane-color-red-dim: rgba(255, 95, 95, 0.2);
    --lane-text-primary: #ffeaf6;
    --lane-text-secondary: #f2abc9;
    --lane-text-muted: #a86e89;
    --bg-dark: #14090f;
    --bg-card: #25111f;
    --bg-card-hover: #34172a;
    --border-glow: #52213a;
    --cyan: #22d4ff;
    --cyan-dim: rgba(34, 212, 255, 0.16);
    --pink: #ff4d9a;
    --pink-dim: rgba(255, 77, 154, 0.15);
    --yellow: #ffca3a;
    --yellow-dim: rgba(255, 202, 58, 0.18);
    --purple: #d06dff;
    --purple-dim: rgba(208, 109, 255, 0.15);
    --green: #65ff8f;
    --green-dim: rgba(101, 255, 143, 0.15);
    --red: #ff5f5f;
    --red-dim: rgba(255, 95, 95, 0.2);
    --text-primary: #ffeaf6;
    --text-secondary: #f2abc9;
    --text-muted: #a86e89;
    --theme-grid-color: rgba(255, 92, 144, 0.06);
    --theme-glow-top: rgba(255, 153, 68, 0.12);
    --theme-glow-bottom: rgba(34, 212, 255, 0.11);
    --theme-page-wash-a: rgba(255, 92, 144, 0.1);
    --theme-page-wash-b: rgba(255, 153, 68, 0.11);
}

html[data-lane-theme="synthwave-drive"] {
    --lane-color-bg: #0f0a1d;
    --lane-color-surface: #1b1330;
    --lane-color-surface-hover: #261a42;
    --lane-color-border: #3f2c67;
    --lane-color-cyan: #4af2ff;
    --lane-color-cyan-dim: rgba(74, 242, 255, 0.16);
    --lane-color-pink: #ff5ac8;
    --lane-color-pink-dim: rgba(255, 90, 200, 0.18);
    --lane-color-yellow: #ffde72;
    --lane-color-yellow-dim: rgba(255, 222, 114, 0.17);
    --lane-color-purple: #a884ff;
    --lane-color-purple-dim: rgba(168, 132, 255, 0.2);
    --lane-color-green: #72ffa8;
    --lane-color-green-dim: rgba(114, 255, 168, 0.15);
    --lane-color-red: #ff638f;
    --lane-color-red-dim: rgba(255, 99, 143, 0.2);
    --lane-text-primary: #f5f0ff;
    --lane-text-secondary: #b9aad9;
    --lane-text-muted: #78699f;
    --bg-dark: #0f0a1d;
    --bg-card: #1b1330;
    --bg-card-hover: #261a42;
    --border-glow: #3f2c67;
    --cyan: #4af2ff;
    --cyan-dim: rgba(74, 242, 255, 0.16);
    --pink: #ff5ac8;
    --pink-dim: rgba(255, 90, 200, 0.18);
    --yellow: #ffde72;
    --yellow-dim: rgba(255, 222, 114, 0.17);
    --purple: #a884ff;
    --purple-dim: rgba(168, 132, 255, 0.2);
    --green: #72ffa8;
    --green-dim: rgba(114, 255, 168, 0.15);
    --red: #ff638f;
    --red-dim: rgba(255, 99, 143, 0.2);
    --text-primary: #f5f0ff;
    --text-secondary: #b9aad9;
    --text-muted: #78699f;
    --theme-grid-color: rgba(177, 95, 255, 0.06);
    --theme-glow-top: rgba(255, 90, 200, 0.12);
    --theme-glow-bottom: rgba(74, 242, 255, 0.12);
    --theme-page-wash-a: rgba(255, 90, 200, 0.1);
    --theme-page-wash-b: rgba(74, 242, 255, 0.09);
}

html[data-lane-theme="frostbyte"] {
    --lane-color-bg: #081522;
    --lane-color-surface: #102537;
    --lane-color-surface-hover: #173247;
    --lane-color-border: #24506f;
    --lane-color-cyan: #72e7ff;
    --lane-color-cyan-dim: rgba(114, 231, 255, 0.17);
    --lane-color-pink: #7eb8ff;
    --lane-color-pink-dim: rgba(126, 184, 255, 0.17);
    --lane-color-yellow: #bff8ff;
    --lane-color-yellow-dim: rgba(191, 248, 255, 0.16);
    --lane-color-purple: #86d9ff;
    --lane-color-purple-dim: rgba(134, 217, 255, 0.16);
    --lane-color-green: #7cffd6;
    --lane-color-green-dim: rgba(124, 255, 214, 0.16);
    --lane-color-red: #66bdff;
    --lane-color-red-dim: rgba(102, 189, 255, 0.16);
    --lane-text-primary: #e5f7ff;
    --lane-text-secondary: #9bc0d7;
    --lane-text-muted: #6388a0;
    --bg-dark: #081522;
    --bg-card: #102537;
    --bg-card-hover: #173247;
    --border-glow: #24506f;
    --cyan: #72e7ff;
    --cyan-dim: rgba(114, 231, 255, 0.17);
    --pink: #7eb8ff;
    --pink-dim: rgba(126, 184, 255, 0.17);
    --yellow: #bff8ff;
    --yellow-dim: rgba(191, 248, 255, 0.16);
    --purple: #86d9ff;
    --purple-dim: rgba(134, 217, 255, 0.16);
    --green: #7cffd6;
    --green-dim: rgba(124, 255, 214, 0.16);
    --red: #66bdff;
    --red-dim: rgba(102, 189, 255, 0.16);
    --text-primary: #e5f7ff;
    --text-secondary: #9bc0d7;
    --text-muted: #6388a0;
    --theme-grid-color: rgba(114, 231, 255, 0.06);
    --theme-glow-top: rgba(134, 217, 255, 0.13);
    --theme-glow-bottom: rgba(124, 255, 214, 0.11);
    --theme-page-wash-a: rgba(114, 231, 255, 0.08);
    --theme-page-wash-b: rgba(126, 184, 255, 0.09);
}

html[data-lane-theme="toxic-raider"] {
    --lane-color-bg: #0c1108;
    --lane-color-surface: #182014;
    --lane-color-surface-hover: #23301d;
    --lane-color-border: #375628;
    --lane-color-cyan: #9bff44;
    --lane-color-cyan-dim: rgba(155, 255, 68, 0.18);
    --lane-color-pink: #a4ff00;
    --lane-color-pink-dim: rgba(164, 255, 0, 0.16);
    --lane-color-yellow: #ffe45e;
    --lane-color-yellow-dim: rgba(255, 228, 94, 0.18);
    --lane-color-purple: #59ffa3;
    --lane-color-purple-dim: rgba(89, 255, 163, 0.18);
    --lane-color-green: #7cff2f;
    --lane-color-green-dim: rgba(124, 255, 47, 0.18);
    --lane-color-red: #ff7a1e;
    --lane-color-red-dim: rgba(255, 122, 30, 0.2);
    --lane-text-primary: #f2ffe0;
    --lane-text-secondary: #adc793;
    --lane-text-muted: #6f8658;
    --bg-dark: #0c1108;
    --bg-card: #182014;
    --bg-card-hover: #23301d;
    --border-glow: #375628;
    --cyan: #9bff44;
    --cyan-dim: rgba(155, 255, 68, 0.18);
    --pink: #a4ff00;
    --pink-dim: rgba(164, 255, 0, 0.16);
    --yellow: #ffe45e;
    --yellow-dim: rgba(255, 228, 94, 0.18);
    --purple: #59ffa3;
    --purple-dim: rgba(89, 255, 163, 0.18);
    --green: #7cff2f;
    --green-dim: rgba(124, 255, 47, 0.18);
    --red: #ff7a1e;
    --red-dim: rgba(255, 122, 30, 0.2);
    --text-primary: #f2ffe0;
    --text-secondary: #adc793;
    --text-muted: #6f8658;
    --theme-grid-color: rgba(155, 255, 68, 0.05);
    --theme-glow-top: rgba(255, 122, 30, 0.11);
    --theme-glow-bottom: rgba(124, 255, 47, 0.11);
    --theme-page-wash-a: rgba(155, 255, 68, 0.09);
    --theme-page-wash-b: rgba(255, 122, 30, 0.08);
}

html[data-lane-theme="magma-core"] {
    --lane-color-bg: #170907;
    --lane-color-surface: #26120e;
    --lane-color-surface-hover: #331a14;
    --lane-color-border: #5a2b1d;
    --lane-color-cyan: #ff9a3c;
    --lane-color-cyan-dim: rgba(255, 154, 60, 0.2);
    --lane-color-pink: #ff5e33;
    --lane-color-pink-dim: rgba(255, 94, 51, 0.18);
    --lane-color-yellow: #ffd166;
    --lane-color-yellow-dim: rgba(255, 209, 102, 0.2);
    --lane-color-purple: #ff7f50;
    --lane-color-purple-dim: rgba(255, 127, 80, 0.18);
    --lane-color-green: #ffbe4a;
    --lane-color-green-dim: rgba(255, 190, 74, 0.19);
    --lane-color-red: #ff4436;
    --lane-color-red-dim: rgba(255, 68, 54, 0.22);
    --lane-text-primary: #fff1df;
    --lane-text-secondary: #d5a98f;
    --lane-text-muted: #946d5a;
    --bg-dark: #170907;
    --bg-card: #26120e;
    --bg-card-hover: #331a14;
    --border-glow: #5a2b1d;
    --cyan: #ff9a3c;
    --cyan-dim: rgba(255, 154, 60, 0.2);
    --pink: #ff5e33;
    --pink-dim: rgba(255, 94, 51, 0.18);
    --yellow: #ffd166;
    --yellow-dim: rgba(255, 209, 102, 0.2);
    --purple: #ff7f50;
    --purple-dim: rgba(255, 127, 80, 0.18);
    --green: #ffbe4a;
    --green-dim: rgba(255, 190, 74, 0.19);
    --red: #ff4436;
    --red-dim: rgba(255, 68, 54, 0.22);
    --text-primary: #fff1df;
    --text-secondary: #d5a98f;
    --text-muted: #946d5a;
    --theme-grid-color: rgba(255, 94, 51, 0.06);
    --theme-glow-top: rgba(255, 68, 54, 0.12);
    --theme-glow-bottom: rgba(255, 154, 60, 0.12);
    --theme-page-wash-a: rgba(255, 94, 51, 0.09);
    --theme-page-wash-b: rgba(255, 190, 74, 0.1);
}

html[data-lane-theme="pixel-forest"] {
    --lane-color-bg: #0b1610;
    --lane-color-surface: #122218;
    --lane-color-surface-hover: #173023;
    --lane-color-border: #2f5039;
    --lane-color-cyan: #42f5a1;
    --lane-color-cyan-dim: rgba(66, 245, 161, 0.17);
    --lane-color-pink: #66ffcc;
    --lane-color-pink-dim: rgba(102, 255, 204, 0.14);
    --lane-color-yellow: #d8ff6b;
    --lane-color-yellow-dim: rgba(216, 255, 107, 0.18);
    --lane-color-purple: #7bdca7;
    --lane-color-purple-dim: rgba(123, 220, 167, 0.15);
    --lane-color-green: #52ff75;
    --lane-color-green-dim: rgba(82, 255, 117, 0.18);
    --lane-color-red: #ffa14d;
    --lane-color-red-dim: rgba(255, 161, 77, 0.18);
    --lane-text-primary: #e9ffe8;
    --lane-text-secondary: #a2c7a6;
    --lane-text-muted: #6d8b73;
    --bg-dark: #0b1610;
    --bg-card: #122218;
    --bg-card-hover: #173023;
    --border-glow: #2f5039;
    --cyan: #42f5a1;
    --cyan-dim: rgba(66, 245, 161, 0.17);
    --pink: #66ffcc;
    --pink-dim: rgba(102, 255, 204, 0.14);
    --yellow: #d8ff6b;
    --yellow-dim: rgba(216, 255, 107, 0.18);
    --purple: #7bdca7;
    --purple-dim: rgba(123, 220, 167, 0.15);
    --green: #52ff75;
    --green-dim: rgba(82, 255, 117, 0.18);
    --red: #ffa14d;
    --red-dim: rgba(255, 161, 77, 0.18);
    --text-primary: #e9ffe8;
    --text-secondary: #a2c7a6;
    --text-muted: #6d8b73;
    --theme-grid-color: rgba(66, 245, 161, 0.05);
    --theme-glow-top: rgba(216, 255, 107, 0.09);
    --theme-glow-bottom: rgba(66, 245, 161, 0.11);
    --theme-page-wash-a: rgba(66, 245, 161, 0.08);
    --theme-page-wash-b: rgba(216, 255, 107, 0.08);
}

html[data-lane-theme="oceanic-esports"] {
    --lane-color-bg: #051421;
    --lane-color-surface: #0b2234;
    --lane-color-surface-hover: #103048;
    --lane-color-border: #205074;
    --lane-color-cyan: #3ad9ff;
    --lane-color-cyan-dim: rgba(58, 217, 255, 0.19);
    --lane-color-pink: #4d8fff;
    --lane-color-pink-dim: rgba(77, 143, 255, 0.17);
    --lane-color-yellow: #9ae7ff;
    --lane-color-yellow-dim: rgba(154, 231, 255, 0.16);
    --lane-color-purple: #51a8ff;
    --lane-color-purple-dim: rgba(81, 168, 255, 0.17);
    --lane-color-green: #5dffd7;
    --lane-color-green-dim: rgba(93, 255, 215, 0.17);
    --lane-color-red: #ff6f8c;
    --lane-color-red-dim: rgba(255, 111, 140, 0.2);
    --lane-text-primary: #e8f7ff;
    --lane-text-secondary: #9bc0d8;
    --lane-text-muted: #6587a0;
    --bg-dark: #051421;
    --bg-card: #0b2234;
    --bg-card-hover: #103048;
    --border-glow: #205074;
    --cyan: #3ad9ff;
    --cyan-dim: rgba(58, 217, 255, 0.19);
    --pink: #4d8fff;
    --pink-dim: rgba(77, 143, 255, 0.17);
    --yellow: #9ae7ff;
    --yellow-dim: rgba(154, 231, 255, 0.16);
    --purple: #51a8ff;
    --purple-dim: rgba(81, 168, 255, 0.17);
    --green: #5dffd7;
    --green-dim: rgba(93, 255, 215, 0.17);
    --red: #ff6f8c;
    --red-dim: rgba(255, 111, 140, 0.2);
    --text-primary: #e8f7ff;
    --text-secondary: #9bc0d8;
    --text-muted: #6587a0;
    --theme-grid-color: rgba(58, 217, 255, 0.05);
    --theme-glow-top: rgba(77, 143, 255, 0.1);
    --theme-glow-bottom: rgba(93, 255, 215, 0.1);
    --theme-page-wash-a: rgba(58, 217, 255, 0.08);
    --theme-page-wash-b: rgba(81, 168, 255, 0.09);
}

html[data-lane-theme="void-rift"] {
    --lane-color-bg: #09090d;
    --lane-color-surface: #14141d;
    --lane-color-surface-hover: #1d1d2a;
    --lane-color-border: #333347;
    --lane-color-cyan: #d183ff;
    --lane-color-cyan-dim: rgba(209, 131, 255, 0.2);
    --lane-color-pink: #9f5dff;
    --lane-color-pink-dim: rgba(159, 93, 255, 0.17);
    --lane-color-yellow: #e0b0ff;
    --lane-color-yellow-dim: rgba(224, 176, 255, 0.2);
    --lane-color-purple: #ba7cff;
    --lane-color-purple-dim: rgba(186, 124, 255, 0.2);
    --lane-color-green: #cfff8f;
    --lane-color-green-dim: rgba(207, 255, 143, 0.15);
    --lane-color-red: #ff70b1;
    --lane-color-red-dim: rgba(255, 112, 177, 0.2);
    --lane-text-primary: #f5eeff;
    --lane-text-secondary: #bca7d8;
    --lane-text-muted: #7f6b99;
    --bg-dark: #09090d;
    --bg-card: #14141d;
    --bg-card-hover: #1d1d2a;
    --border-glow: #333347;
    --cyan: #d183ff;
    --cyan-dim: rgba(209, 131, 255, 0.2);
    --pink: #9f5dff;
    --pink-dim: rgba(159, 93, 255, 0.17);
    --yellow: #e0b0ff;
    --yellow-dim: rgba(224, 176, 255, 0.2);
    --purple: #ba7cff;
    --purple-dim: rgba(186, 124, 255, 0.2);
    --green: #cfff8f;
    --green-dim: rgba(207, 255, 143, 0.15);
    --red: #ff70b1;
    --red-dim: rgba(255, 112, 177, 0.2);
    --text-primary: #f5eeff;
    --text-secondary: #bca7d8;
    --text-muted: #7f6b99;
    --theme-grid-color: rgba(186, 124, 255, 0.05);
    --theme-glow-top: rgba(255, 112, 177, 0.11);
    --theme-glow-bottom: rgba(159, 93, 255, 0.11);
    --theme-page-wash-a: rgba(186, 124, 255, 0.09);
    --theme-page-wash-b: rgba(255, 112, 177, 0.08);
}

html[data-lane-theme="retro-console"] {
    --lane-color-bg: #161010;
    --lane-color-surface: #231818;
    --lane-color-surface-hover: #302020;
    --lane-color-border: #4f3838;
    --lane-color-cyan: #7fffd4;
    --lane-color-cyan-dim: rgba(127, 255, 212, 0.16);
    --lane-color-pink: #ff8c6a;
    --lane-color-pink-dim: rgba(255, 140, 106, 0.18);
    --lane-color-yellow: #ffe08a;
    --lane-color-yellow-dim: rgba(255, 224, 138, 0.19);
    --lane-color-purple: #ffb380;
    --lane-color-purple-dim: rgba(255, 179, 128, 0.18);
    --lane-color-green: #baff6d;
    --lane-color-green-dim: rgba(186, 255, 109, 0.16);
    --lane-color-red: #ff6e6e;
    --lane-color-red-dim: rgba(255, 110, 110, 0.2);
    --lane-text-primary: #fff4e4;
    --lane-text-secondary: #d7b69f;
    --lane-text-muted: #987d6c;
    --bg-dark: #161010;
    --bg-card: #231818;
    --bg-card-hover: #302020;
    --border-glow: #4f3838;
    --cyan: #7fffd4;
    --cyan-dim: rgba(127, 255, 212, 0.16);
    --pink: #ff8c6a;
    --pink-dim: rgba(255, 140, 106, 0.18);
    --yellow: #ffe08a;
    --yellow-dim: rgba(255, 224, 138, 0.19);
    --purple: #ffb380;
    --purple-dim: rgba(255, 179, 128, 0.18);
    --green: #baff6d;
    --green-dim: rgba(186, 255, 109, 0.16);
    --red: #ff6e6e;
    --red-dim: rgba(255, 110, 110, 0.2);
    --text-primary: #fff4e4;
    --text-secondary: #d7b69f;
    --text-muted: #987d6c;
    --theme-grid-color: rgba(255, 179, 128, 0.05);
    --theme-glow-top: rgba(255, 140, 106, 0.12);
    --theme-glow-bottom: rgba(127, 255, 212, 0.1);
    --theme-page-wash-a: rgba(255, 179, 128, 0.08);
    --theme-page-wash-b: rgba(127, 255, 212, 0.08);
}

/*
 * Style profiles per theme.
 * These add unique visual language, not only color.
 */

html[data-lane-theme="cyber-neon"] {
    --theme-font-body: 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Orbitron', monospace;
    --theme-card-radius: 14px;
    --theme-card-border-style: solid;
    --theme-card-shadow: 0 20px 50px rgba(0, 0, 0, 0.38), 0 0 24px rgba(0, 240, 255, 0.13);
    --theme-card-background: linear-gradient(140deg, rgba(0, 240, 255, 0.04), rgba(255, 45, 123, 0.03)) var(--bg-card);
    --theme-button-radius: 10px;
    --theme-button-spacing: 1px;
    --theme-button-border: 1px solid rgba(0, 240, 255, 0.35);
    --theme-button-shadow: 0 10px 24px rgba(0, 240, 255, 0.2);
}

html[data-lane-theme="arcade-sunset"] {
    --theme-font-body: 'Space Grotesk', 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Bebas Neue', 'Orbitron', monospace;
    --theme-body-spacing: 0.01em;
    --theme-card-radius: 24px;
    --theme-card-shadow: 0 24px 48px rgba(37, 7, 21, 0.5);
    --theme-card-background: linear-gradient(160deg, rgba(255, 202, 58, 0.12), rgba(255, 77, 154, 0.1)) var(--bg-card);
    --theme-button-radius: 999px;
    --theme-button-spacing: 1.2px;
    --theme-button-border: 1px solid rgba(255, 202, 58, 0.45);
    --theme-button-shadow: 0 12px 24px rgba(255, 77, 154, 0.28);
    --theme-button-hover-transform: translateY(-3px) scale(1.01);
    --theme-input-radius: 18px;
}

html[data-lane-theme="synthwave-drive"] {
    --theme-font-body: 'Exo 2', 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Audiowide', 'Orbitron', monospace;
    --theme-card-radius: 10px;
    --theme-card-border-width: 2px;
    --theme-card-border-style: solid;
    --theme-card-shadow: 0 26px 56px rgba(59, 20, 114, 0.4), 0 0 22px rgba(255, 90, 200, 0.15);
    --theme-card-background: linear-gradient(155deg, rgba(255, 90, 200, 0.09), rgba(74, 242, 255, 0.06)) var(--bg-card);
    --theme-button-radius: 4px;
    --theme-button-spacing: 1.5px;
    --theme-button-border: 2px solid rgba(255, 90, 200, 0.42);
    --theme-button-shadow: 0 10px 24px rgba(255, 90, 200, 0.24);
    --theme-button-hover-transform: translateY(-2px) scale(1.02);
    --theme-grid-size: 52px;
}

html[data-lane-theme="synthwave-drive"] .btn,
html[data-lane-theme="synthwave-drive"] .nav-cta,
html[data-lane-theme="synthwave-drive"] .login-btn,
html[data-lane-theme="synthwave-drive"] .vipps-btn {
    clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%);
}

html[data-lane-theme="frostbyte"] {
    --theme-font-body: 'Space Grotesk', 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Space Grotesk', 'Orbitron', monospace;
    --theme-card-radius: 20px;
    --theme-card-border-width: 1px;
    --theme-card-border-style: solid;
    --theme-card-shadow: 0 20px 44px rgba(6, 24, 41, 0.45);
    --theme-card-filter: blur(8px);
    --theme-card-background: linear-gradient(165deg, rgba(114, 231, 255, 0.13), rgba(126, 184, 255, 0.08)) rgba(13, 36, 55, 0.64);
    --theme-button-radius: 12px;
    --theme-button-border: 1px solid rgba(114, 231, 255, 0.4);
    --theme-button-shadow: 0 8px 20px rgba(114, 231, 255, 0.2);
    --theme-input-radius: 12px;
    --theme-rail-filter: blur(28px);
}

html[data-lane-theme="toxic-raider"] {
    --theme-font-body: 'Exo 2', 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Rajdhani', 'Orbitron', monospace;
    --theme-body-spacing: 0.015em;
    --theme-card-radius: 8px;
    --theme-card-border-width: 2px;
    --theme-card-border-style: dashed;
    --theme-card-shadow: 0 16px 30px rgba(5, 15, 0, 0.48), inset 0 0 0 1px rgba(164, 255, 0, 0.2);
    --theme-card-background: linear-gradient(150deg, rgba(164, 255, 0, 0.08), rgba(255, 122, 30, 0.05)) var(--bg-card);
    --theme-button-radius: 6px;
    --theme-button-spacing: 1.3px;
    --theme-button-border: 2px dashed rgba(164, 255, 0, 0.45);
    --theme-button-shadow: 0 8px 18px rgba(114, 191, 34, 0.23);
    --theme-button-transform: uppercase;
    --theme-input-radius: 6px;
    --theme-input-border-style: dashed;
    --theme-grid-size: 48px;
}

html[data-lane-theme="magma-core"] {
    --theme-font-body: 'Exo 2', 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Bebas Neue', 'Orbitron', monospace;
    --theme-body-spacing: 0.012em;
    --theme-card-radius: 12px;
    --theme-card-border-width: 2px;
    --theme-card-border-style: solid;
    --theme-card-shadow: 0 22px 48px rgba(36, 8, 0, 0.5), inset 0 0 0 1px rgba(255, 209, 102, 0.2);
    --theme-card-background: linear-gradient(170deg, rgba(255, 190, 74, 0.1), rgba(255, 68, 54, 0.08)) var(--bg-card);
    --theme-button-radius: 8px;
    --theme-button-spacing: 1.4px;
    --theme-button-border: 2px solid rgba(255, 209, 102, 0.45);
    --theme-button-shadow: 0 10px 24px rgba(255, 94, 51, 0.25);
    --theme-button-hover-transform: translateY(-2px) scale(1.015);
    --theme-input-radius: 8px;
    --theme-grid-size: 56px;
}

html[data-lane-theme="pixel-forest"] {
    --theme-font-body: 'Rajdhani', 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Press Start 2P', 'Orbitron', monospace;
    --theme-card-radius: 0;
    --theme-card-border-width: 2px;
    --theme-card-border-style: solid;
    --theme-card-shadow: 6px 6px 0 rgba(12, 29, 16, 0.8);
    --theme-card-background: linear-gradient(180deg, rgba(82, 255, 117, 0.07), rgba(0, 0, 0, 0)) var(--bg-card);
    --theme-card-hover-transform: translateY(-2px);
    --theme-button-radius: 0;
    --theme-button-spacing: 0.8px;
    --theme-button-border: 2px solid rgba(82, 255, 117, 0.5);
    --theme-button-shadow: 4px 4px 0 rgba(12, 29, 16, 0.9);
    --theme-button-transform: uppercase;
    --theme-button-hover-transform: translate(-1px, -1px);
    --theme-input-radius: 0;
    --theme-input-border-style: solid;
    --theme-grid-size: 28px;
}

html[data-lane-theme="pixel-forest"] .logo,
html[data-lane-theme="pixel-forest"] .sidebar-logo,
html[data-lane-theme="pixel-forest"] .topbar-logo,
html[data-lane-theme="pixel-forest"] .mobile-title {
    letter-spacing: 1px;
}

html[data-lane-theme="oceanic-esports"] {
    --theme-font-body: 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Space Grotesk', 'Orbitron', monospace;
    --theme-card-radius: 18px;
    --theme-card-border-width: 1px;
    --theme-card-border-style: solid;
    --theme-card-shadow: 0 20px 42px rgba(3, 25, 43, 0.45);
    --theme-card-background: linear-gradient(165deg, rgba(58, 217, 255, 0.08), rgba(77, 143, 255, 0.06)) var(--bg-card);
    --theme-button-radius: 16px;
    --theme-button-spacing: 0.9px;
    --theme-button-border: 1px solid rgba(58, 217, 255, 0.42);
    --theme-button-shadow: 0 9px 20px rgba(58, 217, 255, 0.2);
    --theme-input-radius: 12px;
    --theme-rail-filter: blur(24px);
}

html[data-lane-theme="void-rift"] {
    --theme-font-body: 'Space Grotesk', 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Audiowide', 'Orbitron', monospace;
    --theme-body-spacing: 0.01em;
    --theme-card-radius: 20px;
    --theme-card-border-width: 1px;
    --theme-card-border-style: solid;
    --theme-card-shadow: 0 24px 60px rgba(26, 7, 42, 0.52), 0 0 22px rgba(209, 131, 255, 0.2);
    --theme-card-filter: blur(6px);
    --theme-card-background: linear-gradient(160deg, rgba(209, 131, 255, 0.12), rgba(255, 112, 177, 0.07)) rgba(20, 16, 34, 0.72);
    --theme-button-radius: 999px;
    --theme-button-spacing: 1.2px;
    --theme-button-border: 1px solid rgba(224, 176, 255, 0.5);
    --theme-button-shadow: 0 12px 24px rgba(159, 93, 255, 0.28);
    --theme-button-hover-transform: translateY(-2px) scale(1.02);
    --theme-input-radius: 14px;
    --theme-rail-filter: blur(30px);
}

html[data-lane-theme="retro-console"] {
    --theme-font-body: 'Exo 2', 'Inter', system-ui, sans-serif;
    --theme-font-display: 'Press Start 2P', 'Orbitron', monospace;
    --theme-card-radius: 4px;
    --theme-card-border-width: 2px;
    --theme-card-border-style: solid;
    --theme-card-shadow: 5px 5px 0 rgba(45, 28, 22, 0.85);
    --theme-card-background: linear-gradient(180deg, rgba(255, 179, 128, 0.08), rgba(0, 0, 0, 0)) var(--bg-card);
    --theme-button-radius: 2px;
    --theme-button-spacing: 0.8px;
    --theme-button-border: 2px solid rgba(255, 224, 138, 0.5);
    --theme-button-shadow: 4px 4px 0 rgba(45, 28, 22, 0.9);
    --theme-button-hover-transform: translate(-1px, -1px);
    --theme-input-radius: 2px;
    --theme-grid-size: 32px;
    --theme-scanline-opacity: 0.8;
}

html[data-lane-theme="retro-console"] body::after {
    background:
        radial-gradient(circle, rgba(255, 140, 106, 0.2) 0%, transparent 70%),
        repeating-linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.04) 0,
            rgba(255, 255, 255, 0.04) 1px,
            transparent 1px,
            transparent 4px
        );
}
