:root {
    /* =========================================================
       THEME CONTRACT (GLOBAL)
       Change values in /assets/css/themes/<domain>.css
       ========================================================= */

    /* Logo */
    --header-footer-logo: url("https://vendor-provider.fra1.cdn.digitaloceanspaces.com/6q/assets/images/dark-logo-new.svg");
    --bg-main: #050B16;
    --bg-secondary: #08111F;
    --bg-tertiary: #0B1730;
    --bg-elevated: #0E1C38;

    --border-soft: #1B315A;
    --border-medium: #244277;
    --border-strong: #2E56A0;

    --primary: #2563FF;
    --primary-hover: #3B7BFF;
    --primary-active: #1D4ED8;

    --accent-cyan: #21C7FF;
    --accent-cyan-soft: rgba(33, 199, 255, 0.18);

    --accent-violet: #7C5CFF;
    --accent-violet-soft: rgba(124, 92, 255, 0.16);

    --text-main: #F5F9FF;
    --text-secondary-base: #B8C7E0;
    --text-muted-base: #7F93B2;
    --text-disabled-base: #5D6F8C;
    --shadow-soft: 0 8px 30px rgba(0, 0, 0, 0.28);
    --shadow-card: 0 12px 40px rgba(0, 0, 0, 0.34);
    --glow-primary: 0 0 0 1px rgba(37, 99, 255, 0.25), 0 0 24px rgba(37, 99, 255, 0.18);
    --glow-cyan: 0 0 22px rgba(33, 199, 255, 0.14);

    --p2-casino-bg: linear-gradient(135deg, #2563FF 0%, #21C7FF 100%);
    --p2-casino-shadow: none;
    --p2-sports-bg: linear-gradient(135deg, #7C5CFF 0%, #2563FF 100%);
    --p2-sports-shadow: none;
    --p2-tile-text: #ffffff;
    --p2-bg-icon-opacity: 0.18;
    --p2-bg-icon-filter: brightness(0.65) saturate(0.85);
    --homepage-entrance-bg-image: url("/assets/images/enterence-bg.png");
    --hero-shell-bg: linear-gradient(180deg, #08111F 0%, #050B16 100%);
    --page-body-bg: radial-gradient(circle at 50% 0%, rgba(37, 99, 255, 0.10) 0%, rgba(37, 99, 255, 0.00) 28%),
        radial-gradient(circle at 20% 18%, rgba(33, 199, 255, 0.06) 0%, rgba(33, 199, 255, 0.00) 24%),
        linear-gradient(180deg, #08111F 0%, #050B16 55%, #040811 100%);
    --homepage-shell-bg: radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.03) 0%, transparent 32%),
        radial-gradient(circle at 80% 22%, rgba(37, 99, 255, 0.06) 0%, transparent 24%),
        radial-gradient(circle at 18% 30%, rgba(33, 199, 255, 0.04) 0%, transparent 20%);
    --hero-section-before-bg: radial-gradient(circle at 35% 35%, rgba(37, 99, 255, 0.12), transparent 34%),
        radial-gradient(circle at 60% 20%, rgba(33, 199, 255, 0.08), transparent 26%);
    --hero-section-before-blur: 18px;

    /* Brand */
    --brand-primary: var(--primary);
    --brand-primary-rgb: 37, 99, 255;
    --brand-primary-contrast: #ffffff;
    --brand-secondary: var(--accent-cyan);
    --brand-secondary-rgb: 33, 199, 255;

    --accent: var(--brand-primary);
    --accent-rgb: var(--brand-primary-rgb);
    --active: var(--accent);

    --accent-soft: rgba(var(--accent-rgb), 0.14);
    --accent-soft-2: rgba(var(--accent-rgb), 0.08);
    --accent-soft-3: rgba(var(--accent-rgb), 0.22);
    --accent-soft2: var(--accent-soft-2);
    --accent-soft3: var(--accent-soft-3);
    --accent-border: rgba(var(--accent-rgb), 0.34);
    --accent-border-strong: rgba(var(--accent-rgb), 0.56);
    --accent-glow: rgba(var(--accent-rgb), 0.34);

    /* Surfaces */
    --surface-bg: var(--bg-main);
    --surface-bg-rgb: 5, 11, 22;
    --surface-1: #0A1428;
    --surface-2: #0D1A33;
    --surface-3: #11213F;
    --surface-4: #16294D;

    --surface-card: var(--surface-2);
    --surface-modal: #0D1830;
    --surface-elevated: #132344;

    --surface-border: rgba(140, 168, 220, 0.16);
    --surface-border-soft: rgba(140, 168, 220, 0.10);
    --surface-border-strong: rgba(140, 168, 220, 0.24);

    /* Legacy dark palette aliases */
    --legacy-bg-1: #0A1324;
    --legacy-bg-2: #0E1A30;
    --legacy-bg-3: #13213B;
    --legacy-text-muted: #7F93B2;

    /* Text */
    --text-primary: var(--text-main);
    --text-secondary: rgba(245, 249, 255, 0.88);
    --text-muted: rgba(184, 199, 224, 0.78);
    --text-soft: rgba(127, 147, 178, 0.66);
    --text-disabled: rgba(127, 147, 178, 0.42);
    --text-on-accent: var(--brand-primary-contrast);

    /* States */
    --success: #22C55E;
    --success-rgb: 34, 197, 94;
    --warning: #F59E0B;
    --warning-rgb: 245, 158, 11;
    --danger: #EF4444;
    --danger-rgb: 239, 68, 68;
    --info: #21C7FF;
    --info-rgb: 33, 199, 255;

    --state-success-soft: rgba(var(--success-rgb), 0.16);
    --state-warning-soft: rgba(var(--warning-rgb), 0.18);
    --state-danger-soft: rgba(var(--danger-rgb), 0.15);
    --state-info-soft: rgba(var(--info-rgb), 0.16);

    /* Radius scale */
    --radius-2xs: 4px;
    --radius-xs: 8px;
    --radius-sm: 10px;
    --radius-md: 12px;
    --radius-lg: 14px;
    --radius-xl: 18px;
    --radius-2xl: 22px;
    --radius-3xl: 28px;
    --radius-pill: 999px;

    /* Border scale */
    --border-thin: 1px;
    --border-medium: 2px;

    /* Shadow scale */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
    --shadow-sm: 0 6px 14px rgba(0, 0, 0, 0.22);
    --shadow-md: 0 10px 24px rgba(0, 0, 0, 0.30);
    --shadow-lg: 0 14px 32px rgba(0, 0, 0, 0.36);
    --shadow-xl: 0 18px 44px rgba(0, 0, 0, 0.44);
    --shadow-accent-sm: 0 8px 18px rgba(var(--accent-rgb), 0.22);
    --shadow-accent-md: 0 12px 28px rgba(var(--accent-rgb), 0.30);
    --shadow-accent-lg: 0 16px 36px rgba(var(--accent-rgb), 0.36);

    /* Gradients */
    --gradient-page: linear-gradient(180deg, #08111F 0%, #050B16 100%);
    --gradient-sidebar: linear-gradient(180deg, #0B1730 0%, #08111F 100%);
    --gradient-card: linear-gradient(180deg, #11213F 0%, #0A1428 100%);
    --gradient-primary: linear-gradient(135deg, #2563FF 0%, #21C7FF 100%);
    --gradient-primary-horizontal: linear-gradient(90deg, #2563FF 0%, #21C7FF 100%);
    --gradient-hero: radial-gradient(circle at top left, rgba(37, 99, 255, 0.22) 0%, rgba(33, 199, 255, 0.10) 28%, rgba(5, 11, 22, 0) 55%);
    --gradient-overlay: linear-gradient(180deg, rgba(10, 20, 40, 0.92), rgba(5, 11, 22, 0.96));
    --gradient-surface: var(--gradient-card);
    --gradient-chip: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
    --gradient-withdraw: linear-gradient(to right, #5b7cff, #4c9cff, #2ebfff, #1dd6ff, #21C7FF);

    /* Legacy variables currently consumed by existing CSS */
    --panel-top: #11213F;
    --panel-bottom: #0A1428;

    --panel-bg: var(--surface-2);
    --panel-bg2: var(--surface-1);
    --modalbg: linear-gradient(180deg, var(--panel-bg), var(--panel-bg2));
    --linearbg: radial-gradient(900px 220px at 15% 0%, rgba(37, 99, 255, 0.08), transparent 55%),
        linear-gradient(180deg, rgba(13, 26, 51, 0.94), rgba(5, 11, 22, 0.96));
    --linearbgreversed: radial-gradient(900px 220px at 85% 0%, rgba(33, 199, 255, 0.08), transparent 55%),
        linear-gradient(180deg, rgba(13, 26, 51, 0.94), rgba(5, 11, 22, 0.96));

    /* Progress / indicators */
    --progressbg: linear-gradient(
        to right,
        rgba(var(--accent-rgb), 0.72) 0%,
        rgba(37, 99, 255, 0.88) 42%,
        rgba(33, 199, 255, 0.96) 75%,
        rgba(33, 199, 255, 1) 100%
    );

    /* Inputs */
    --input-bg: var(--linearbg);
    --input-bg-solid: #13213B;
    --input-border: rgba(140, 168, 220, 0.16);
    --input-border-focus: rgba(var(--accent-rgb), 0.65);
    --input-placeholder: rgba(184, 199, 224, 0.42);

    /* Buttons */
    --btn-primary-bg: var(--accent);
    --btn-primary-bg-hover: #3B7BFF;
    --btn-primary-bg-active: #1D4ED8;
    --btn-primary-color: #ffffff;
    --btn-primary-radius: 12px;
    --btn-primary-shadow: 0 10px 24px rgba(37, 99, 255, 0.26);
    --btn-primary-shadow-active: 0 12px 28px rgba(37, 99, 255, 0.34);
    --btn-primary-disabled-opacity: 0.55;

    --btn-secondary-bg: #13213B;
    --btn-secondary-bg-hover: #182A49;
    --btn-secondary-color: var(--text-primary);
    --btn-secondary-border: var(--surface-border-soft);

    --btn-ghost-bg: rgba(255, 255, 255, 0.06);
    --btn-ghost-bg-hover: rgba(255, 255, 255, 0.12);
    --btn-ghost-color: var(--text-primary);

    /* Header */
    --header-register-bg: var(--gradient-primary);
    --header-register-color: #ffffff;
    --wallet-btn-bg-start: #13213B;
    --wallet-btn-bg-end: #2563FF;
    --wallet-btn-gradient: linear-gradient(90deg, var(--wallet-btn-bg-start) 0%, var(--wallet-btn-bg-end) 100%);
    --wallet-btn-color: #ffffff;

    /* Tabs / chips / pills */
    --tab-active-bg: var(--accent);
    --tab-active-color: #ffffff;
    --tab-active-border: var(--accent);
    --tab-inactive-bg: transparent;
    --tab-inactive-color: var(--text-muted);
    --tab-inactive-border: var(--surface-border-soft);

    --chip-bg: rgba(255, 255, 255, 0.06);
    --chip-border: rgba(255, 255, 255, 0.12);
    --chip-color: var(--text-muted);
    --chip-active-bg: rgba(var(--accent-rgb), 0.14);
    --chip-active-border: rgba(var(--accent-rgb), 0.55);
    --chip-active-color: var(--text-primary);

    /* Cards / modals */
    --card-bg: var(--gradient-surface);
    --card-border: var(--surface-border-soft);
    --card-radius: var(--radius-xl);
    --card-shadow: var(--shadow-md);

    --modal-bg: var(--modalbg);
    --modal-border: var(--surface-border-soft);
    --modal-radius: var(--radius-xl);
    --modal-shadow: var(--shadow-xl);

    /* Wallet */
    --wallet-deposit-bg: var(--accent);
    --wallet-withdraw-gradient: var(--gradient-withdraw);
    --wallet-footer-btn-bg: var(--legacy-bg-3);
    --wallet-footer-btn-color: var(--text-primary);

    /* Game opener */
    --game-opener-border: var(--accent);
    --game-opener-overlay: linear-gradient(0deg, rgba(10, 16, 28, 0.84) 0%, rgba(10, 16, 28, 0.84) 100%);
    --game-play-btn-bg: var(--accent);
    --game-play-btn-color: #ffffff;
    --game-demo-btn-bg: #5C6C89;
    --game-demo-btn-color: #ffffff;

    /* Slider controls */
    --slider-nav-bg: rgba(10, 20, 40, 0.82);
    --slider-nav-bg-hover: rgba(37, 99, 255, 0.24);
    --slider-nav-border: rgba(37, 99, 255, 0.26);
    --slider-nav-color: #ffffff;
    --slider-pagination-dot: rgba(184, 199, 224, 0.30);
    --slider-pagination-dot-active: #21C7FF;

    /* Typography tokens */
    --font-family-regular: "Rubik", sans-serif;
    --font-family-medium: "Rubik Medium", sans-serif;
    --font-family-semibold: "Rubik SemiBold", sans-serif;
    --font-family-bold: "Rubik Bold", sans-serif;

    /* Top search (global) */
    --top-search-form-border: 1px solid rgba(140, 168, 220, 0.14);
    --top-search-form-radius: 12px;
    --top-search-form-margin-top: 24px;
    --top-search-form-margin-bottom: 24px;
    --top-search-form-padding-x: 12px;
    --top-search-form-height: 52px;
    --top-search-form-line-height: 62px;
    --top-search-form-font-size: 0px;
    --top-search-form-bg: var(--linearbg);
    --top-search-form-font-family: var(--font-family-medium);

    --top-search-icon-color: #7F93B2;
    --top-search-input-color: var(--text-primary);
    --top-search-input-placeholder: rgba(184, 199, 224, 0.52);
    --top-search-focus-radius: 18px;
    --top-search-focus-shadow: 0 22px 70px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(37, 99, 255, 0.24),
        0 0 30px rgba(33, 199, 255, 0.10);

    --top-search-layer-radius: 18px;
    --top-search-layer-border: 1px solid rgba(255, 255, 255, 0.08);
    --top-search-layer-border-bottom: 10px solid rgba(255, 255, 255, 0.06);
    --top-search-layer-bg: rgba(12, 15, 28, 0.72);
    --top-search-layer-shadow: 0 18px 55px rgba(0, 0, 0, 0.55);
    --top-search-layer-blur: 14px;
    --top-search-recent-wrap-radius: 12px;
    --top-search-recent-wrap-border: 1px solid rgba(var(--brand-secondary-rgb), 0.20);
    --top-search-recent-wrap-bg: linear-gradient(180deg, rgba(9, 16, 30, 0.82), rgba(6, 12, 24, 0.84));
    --top-search-recent-wrap-shadow: 0 14px 26px rgba(0, 0, 0, 0.32);
    --top-search-recent-chip-radius: 999px;
    --top-search-recent-chip-border: 1px solid rgba(var(--brand-secondary-rgb), 0.40);
    --top-search-recent-chip-bg: linear-gradient(
        135deg,
        rgba(var(--brand-secondary-rgb), 0.22),
        rgba(var(--brand-secondary-rgb), 0.12)
    );
    --top-search-recent-chip-color: #edfffa;
    --top-search-recent-chip-font-family: var(--font-family-semibold);
    --top-search-recent-chip-shadow: 0 6px 14px rgba(var(--brand-secondary-rgb), 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);

    /* Lowbar (mobile dock) */
    --lb-bg: rgba(8, 14, 26, 0.82);
    --lb-stroke: rgba(121, 154, 221, 0.16);
    --lb-stroke-2: rgba(121, 154, 221, 0.08);
    --lb-text: rgba(245, 249, 255, 0.90);
    --lb-muted: rgba(184, 199, 224, 0.70);
    --lb-active: #2563FF;
    --lb-shadow: 0 18px 40px rgba(0, 0, 0, 0.5);
    --lb-shadow-soft: 0 10px 26px rgba(0, 0, 0, 0.35);
    --lb-search-bg: #0A1428;
    --lb-radius: 22px;
    --lb-radius-sm: 20px;
    --lb-surface-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
    --lb-wallet-ring-color: rgba(37, 99, 255, 0.58);
    --lb-wallet-ring-size: 0.2rem;
    --lb-wallet-glow: radial-gradient(circle, rgba(37, 99, 255, 0.18), rgba(37, 99, 255, 0) 65%);
    --lb-wallet-glow-radius: radial-gradient(circle, rgba(33, 199, 255, 0.20), rgba(33, 199, 255, 0) 62%);
    --lb-chat-bg: linear-gradient(135deg, rgba(37, 99, 255, 0.92), rgba(33, 199, 255, 0.72));
    --lb-chat-border: rgba(37, 99, 255, 0.42);
    --lb-chat-color: #ffffff;
    --lb-chat-shadow: 0 12px 24px rgba(37, 99, 255, 0.24), 0 8px 20px rgba(0, 0, 0, 0.28);
    --lb-chat-shadow-hover: 0 14px 28px rgba(33, 199, 255, 0.28), 0 10px 24px rgba(0, 0, 0, 0.32);

    /* Sidebar top tabs (casino/sportsbook) */
    /* Set CDN SVG URL here per-domain:
       --sidebar-tab-casino-bg-image: url("https://cdn.example.com/sidebar-casino-bg.svg");
       --sidebar-tab-sportsbook-bg-image: url("https://cdn.example.com/sidebar-sportsbook-bg.svg");
    */
    --sidebar-tab-casino-bg-image: linear-gradient(180deg, rgba(37, 99, 255, 0.92), rgba(10, 20, 40, 0.96));
    --sidebar-tab-sportsbook-bg-image: linear-gradient(180deg, rgba(108, 92, 255, 0.84), rgba(18, 28, 52, 0.96));

    /* Bonus request modal */
    --bonus-request-tab-bg: var(--tab-inactive-bg);
    --bonus-request-tab-border: var(--tab-inactive-border);
    --bonus-request-tab-text: var(--tab-inactive-color);
    --bonus-request-tab-active-bg: var(--tab-active-bg);
    --bonus-request-tab-active-border: var(--tab-active-border);
    --bonus-request-tab-active-text: var(--tab-active-color);
    --bonus-request-card-bg: var(--card-bg);
    --bonus-request-card-border: var(--card-border);
    --bonus-request-card-shadow: var(--card-shadow);
    --bonus-request-info-bg: rgba(var(--accent-rgb), 0.16);
    --bonus-request-info-border: rgba(var(--accent-rgb), 0.45);
    --bonus-request-info-color: var(--text-primary);
    --bonus-request-button-bg: var(--btn-primary-bg);
    --bonus-request-button-text: var(--btn-primary-color);
    --bonus-request-empty-bg: rgba(255, 255, 255, 0.02);
    --bonus-request-empty-border: var(--surface-border-soft);
    --bonus-request-empty-text: var(--text-muted);

    /* VIP club page */
    --vip-accent: var(--accent);
    --vip-accent-rgb: var(--accent-rgb);
    --vip-bg0: var(--surface-bg);
    --vip-bg1: var(--surface-2);
    --vip-card-bg: rgba(255, 255, 255, 0.05);
    --vip-card-border: rgba(255, 255, 255, 0.10);
    --vip-card-border-soft: rgba(255, 255, 255, 0.06);
    --vip-card-hover-bg: rgba(255, 255, 255, 0.06);
    --vip-text: var(--text-secondary);
    --vip-muted: var(--text-soft);
    --vip-chip-bg: rgba(255, 255, 255, 0.06);
    --vip-chip-border: rgba(255, 255, 255, 0.10);
    --vip-chip-active-bg: rgba(var(--vip-accent-rgb), 0.16);
    --vip-chip-active-border: rgba(var(--vip-accent-rgb), 0.30);
    --vip-tag-bg: rgba(0, 0, 0, 0.18);
    --vip-gift-tag-bg: rgba(var(--vip-accent-rgb), 0.10);
    --vip-gift-tag-border: rgba(var(--vip-accent-rgb), 0.18);
    --vip-button-border: rgba(var(--vip-accent-rgb), 0.28);
    --vip-button-bg: linear-gradient(180deg, rgba(var(--vip-accent-rgb), 0.22), rgba(var(--vip-accent-rgb), 0.10));
    --vip-button-border-hover: rgba(var(--vip-accent-rgb), 0.42);
    --vip-link: rgba(var(--vip-accent-rgb), 0.95);
    --vip-link-border: rgba(var(--vip-accent-rgb), 0.35);
    --vip-link-border-hover: rgba(var(--vip-accent-rgb), 0.65);

    /* Misc */
    --focus-ring: 0 0 0 3px rgba(var(--accent-rgb), 0.22);
    --divider: var(--surface-border-soft);

    /* Notification dropdown */
    --notif-badge-bg: var(--accent);
    --notif-badge-border: rgba(255, 255, 255, 0.55);
    --notif-panel-bg: var(--lineartooltipbg);
    --notif-panel-border: rgba(255, 255, 255, 0.08);
    --notif-panel-shadow: 0 16px 40px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --notif-empty-bg: rgba(100, 116, 139, 0.16);
    --notif-empty-border: rgba(255, 255, 255, 0.08);
    --notif-item-bg: rgba(100, 116, 139, 0.14);
    --notif-item-bg-hover: rgba(100, 116, 139, 0.18);
    --notif-item-border: rgba(255, 255, 255, 0.08);
    --notif-item-border-hover: rgba(255, 255, 255, 0.14);
    --notif-track-thumb: rgba(255, 255, 255, 0.1);

    /* Wallet settings modal */
    --wgs-text: rgba(255, 255, 255, 0.92);
    --wgs-muted: rgba(255, 255, 255, 0.55);
    --wgs-panel-bg: rgba(20, 24, 36, 0.75);
    --wgs-panel-border: rgba(255, 255, 255, 0.05);
    --wgs-block-bg: rgba(255, 255, 255, 0.03);
    --wgs-block-bg-hover: rgba(255, 255, 255, 0.04);
    --wgs-block-border: rgba(255, 255, 255, 0.06);
    --wgs-switch-on-bg: rgba(var(--accent-rgb), 0.14);
    --wgs-switch-on-border: rgba(var(--accent-rgb), 0.28);
    --wgs-switch-knob: rgba(255, 255, 255, 0.35);
    --wgs-switch-knob-on: rgba(var(--accent-rgb), 0.9);
    --wgs-dot-bg: rgba(var(--accent-rgb), 0.1);
    --wgs-dot-border: rgba(var(--accent-rgb), 0.15);
    --wgs-dot-ring: rgba(var(--accent-rgb), 0.25);
    --wgs-save-border: rgba(var(--success-rgb), 0.22);
    --wgs-save-bg: linear-gradient(90deg, rgba(14, 58, 45, 0.92), rgba(var(--success-rgb), 0.45));

    /* Game page + empty states */
    --game-theater-overlay: rgba(0, 0, 0, 0.65);
    --game-overlay-soft: rgba(0, 0, 0, 0.55);
    --game-fs-close-bg: var(--legacy-bg-3);
    --game-switch-bg: var(--legacy-bg-3);
    --game-switch-knob: var(--legacy-bg-2);
    --game-switch-active-gradient: linear-gradient(to right, #00de99, #17de87, #2edd73, #41dc5d, #54db43);
    --game-bets-empty-bg: linear-gradient(145deg, rgba(17, 31, 62, 0.92), rgba(8, 22, 48, 0.86));
    --game-bets-empty-border: rgba(90, 131, 210, 0.34);
    --game-bets-empty-icon-bg: rgba(46, 94, 184, 0.24);
    --game-bets-empty-icon-border: rgba(93, 147, 245, 0.34);
    --game-bets-empty-icon-shadow: 0 8px 24px rgba(6, 20, 47, 0.45);
    --game-bets-empty-title: #f1f6ff;
    --game-bets-empty-text: rgba(199, 215, 242, 0.9);
    --game-bets-empty-button-bg: rgba(28, 73, 155, 0.45);
    --game-bets-empty-button-border: rgba(84, 132, 219, 0.5);
    --game-bets-empty-button-hover-bg: rgba(48, 99, 192, 0.58);
    --game-bets-empty-button-hover-border: rgba(104, 156, 247, 0.72);

    /* Favorites empty card */
    --favorites-empty-bg: linear-gradient(140deg, rgba(15, 33, 66, 0.94), rgba(7, 20, 44, 0.96));
    --favorites-empty-border: rgba(124, 174, 255, 0.3);
    --favorites-empty-shadow: inset 0 1px 0 rgba(189, 218, 255, 0.14), 0 18px 42px rgba(5, 14, 31, 0.42);
    --favorites-empty-icon-bg: rgba(40, 100, 205, 0.28);
    --favorites-empty-icon-border: rgba(126, 178, 255, 0.42);
    --favorites-empty-icon-shadow: 0 8px 26px rgba(19, 79, 184, 0.45);
    --favorites-empty-title: #f2f7ff;
    --favorites-empty-text: rgba(199, 217, 245, 0.9);
    --favorites-empty-btn-bg: linear-gradient(180deg, #2b7fff 0%, #1f63d2 100%);
    --favorites-empty-btn-border: rgba(116, 173, 255, 0.58);
    --favorites-empty-btn-shadow: 0 8px 20px rgba(20, 85, 193, 0.36);

    /* Race / raffle info blocks */
    --event-trophy-bg: rgba(0, 0, 0, 0.18);
    --event-trophy-border: rgba(244, 183, 58, 0.3);
    --event-card-border: rgba(255, 255, 255, 0.08);
    --event-divider: rgba(255, 255, 255, 0.12);
    --event-title: #ffffff;
    --event-label: rgba(225, 236, 247, 0.95);
    --event-muted: rgba(185, 214, 232, 0.95);
    --event-stat-label: rgba(180, 209, 228, 0.92);
    --event-cta-bg: var(--gradient-primary);
    --event-cta-color: var(--brand-primary-contrast);
    --event-progress-track: rgba(11, 28, 43, 0.75);

    /* Withdraw progress */
    --withdraw-progress-bg: rgba(18, 32, 58, 0.72);
    --withdraw-progress-border: rgba(105, 133, 178, 0.3);
    --withdraw-progress-track: rgba(33, 52, 85, 0.85);
    --withdraw-progress-fill: linear-gradient(90deg, #24c8ff 0%, #39de8e 100%);
    --withdraw-progress-stat-bg: rgba(255, 255, 255, 0.04);
    --withdraw-progress-label: #99abca;
    --withdraw-progress-value: #f4f8ff;
    --withdraw-progress-note: #adc1df;

    /* Challenges page */
    --challenge-filter-bg: rgba(35, 46, 71, 0.55);
    --challenge-filter-border: rgba(124, 152, 197, 0.24);
    --challenge-filter-text: #9eb0cf;
    --challenge-filter-text-hover: #dce8ff;
    --challenge-filter-active-bg: var(--linearbg);
    --challenge-filter-active-text: var(--text-primary);
    --challenge-filter-active-ring: rgba(var(--accent-rgb), 0.36);

    --challenge-card-radius: var(--radius-sm);
    --challenge-card-bg: radial-gradient(120% 80% at 8% -10%, rgba(var(--accent-rgb), 0.25) 0%, rgba(var(--accent-rgb), 0) 58%),
        radial-gradient(90% 70% at 100% 100%, rgba(var(--accent-rgb), 0.2) 0%, rgba(var(--accent-rgb), 0) 64%),
        linear-gradient(160deg, color-mix(in srgb, var(--surface-3) 82%, #2b4f6a 18%) 0%, var(--surface-3) 42%, var(--surface-2) 100%);
    --challenge-card-shadow: 0 10px 24px rgba(0, 0, 0, 0.24), inset 0 0 0 1px rgba(255, 255, 255, 0.05);
    --challenge-card-sheen: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 38%),
        repeating-linear-gradient(-35deg, rgba(255, 255, 255, 0.02) 0 2px, rgba(255, 255, 255, 0) 2px 14px);
    --challenge-card-overlay-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), inset 0 -42px 60px rgba(3, 9, 18, 0.32);
    --challenge-image-fallback: color-mix(in srgb, var(--surface-3) 75%, #1f2f3c 25%);

    --challenge-title: #eaf4ff;
    --challenge-target: rgba(210, 228, 241, 0.86);
    --challenge-label: rgba(174, 203, 223, 0.84);
    --challenge-value: #f3f8ff;
    --challenge-author: #eaf4ff;
    --challenge-claimed-divider: rgba(167, 206, 233, 0.16);

    --challenge-completed-ring: rgba(var(--success-rgb), 0.24);
    --challenge-completed-bg: linear-gradient(180deg, rgba(var(--success-rgb), 0.16) 0%, rgba(var(--success-rgb), 0.1) 100%);
    --challenge-control-label: rgba(255, 255, 255, 0.75);
    --challenge-control-btn-bg: rgba(10, 14, 22, 0.9);
    --challenge-control-btn-border: rgba(255, 255, 255, 0.1);
    --challenge-control-btn-text: #ffffff;
    --challenge-control-btn-icon: rgba(255, 255, 255, 0.85);
    --challenge-control-badge-bg: rgba(var(--accent-rgb), 0.18);
    --challenge-control-badge-border: rgba(var(--accent-rgb), 0.35);
    --challenge-control-badge-text: color-mix(in srgb, var(--accent) 70%, #d9f3ff 30%);
    --challenge-dropdown-bg: #ffffff;
    --challenge-dropdown-text: #111827;
    --challenge-dropdown-border: rgba(0, 0, 0, 0.1);
    --challenge-dropdown-divider: rgba(0, 0, 0, 0.08);
    --challenge-dropdown-item-hover: rgba(0, 0, 0, 0.06);
    --challenge-dropdown-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
    --challenge-dropdown-active: var(--accent);
    --challenge-provider-pill-bg: linear-gradient(
        to right,
        color-mix(in srgb, var(--accent) 76%, #0a58ff 24%) 0%,
        color-mix(in srgb, var(--accent) 84%, #1e7bff 16%) 100%
    );
    --challenge-provider-pill-text: #ffffff;

    /* Tournament buttons */
    --tournament-button-bg: linear-gradient(
        180deg,
        color-mix(in srgb, var(--accent) 86%, #ffffff 14%) 0%,
        color-mix(in srgb, var(--accent) 84%, #000000 16%) 100%
    );
    --tournament-button-border: rgba(var(--accent-rgb), 0.54);
    --tournament-button-color: var(--brand-primary-contrast);
    --tournament-button-radius: var(--radius-2xs);
    --tournament-button-shadow: 0 8px 22px rgba(var(--accent-rgb), 0.34);
    --tournament-button-hover-filter: brightness(1.05);

    /* General header tabs */
    --general-tabs-text: #8c8da8;
    --general-tabs-active-text: var(--accent);
    --general-tabs-active-font: "Rubik Bold";

    /* Sidebar */
    --sidebar-width: 260px;
    --sidebar-rail-width: 78px;
    --sidebar-z: 2000;
    --sidebar-ease: cubic-bezier(.2, .9, .2, 1);

    --sidebar-bg-open: linear-gradient(180deg, rgba(12, 20, 36, .97) 0%, rgba(7, 13, 24, .97) 100%);
    --sidebar-bg-open-accent: rgba(var(--accent-rgb), .14);
    --sidebar-bg-open-secondary: rgba(108, 92, 255, .12);

    --sidebar-bg-collapsed: linear-gradient(180deg, rgba(10, 18, 32, 0.98) 0%, rgba(6, 12, 22, 0.98) 100%);
    --sidebar-bg-collapsed-accent: rgba(var(--accent-rgb), 0.14);

    --sidebar-bg-active: linear-gradient(180deg, rgba(15, 24, 42, 0.98) 0%, rgba(10, 18, 32, 0.99) 100%);
    --sidebar-bg-active-accent: rgba(var(--accent-rgb), 0.18);
    --sidebar-bg-active-secondary: rgba(108, 92, 255, 0.10);

    --sidebar-stroke: rgba(255, 255, 255, .06);
    --sidebar-stroke-strong: rgba(255, 255, 255, .10);
    --sidebar-stroke-accent: rgba(var(--accent-rgb), .22);
    --sidebar-text: rgba(236, 243, 255, 0.94);
    --sidebar-text-muted: rgba(170, 186, 210, 0.84);
    --sidebar-text-soft: #bdbdbd;

    --sidebar-chip: rgba(255, 255, 255, .05);
    --sidebar-chip-2: rgba(255, 255, 255, .03);
    --sidebar-chip-stroke: rgba(255, 255, 255, .08);

    --sidebar-shadow: 0 30px 70px rgba(0, 0, 0, .55);
    --sidebar-shadow-soft: 0 14px 30px rgba(0, 0, 0, .28);
    --sidebar-active-glow: 0 0 0 1px rgba(var(--accent-rgb), .14);

    --sidebar-overlay: rgba(0, 0, 0, .60);

    --sidebar-search-bg: radial-gradient(420px 120px at 15% 0%, rgba(var(--accent-rgb), .08), transparent 60%),
        linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));
    --sidebar-search-text: var(--sidebar-text-muted);

    --sidebar-promo-bg: rgba(255, 255, 255, .03);
    --sidebar-promo-border: rgba(255, 255, 255, .07);
    --sidebar-promo-item-bg: rgba(0, 0, 0, .14);
    --sidebar-promo-item-bg-hover: rgba(0, 0, 0, .20);
    --sidebar-promo-dot: var(--accent);
    --sidebar-promo-dot-glow: rgba(var(--accent-rgb), .15);
    --sidebar-hero-glow: linear-gradient(90deg, #13213B 0%, color-mix(in srgb, var(--accent) 84%, #1f7bff 16%) 100%);

    --sidebar-top-btn-border: rgba(255, 255, 255, 0.07);
    --sidebar-top-btn-bg: linear-gradient(95deg, rgba(23, 41, 74, 0.72) 0%, rgba(17, 30, 56, 0.82) 50%, rgba(13, 22, 43, 0.86) 100%);
    --sidebar-top-btn-shadow: 0 14px 26px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    --sidebar-top-btn-title: rgba(235, 244, 255, 0.94);
    --sidebar-top-btn-arrow: rgba(164, 205, 255, 0.88);

    --sidebar-top-btn-hover-border: rgba(var(--accent-rgb), 0.30);
    --sidebar-top-btn-hover-shadow: 0 18px 30px rgba(0, 0, 0, 0.36), 0 0 0 1px rgba(var(--accent-rgb), 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.08);

    --sidebar-top-btn-active-border: rgba(var(--accent-rgb), 0.40);
    --sidebar-top-btn-active-bg: linear-gradient(95deg, rgba(var(--accent-rgb), 0.28) 0%, rgba(var(--accent-rgb), 0.16) 100%);
    --sidebar-top-btn-active-shadow: 0 18px 34px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(var(--accent-rgb), 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.11);
}

/* Sidebar style pass inspired by the reference mobile menu */
.responsive-menu,
#responsive-menu,
.responsive-menu.active-menu {
    background: var(--sidebar-bg-open) !important;
}

.responsive-menu .sidebar-content,
.sidebar .sidebar-content,
.sidebar-menu .sidebar-content {
    padding: 14px 12px 18px;
}

.responsive-menu .menu-head,
.sidebar .menu-head {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    min-height: 42px;
    margin-bottom: 16px;
}

.responsive-menu .head-left,
.sidebar .head-left {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding-right: 44px;
}

.responsive-menu .head-left > * + *,
.sidebar .head-left > * + * {
    margin-top: 2px;
}

.responsive-menu .menu-head > :not(.head-left):not(.head-tabs):not(.head-tabs--plain),
.sidebar .menu-head > :not(.head-left):not(.head-tabs):not(.head-tabs--plain) {
    position: absolute;
    top: 8px;
    right: 12px;
    z-index: 2;
    align-self: auto;
    margin: 0 !important;
}

.responsive-menu .menu-head .icon img,
.sidebar .menu-head .icon img,
.responsive-menu .menu-head .head-left img,
.sidebar .menu-head .head-left img {
    display: block;
}

.responsive-menu .menu-head .sidebar-lang-current-flag,
.sidebar .menu-head .sidebar-lang-current-flag,
.responsive-menu .menu-head .flag,
.sidebar .menu-head .flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 8px;
    right: 12px;
    z-index: 2;
    align-self: auto;
    margin: 0 !important;
}

.responsive-menu .menu-head img[src*="/flags/"],
.sidebar .menu-head img[src*="/flags/"],
.responsive-menu .menu-head img[src*="flag"],
.sidebar .menu-head img[src*="flag"] {
    display: block;
    margin: 0 !important;
}

.responsive-menu .title,
.sidebar .title {
    color: var(--sidebar-text);
    font-family: var(--font-family-semibold);
    font-size: 0.95rem;
}

.responsive-menu .head-tabs--plain,
.sidebar .head-tabs--plain {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.responsive-menu .head-tab-btn,
.sidebar .head-tab-btn {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    min-height: 48px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    background: var(--gradient-card) !important;
    box-shadow: var(--sidebar-top-btn-shadow);
}

.responsive-menu .head-tab-btn__bg,
.sidebar .head-tab-btn__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.9;
}

.responsive-menu .head-tab-btn__content,
.sidebar .head-tab-btn__content {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 14px;
}

.responsive-menu .head-tab-btn__label,
.sidebar .head-tab-btn__label {
    color: #ffffff;
    font-family: var(--font-family-bold);
    font-size: 0.95rem;
    letter-spacing: 0.01em;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.28);
}

.responsive-menu .menu-body,
.sidebar .menu-body,
.sidebar-menu .menu-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.responsive-menu .sb-top,
.sidebar .sb-top,
.sidebar-menu .sb-top {
    display: grid;
    gap: 12px;
}

.responsive-menu .categories,
.sidebar .categories,
.sidebar-menu .categories,
.responsive-menu .sidebar-lang-footer,
.sidebar .sidebar-lang-footer,
.sidebar-menu .sidebar-lang-footer {
    display: grid;
    gap: 12px;
}

.responsive-menu .to-search-modal,
.sidebar .to-search-modal,
.sidebar-menu .to-search-modal,
.responsive-menu .sidebar-lang-btn,
.sidebar .sidebar-lang-btn,
.sidebar-menu .sidebar-lang-btn,
.responsive-menu a.sb-top-btn,
.responsive-menu .sb-top-btn,
.sidebar a.sb-top-btn,
.sidebar .sb-top-btn,
.sidebar-menu a.sb-top-btn,
.sidebar-menu .sb-top-btn,
.responsive-menu .sl-acc__head,
.sidebar .sl-acc__head,
.sidebar-menu .sl-acc__head,
.responsive-menu .menu a,
.responsive-menu .submenu a,
.sidebar .menu a,
.sidebar .submenu a,
.sidebar-menu a,
.accordion-menu a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 0 16px;
    border-radius: 22px !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    background: linear-gradient(180deg, rgba(17, 31, 58, 0.78), rgba(10, 20, 40, 0.88)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 8px 18px rgba(0,0,0,0.12);
    transition: all .22s ease;
}

.responsive-menu a.sb-top-btn,
.responsive-menu .sb-top-btn,
.sidebar a.sb-top-btn,
.sidebar .sb-top-btn,
.sidebar-menu a.sb-top-btn,
.sidebar-menu .sb-top-btn,
.responsive-menu .sl-acc__head,
.sidebar .sl-acc__head,
.sidebar-menu .sl-acc__head {
    border-radius: 24px !important;
    overflow: hidden !important;
}

.responsive-menu .sidebar-lang-trigger,
.sidebar .sidebar-lang-trigger,
.sidebar-menu .sidebar-lang-trigger {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 0 16px;
    border-radius: 22px !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    background: linear-gradient(180deg, rgba(17, 31, 58, 0.78), rgba(10, 20, 40, 0.88)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 8px 18px rgba(0,0,0,0.12);
    overflow: hidden !important;
}

.responsive-menu .sidebar-lang-options,
.sidebar .sidebar-lang-options,
.sidebar-menu .sidebar-lang-options {
    border-radius: 20px !important;
    overflow: hidden !important;
}

.responsive-menu .to-search-modal .text,
.sidebar .to-search-modal .text,
.sidebar-menu .to-search-modal .text,
.responsive-menu .sb-top-title,
.sidebar .sb-top-title,
.sidebar-menu .sb-top-title,
.responsive-menu .sl-acc__headTitle,
.sidebar .sl-acc__headTitle,
.sidebar-menu .sl-acc__headTitle,
.responsive-menu .sidebar-lang-text,
.sidebar .sidebar-lang-text,
.sidebar-menu .sidebar-lang-text {
    color: var(--sidebar-text);
    font-family: var(--font-family-semibold);
    font-size: 0.95rem;
}

.responsive-menu .to-search-modal .icon,
.sidebar .to-search-modal .icon,
.sidebar-menu .to-search-modal .icon,
.responsive-menu .sb-top-btn .icon,
.sidebar .sb-top-btn .icon,
.sidebar-menu .sb-top-btn .icon,
.responsive-menu .sl-acc__headLeft,
.sidebar .sl-acc__headLeft,
.sidebar-menu .sl-acc__headLeft {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.responsive-menu .sb-top-arrow,
.sidebar .sb-top-arrow,
.sidebar-menu .sb-top-arrow,
.responsive-menu .sl-acc__headRight,
.sidebar .sl-acc__headRight,
.sidebar-menu .sl-acc__headRight {
    margin-left: auto;
    color: var(--sidebar-top-btn-arrow) !important;
    opacity: 0.9;
}

.responsive-menu .to-search-modal,
.sidebar .to-search-modal,
.sidebar-menu .to-search-modal {
    min-height: 48px;
    margin-top: 2px;
    padding: 0 14px;
    color: var(--sidebar-search-text);
    background: linear-gradient(180deg, rgba(17, 31, 58, 0.88), rgba(10, 20, 40, 0.92)) !important;
}

.responsive-menu .sidebar-section-title,
.sidebar .sidebar-section-title {
    display: flex;
    align-items: center;
    height: 18px;
    margin: 4px 0 2px;
}

.responsive-menu .sidebar-section-title__line,
.sidebar .sidebar-section-title__line {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(var(--accent-rgb), 0), rgba(var(--accent-rgb), 0.32), rgba(var(--accent-rgb), 0));
}

.responsive-menu .sidebar-lang-wrap,
.sidebar .sidebar-lang-wrap {
    position: relative;
}

.responsive-menu .sidebar-lang-dropdown,
.sidebar .sidebar-lang-dropdown {
    margin-top: 8px;
    padding: 8px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(17, 31, 58, 0.94), rgba(10, 20, 40, 0.96));
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.3);
}

.responsive-menu .sidebar-lang-option,
.sidebar .sidebar-lang-option {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: var(--sidebar-text-muted);
    transition: all .18s ease;
}

.responsive-menu .sidebar-lang-option:hover,
.sidebar .sidebar-lang-option:hover {
    background: linear-gradient(180deg, rgba(37,99,255,0.10), rgba(37,99,255,0.04));
    color: var(--sidebar-text);
}

.responsive-menu .p2tabs,
.sidebar .p2tabs,
.sidebar-menu .p2tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 12px;
}

.responsive-menu .p2seg,
.sidebar .p2seg,
.sidebar-menu .p2seg {
    position: relative;
    min-height: 54px;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    background: linear-gradient(180deg, rgba(17, 31, 58, 0.78), rgba(10, 20, 40, 0.88)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 8px 18px rgba(0,0,0,0.12);
}

.responsive-menu .p2bg,
.responsive-menu .p2bgIcon,
.responsive-menu .p2content,
.responsive-menu .p2chip,
.sidebar .p2bg,
.sidebar .p2bgIcon,
.sidebar .p2content,
.sidebar .p2chip,
.sidebar-menu .p2bg,
.sidebar-menu .p2bgIcon,
.sidebar-menu .p2content,
.sidebar-menu .p2chip {
    border-radius: inherit !important;
}

.responsive-menu .p2bg,
.sidebar .p2bg,
.sidebar-menu .p2bg {
    position: absolute;
    inset: 0;
}

.responsive-menu .p2bgIcon,
.sidebar .p2bgIcon,
.sidebar-menu .p2bgIcon {
    position: absolute;
    inset: 0;
    overflow: hidden !important;
}

.responsive-menu .p2content,
.sidebar .p2content,
.sidebar-menu .p2content {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 14px;
}

.responsive-menu .p2chip,
.sidebar .p2chip,
.sidebar-menu .p2chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.responsive-menu .menu a:hover,
.responsive-menu .submenu a:hover,
.responsive-menu a.sb-top-btn:hover,
.responsive-menu .sb-top-btn:hover,
.responsive-menu .sl-acc__head:hover,
.sidebar .menu a:hover,
.sidebar .submenu a:hover,
.sidebar a.sb-top-btn:hover,
.sidebar .sb-top-btn:hover,
.sidebar .sl-acc__head:hover,
.sidebar-menu a:hover,
.accordion-menu a:hover {
    transform: translateY(-1px);
    background: linear-gradient(180deg, rgba(37,99,255,0.12), rgba(37,99,255,0.05)) !important;
    border-color: rgba(37,99,255,0.18) !important;
}

.responsive-menu .menu a.active,
.responsive-menu .submenu a.active,
.responsive-menu a.sb-top-btn.active,
.responsive-menu .sb-top-btn.active,
.sidebar .menu a.active,
.sidebar .submenu a.active,
.sidebar a.sb-top-btn.active,
.sidebar .sb-top-btn.active,
.sidebar-menu a.active,
.accordion-menu a.active {
    background: linear-gradient(180deg, rgba(37,99,255,0.18), rgba(37,99,255,0.07)) !important;
    border-color: rgba(37,99,255,0.24) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 8px 22px rgba(37,99,255,0.12);
    color: #ffffff !important;
}

.responsive-menu .menu a.active::before,
.responsive-menu .submenu a.active::before,
.responsive-menu a.sb-top-btn.active::before,
.responsive-menu .sb-top-btn.active::before,
.sidebar .menu a.active::before,
.sidebar .submenu a.active::before,
.sidebar a.sb-top-btn.active::before,
.sidebar .sb-top-btn.active::before,
.sidebar-menu a.active::before,
.accordion-menu a.active::before {
    content: "";
    position: absolute;
    left: -1px;
    top: 9px;
    bottom: 9px;
    width: 3px;
    border-radius: 999px;
    background: var(--gradient-primary);
    box-shadow: 0 0 14px rgba(var(--accent-rgb), 0.34);
}

.responsive-menu .sl-acc,
.sidebar .sl-acc,
.sidebar-menu .sl-acc {
    display: grid;
    gap: 10px;
    background: transparent !important;
}

.responsive-menu .sl-acc__section,
.sidebar .sl-acc__section,
.sidebar-menu .sl-acc__section {
    border-radius: 24px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    background: linear-gradient(180deg, rgba(17, 31, 58, 0.78), rgba(10, 20, 40, 0.88)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 8px 18px rgba(0,0,0,0.12);
}

.responsive-menu .sl-acc__head,
.sidebar .sl-acc__head,
.sidebar-menu .sl-acc__head {
    min-height: 54px;
    padding: 0 16px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.responsive-menu .sl-acc__headLeft,
.sidebar .sl-acc__headLeft,
.sidebar-menu .sl-acc__headLeft {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.responsive-menu .sl-acc__bodyWrap,
.responsive-menu .sl-acc__body,
.sidebar .sl-acc__bodyWrap,
.sidebar .sl-acc__body,
.sidebar-menu .sl-acc__bodyWrap,
.sidebar-menu .sl-acc__body {
    background: transparent !important;
}

.responsive-menu .sl-acc__body,
.sidebar .sl-acc__body,
.sidebar-menu .sl-acc__body {
    padding: 10px 12px 14px;
}

.responsive-menu .sl-acc__top,
.sidebar .sl-acc__top,
.sidebar-menu .sl-acc__top {
    margin: 0 0 10px;
}

.responsive-menu .sl-acc__topBtn,
.sidebar .sl-acc__topBtn,
.sidebar-menu .sl-acc__topBtn {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 18px !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02)) !important;
}

.responsive-menu .sl-acc__list,
.sidebar .sl-acc__list,
.sidebar-menu .sl-acc__list {
    display: grid;
    gap: 8px;
    background: transparent !important;
}

.responsive-menu .sl-acc__item,
.responsive-menu a.sl-acc__item,
.sidebar .sl-acc__item,
.sidebar a.sl-acc__item,
.sidebar-menu .sl-acc__item,
.sidebar-menu a.sl-acc__item {
    border-radius: 16px !important;
    overflow: hidden !important;
    background: transparent !important;
}

.responsive-menu .sl-acc__itemInner,
.sidebar .sl-acc__itemInner,
.sidebar-menu .sl-acc__itemInner {
    min-height: 42px;
    padding: 0 12px;
    border-radius: 16px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)) !important;
}

.responsive-menu .sl-acc__itemCount,
.sidebar .sl-acc__itemCount,
.sidebar-menu .sl-acc__itemCount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
}

html, body {
    background:
        radial-gradient(circle at 50% 0%, rgba(37, 99, 255, 0.11) 0%, rgba(37, 99, 255, 0.00) 28%),
        radial-gradient(circle at 18% 18%, rgba(33, 199, 255, 0.05) 0%, rgba(33, 199, 255, 0.00) 24%),
        radial-gradient(circle at 85% 12%, rgba(108, 92, 255, 0.06) 0%, rgba(108, 92, 255, 0.00) 22%),
        linear-gradient(180deg, #08111F 0%, #050B16 58%, #040811 100%) !important;
    color: var(--text-primary);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 10%, rgba(255,255,255,0.025) 0%, transparent 30%),
        radial-gradient(circle at 70% 35%, rgba(37,99,255,0.045) 0%, transparent 26%),
        radial-gradient(circle at 25% 45%, rgba(33,199,255,0.035) 0%, transparent 22%);
    z-index: 0;
}

main,
.site-content,
.content-wrapper,
.homepage,
.home-wrapper {
    position: relative;
    z-index: 1;
}

header#header,
header#header .middle-header,
header#header .middle-header-container {
    position: relative;
    background:
        linear-gradient(180deg, rgba(10, 18, 34, 0.86), rgba(10, 18, 34, 0.64)) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(140, 168, 220, 0.08);
}

header#header::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 44%;
    height: 100%;
    transform: translateX(-50%);
    pointer-events: none;
    background: radial-gradient(circle at center, rgba(37,99,255,0.10), transparent 68%);
}

.sidebar,
.sidebar-menu,
aside.sidebar {
    background:
        linear-gradient(180deg, rgba(12, 20, 36, 0.94) 0%, rgba(7, 13, 24, 0.96) 100%) !important;
    border-right: 1px solid rgba(140, 168, 220, 0.08);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.34);
}

.sidebar .menu a,
.sidebar .submenu a,
.sidebar-menu a,
.accordion-menu a {
    border-radius: 12px !important;
    transition: all .22s ease;
}

.sidebar .menu a:hover,
.sidebar .submenu a:hover,
.sidebar-menu a:hover,
.accordion-menu a:hover {
    background: linear-gradient(180deg, rgba(37,99,255,0.10), rgba(37,99,255,0.04)) !important;
    border-color: rgba(37,99,255,0.18) !important;
}

.sidebar .menu a.active,
.sidebar .submenu a.active,
.sidebar-menu a.active,
.accordion-menu a.active {
    background:
        linear-gradient(180deg, rgba(37,99,255,0.18), rgba(37,99,255,0.07)) !important;
    border: 1px solid rgba(37,99,255,0.24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.05),
        0 8px 22px rgba(37,99,255,0.12);
    color: #ffffff !important;
}

.homepage-top,
.entrance-section,
.hero-section,
.hero-area,
.index-slider,
.index-top {
    position: relative;
    overflow: hidden;
}

.homepage-top::before,
.entrance-section::before,
.hero-section::before,
.hero-area::before,
.index-slider::before,
.index-top::before {
    content: "";
    position: absolute;
    inset: -40px -80px auto -80px;
    height: 440px;
    pointer-events: none;
    background:
        radial-gradient(circle at 35% 35%, rgba(37,99,255,0.13), transparent 34%),
        radial-gradient(circle at 58% 20%, rgba(33,199,255,0.09), transparent 26%),
        radial-gradient(circle at 78% 28%, rgba(108,92,255,0.08), transparent 22%);
    filter: blur(20px);
    z-index: 0;
}

.homepage-top > *,
.entrance-section > *,
.hero-section > *,
.hero-area > *,
.index-slider > *,
.index-top > * {
    position: relative;
    z-index: 1;
}

.top-search-form,
.top-search,
.search-form,
.search-wrapper {
    background:
        linear-gradient(180deg, rgba(17, 31, 58, 0.88), rgba(10, 20, 40, 0.92)) !important;
    border: 1px solid rgba(140, 168, 220, 0.14) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.03),
        0 12px 28px rgba(0,0,0,0.18);
    border-radius: 14px !important;
}

.home-section,
.section-block,
.games-section,
.slider-section,
.providers-section {
    background:
        linear-gradient(180deg, rgba(10, 18, 34, 0.22), rgba(10, 18, 34, 0.08)) !important;
    border: 1px solid rgba(140, 168, 220, 0.06);
    border-radius: 18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.02);
}

.game-item,
.provider-item,
.slider-item,
.casino-item,
.sports-item {
    border-radius: 16px !important;
    overflow: hidden;
    box-shadow:
        0 10px 24px rgba(0,0,0,0.28),
        0 1px 0 rgba(255,255,255,0.03);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    border: 1px solid rgba(140, 168, 220, 0.08);
}

.game-item:hover,
.provider-item:hover,
.slider-item:hover,
.casino-item:hover,
.sports-item:hover {
    transform: translateY(-2px);
    box-shadow:
        0 18px 34px rgba(0,0,0,0.34),
        0 0 0 1px rgba(37,99,255,0.12);
}

.common-form-button .button,
form.general-form div.form-buttons button,
.auth div.auth-box form.auth-form div.form-buttons button,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-buttons button,
a.button.register {
    background: var(--gradient-primary) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    box-shadow:
        0 12px 30px rgba(37,99,255,0.22),
        inset 0 1px 0 rgba(255,255,255,0.12) !important;
}

.common-form-button .button:hover,
form.general-form div.form-buttons button:hover,
.auth div.auth-box form.auth-form div.form-buttons button:hover,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-buttons button:hover,
a.button.register:hover {
    transform: translateY(-1px);
    box-shadow:
        0 16px 34px rgba(37,99,255,0.28),
        inset 0 1px 0 rgba(255,255,255,0.14) !important;
}

section h2,
.section-title,
.block-title,
.slider-title {
    text-shadow: 0 2px 18px rgba(0,0,0,0.24);
}

img,
.card-image,
.slider-item img,
.game-item img {
    image-rendering: auto;
}

footer,
.footer,
footer .container,
footer .footer-logo,
footer .footer-contents,
footer .footer-menus,
footer .footer-currencies,
footer .footer-licences,
footer .footer-bottom,
footer .content-block,
footer .footer-menu,
footer .listing-block,
footer .block,
footer .about,
footer .copyright,
footer .emails {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Scoped variables for hero area slider */
.hero-area-slider {
    --hero-accent: var(--accent);
    --hero-accent-rgb: var(--accent-rgb);
    --hero-nav-bg: var(--slider-nav-bg);
    --hero-nav-bg-hover: var(--slider-nav-bg-hover);
    --hero-nav-border: var(--slider-nav-border);
    --hero-pagination-dot: var(--slider-pagination-dot);
    --hero-pagination-dot-active: var(--slider-pagination-dot-active);
}

/* =========================================================
   GLOBAL THEME OVERRIDES FOR LEGACY SELECTORS
   ========================================================= */

/* Header buttons */
header#header div.middle-header div.middle-header-container div.header-buttons div.login-buttons a.button.register {
    background: var(--header-register-bg) !important;
    color: var(--header-register-color) !important;
    border-radius: var(--btn-primary-radius);
    box-shadow: var(--btn-primary-shadow);
}

a.register-button,
.register-button {
    background: var(--header-register-bg) !important;
    color: var(--header-register-color) !important;
    border-radius: var(--btn-primary-radius);
    box-shadow: var(--btn-primary-shadow);
}

a.register-button:hover,
.register-button:hover {
    background: var(--btn-primary-bg-hover) !important;
}

a.register-button:active,
.register-button:active {
    background: var(--btn-primary-bg-active) !important;
    box-shadow: var(--btn-primary-shadow-active) !important;
}

header#header div.middle-header div.middle-header-container div.header-buttons div.wallet-menu div.current-wallet a.wallet-button {
    color: var(--wallet-btn-color) !important;
    background: var(--wallet-btn-gradient) !important;
    border-radius: var(--radius-xs);
}

/* Primary action buttons */
.common-form-button .button,
form.general-form div.form-buttons button,
.auth div.auth-box form.auth-form div.form-buttons button,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-buttons button {
    background: var(--btn-primary-bg) !important;
    color: var(--btn-primary-color) !important;
    border-radius: var(--btn-primary-radius) !important;
    box-shadow: var(--btn-primary-shadow);
}

.common-form-button .button:hover,
form.general-form div.form-buttons button:hover,
.auth div.auth-box form.auth-form div.form-buttons button:hover,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-buttons button:hover {
    background: var(--btn-primary-bg-hover) !important;
}

.common-form-button .button:active,
form.general-form div.form-buttons button:active,
.auth div.auth-box form.auth-form div.form-buttons button:active,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-buttons button:active {
    background: var(--btn-primary-bg-active) !important;
    box-shadow: var(--btn-primary-shadow-active) !important;
}

/* Inputs */
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-group div.form-item.form-item-text input,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-group div.form-item.form-item-password input,
form.general-form div.form-group div.form-item.form-item-text input,
form.general-form div.form-group div.form-item.form-item-password input,
form.general-form div.form-group div.form-item.form-item-select select,
.phone-input,
.phone-input input {
    background: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    border-radius: var(--radius-xs) !important;
    color: var(--text-primary) !important;
}

.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-group div.form-item.form-item-text input::placeholder,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-group div.form-item.form-item-password input::placeholder,
form.general-form div.form-group div.form-item.form-item-text input::placeholder,
form.general-form div.form-group div.form-item.form-item-password input::placeholder {
    color: var(--input-placeholder) !important;
}

.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-group div.form-item.form-item-text input:focus,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-group div.form-item.form-item-password input:focus,
form.general-form div.form-group div.form-item.form-item-text input:focus,
form.general-form div.form-group div.form-item.form-item-password input:focus,
.phone-input input:focus {
    border-color: var(--input-border-focus) !important;
    box-shadow: var(--focus-ring) !important;
}

input[name="top-search"] {
    color: var(--top-search-input-color) !important;
}

input[name="top-search"]::placeholder {
    color: var(--top-search-input-placeholder) !important;
}

/* Modals and cards */
.modal .modal-dialog .modal-content,
.modal-body,
#betModal .modal-dialog .modal-content .modal-body div.wallet-box,
#walletModal .modal-dialog .modal-content .modal-body div.wallet-box,
.auth-modal .modal-dialog .modal-content .modal-body {
    background: var(--modal-bg) !important;
    border: var(--border-thin) solid var(--modal-border);
    border-radius: var(--modal-radius) !important;
    box-shadow: var(--modal-shadow);
}

/* Wallet buttons */
#walletModal .modal-dialog .modal-content .modal-body div.wallet-box div.wallet-normal div.wallet-body div.wallet-buttons span.button.deposit {
    background-color: var(--wallet-deposit-bg) !important;
    color: var(--brand-primary-contrast) !important;
}

#walletModal .modal-dialog .modal-content .modal-body div.wallet-box div.wallet-normal div.wallet-body div.wallet-buttons span.button.withdraw {
    background-image: var(--wallet-withdraw-gradient) !important;
    color: var(--brand-primary-contrast) !important;
}

#walletModal .modal-dialog .modal-content .modal-body div.wallet-footer a.button {
    background-color: var(--wallet-footer-btn-bg) !important;
    color: var(--wallet-footer-btn-color) !important;
    border-radius: var(--radius-xs) !important;
}

/* Tabs and chips */
.simple-bets .nav.nav-pills .nav-link.active,
.simple-bets .nav.nav-pills .nav-link[aria-selected="true"],
.simple-bets ul li button.active,
.simple-bets ul li button[aria-selected="true"] {
    color: var(--tab-active-color) !important;
    background-color: var(--tab-active-bg) !important;
    border-color: var(--tab-active-border) !important;
}

.faq__chip,
.ato-btn {
    border-color: var(--chip-border);
    background: var(--chip-bg);
    color: var(--chip-color);
    border-radius: var(--radius-pill);
}

.faq__chip.is-active,
.ato-btn.is-active {
    border-color: var(--chip-active-border) !important;
    background: var(--chip-active-bg) !important;
    color: var(--chip-active-color) !important;
}

/* Animated tab indicator */
.ato-indicator {
    background: linear-gradient(
        to bottom,
        rgba(var(--accent-rgb), 0.72),
        rgba(var(--accent-rgb), 0.42)
    ) !important;
    border: 1px solid rgba(var(--accent-rgb), 0.35) !important;
    border-radius: var(--radius-xs) !important;
    box-shadow: 0 10px 22px rgba(var(--accent-rgb), 0.22), inset 0 1px rgba(255, 255, 255, 0.18) !important;
}

/* Progress bars */
div.progress-bar span,
.progress-fill,
.race-progress .line,
.simple-progress .fill {
    background: var(--progressbg) !important;
}

.progress-circle .progress-svg circle.circle-bg {
    stroke: rgba(139, 140, 167, 0.2);
}

.progress-circle .progress-svg circle.circle {
    stroke: var(--accent);
}

/* Game opener buttons */
.game-item div.game-top div.game-opener {
    border-color: var(--game-opener-border) !important;
    background: var(--game-opener-overlay) !important;
    border-radius: var(--radius-md);
}

.game-item div.game-top div.game-opener div.play-buttons span.button,
.game-item div.game-top div.game-opener div.play-buttons a.button {
    background-color: var(--game-play-btn-bg) !important;
    color: var(--game-play-btn-color) !important;
    border-radius: var(--radius-sm) !important;
}

.game-item div.game-top div.game-opener div.play-buttons span.button.demo,
.game-item div.game-top div.game-opener div.play-buttons a.button.demo {
    background-color: var(--game-demo-btn-bg) !important;
    color: var(--game-demo-btn-color) !important;
}

/* Race carousel CTA */
div.race-carousels div.slider-item .race-item div.head div.details div.buttons a.button {
    background-color: var(--accent) !important;
    color: var(--brand-primary-contrast) !important;
    border-color: var(--accent) !important;
    border-radius: var(--radius-xs) !important;
}

/* Sidebar / menu active marker and active links */
.sidebar .menu a.active,
.sidebar .submenu a.active,
.sidebar-menu a.active,
.accordion-menu a.active,
.lowbar .item.active {
    color: var(--accent) !important;
}

.sidebar .menu .active-indicator,
.accordion-menu .active-indicator,
.lowbar .indicator {
    background: var(--gradient-primary-horizontal) !important;
    box-shadow: var(--shadow-accent-sm);
    border-radius: var(--radius-pill);
}

.sidebar,
.sidebar-menu,
.accordion-menu {
    background: var(--sidebar-bg-open) !important;
}

.sl-acc__head,
a.sb-top-btn,
.sb-top-btn {
    background: var(--gradient-card) !important;
    border-color: var(--border-soft) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

a.sb-top-btn .icon,
a.sb-top-btn .sb-top-title,
a.sb-top-btn .sb-top-arrow,
.sb-top-btn .icon,
.sb-top-btn .sb-top-title,
.sb-top-btn .sb-top-arrow,
.sl-acc__headLeft .sl-acc__headTitle {
    color: #ffffff !important;
}

a.sb-top-btn:hover,
.sb-top-btn:hover,
a.sb-top-btn.active,
.sb-top-btn.active {
    background: linear-gradient(180deg, #16294D 0%, #0D1A33 100%) !important;
    box-shadow: var(--glow-primary);
}

.p2bgIcon:has(svg[data-ds-icon="Casino"]) {
    background: var(--p2-casino-bg) !important;
    box-shadow: var(--p2-casino-shadow) !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

.p2bgIcon:has(path[d^="M20.864 18.483a11 11 0 0 0 1.824-3.931"]) {
    background: var(--p2-sports-bg) !important;
    box-shadow: var(--p2-sports-shadow) !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

.p2content:has(svg[data-ds-icon="Casino"]) .p2label,
.p2content:has(path[d^="M20.864 18.483a11 11 0 0 0 1.824-3.931"]) .p2label {
    color: var(--p2-tile-text) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.p2bgIcon:has(svg[data-ds-icon="Casino"]) svg,
.p2bgIcon:has(path[d^="M20.864 18.483a11 11 0 0 0 1.824-3.931"]) svg {
    opacity: var(--p2-bg-icon-opacity) !important;
    filter: var(--p2-bg-icon-filter) !important;
}

.hp-hero.hp-hero--desktop,
.hp-hero.hp-hero--desktop .enterence-box,
.hp-hero.hp-hero--desktop .container {
    background: var(--hero-shell-bg) !important;
    background-image: none !important;
}

.hp-hero.hp-hero--desktop .hp-hero-bg {
    background: var(--gradient-hero) !important;
    background-image: none !important;
}

/* FAQ background glow */
.faq__bg {
    filter: none !important;
    pointer-events: none;
    background:
        radial-gradient(700px 320px at 10% 0, rgba(var(--accent-rgb), 0.16), transparent 60%),
        radial-gradient(520px 260px at 100% 30%, rgba(255, 255, 255, 0.08), transparent 62%),
        radial-gradient(560px 300px at 20% 120%, rgba(var(--accent-rgb), 0.1), transparent 55%) !important;
}

/* Notification surfaces */
.notifications .notification-item,
.notification-item {
    background: var(--gradient-surface) !important;
    border: var(--border-thin) solid var(--surface-border-soft);
    border-radius: var(--radius-sm) !important;
}

body {
    background: var(--page-body-bg) !important;
}

.homepage-shell {
    background: var(--homepage-shell-bg) !important;
}

.hero-section {
    position: relative;
    isolation: isolate;
}

.hero-section::before {
    content: "";
    position: absolute;
    inset: -40px -60px auto -60px;
    height: 420px;
    pointer-events: none;
    background: var(--hero-section-before-bg);
    filter: blur(var(--hero-section-before-blur));
    z-index: 0;
}

.hero-section > * {
    position: relative;
    z-index: 1;
}

.notifications .notification-item.unread,
.notification-item.unread {
    border-color: var(--accent-border) !important;
    box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), 0.08);
}

/* Generic utility mappings for old hardcoded palette usage */
.theme-bg-primary,
.bg-primary,
[data-theme="primary"] {
    background-color: var(--accent) !important;
    color: var(--brand-primary-contrast) !important;
}

.theme-surface,
.bg-surface,
[data-theme="surface"] {
    background-color: var(--legacy-bg-3) !important;
    color: var(--text-primary) !important;
}

.theme-muted,
.text-muted,
[data-theme="muted"] {
    color: var(--legacy-text-muted) !important;
}

/* Settings page theme tokens */
:root {
    --settings-sidebar-bg: rgba(10, 18, 32, 0.9);
    --settings-sidebar-border: rgba(132, 172, 236, 0.2);
    --settings-sidebar-shadow: 0 18px 36px rgba(0, 0, 0, 0.34);
    --settings-sidebar-radius: 12px;
    --settings-sidebar-select-bg: rgba(255, 255, 255, 0.03);
    --settings-sidebar-item-radius: 8px;
    --settings-sidebar-item-color: rgba(223, 236, 255, 0.84);
    --settings-sidebar-item-active-bg: linear-gradient(120deg, rgba(var(--accent-rgb), 0.24), rgba(var(--accent-rgb), 0.08));
    --settings-sidebar-active-color: #f4f9ff;

    --settings-content-bg: rgba(8, 14, 28, 0.86);
    --settings-content-border: rgba(130, 172, 241, 0.18);
    --settings-content-shadow: 0 24px 48px rgba(0, 0, 0, 0.36);
    --settings-content-radius: 12px;

    --settings-block-bg: rgba(12, 20, 36, 0.82);
    --settings-block-border: rgba(137, 178, 243, 0.18);
    --settings-block-divider: rgba(137, 178, 243, 0.16);
    --settings-block-header-bg: transparent;
    --settings-block-radius: 10px;
    --settings-block-title-color: rgba(244, 250, 255, 0.96);
    --settings-block-desc-color: rgba(194, 214, 244, 0.78);

    --settings-field-title-color: rgba(227, 240, 255, 0.9);
    --settings-control-bg: rgba(7, 16, 32, 0.72);
    --settings-control-border: rgba(139, 183, 251, 0.24);
    --settings-control-color: rgba(241, 248, 255, 0.95);
    --settings-control-radius: 8px;

    --settings-check-title-color: rgba(240, 248, 255, 0.94);
    --settings-check-desc-color: rgba(187, 209, 241, 0.74);

    /* Common page header */
    --page-header-radius: 4px;
    --page-header-bg: var(--linearbg);
    --page-header-shadow: 0 18px 60px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    --page-header-top-line: linear-gradient(90deg, rgba(var(--accent-rgb), 0), rgba(var(--accent-rgb), 0.55), rgba(var(--accent-rgb), 0));
    --page-header-title-color: rgba(255, 255, 255, 0.96);
    --page-header-subtitle-color: rgba(255, 255, 255, 0.65);
    --page-header-icon-color: #0e1017;

    /* Blog detail */
    --blog-detail-shell-border: rgba(255, 255, 255, 0.08);
    --blog-detail-shell-radius: 12px;
    --blog-detail-shell-bg: linear-gradient(180deg, rgba(8, 14, 28, 0.94), rgba(8, 14, 28, 0.84));
    --blog-detail-shell-shadow: 0 24px 50px rgba(0, 0, 0, 0.36);
    --blog-detail-empty-border: rgba(255, 255, 255, 0.15);
    --blog-detail-empty-color: rgba(255, 255, 255, 0.8);
    --blog-detail-card-bg: rgba(255, 255, 255, 0.02);
    --blog-detail-close-border: rgba(255, 255, 255, 0.14);
    --blog-detail-close-bg: rgba(255, 255, 255, 0.04);
    --blog-detail-close-color: rgba(255, 255, 255, 0.9);
    --blog-detail-close-border-hover: rgba(255, 255, 255, 0.28);
    --blog-detail-close-bg-hover: rgba(255, 255, 255, 0.08);
    --blog-detail-image-border: rgba(255, 255, 255, 0.08);
    --blog-detail-title-color: #fff;
    --blog-detail-lead-color: rgba(255, 255, 255, 0.82);
    --blog-detail-time-color: rgba(255, 255, 255, 0.65);
    --blog-detail-content-color: rgba(255, 255, 255, 0.88);

    /* Policies page */
    --policies-content-bg: rgba(8, 14, 28, 0.86);
    --policies-content-color: var(--text-secondary);
    --policies-link-color: var(--accent);
    --policies-heading-color: #fff;

    /* Wheel page */
    --wheel-page-glow-a: rgba(var(--accent-rgb), 0.16);
    --wheel-page-glow-b: rgba(255, 255, 255, 0.07);
    --wheel-tabs-border: rgba(255, 255, 255, 0.08);
    --wheel-tabs-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));
    --wheel-tabs-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 14px 24px rgba(0, 0, 0, 0.28);
    --wheel-tab-border: rgba(255, 255, 255, 0.16);
    --wheel-tab-bg: rgba(255, 255, 255, 0.03);
    --wheel-tab-color: rgba(255, 255, 255, 0.9);
    --wheel-tab-border-hover: rgba(255, 255, 255, 0.28);
    --wheel-tab-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --wheel-tab-shadow-hover: 0 10px 18px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    --wheel-chip-color: #fff;
    --wheel-chip-bg: rgba(var(--accent-rgb), 0.2);
    --wheel-chip-border: rgba(var(--accent-rgb), 0.36);
    --wheel-tab-active-border: rgba(var(--accent-rgb), 0.48);
    --wheel-tab-active-bg: linear-gradient(180deg, rgba(var(--accent-rgb), 0.86), rgba(var(--accent-rgb), 0.56));
    --wheel-tab-active-shadow: 0 10px 20px rgba(var(--accent-rgb), 0.24);
    --wheel-card-border: rgba(255, 255, 255, 0.08);
    --wheel-card-bg: var(--modalbg);
    --wheel-card-shadow: 0 16px 32px rgba(0, 0, 0, 0.3);
    --wheel-stage-ring: rgba(255, 255, 255, 0.1);
    --wheel-stage-ring-outer: rgba(255, 255, 255, 0.03);
    --wheel-stage-plate-border: rgba(255, 255, 255, 0.14);
    --wheel-stage-plate-bg: radial-gradient(circle, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
    --wheel-stage-center-bg: radial-gradient(circle at 50% 35%, rgba(38, 53, 80, 0.92), rgba(14, 22, 38, 0.98));
    --wheel-stage-center-border: rgba(255, 255, 255, 0.26);
    --wheel-stage-center-ring: rgba(6, 12, 24, 0.62);
    --wheel-stage-center-shadow: 0 10px 24px rgba(0, 0, 0, 0.42);
    --wheel-stage-center-highlight: rgba(255, 255, 255, 0.14);
    --wheel-halo-outer-border: rgba(var(--accent-rgb), 0.36);
    --wheel-halo-inner-border: rgba(var(--accent-rgb), 0.22);
    --wheel-halo-inner-shadow: inset 0 0 45px rgba(var(--accent-rgb), 0.16);
    --wheel-arrow-shadow: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.45));
    --wheel-spin-btn-border: rgba(255, 255, 255, 0.2);
    --wheel-spin-btn-bg: linear-gradient(180deg, rgba(30, 47, 73, 0.94), rgba(12, 20, 34, 0.97));
    --wheel-spin-btn-color: rgba(236, 245, 255, 0.96);
    --wheel-spin-btn-shadow: 0 12px 24px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(var(--accent-rgb), 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    --wheel-side-summary-border: rgba(255, 255, 255, 0.08);
    --wheel-side-summary-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015));
    --wheel-muted-text: rgba(255, 255, 255, 0.7);
    --wheel-strong-text: #fff;
    --wheel-status-border: rgba(255, 255, 255, 0.15);
    --wheel-status-bg: rgba(255, 255, 255, 0.04);
    --wheel-status-ready-color: #7dffb6;
    --wheel-status-ready-border: rgba(125, 255, 182, 0.35);
    --wheel-status-ready-bg: rgba(125, 255, 182, 0.12);
    --wheel-status-passive-color: rgba(255, 255, 255, 0.76);
    --wheel-article-border: rgba(255, 255, 255, 0.08);
    --wheel-article-bg: rgba(255, 255, 255, 0.01);
    --wheel-article-color: rgba(255, 255, 255, 0.88);
    --wheel-result-border: rgba(var(--accent-rgb), 0.22);
    --wheel-result-bg: rgba(var(--accent-rgb), 0.1);
    --wheel-register-btn-border: rgba(var(--accent-rgb), 0.5);
    --wheel-register-btn-bg: linear-gradient(180deg, var(--accent), rgba(var(--accent-rgb), 0.8));
    --wheel-register-btn-color: #fff;
    --wheel-register-btn-shadow: 0 12px 24px rgba(var(--accent-rgb), 0.2);

    /* Promotions cards */
    --promotion-hover-panel-bg: linear-gradient(180deg, rgba(17, 24, 39, 0.94), rgba(16, 23, 36, 0.96));
    --promotion-hover-panel-pattern: radial-gradient(620px 240px at 80% 20%, rgba(255, 255, 255, 0.04), transparent 66%);
    --promotion-hover-title-color: rgba(255, 255, 255, 0.96);
    --promotion-hover-desc-color: rgba(184, 204, 232, 0.78);
    --promotion-bottom-icon-color: var(--text-primary);
    --promotion-bottom-info-color: var(--text-muted);
}
