:root {
    /* =========================================================
       THEME CONTRACT (GLOBAL)
       Dark green version based on #00ED42 / #0A2417
       ========================================================= */

    /* Logo */
    --header-footer-logo: url("https://vendor-provider.fra1.cdn.digitaloceanspaces.com/6q/assets/images/dark-logo-new.svg");
    /* Tek kaynak: entrance gorseli bu tokendan yonetilir (kullanim yerleri
       body:has ve main#main, satir ~1400 civari). Deger, canli config ile
       ayni Gambi jpg'sine sabitlendi. Eski deger betyonerv2/enterence-bg.png
       idi: baska tenant'in asset kalintisi, marka guvenligi icin kullanilmaz;
       Gambi'ye ozel yeni hero gorseli uretilince buradan degistirilecek. */
    --homepage-entrance-bg-image: url("https://vendor-provider.fra1.cdn.digitaloceanspaces.com/ebetlab/qwVpcjhJhjJbbJXthDaTicFGPdhWnmjf/statics/uDLVD9yd46Vj7jhqwVuFvcR5NgeUtgQVIHRQcYLF.jpg");

    /* Brand */
    --brand-primary: #00ED42 !important;
    --accent: #00ED42 !important;

    --brand-primary-rgb: 0, 200, 60;
    --brand-secondary-rgb: 0, 160, 50;

    --brand-primary-contrast: #021a09;
    --brand-secondary: #00c435;

    --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.2);
    --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.38);

    /* Surfaces */
    --surface-bg: #040e08;
    --surface-bg-rgb: 4, 14, 8;
    --surface-1: #071610;
    --surface-2: #091c13;
    --surface-3: #0e2519;
    --surface-4: #142e20;

    --surface-card: var(--surface-2);
    --surface-modal: #071810;
    --surface-elevated: #102819;

    --surface-border: rgba(255, 255, 255, 0.12);
    --surface-border-soft: rgba(255, 255, 255, 0.08);
    --surface-border-strong: rgba(255, 255, 255, 0.18);

    /* Legacy dark palette aliases */
    --legacy-bg-1: #0d1f12;
    --legacy-bg-2: #142a1a;
    --legacy-bg-3: #1c3824;
    --legacy-text-muted: #5fa870;

    /* Text */
    --text-primary: #ffffff;
    --text-secondary: rgba(255, 255, 255, 0.88);
    --text-muted: rgba(255, 255, 255, 0.72);
    --text-soft: rgba(255, 255, 255, 0.56);
    --text-disabled: rgba(255, 255, 255, 0.38);
    --text-on-accent: var(--brand-primary-contrast);

    /* States */
    --success: #00ED42;
    --success-rgb: 0, 237, 66;
    --warning: #efb025;
    --warning-rgb: 239, 176, 37;
    --danger: #ff5365;
    --danger-rgb: 255, 83, 101;
    --info: #44ffaa;
    --info-rgb: 68, 255, 170;

    --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: 6px;
    --radius-sm: 8px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 20px;
    --radius-3xl: 24px;
    --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.28);
    --shadow-lg: 0 14px 32px rgba(0, 0, 0, 0.34);
    --shadow-xl: 0 18px 44px rgba(0, 0, 0, 0.42);
    --shadow-accent-sm: 0 8px 18px rgba(var(--accent-rgb), 0.28);
    --shadow-accent-md: 0 12px 28px rgba(var(--accent-rgb), 0.4);
    --shadow-accent-lg: 0 16px 36px rgba(var(--accent-rgb), 0.48);

    /* Gradients */
    --gradient-primary: linear-gradient(180deg, rgba(var(--accent-rgb), 0.95), rgba(var(--accent-rgb), 0.72));
    --gradient-primary-horizontal: linear-gradient(90deg, rgba(var(--accent-rgb), 0.96), rgba(var(--accent-rgb), 0.74));
    --gradient-overlay: linear-gradient(180deg, rgba(4, 20, 10, 0.9), rgba(2, 10, 5, 0.92));
    --gradient-surface: linear-gradient(180deg, var(--surface-2), var(--surface-1));
    --gradient-chip: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03));
    --gradient-withdraw: linear-gradient(90deg, #ff5a6f 0%, #f03b57 30%, #d91f3f 68%, #b5122e 100%);

    /* Legacy variables */
    --panel-top: #0c2015;
    --panel-bottom: #071510;

    /* CAKISMA K1 duzeltmesi: platform chunk (25fed48c...css) bu iki tokeni
       :root'ta color-mix ile %28 saydamlastirip bizden SONRA yukluyor ve
       opak degerimizi eziyordu. !important ile kilitlendi (panellerimiz
       opak yesil kalir, arka plan sizmaz). */
    --panel-bg: var(--surface-2) !important;
    --panel-bg2: var(--surface-1) !important;
    --modalbg: linear-gradient(180deg, var(--panel-bg), var(--panel-bg2));
    --linearbg: radial-gradient(900px 220px at 15% 0%, rgba(0, 237, 66, 0.04), transparent 55%),
        linear-gradient(180deg, rgba(7, 22, 13, 0.92), rgba(4, 14, 8, 0.92));
    --linearbgreversed: radial-gradient(900px 220px at 85% 0%, rgba(0, 237, 66, 0.04), transparent 55%),
        linear-gradient(180deg, rgba(7, 22, 13, 0.92), rgba(4, 14, 8, 0.92));
    --lineartooltipbg: linear-gradient(180deg, rgba(8, 24, 14, 0.96), rgba(4, 12, 7, 0.98));

    /* Progress / indicators */
    --progressbg: linear-gradient(
        to right,
        rgba(var(--accent-rgb), 0.72) 0%,
        rgba(var(--accent-rgb), 0.82) 35%,
        rgba(var(--accent-rgb), 0.98) 70%,
        rgba(var(--accent-rgb), 1) 100%
    );

    /* Inputs */
    --input-bg: var(--linearbg);
    --input-bg-solid: var(--legacy-bg-3);
    --input-border: rgba(0, 200, 60, 0.2);
    --input-border-focus: rgba(var(--accent-rgb), 0.65);
    --input-placeholder: rgba(255, 255, 255, 0.45);

    /* Buttons */
    --btn-primary-bg: var(--accent);
    --btn-primary-bg-hover: color-mix(in srgb, var(--accent) 84%, #ffffff 16%);
    --btn-primary-bg-active: color-mix(in srgb, var(--accent) 88%, #000000 12%);
    --btn-primary-color: var(--brand-primary-contrast);
    --btn-primary-radius: var(--radius-xs);
    --btn-primary-shadow: var(--shadow-accent-sm);
    --btn-primary-shadow-active: var(--shadow-accent-md);
    --btn-primary-disabled-opacity: 0.55;

    --btn-secondary-bg: var(--legacy-bg-3);
    --btn-secondary-bg-hover: color-mix(in srgb, var(--legacy-bg-3) 86%, #ffffff 14%);
    --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(--btn-primary-bg);
    --header-register-color: var(--btn-primary-color);
    --wallet-btn-bg-start: #0c2015;
    --wallet-btn-bg-end: var(--accent);
    --wallet-btn-gradient: linear-gradient(90deg, var(--wallet-btn-bg-start) 0%, var(--wallet-btn-bg-end) 100%);
    --wallet-btn-color: var(--brand-primary-contrast);

    /* Tabs / chips / pills */
    --tab-active-bg: var(--accent);
    --tab-active-color: var(--brand-primary-contrast);
    --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-lg);
    --card-shadow: var(--shadow-md);

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

    /* Wallet */
    /* Duzeltme: deposit yuzeyi bolum sozlesmesi geregi yesil gradyan + koyu metin;
       duz renk yerine --gradient-primary hattina baglandi (tek kaynak). */
    --wallet-deposit-bg: var(--gradient-primary);
    --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(4, 18, 10, 0.84) 0%, rgba(4, 18, 10, 0.84) 100%);
    --game-play-btn-bg: var(--accent);
    --game-play-btn-color: var(--brand-primary-contrast);
    --game-demo-btn-bg: var(--legacy-text-muted);
    --game-demo-btn-color: #ffffff;

    /* Slider controls */
    --slider-nav-bg: rgba(4, 20, 10, 0.8);
    --slider-nav-bg-hover: rgba(var(--accent-rgb), 0.28);
    --slider-nav-border: rgba(var(--accent-rgb), 0.35);
    --slider-nav-color: #ffffff;
    --slider-pagination-dot: rgba(255, 255, 255, 0.35);
    --slider-pagination-dot-active: var(--accent);

    /* 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 */
    --top-search-form-border: 1px solid #1a3d24;
    --top-search-form-radius: 4px;
    --top-search-form-margin-top: 24px;
    --top-search-form-margin-bottom: 24px;
    --top-search-form-padding-x: 12px;
    --top-search-form-height: 48px;
    --top-search-form-line-height: 62px;
    /* DIKKAT: 0px bilincli bir hack. Platformun top-search form alanindaki
       varsayilan placeholder/metni gizlemek icin font boyutu sifirlaniyor;
       gorunur arama metni baska katmanda cizildigi icin ekranda kayip yok.
       Kaldirilirsa platform placeholder'i geri gorunur; degistirmeden once
       test ortaminda arama kutusu gorunumu mutlaka test edilmeli. */
    --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: #4a9c60;
    --top-search-input-color: var(--text-primary);
    --top-search-input-placeholder: rgba(255, 255, 255, 0.55);
    --top-search-focus-radius: 16px;
    --top-search-focus-shadow: 0 22px 70px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(var(--accent-rgb), 0.22),
        0 0 30px rgba(var(--accent-rgb), 0.1);

    --top-search-layer-radius: 18px;
    --top-search-layer-border: 1px solid rgba(255, 255, 255, 0.1);
    --top-search-layer-border-bottom: 10px solid rgba(255, 255, 255, 0.1);
    --top-search-layer-bg: rgba(4, 14, 8, 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: 10px;
    --top-search-recent-wrap-border: 1px solid rgba(var(--brand-secondary-rgb), 0.26);
    --top-search-recent-wrap-bg: linear-gradient(180deg, rgba(4, 16, 8, 0.82), rgba(2, 10, 5, 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.5);
    --top-search-recent-chip-bg: linear-gradient(135deg, rgba(var(--brand-secondary-rgb), 0.26), rgba(var(--brand-secondary-rgb), 0.14));
    --top-search-recent-chip-color: #e8fff0;
    --top-search-recent-chip-font-family: var(--font-family-semibold);
    --top-search-recent-chip-shadow: 0 6px 14px rgba(var(--brand-secondary-rgb), 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.16);

    /* Lowbar */
    --lb-bg: rgba(4, 16, 8, 0.72);
    --lb-stroke: rgba(255, 255, 255, 0.1);
    --lb-stroke-2: rgba(255, 255, 255, 0.06);
    --lb-text: rgba(255, 255, 255, 0.86);
    --lb-muted: rgba(255, 255, 255, 0.65);
    --lb-active: var(--accent);
    --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: #0c2216;
    --lb-radius: 22px;
    --lb-radius-sm: 20px;
    --lb-surface-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
    --lb-wallet-ring-color: rgba(var(--accent-rgb), 0.6);
    --lb-wallet-ring-size: 0.2rem;
    --lb-wallet-glow: radial-gradient(circle, rgba(var(--accent-rgb), 0.18), rgba(var(--accent-rgb), 0) 65%);
    --lb-wallet-glow-radius: radial-gradient(circle, rgba(var(--accent-rgb), 0.22), rgba(var(--accent-rgb), 0) 62%);
    --lb-chat-bg: linear-gradient(135deg, rgba(var(--accent-rgb), 0.9), rgba(var(--accent-rgb), 0.65));
    --lb-chat-border: rgba(var(--accent-rgb), 0.5);
    --lb-chat-color: #021a09;
    --lb-chat-shadow: 0 12px 24px rgba(var(--accent-rgb), 0.26), 0 8px 20px rgba(0, 0, 0, 0.28);
    --lb-chat-shadow-hover: 0 14px 28px rgba(var(--accent-rgb), 0.34), 0 10px 24px rgba(0, 0, 0, 0.32);

    /* Sidebar top tabs */
    --sidebar-tab-casino-bg-image: linear-gradient(180deg, rgba(0, 200, 60, 0.9), rgba(0, 200, 60, 0.9));
    --sidebar-tab-sportsbook-bg-image: linear-gradient(180deg, #fb6308d6, #fb6308d6);

    /* 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(0, 100, 40, 0.16);
    --notif-empty-border: rgba(255, 255, 255, 0.08);
    --notif-item-bg: rgba(0, 100, 40, 0.14);
    --notif-item-bg-hover: rgba(0, 100, 40, 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(8, 24, 14, 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(4, 30, 14, 0.92), rgba(var(--accent-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, #00a832, #00c43a, #00d842, #00ed42, #30ff66);
    --game-bets-empty-bg: linear-gradient(145deg, rgba(6, 22, 12, 0.92), rgba(3, 14, 7, 0.86));
    --game-bets-empty-border: rgba(0, 180, 70, 0.34);
    --game-bets-empty-icon-bg: rgba(0, 120, 46, 0.24);
    --game-bets-empty-icon-border: rgba(0, 200, 80, 0.34);
    --game-bets-empty-icon-shadow: 0 8px 24px rgba(2, 20, 8, 0.45);
    --game-bets-empty-title: #efffef;
    --game-bets-empty-text: rgba(180, 240, 200, 0.9);
    --game-bets-empty-button-bg: rgba(0, 100, 36, 0.45);
    --game-bets-empty-button-border: rgba(0, 200, 80, 0.5);
    --game-bets-empty-button-hover-bg: rgba(0, 130, 50, 0.58);
    --game-bets-empty-button-hover-border: rgba(0, 237, 66, 0.72);

    /* Favorites empty card */
    --favorites-empty-bg: linear-gradient(140deg, rgba(6, 26, 14, 0.94), rgba(2, 14, 7, 0.96));
    --favorites-empty-border: rgba(0, 220, 80, 0.3);
    --favorites-empty-shadow: inset 0 1px 0 rgba(100, 255, 150, 0.14), 0 18px 42px rgba(2, 14, 6, 0.42);
    --favorites-empty-icon-bg: rgba(0, 120, 50, 0.28);
    --favorites-empty-icon-border: rgba(0, 220, 90, 0.42);
    --favorites-empty-icon-shadow: 0 8px 26px rgba(0, 140, 50, 0.45);
    --favorites-empty-title: #efffef;
    --favorites-empty-text: rgba(180, 240, 200, 0.9);
    --favorites-empty-btn-bg: linear-gradient(180deg, #00ed42 0%, #00c435 100%);
    --favorites-empty-btn-border: rgba(0, 220, 80, 0.58);
    --favorites-empty-btn-shadow: 0 8px 20px rgba(0, 180, 60, 0.36);

    /* Race / raffle info blocks */
    --event-trophy-bg: rgba(0, 0, 0, 0.18);
    --event-trophy-border: rgba(0, 200, 80, 0.34);
    --event-card-border: rgba(255, 255, 255, 0.08);
    --event-divider: rgba(255, 255, 255, 0.12);
    --event-title: #ffffff;
    --event-label: rgba(200, 255, 220, 0.95);
    --event-muted: rgba(160, 230, 190, 0.95);
    --event-stat-label: rgba(150, 220, 180, 0.92);
    --event-cta-bg: var(--gradient-primary);
    --event-cta-color: var(--brand-primary-contrast);
    --event-progress-track: rgba(2, 18, 8, 0.75);

    /* Withdraw progress */
    --withdraw-progress-bg: rgba(4, 22, 10, 0.72);
    --withdraw-progress-border: rgba(0, 180, 80, 0.3);
    --withdraw-progress-track: rgba(8, 36, 18, 0.85);
    --withdraw-progress-fill: linear-gradient(90deg, #00ed42 0%, #00c4a0 100%);
    --withdraw-progress-stat-bg: rgba(255, 255, 255, 0.04);
    --withdraw-progress-label: #6abf84;
    --withdraw-progress-value: #efffef;
    --withdraw-progress-note: #7ed4a8;

    /* Challenges page */
    --challenge-filter-bg: rgba(10, 36, 18, 0.55);
    --challenge-filter-border: rgba(0, 180, 80, 0.24);
    --challenge-filter-text: #5aac70;
    --challenge-filter-text-hover: #c0ffd0;
    --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%, #0a4a1e 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(1, 6, 3, 0.32);
    --challenge-image-fallback: color-mix(in srgb, var(--surface-3) 75%, #0a2e14 25%);

    --challenge-title: #efffef;
    --challenge-target: rgba(180, 240, 200, 0.86);
    --challenge-label: rgba(150, 220, 180, 0.84);
    --challenge-value: #efffef;
    --challenge-author: #efffef;
    --challenge-claimed-divider: rgba(100, 220, 140, 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(2, 10, 4, 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%, #d9fff0 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) 82%, #00a832 18%) 0%,
        color-mix(in srgb, var(--accent) 84%, #00c455 16%) 100%
    );
    --challenge-provider-pill-text: #021a09;

    /* 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: #4a8c5e;
    --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(8, 28, 16, .96) 0%, rgba(4, 14, 8, .96) 100%);
    --sidebar-bg-open-accent: rgba(var(--accent-rgb), .18);
    --sidebar-bg-open-secondary: rgba(var(--warning-rgb), .10);

    --sidebar-bg-collapsed: linear-gradient(180deg, rgba(4, 20, 10, 0.98) 0%, rgba(2, 12, 6, 0.98) 100%);
    --sidebar-bg-collapsed-accent: rgba(var(--accent-rgb), 0.20);

    --sidebar-bg-active: linear-gradient(180deg, rgba(6, 24, 12, 0.97) 0%, rgba(2, 12, 6, 0.98) 100%);
    --sidebar-bg-active-accent: rgba(var(--accent-rgb), 0.22);
    --sidebar-bg-active-secondary: rgba(var(--success-rgb), 0.12);

    --sidebar-stroke: rgba(255, 255, 255, .06);
    --sidebar-stroke-strong: rgba(255, 255, 255, .10);
    --sidebar-stroke-accent: rgba(var(--accent-rgb), .24);
    --sidebar-text: rgba(210, 255, 225, 0.94);
    --sidebar-text-muted: rgba(130, 200, 160, 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), .16);

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

    --sidebar-search-bg: radial-gradient(420px 120px at 15% 0%, rgba(var(--accent-rgb), .10), transparent 60%),
        linear-gradient(180deg, rgba(255, 255, 255, .06), 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, #0c2015 0%, color-mix(in srgb, var(--accent) 84%, #00c455 16%) 100%);

    --sidebar-top-btn-border: rgba(255, 255, 255, 0.07);
    --sidebar-top-btn-bg: linear-gradient(95deg, rgba(10, 48, 22, 0.65) 0%, rgba(6, 34, 14, 0.75) 50%, rgba(4, 24, 10, 0.8) 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(210, 255, 225, 0.94);
    --sidebar-top-btn-arrow: rgba(100, 255, 150, 0.88);

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

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

/* =========================================================
   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
   ========================================================= */

/* Header register & wallet buttons — see PREMIUM ADDITIONS section below for full animated versions */
header#header div.middle-header div.middle-header-container div.logo img,
header#header div.middle-header div.middle-header-container div.logo svg {
    margin-top: 8px;
}

/* =========================================================
   PRIMARY ACTION BUTTONS - Animated gradient + glow hover
   ========================================================= */
.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: linear-gradient(135deg, #00ed42 0%, #00c435 60%, #009e2a 100%) !important;
    background-size: 200% 200% !important;
    color: #021a09 !important;
    border-radius: var(--btn-primary-radius) !important;
    box-shadow: 0 4px 14px rgba(0, 200, 60, 0.3) !important;
    transition: background-position 0.4s ease, box-shadow 0.3s ease, transform 0.2s ease !important;
    position: relative;
    overflow: hidden;
}

.common-form-button .button::after,
form.general-form div.form-buttons button::after,
.auth div.auth-box form.auth-form div.form-buttons button::after,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-buttons button::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.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-position: right center !important;
    box-shadow: 0 6px 24px rgba(0, 237, 66, 0.5), 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    transform: translateY(-2px) !important;
}

.common-form-button .button:hover::after,
form.general-form div.form-buttons button:hover::after,
.auth div.auth-box form.auth-form div.form-buttons button:hover::after,
.auth-modal .modal-dialog .modal-content .modal-box form.auth-form div.form-buttons button:hover::after {
    opacity: 1;
}

.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 {
    transform: translateY(0px) !important;
    box-shadow: 0 2px 10px rgba(0, 200, 60, 0.4) !important;
}

/* =========================================================
   INPUTS - Green focused border glow
   ========================================================= */
.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;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.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: rgba(0, 237, 66, 0.6) !important;
    box-shadow: 0 0 0 3px rgba(0, 200, 60, 0.18), 0 0 16px rgba(0, 237, 66, 0.12) !important;
}

/* Modals */
.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 {
    /* Uncomment to apply:
    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: linear-gradient(135deg, #00ed42, #00c435) !important;
    color: #021a09 !important;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}

#walletModal .modal-dialog .modal-content .modal-body div.wallet-box div.wallet-normal div.wallet-body div.wallet-buttons span.button.deposit:hover {
    box-shadow: 0 6px 20px rgba(0, 237, 66, 0.45);
    transform: translateY(-1px) !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;
    transition: background-color 0.25s ease, transform 0.2s ease !important;
}

#walletModal .modal-dialog .modal-content .modal-body div.wallet-footer a.button:hover {
    transform: translateY(-1px) !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: #021a09 !important;
    background-color: var(--tab-active-bg) !important;
    border-color: var(--tab-active-border) !important;
    box-shadow: 0 4px 14px rgba(0, 200, 60, 0.3) !important;
}

.simple-bets .nav.nav-pills .nav-link,
.simple-bets ul li button {
    transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease !important;
}

.faq__chip,
.ato-btn {
    border-color: var(--chip-border);
    background: var(--chip-bg);
    color: var(--chip-color);
    border-radius: var(--radius-pill);
    transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease, transform 0.2s ease !important;
}

.faq__chip:hover,
.ato-btn:hover {
    border-color: rgba(0, 200, 60, 0.35) !important;
    background: rgba(0, 200, 60, 0.08) !important;
    transform: translateY(-1px) !important;
}

.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;
    box-shadow: 0 0 12px rgba(0, 200, 60, 0.2) !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;
    transition: left 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), width 0.3s ease !important;
}

/* =========================================================
   PROGRESS BARS
   ========================================================= */
div.progress-bar span,
.progress-fill,
.race-progress .line,
.simple-progress .fill {
    background: linear-gradient(90deg, #009e2a 0%, #00c435 40%, #00ed42 80%, #30ff66 100%) !important;
    background-size: 200% 100% !important;
    animation: progress-shimmer 2.5s ease infinite !important;
}

.progress-circle .progress-svg circle.circle-bg {
    stroke: rgba(0, 120, 50, 0.2);
}

.progress-circle .progress-svg circle.circle {
    stroke: #00ed42;
    filter: drop-shadow(0 0 4px rgba(0, 237, 66, 0.5));
    transition: stroke-dashoffset 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* =========================================================
   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);
    transition: opacity 0.25s ease !important;
}

.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: linear-gradient(135deg, #00ed42, #00c435) !important;
    color: #021a09 !important;
    border-radius: var(--radius-sm) !important;
    transition: box-shadow 0.3s ease, transform 0.2s ease !important;
    position: relative;
    overflow: hidden;
}

.game-item div.game-top div.game-opener div.play-buttons span.button::before,
.game-item div.game-top div.game-opener div.play-buttons a.button::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 40%;
    height: 200%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
    transform: skewX(-20deg);
    transition: left 0.5s ease;
}

.game-item div.game-top div.game-opener div.play-buttons span.button:hover::before,
.game-item div.game-top div.game-opener div.play-buttons a.button:hover::before {
    left: 120%;
}

.game-item div.game-top div.game-opener div.play-buttons span.button:hover,
.game-item div.game-top div.game-opener div.play-buttons a.button:hover {
    box-shadow: 0 6px 20px rgba(0, 237, 66, 0.45) !important;
    transform: translateY(-2px) scale(1.02) !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: rgba(95, 168, 112, 0.2) !important;
    color: #ffffff !important;
    border: 1px solid rgba(0, 200, 60, 0.25) !important;
}

.game-item div.game-top div.game-opener div.play-buttons span.button.demo:hover,
.game-item div.game-top div.game-opener div.play-buttons a.button.demo:hover {
    background: rgba(95, 168, 112, 0.35) !important;
    box-shadow: 0 4px 14px rgba(0, 200, 60, 0.25) !important;
}

/* =========================================================
   RACE CAROUSEL CTA
   ========================================================= */
div.race-carousels div.slider-item .race-item div.head div.details div.buttons a.button {
    background: linear-gradient(135deg, #00ed42, #00c435) !important;
    color: #021a09 !important;
    border-color: transparent !important;
    border-radius: var(--radius-xs) !important;
    transition: box-shadow 0.3s ease, transform 0.2s ease !important;
}

div.race-carousels div.slider-item .race-item div.head div.details div.buttons a.button:hover {
    box-shadow: 0 6px 20px rgba(0, 237, 66, 0.45) !important;
    transform: translateY(-1px) !important;
}

/* =========================================================
   SIDEBAR / MENU ACTIVE ITEMS
   ========================================================= */
.sidebar .menu a.active,
.sidebar .submenu a.active,
.sidebar-menu a.active,
.accordion-menu a.active,
.lowbar .item.active {
    color: #00ed42 !important;
}

.sidebar .menu a,
.sidebar .submenu a,
.sidebar-menu a,
.accordion-menu a {
    transition: color 0.25s ease !important;
}

.sidebar .menu .active-indicator,
.accordion-menu .active-indicator,
.lowbar .indicator {
    background: linear-gradient(90deg, rgba(0, 200, 60, 0.96), rgba(0, 237, 66, 0.74)) !important;
    box-shadow: 0 0 12px rgba(0, 200, 60, 0.4), var(--shadow-accent-sm);
    border-radius: var(--radius-pill);
}

/* =========================================================
   FAQ BACKGROUND GLOW
   ========================================================= */
.faq__bg {
    filter: none !important;
    pointer-events: none;
    background:
        radial-gradient(700px 320px at 10% 0, rgba(0, 200, 60, 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(0, 200, 60, 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;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.notifications .notification-item:hover,
.notification-item:hover {
    border-color: rgba(0, 200, 60, 0.2) !important;
}

.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 CLASSES
   ========================================================= */
.theme-bg-primary,
.bg-primary,
[data-theme="primary"] {
    background-color: var(--accent) !important;
    color: #021a09 !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
   ========================================================= */
:root {
    --settings-sidebar-bg: rgba(2, 14, 6, 0.9);
    --settings-sidebar-border: rgba(0, 200, 80, 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(200, 255, 220, 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: #efffef;

    --settings-content-bg: rgba(2, 10, 4, 0.86);
    --settings-content-border: rgba(0, 200, 90, 0.18);
    --settings-content-shadow: 0 24px 48px rgba(0, 0, 0, 0.36);
    --settings-content-radius: 12px;

    --settings-block-bg: rgba(4, 16, 8, 0.82);
    --settings-block-border: rgba(0, 200, 90, 0.18);
    --settings-block-divider: rgba(0, 200, 90, 0.16);
    --settings-block-header-bg: transparent;
    --settings-block-radius: 10px;
    --settings-block-title-color: rgba(220, 255, 230, 0.96);
    --settings-block-desc-color: rgba(160, 230, 190, 0.78);

    --settings-field-title-color: rgba(200, 255, 220, 0.9);
    --settings-control-bg: rgba(2, 10, 4, 0.72);
    --settings-control-border: rgba(0, 200, 90, 0.24);
    --settings-control-color: rgba(220, 255, 230, 0.95);
    --settings-control-radius: 8px;

    --settings-check-title-color: rgba(210, 255, 225, 0.94);
    --settings-check-desc-color: rgba(150, 220, 180, 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: #021a09;

    /* 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(2, 12, 5, 0.94), rgba(2, 12, 5, 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(2, 10, 4, 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: #021a09;
    --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(8, 40, 18, 0.92), rgba(2, 14, 6, 0.98));
    --wheel-stage-center-border: rgba(255, 255, 255, 0.26);
    --wheel-stage-center-ring: rgba(1, 6, 3, 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(8, 36, 14, 0.94), rgba(2, 14, 6, 0.97));
    --wheel-spin-btn-color: rgba(200, 255, 220, 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: #021a09;
    --wheel-register-btn-shadow: 0 12px 24px rgba(var(--accent-rgb), 0.2);

    /* Promotions cards */
    --promotion-hover-panel-bg: linear-gradient(180deg, rgba(4, 18, 8, 0.94), rgba(3, 14, 7, 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(160, 230, 190, 0.78);
    --promotion-bottom-icon-color: var(--text-primary);
    --promotion-bottom-info-color: var(--text-muted);
}

/* =========================================================
   KEYFRAME ANIMATIONS
   ========================================================= */

/* Gradient shimmer for buttons */
@keyframes btn-gradient-shift {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Progress bar shimmer */
@keyframes progress-shimmer {
    0%   { background-position: 200% center; }
    100% { background-position: -200% center; }
}

/* Glow pulse for accent elements */
@keyframes glow-pulse {
    0%, 100% { box-shadow: 0 0 8px rgba(0, 237, 66, 0.3); }
    50%       { box-shadow: 0 0 20px rgba(0, 237, 66, 0.6), 0 0 40px rgba(0, 237, 66, 0.2); }
}

/* Subtle float for CTA buttons */
@keyframes float-up {
    0%, 100% { transform: translateY(0px); }
    50%       { transform: translateY(-3px); }
}

/* =========================================================
   GLOBAL SMOOTH TRANSITIONS
   ========================================================= */
a, button, .button, input, select {
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}


/* =========================================================
   PREMIUM ADDITIONS — Green Theme (#00ED42 / #0A2417)
   ========================================================= */

/* =========================================================
   1. HEADER AMBIENT GLOW
   ========================================================= */
header#header {
    position: relative;
    z-index: 100;
    backdrop-filter: blur(18px) saturate(1.6) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.6) !important;
    box-shadow:
        0 4px 32px rgba(0, 200, 60, 0.06),
        0 8px 48px rgba(0, 0, 0, 0.4),
        0 1px 0 rgba(255, 255, 255, 0.04) !important;
    border-bottom: none !important;
    transition: box-shadow 0.4s ease !important;
}

/* =========================================================
   2. REGISTER BUTTON — PULSE ANIMATION
   ========================================================= */
@keyframes register-pulse {
    0%   { box-shadow: 0 4px 15px rgba(0, 200, 60, 0.35), 0 0 0 0 rgba(0, 237, 66, 0.5); }
    50%  { box-shadow: 0 4px 20px rgba(0, 200, 60, 0.5), 0 0 0 8px rgba(0, 237, 66, 0); }
    100% { box-shadow: 0 4px 15px rgba(0, 200, 60, 0.35), 0 0 0 0 rgba(0, 237, 66, 0); }
}

@keyframes register-gradient-shift {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.login-buttons a.button.register {
    background: linear-gradient(135deg, #00ed42 0%, #00c435 40%, #008f28 70%, #00ed42 100%) !important;
    background-size: 300% 300%;
    color: #021a09 !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    border: 1px solid rgba(0, 237, 66, 0.4);
    animation:
        register-pulse 3.2s ease-in-out infinite,
        register-gradient-shift 5s ease infinite !important;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.2s ease;
    will-change: transform, box-shadow !important;
}

.login-buttons a.button.register:hover {
    animation: none !important;
    background: linear-gradient(135deg, #00ff48 0%, #00ed42 50%, #00c435 100%) !important;
    background-size: 100% 100%;
    box-shadow:
        0 6px 24px rgba(0, 237, 66, 0.55),
        0 2px 8px rgba(0, 0, 0, 0.2),
        0 0 0 1px rgba(0, 237, 66, 0.35);
    transform: translateY(-2px) scale(1.03) !important;
    filter: brightness(1.05) !important;
}

.login-buttons a.button.register:active {
    animation: none !important;
    transform: translateY(0) scale(0.98) !important;
    box-shadow: 0 2px 10px rgba(0, 200, 60, 0.4);
}

/* =========================================================
   3. WALLET BUTTON HOVER
   ========================================================= */
.wallet-menu a.wallet-button {
    transition:
        filter 0.25s ease,
        transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
        box-shadow 0.25s ease !important;
    will-change: transform !important;
}

.wallet-menu a.wallet-button:hover {
    filter: brightness(1.12) saturate(1.2) !important;
    transform: translateY(-2px) !important;
    box-shadow:
        0 6px 20px rgba(0, 200, 60, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.25) !important;
}

.wallet-menu a.wallet-button:active {
    transform: translateY(0) !important;
    filter: brightness(0.95) !important;
}

/* =========================================================
   4. GAME CARDS HOVER LIFT + GREEN HALO
   ========================================================= */
@keyframes card-halo-pulse {
    0%, 100% { opacity: 0.6; }
    50%       { opacity: 1; }
}

.game-item {
    transition:
        transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
        box-shadow 0.3s ease !important;
    will-change: transform !important;
    border-radius: 10px;
    overflow: hidden;
}

.game-item:hover {
    transform: translateY(-6px) scale(1.02) !important;
    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(0, 237, 66, 0.25),
        0 0 30px rgba(0, 200, 60, 0.18) !important;
    z-index: 2;
    position: relative;
}

.game-item::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 10px;
    border: 1px solid transparent;
    background: linear-gradient(135deg, rgba(0, 237, 66, 0), rgba(0, 237, 66, 0)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease !important;
}

.game-item:hover::after {
    border-color: rgba(0, 237, 66, 0.35);
    opacity: 1;
    animation: card-halo-pulse 2s ease-in-out infinite;
}

.game-item div.game-top {
    transition: filter 0.3s ease !important;
}

.game-item:hover div.game-top {
    filter: brightness(1.05) !important;
}

/* =========================================================
   5. NOTIFICATION BADGE GLOW
   ========================================================= */
@keyframes notif-badge-glow {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(0, 237, 66, 0.6), 0 0 6px rgba(0, 237, 66, 0.4);
    }
    50% {
        box-shadow: 0 0 0 5px rgba(0, 237, 66, 0), 0 0 14px rgba(0, 237, 66, 0.6);
    }
}

@keyframes notif-dot-ping {
    0%   { transform: scale(1); opacity: 1; }
    75%  { transform: scale(2.2); opacity: 0; }
    100% { transform: scale(2.2); opacity: 0; }
}

/* Badge / unread counter */
.notification-badge,
.notif-badge,
[class*="notification-count"],
[class*="notif-count"],
.badge-count,
header .badge,
.header-icon .badge,
.notifications-trigger .count {
    background: #00ed42 !important;
    color: #021a09 !important;
    font-weight: 800;
    border: 1.5px solid rgba(2, 26, 9, 0.6);
    border-radius: 999px !important;
    animation: notif-badge-glow 2.4s ease-in-out infinite !important;
    position: relative;
}

/* Ping ring behind the badge */
.notification-badge::before,
.notif-badge::before,
[class*="notification-count"]::before,
[class*="notif-count"]::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: 999px;
    background: rgba(0, 237, 66, 0.5);
    animation: notif-dot-ping 2.4s cubic-bezier(0, 0, 0.2, 1) infinite;
    pointer-events: none;
}

/* =========================================================
   6. BRANDED SCROLLBAR — 6px Green
   ========================================================= */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: rgba(4, 14, 8, 0.9);
    border-radius: 999px;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(
        180deg,
        rgba(0, 237, 66, 0.55) 0%,
        rgba(0, 180, 50, 0.7) 50%,
        rgba(0, 237, 66, 0.45) 100%
    );
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    transition: background 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(
        180deg,
        rgba(0, 237, 66, 0.85) 0%,
        rgba(0, 200, 60, 0.95) 50%,
        rgba(0, 237, 66, 0.75) 100%
    );
}

::-webkit-scrollbar-corner {
    background: transparent;
}

/* Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 200, 60, 0.55) rgba(4, 14, 8, 0.9);
}

/* =========================================================
   7. FOCUS RING — Accessible Green Brand Ring
   ========================================================= */
:focus-visible {
    outline: none !important;
    box-shadow:
        0 0 0 2px rgba(4, 14, 8, 0.9),
        0 0 0 4px rgba(0, 237, 66, 0.7),
        0 0 12px rgba(0, 237, 66, 0.25) !important;
    border-radius: 4px;
    transition: box-shadow 0.15s ease !important;
}

/* Stronger ring for interactive controls */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: none !important;
    box-shadow:
        0 0 0 2px #040e08,
        0 0 0 4px #00ed42,
        0 0 16px rgba(0, 237, 66, 0.3) !important;
    border-radius: 6px !important;
}

/* Remove default outline for mouse users */
/* Duzeltme: eski genel :focus:not(:focus-visible) kurali input/select/textarea
   odak stillerini (satir ~648-655 yesil halka) de sifirliyordu. Fare odagi
   bastirma yalniz buton/link turu ogelere daraltildi; form alanlari kapsam
   disinda kaldigi icin odak halkasi her durumda calisir. */
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}
/* Duzeltme: giris arkaplani icin uc ayri kaynak vardi (token + iki hardcode).
   Hardcode kullanimlar --homepage-entrance-bg-image token hattina baglandi;
   eski hardcode URL fallback olarak korundu (token silinirse gorsel kopmaz). */
@media (min-width: 992px) {
    body:has(.responsive-menu.active-menu) {
        background: var(--homepage-entrance-bg-image, url(https://vendor-provider.fra1.cdn.digitaloceanspaces.com/ebetlab/qwVpcjhJhjJbbJXthDaTicFGPdhWnmjf/statics/uDLVD9yd46Vj7jhqwVuFvcR5NgeUtgQVIHRQcYLF.jpg)) !important;
    }
}

main#main {
    background: var(--homepage-entrance-bg-image, url(https://vendor-provider.fra1.cdn.digitaloceanspaces.com/ebetlab/qwVpcjhJhjJbbJXthDaTicFGPdhWnmjf/statics/uDLVD9yd46Vj7jhqwVuFvcR5NgeUtgQVIHRQcYLF.jpg)) !important;
}
.hp-hero .hp-hero-bg {
    background: none !important;
}

/* ============================================================
   PREMIUM SIDEBAR v3 — #00E740 | Deep & Polished
   ============================================================ */

:root {
  /* Duzeltme: v3 blogu 240px ile paralel bir genislik kaynagi kuruyordu.
     Kullanim yerlerinde (width/max-width, satir ~1434) 240px'e ozel bir
     yerlesim bagimliligi yok (icerik offseti vb. bulunamadi); bu yuzden
     ana sozlesme tokenina baglandi: tek kaynak --sidebar-width (260px). */
  --sb-w: var(--sidebar-width);

  /* Yeşil palette */
  --g:        #00e740;
  --g-light:  #5fff85;
  --g-mid:    #00c436;
  --g-10:     rgba(0, 231, 64, 0.10);
  --g-15:     rgba(0, 231, 64, 0.15);
  --g-20:     rgba(0, 231, 64, 0.20);
  --g-30:     rgba(0, 231, 64, 0.30);

  /* Surfaces — her biri öncekinden biraz daha açık */
  --s0: #04080a;   /* en derin — header / footer bg */
  --s1: #070e0b;   /* sidebar ana bg */
  --s2: #0a1410;   /* hover bg */
  --s3: #0e1c16;   /* active bg */
  --s4: #131f18;   /* accordion body bg */

  /* Stroke */
  --br:   rgba(255, 255, 255, 0.05);  /* nötr çizgi */
  --br-g: rgba(0, 231, 64, 0.16);     /* yeşil çizgi */

  /* Text */
  --t1: #d6eede;   /* birincil — neredeyse beyaz, yeşile çalar */
  --t2: #72896e;   /* ikincil — soluk yeşil */
  --t3: #3a503a;   /* üçüncül — çok soluk */

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  /* Duzeltme: z-index 1000 ana sozlesmedeki katman duzenine (--sidebar-z: 2000)
     ikinci bir kaynak olusturuyordu; tek kaynaga baglandi. */
  --z: var(--sidebar-z);
}

/* ── WRAPPER ─────────────────────────────────────────────── */

#responsive-menu.responsive-menu {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  width: var(--sb-w) !important;
  max-width: var(--sb-w) !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  z-index: var(--z);

  background:
    radial-gradient(ellipse 260px 200px at -10% -5%, rgba(0,231,64,0.09) 0%, transparent 65%),
    linear-gradient(175deg, #070f0b 0%, #04080a 60%, #060b08 100%) !important;

  border-right: 1px solid var(--br-g) !important;
  box-shadow:
    1px 0 0 rgba(0,231,64,0.04),
    4px 0 32px rgba(0,0,0,0.6) !important;
}

/* ── SIDEBAR CONTENT ──────────────────────────────────────── */

.sidebar-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* ── SCROLL WRAPPER ───────────────────────────────────────── */

.sidebar-wrapper,
.sb-content-animate {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,231,64,0.14) transparent;
}

.sidebar-wrapper::-webkit-scrollbar,
.sb-content-animate::-webkit-scrollbar { width: 2px; }

.sidebar-wrapper::-webkit-scrollbar-thumb,
.sb-content-animate::-webkit-scrollbar-thumb {
  background: rgba(0,231,64,0.18);
  border-radius: 99px;
}

/* ── MENU HEAD ────────────────────────────────────────────── */

.menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 54px;
  padding: 0 14px;
  flex-shrink: 0;
  background: rgba(0,0,0,0.3);
  border-bottom: 1px solid var(--br-g);
  position: relative;
}

/* Alt glow çizgisi */
.menu-head::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 12px; right: 12px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,231,64,0.35), transparent);
}

.menu-head .title {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.menu-head .title .icon {
  color: var(--t2);
  display: flex;
  align-items: center;
  transition: color 0.15s;
}

.menu-head .title:hover .icon { color: var(--g); }

.menu-head .title .text {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: linear-gradient(135deg, var(--g-light) 0%, var(--g) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.menu-head .buttons {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Icon butonlar (call + lang) */
.call-button,
.current-lang {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--br);
  transition: background 0.15s, border-color 0.15s;
  overflow: hidden;
}

.call-button:hover,
.current-lang:hover {
  background: var(--g-10);
  border-color: var(--br-g);
}

.call-button { font-size: 14px; }

.current-lang img {
  width: 18px;
  height: 14px;
  object-fit: cover;
  border-radius: 2px;
}

.languages-box { position: relative; }

.other-langs {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 152px;
  background: #0e1c16;
  border: 1px solid var(--br-g);
  border-radius: 10px;
  padding: 4px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.7);
  display: none;
  z-index: 200;
}

.other-langs .lang {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.12s;
}

.other-langs .lang:hover { background: var(--g-10); }
.other-langs .lang .flag img { width: 18px; height: 14px; border-radius: 2px; }
.other-langs .lang .text { font-size: 12px; color: var(--t2); }

/* ── SEARCH ───────────────────────────────────────────────── */

.to-search-modal {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 10px 10px 8px;
  padding: 8px 11px;
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--br);
  cursor: pointer;
  transition: border-color 0.14s, background 0.14s;
}

.to-search-modal:hover {
  border-color: var(--br-g);
  background: var(--g-10);
}

.to-search-modal .icon {
  display: flex;
  align-items: center;
  color: var(--t3);
  flex-shrink: 0;
}

.to-search-modal .text {
  font-size: 12.5px;
  color: var(--t3);
  font-style: italic;
}

/* ── SEGMENT TABS ─────────────────────────────────────────── */

.p2tabs.p2tabs--sidebar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 0 10px 10px;
  flex-shrink: 0;
}

.p2tabs--sidebar .p2seg {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid var(--br);
  background: rgba(255,255,255,0.04);
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.15s, background 0.15s;
}

.p2tabs--sidebar .p2seg:hover {
  border-color: var(--br-g);
  background: var(--g-10);
}

/* Aktif tab — Casino varsayılan */
.p2tabs--sidebar .p2seg.casino {
  background: linear-gradient(135deg, rgba(0,231,64,0.18) 0%, rgba(0,196,54,0.08) 100%);
  border-color: var(--g-30);
  box-shadow: 0 0 12px rgba(0,231,64,0.08), inset 0 1px rgba(255,255,255,0.06);
}

.p2seg .p2bg, .p2seg .p2bgIcon {
  position: absolute; inset: 0; pointer-events: none;
}

.p2seg .p2content {
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
  z-index: 1;
}

.p2seg .p2chip { display: flex; align-items: center; }

.p2seg .p2icon {
  display: flex;
  align-items: center;
  color: var(--t2);
  transition: color 0.14s;
}

.p2seg.casino .p2icon { color: var(--g); }
.p2seg:hover .p2icon  { color: var(--g); }

.p2seg .p2label {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--t2);
  letter-spacing: 0.02em;
  transition: color 0.14s;
}

.p2seg.casino .p2label { color: var(--t1); }
.p2seg:hover .p2label  { color: var(--t1); }

/* ── DIVIDER ──────────────────────────────────────────────── */

.sidebar-section-title {
  padding: 0 10px;
  margin: 2px 0;
  flex-shrink: 0;
}

.sidebar-section-title__line {
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--br-g), transparent);
  opacity: 0.7;
}

/* ── MENU BODY ────────────────────────────────────────────── */

.menu-body { padding: 0; }

/* ── TOP NAV BUTTONS ──────────────────────────────────────── */

.sb-top {
  display: flex;
  flex-direction: column;
  padding: 4px 8px;
  gap: 2px;
}

.sb-top-btn {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 11px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--t2);
  border: 1px solid transparent;
  position: relative;
  overflow: hidden;
  transition: color 0.14s, background 0.14s, border-color 0.14s;
}

/* Sol glow çizgisi */
.sb-top-btn::before {
  content: '';
  position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 2px;
  background: var(--g);
  border-radius: 0 2px 2px 0;
  opacity: 0;
  transition: opacity 0.14s, top 0.14s, bottom 0.14s;
}

.sb-top-btn:hover {
  background: var(--g-10);
  border-color: var(--br-g);
  color: var(--t1);
}

.sb-top-btn:hover::before {
  opacity: 0.6;
  top: 15%; bottom: 15%;
}

.sb-top-btn.active {
  background: linear-gradient(90deg, var(--g-15) 0%, rgba(0,231,64,0.04) 100%);
  border-color: var(--br-g);
  color: var(--g);
}

.sb-top-btn.active::before {
  opacity: 1;
  top: 10%; bottom: 10%;
}

.sb-top-btn .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: inherit;
}

.sb-top-title {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sb-top-arrow {
  font-size: 15px;
  color: var(--t3);
  opacity: 0;
  transform: translateX(-3px);
  transition: opacity 0.14s, transform 0.14s, color 0.14s;
}

.sb-top-btn:hover .sb-top-arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--t2);
}

.sb-top-btn.active .sb-top-arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--g);
}

/* Destek butonu */
.sb-top-btn.supportbtn {
  margin: 6px 8px;
  background: linear-gradient(135deg, rgba(0,231,64,0.12) 0%, rgba(0,180,54,0.06) 100%);
  border: 1px solid var(--g-20);
  color: var(--g);
  border-radius: 10px;
}

.sb-top-btn.supportbtn::before { display: none; }

.sb-top-btn.supportbtn:hover {
  background: linear-gradient(135deg, rgba(0,231,64,0.20) 0%, rgba(0,180,54,0.10) 100%);
  border-color: var(--g-30);
  color: var(--g-light);
}

/* ── ACCORDION ────────────────────────────────────────────── */

.sl-acc {
  display: flex;
  flex-direction: column;
  padding: 4px 8px;
  gap: 2px;
}

.sl-acc__section { border-radius: 10px; overflow: hidden; }

.sl-acc__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 11px;
  cursor: pointer;
  border-radius: 10px;
  border: 1px solid transparent;
  user-select: none;
  position: relative;
  overflow: hidden;
  transition: background 0.14s, border-color 0.14s, color 0.14s;
  color: var(--t2);
}

.sl-acc__head::before {
  content: '';
  position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 2px;
  background: var(--g);
  border-radius: 0 2px 2px 0;
  opacity: 0;
  transition: opacity 0.14s;
}

.sl-acc__head:hover {
  background: var(--g-10);
  border-color: var(--br-g);
  color: var(--t1);
}

.sl-acc__head:hover::before { opacity: 0.5; }

/* Açık accordion head */
.sl-acc__section.open > .sl-acc__head {
  background: linear-gradient(90deg, var(--g-15) 0%, rgba(0,231,64,0.05) 100%);
  border-color: var(--br-g);
  border-radius: 10px 10px 0 0;
  color: var(--g);
}

.sl-acc__section.open > .sl-acc__head::before {
  opacity: 1;
  top: 10%; bottom: 10%;
}

.sl-acc__headLeft {
  display: flex;
  align-items: center;
  gap: 11px;
}

.sl-acc__headIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: inherit;
}

.sl-acc__headIcon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  border-radius: 3px;
}

.sl-acc__headTitle {
  font-size: 13px;
  font-weight: 500;
  color: inherit;
}

.sl-acc__chev {
  display: flex;
  align-items: center;
  color: var(--t3);
  transition: transform 0.22s var(--ease), color 0.14s;
}

.sl-acc__chev img {
  width: 11px;
  height: 11px;
  filter: brightness(0) invert(1);
  opacity: 0.3;
  transition: opacity 0.14s;
}

.sl-acc__head:hover .sl-acc__chev img { opacity: 0.6; }

.sl-acc__section.open > .sl-acc__head .sl-acc__chev {
  transform: rotate(180deg);
  color: var(--g);
}

.sl-acc__section.open > .sl-acc__head .sl-acc__chev img {
  opacity: 0.8;
}

/* Accordion body */
.sl-acc__bodyWrap {
  overflow: hidden;
  transition: max-height 0.24s var(--ease);
}

.sl-acc__body {
  background: rgba(0,0,0,0.25);
  border: 1px solid var(--br-g);
  border-top: none;
  border-radius: 0 0 10px 10px;
  padding: 6px 0 8px;
}

/* Lobby butonu */
.sl-acc__topBtn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: calc(100% - 16px);
  margin: 2px 8px 6px;
  padding: 6px 10px;
  border-radius: 7px;
  background: var(--g-10);
  border: 1px solid var(--g-20);
  cursor: pointer;
  transition: background 0.13s, border-color 0.13s;
}

.sl-acc__topBtn:hover {
  background: var(--g-15);
  border-color: var(--g-30);
}

.sl-acc__topText {
  font-size: 11px;
  font-weight: 700;
  color: var(--g);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* List items */
.sl-acc__list {
  list-style: none;
  margin: 0;
  padding: 0 6px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.sl-acc__item { display: block; text-decoration: none; }

.sl-acc__itemInner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 7px;
  transition: background 0.12s;
  cursor: pointer;
}

.sl-acc__item:hover .sl-acc__itemInner { background: var(--g-10); }

.sl-acc__itemInner .sl-acc__headIcon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  opacity: 0.75;
}

.sl-acc__itemText {
  flex: 1;
  font-size: 12px;
  font-weight: 500;
  color: var(--t2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.12s;
}

.sl-acc__item:hover .sl-acc__itemText { color: var(--t1); }

.sl-acc__itemRight { display: flex; align-items: center; }

.sl-acc__itemCount {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 99px;
  background: rgba(0,231,64,0.08);
  color: var(--g);
  border: 1px solid rgba(0,231,64,0.16);
  letter-spacing: 0.02em;
}

/* ── ORİJİNAL OYUNLAR GRID ────────────────────────────────── */

.sl-acc__list--originals {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 5px !important;
  padding: 4px 6px !important;
}

.sl-acc__item--originals { border-radius: 8px; overflow: hidden; }

.sl-acc__itemInner--originals {
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 8px 4px 6px !important;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--br);
  border-radius: 8px;
  transition: background 0.13s, border-color 0.13s, transform 0.12s;
}

.sl-acc__item--originals:hover .sl-acc__itemInner--originals {
  background: var(--g-10) !important;
  border-color: var(--br-g);
  transform: translateY(-1px);
}

.sl-acc__itemGameMedia {
  width: 40px;
  height: 40px;
  border-radius: 7px;
  overflow: hidden;
  background: rgba(255,255,255,0.05);
  flex-shrink: 0;
}

.sl-acc__itemGameMedia img { width: 100%; height: 100%; object-fit: cover; }

.sl-acc__item--originals .sl-acc__itemText {
  font-size: 10px !important;
  text-align: center;
  color: var(--t3) !important;
}

.sl-acc__item--originals:hover .sl-acc__itemText { color: var(--g) !important; }
.sl-acc__itemLink--originals { display: block; text-decoration: none; }

/* ── LANG FOOTER ──────────────────────────────────────────── */

.sidebar-lang-footer {
  flex-shrink: 0;
  padding: 8px 10px 14px;
  border-top: 1px solid var(--br-g);
  background: rgba(0,0,0,0.25);
  position: relative;
}

.sidebar-lang-trigger {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 9px 11px;
  border-radius: 10px;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--br);
  cursor: pointer;
  transition: border-color 0.13s, background 0.13s;
}

.sidebar-lang-trigger:hover {
  border-color: var(--br-g);
  background: var(--g-10);
}

.sidebar-lang-trigger .flag img {
  width: 18px;
  height: 14px;
  border-radius: 2px;
  object-fit: cover;
}

.sidebar-lang-trigger .label {
  flex: 1;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--t2);
  text-align: left;
}

.sidebar-lang-trigger .caret { font-size: 10px; color: var(--t3); }

.sidebar-lang-options {
  position: absolute;
  bottom: calc(100% + 4px);
  left: 10px;
  right: 10px;
  background: var(--s4);
  border: 1px solid var(--br-g);
  border-radius: 10px;
  padding: 4px;
  max-height: 240px;
  overflow-y: auto;
  box-shadow: 0 -16px 40px rgba(0,0,0,0.7);
  display: none;
  z-index: 10;
}

.sidebar-lang-options.open { display: block; }

.lang-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 6px 8px;
  border-radius: 6px;
  border: none;
  background: none;
  cursor: pointer;
  transition: background 0.12s;
}

.lang-opt:hover { background: var(--g-10); }
.lang-opt.is-active { background: var(--g-15); }
.lang-opt .flag img { width: 18px; height: 14px; border-radius: 2px; }
.lang-opt .text { font-size: 12px; color: var(--t2); }
.lang-opt.is-active .text { color: var(--g); }

/* ── NAV & ACCORDION İKON RENKLENDİRME ──────────────────── */

/* Tüm icon wrapper'ları ortak base */
.sb-top-btn .icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  flex-shrink: 0;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s, color 0.2s;
}

.sb-top-btn:hover .icon { transform: scale(1.08); }

/* Anasayfa → cyan */
.sb-top-btn[aria-label="Anasayfa"] .icon {
  background: rgba(6,182,212,0.12);
  box-shadow: 0 0 10px rgba(6,182,212,0.15);
  color: #22d3ee;
}
.sb-top-btn[aria-label="Anasayfa"]:hover .icon {
  background: rgba(6,182,212,0.22);
  box-shadow: 0 0 18px rgba(6,182,212,0.35);
  color: #67e8f9;
}

/* Turnuvalar → altın */
.sb-top-btn[aria-label="Turnuvalar"] .icon {
  background: rgba(245,158,11,0.12);
  box-shadow: 0 0 10px rgba(245,158,11,0.15);
  color: #fbbf24;
}
.sb-top-btn[aria-label="Turnuvalar"]:hover .icon {
  background: rgba(245,158,11,0.22);
  box-shadow: 0 0 18px rgba(245,158,11,0.35);
  color: #fde68a;
}

/* Meydan Okumalar → turuncu */
.sb-top-btn[aria-label="Meydan Okumalar"] .icon {
  background: rgba(249,115,22,0.12);
  box-shadow: 0 0 10px rgba(249,115,22,0.15);
  color: #fb923c;
}
.sb-top-btn[aria-label="Meydan Okumalar"]:hover .icon {
  background: rgba(249,115,22,0.22);
  box-shadow: 0 0 18px rgba(249,115,22,0.35);
  color: #fdba74;
}

/* Çark Çevir → pembe */
.sb-top-btn[aria-label="Çark Çevir"] .icon {
  background: rgba(236,72,153,0.12);
  box-shadow: 0 0 10px rgba(236,72,153,0.15);
  color: #f472b6;
}
.sb-top-btn[aria-label="Çark Çevir"]:hover .icon {
  background: rgba(236,72,153,0.22);
  box-shadow: 0 0 18px rgba(236,72,153,0.35);
  color: #f9a8d4;
}

/* SafeOnlineCasino → teal */
.sb-top-btn[aria-label="SafeOnlineCasino"] .icon {
  background: rgba(20,184,166,0.12);
  box-shadow: 0 0 10px rgba(20,184,166,0.15);
  color: #2dd4bf;
}
.sb-top-btn[aria-label="SafeOnlineCasino"]:hover .icon {
  background: rgba(20,184,166,0.22);
  box-shadow: 0 0 18px rgba(20,184,166,0.35);
  color: #5eead4;
}

/* Blog → lavender */
.sb-top-btn[aria-label="Blog"] .icon {
  background: rgba(129,140,248,0.12);
  box-shadow: 0 0 10px rgba(129,140,248,0.15);
  color: #a5b4fc;
}
.sb-top-btn[aria-label="Blog"]:hover .icon {
  background: rgba(129,140,248,0.22);
  box-shadow: 0 0 18px rgba(129,140,248,0.35);
  color: #c7d2fe;
}

/* Promosyonlar → lime */
.sb-top-btn[aria-label="Promosyonlar"] .icon {
  background: rgba(132,204,22,0.12);
  box-shadow: 0 0 10px rgba(132,204,22,0.15);
  color: #a3e635;
}
.sb-top-btn[aria-label="Promosyonlar"]:hover .icon {
  background: rgba(132,204,22,0.22);
  box-shadow: 0 0 18px rgba(132,204,22,0.35);
  color: #d9f99d;
}

/* VIP Kulübü → altın parlak */
.sb-top-btn[aria-label="VIP Kulübü"] .icon {
  background: rgba(234,179,8,0.12);
  box-shadow: 0 0 10px rgba(234,179,8,0.15);
  color: #facc15;
}
.sb-top-btn[aria-label="VIP Kulübü"]:hover .icon {
  background: rgba(234,179,8,0.22);
  box-shadow: 0 0 22px rgba(234,179,8,0.40);
  color: #fde047;
}

/* Canlı Destek → marka yeşili */
.sb-top-btn.supportbtn .icon {
  background: rgba(0,231,64,0.14);
  box-shadow: 0 0 12px rgba(0,231,64,0.20);
  color: #00e740 !important;
  border-radius: 8px;
  width: 32px; height: 32px;
}

/* ── ACCORDION BAŞLIK İKONLARI ── */

.sl-acc__headIcon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px;
  padding: 7px;
  flex-shrink: 0;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}

.sl-acc__head:hover .sl-acc__headIcon,
.sl-acc__section.open > .sl-acc__head .sl-acc__headIcon {
  transform: scale(1.08);
}

/* Slotlar → marka yeşili */
.sl-acc__section:nth-child(1) .sl-acc__headIcon {
  background: rgba(0,231,64,0.12);
  box-shadow: 0 0 10px rgba(0,231,64,0.15);
  color: #00e740;
}
.sl-acc__section:nth-child(1):hover .sl-acc__headIcon,
.sl-acc__section:nth-child(1).open .sl-acc__headIcon {
  background: rgba(0,231,64,0.22);
  box-shadow: 0 0 20px rgba(0,231,64,0.30);
}

/* Canlı → kırmızı */
.sl-acc__section:nth-child(2) .sl-acc__headIcon {
  background: rgba(239,68,68,0.12);
  box-shadow: 0 0 10px rgba(239,68,68,0.15);
  color: #f87171;
}
.sl-acc__section:nth-child(2):hover .sl-acc__headIcon,
.sl-acc__section:nth-child(2).open .sl-acc__headIcon {
  background: rgba(239,68,68,0.22);
  box-shadow: 0 0 20px rgba(239,68,68,0.30);
}

/* Orijinal Oyunlar → mor */
.sl-acc__section:nth-child(3) .sl-acc__headIcon {
  background: rgba(168,85,247,0.12);
  box-shadow: 0 0 10px rgba(168,85,247,0.15);
  color: #c084fc;
}
.sl-acc__section:nth-child(3):hover .sl-acc__headIcon,
.sl-acc__section:nth-child(3).open .sl-acc__headIcon {
  background: rgba(168,85,247,0.22);
  box-shadow: 0 0 20px rgba(168,85,247,0.30);
}

/* ── PROVIDER İKON RENKLENDİRME ──────────────────────────── */
/*
  Her provider ikonunu URL'deki slug'a göre renklendiriyoruz.
  img src içinde provider adı geçen ikonlara CSS filter uygulanır.
  filter değerleri: https://codepen.io/sosuke/pen/Pjoqqp aracıyla üretildi
*/

/* Genel: tüm provider ikonları varsayılan soluk */
.sl-acc__itemInner .sl-acc__headIcon img,
.sl-acc__topBtn .sl-acc__headIcon img {
  filter: grayscale(0.3) opacity(0.7);
  transition: filter 0.2s, transform 0.2s;
}

.sl-acc__item:hover .sl-acc__itemInner .sl-acc__headIcon img {
  filter: grayscale(0) opacity(1);
  transform: scale(1.08);
}

/* ── Orijinal Oyunlar (SVG icon — direkt renk) ── */
a[href*="original-games"] .sl-acc__headIcon,
a[href*="original"] .sl-acc__headIcon {
  color: #00e740;
  filter: drop-shadow(0 0 4px rgba(0,231,64,0.5));
}

/* ── Pragmatic Play → turuncu #ff6b00 ── */
a[href*="pragmatic"] .sl-acc__headIcon img {
  filter: grayscale(0) opacity(1)
    hue-rotate(0deg) saturate(1.5) brightness(1.1);
  /* Doğal logo rengi korunur, sadece parlaklaştırılır */
}

.sl-acc__item:has(a[href*="pragmatic"]) .sl-acc__itemCount {
  color: #ff8c42;
  border-color: rgba(255,107,0,0.35);
  background: rgba(255,107,0,0.10);
}

/* ── Hacksaw → mavi #3b82f6 ── */
a[href*="hacksaw"] .sl-acc__headIcon img {
  filter: grayscale(0) opacity(1) brightness(1.15) saturate(1.3);
}

.sl-acc__item:has(a[href*="hacksaw"]) .sl-acc__itemCount {
  color: #60a5fa;
  border-color: rgba(59,130,246,0.35);
  background: rgba(59,130,246,0.10);
}

/* ── Amusnet → mor #a855f7 ── */
a[href*="amusnet"] .sl-acc__headIcon img {
  filter: grayscale(0) opacity(1) brightness(1.1) saturate(1.4);
}

.sl-acc__item:has(a[href*="amusnet"]) .sl-acc__itemCount {
  color: #c084fc;
  border-color: rgba(168,85,247,0.35);
  background: rgba(168,85,247,0.10);
}

/* ── EGT Digital → altın #eab308 ── */
a[href*="egt"] .sl-acc__headIcon img {
  filter: grayscale(0) opacity(1) brightness(1.2) saturate(1.3)
    sepia(0.2) hue-rotate(-10deg);
}

.sl-acc__item:has(a[href*="egt"]) .sl-acc__itemCount {
  color: #facc15;
  border-color: rgba(234,179,8,0.35);
  background: rgba(234,179,8,0.10);
}

/* ── Evolution → kırmızı #ef4444 ── */
a[href*="evolution"] .sl-acc__headIcon img {
  filter: grayscale(0) opacity(1) brightness(1.1) saturate(1.4);
}

.sl-acc__item:has(a[href*="evolution"]) .sl-acc__itemCount {
  color: #f87171;
  border-color: rgba(239,68,68,0.35);
  background: rgba(239,68,68,0.10);
}

/* ── Hover'da tüm ikonlar tam parlaklık ── */
.sl-acc__item:hover a[href*="pragmatic"] .sl-acc__headIcon img,
.sl-acc__item:hover a[href*="hacksaw"]   .sl-acc__headIcon img,
.sl-acc__item:hover a[href*="amusnet"]   .sl-acc__headIcon img,
.sl-acc__item:hover a[href*="egt"]       .sl-acc__headIcon img,
.sl-acc__item:hover a[href*="evolution"] .sl-acc__headIcon img {
  transform: scale(1.10);
  filter: grayscale(0) opacity(1) brightness(1.3) saturate(1.6);
}

/* ── İkon arka plan rengi — her provider için farklı pill ── */
a[href*="pragmatic"] .sl-acc__headIcon img { border-radius: 4px; }
a[href*="hacksaw"]   .sl-acc__headIcon img { border-radius: 4px; }
a[href*="amusnet"]   .sl-acc__headIcon img { border-radius: 4px; }
a[href*="egt"]       .sl-acc__headIcon img { border-radius: 4px; }
a[href*="evolution"] .sl-acc__headIcon img { border-radius: 4px; }

/* İkon wrapper'larına renkli mini bg ── */
a[href*="original-games"] .sl-acc__headIcon,
a[href*="original"]       .sl-acc__headIcon {
  background: rgba(0,231,64,0.12);
  border-radius: 6px;
  padding: 2px;
  width: 22px; height: 22px;
}

a[href*="pragmatic"] .sl-acc__headIcon {
  background: rgba(255,107,0,0.12);
  border-radius: 6px;
  padding: 1px;
  width: 22px; height: 22px;
}

a[href*="hacksaw"] .sl-acc__headIcon {
  background: rgba(59,130,246,0.12);
  border-radius: 6px;
  padding: 1px;
  width: 22px; height: 22px;
}

a[href*="amusnet"] .sl-acc__headIcon {
  background: rgba(168,85,247,0.12);
  border-radius: 6px;
  padding: 1px;
  width: 22px; height: 22px;
}

a[href*="egt"] .sl-acc__headIcon {
  background: rgba(234,179,8,0.12);
  border-radius: 6px;
  padding: 1px;
  width: 22px; height: 22px;
}

a[href*="evolution"] .sl-acc__headIcon {
  background: rgba(239,68,68,0.12);
  border-radius: 6px;
  padding: 1px;
  width: 22px; height: 22px;
}

/* ── UTILITY ──────────────────────────────────────────────── */

.one-line-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sb-fade-slide {
  animation: sbIn 0.2s var(--ease) both;
}

@keyframes sbIn {
  from { opacity: 0; transform: translateX(-6px); }
  to   { opacity: 1; transform: translateX(0); }
}
/* Casino - Sarı */
.category.casino:first-child .icon span {
  color: #FFD700 !important;
}

/* Canlı Casino - Kırmızı */
.category.casino:nth-child(2) .icon span {
  color: #FF3B3B !important;
}

/* Spor Bahisleri - Yeşil */
.category.sport .icon span {
  color: #00ED42 !important;
}
/* ============================================================
   FAB OVERRIDE — Tüm kurallar !important ile
   ============================================================ */

/* TRIGGER — ana yeşil buton */
.lowbar-fab__trigger,
button.lowbar-fab__trigger {
  background: linear-gradient(135deg, #00e740, #00c436) !important;
  box-shadow:
    0 4px 20px rgba(0, 231, 64, 0.50),
    0 2px 8px rgba(0, 0, 0, 0.4) !important;
  border: none !important;
  border-radius: 50% !important;
  width: 54px !important;
  height: 54px !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: visible;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.lowbar-fab__trigger:hover,
button.lowbar-fab__trigger:hover {
  transform: scale(1.08) !important;
  box-shadow:
    0 6px 28px rgba(0, 231, 64, 0.65),
    0 0 0 6px rgba(0, 231, 64, 0.10) !important;
}

.lowbar-fab__trigger:active,
button.lowbar-fab__trigger:active {
  transform: scale(0.96) !important;
}

/* PULSE HALKALARI */
.lowbar-fab__trigger-rings {
  position: absolute !important;
  inset: -5px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(0, 231, 64, 0.40) !important;
  pointer-events: none !important;
  animation: fabGreenPulse 2.2s ease-out infinite !important;
  z-index: 0 !important;
}

@keyframes fabGreenPulse {
  0%   { transform: scale(1);    opacity: 0.7; }
  60%  { transform: scale(1.35); opacity: 0;   }
  100% { transform: scale(1.35); opacity: 0;   }
}

/* İKİNCİ HALKA — ekstra efekt */
.lowbar-fab__trigger-rings::after {
  content: '' !important;
  position: absolute !important;
  inset: -5px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(0, 231, 64, 0.20) !important;
  animation: fabGreenPulse 2.2s ease-out 0.6s infinite !important;
}

/* CORE */
.lowbar-fab__trigger-core {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  color: #fff !important;
}

/* GLYPH — nokta ikonu + X */
.lowbar-fab__trigger-glyph {
  position: absolute !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}

.lowbar-fab__trigger-glyph--menu  { opacity: 1 !important; transform: rotate(0deg) !important; }
.lowbar-fab__trigger-glyph--close { opacity: 0 !important; transform: rotate(-90deg) !important; }

.lowbar-fab.is-open .lowbar-fab__trigger-glyph--menu  { opacity: 0 !important; transform: rotate(90deg) !important; }
.lowbar-fab.is-open .lowbar-fab__trigger-glyph--close { opacity: 1 !important; transform: rotate(0deg) !important; }

/* BACKDROP — şeffaf */
.lowbar-fab__backdrop,
button.lowbar-fab__backdrop {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* STACK */
.lowbar-fab__stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 8px !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translateY(14px) scale(0.96) !important;
  transition: opacity 0.22s ease, transform 0.22s ease !important;
}

.lowbar-fab__stack[aria-hidden="false"] {
  pointer-events: auto !important;
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}

/* ACTION BUTONLAR — pill */
.lowbar-fab__action,
button.lowbar-fab__action {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 16px 0 10px !important;
  height: 46px !important;
  border-radius: 23px !important;
  background: #0a1410 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.5) !important;
  opacity: 0 !important;
  transform: translateX(18px) !important;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease !important;
}

.lowbar-fab__stack[aria-hidden="false"] .lowbar-fab__action {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* Stagger */
.lowbar-fab__action[style*="--fab-index: 0"] { transition-delay: 0.04s !important; }
.lowbar-fab__action[style*="--fab-index: 1"] { transition-delay: 0.09s !important; }
.lowbar-fab__action[style*="--fab-index: 2"] { transition-delay: 0.14s !important; }
.lowbar-fab__action[style*="--fab-index: 3"] { transition-delay: 0.19s !important; }

/* İKON wrapper */
.lowbar-fab__action .icon,
.lowbar-fab__action span.icon {
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: transform 0.15s ease !important;
}

.lowbar-fab__action:hover .icon { transform: scale(1.1) !important; }

/* LABEL */
.lowbar-fab__action .label,
.lowbar-fab__action span.label {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  transition: color 0.15s ease !important;
}

/* ── ANASAYFA — cyan ── */
.lowbar-fab__action.is-home {
  border-color: rgba(6,182,212,0.22) !important;
}
.lowbar-fab__action.is-home .icon {
  background: rgba(6,182,212,0.15) !important;
  box-shadow: 0 0 10px rgba(6,182,212,0.20) !important;
  color: #22d3ee !important;
}
.lowbar-fab__action.is-home .label { color: #7a9982 !important; }
.lowbar-fab__action.is-home:hover {
  background: rgba(6,182,212,0.08) !important;
  border-color: rgba(6,182,212,0.45) !important;
  box-shadow: 0 4px 22px rgba(6,182,212,0.22) !important;
}
.lowbar-fab__action.is-home:hover .icon {
  background: rgba(6,182,212,0.25) !important;
  box-shadow: 0 0 18px rgba(6,182,212,0.40) !important;
}
.lowbar-fab__action.is-home:hover .label { color: #67e8f9 !important; }

/* ── CANLI DESTEK — yeşil ── */
.lowbar-fab__action.is-support {
  border-color: rgba(0,231,64,0.25) !important;
}
.lowbar-fab__action.is-support .icon {
  background: rgba(0,231,64,0.15) !important;
  box-shadow: 0 0 10px rgba(0,231,64,0.22) !important;
  color: #00e740 !important;
}
.lowbar-fab__action.is-support .label { color: #7a9982 !important; }
.lowbar-fab__action.is-support:hover {
  background: rgba(0,231,64,0.08) !important;
  border-color: rgba(0,231,64,0.45) !important;
  box-shadow: 0 4px 22px rgba(0,231,64,0.22) !important;
}
.lowbar-fab__action.is-support:hover .icon {
  background: rgba(0,231,64,0.25) !important;
  box-shadow: 0 0 18px rgba(0,231,64,0.40) !important;
}
.lowbar-fab__action.is-support:hover .label { color: #4dff80 !important; }

/* ── GİRİŞ YAP — mavi ── */
.lowbar-fab__action.is-login {
  border-color: rgba(59,130,246,0.22) !important;
}
.lowbar-fab__action.is-login .icon {
  background: rgba(59,130,246,0.15) !important;
  box-shadow: 0 0 10px rgba(59,130,246,0.20) !important;
  color: #60a5fa !important;
}
.lowbar-fab__action.is-login .label { color: #7a9982 !important; }
.lowbar-fab__action.is-login:hover {
  background: rgba(59,130,246,0.08) !important;
  border-color: rgba(59,130,246,0.45) !important;
  box-shadow: 0 4px 22px rgba(59,130,246,0.22) !important;
}
.lowbar-fab__action.is-login:hover .icon {
  background: rgba(59,130,246,0.25) !important;
  box-shadow: 0 0 18px rgba(59,130,246,0.40) !important;
}
.lowbar-fab__action.is-login:hover .label { color: #93c5fd !important; }

/* ── KAYIT OL — yeşil CTA, en belirgin ── */
.lowbar-fab__action.is-register {
  background: linear-gradient(135deg, rgba(0,231,64,0.18), rgba(0,196,54,0.08)) !important;
  border-color: rgba(0,231,64,0.40) !important;
  box-shadow: 0 4px 20px rgba(0,231,64,0.18), 0 0 0 1px rgba(0,231,64,0.10) !important;
}
.lowbar-fab__action.is-register .icon {
  background: rgba(0,231,64,0.20) !important;
  box-shadow: 0 0 14px rgba(0,231,64,0.30) !important;
  color: #00e740 !important;
}
.lowbar-fab__action.is-register .label {
  color: #4dff80 !important;
  font-weight: 700 !important;
}
.lowbar-fab__action.is-register:hover {
  background: linear-gradient(135deg, rgba(0,231,64,0.28), rgba(0,196,54,0.14)) !important;
  border-color: rgba(0,231,64,0.60) !important;
  box-shadow: 0 6px 28px rgba(0,231,64,0.30) !important;
}
.lowbar-fab__action.is-register:hover .icon {
  background: rgba(0,231,64,0.30) !important;
  box-shadow: 0 0 22px rgba(0,231,64,0.50) !important;
}
.lowbar-fab__action.is-register:hover .label { color: #fff !important; }
.hp-mobile-slider .hero-slide-card {
  position: relative;
  width: 100%;
  aspect-ratio: 828 / 423;
  overflow: hidden;
}

.hp-mobile-slider .hero-slide-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hp-mobile-slider .hero-slide-media img {
  object-fit: cover !important;
  object-position: center !important;
}
/* Duzeltme: duz renk yamasi (#00e542 / #00e142) token gradyanini eziyordu.
   Arkaplan --wallet-deposit-bg (=--gradient-primary) hattina baglandi, metin
   bolum sozlesmesi geregi koyu (--brand-primary-contrast). Ayri hover yamasi
   kaldirildi: hover davranisini satir ~1184'teki brightness filtresi verir.
   !important korundu: ayni derinlikteki platform kuralini ezmek icin gerekli. */
.wallet-menu a.wallet-button {
    background: var(--wallet-deposit-bg, var(--gradient-primary)) !important;
    color: var(--brand-primary-contrast) !important;
}
/* Orijinal oyunlar - görsel fix */
.sl-acc__itemLink--originals .sl-acc__itemGameMedia {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}

.sl-acc__itemLink--originals .sl-acc__itemGameMedia img {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
  display: block !important;
}

/* ============================================
   GMB P1 MODUL PAKETI (18 Temmuz 2026)
   Kaynak: moduller/*.css - GAMBI-MASTER-PLAN bolum 5 (#1, #2, #3, #4, #21)
   ============================================ */

/* ============================================================
   GMB MODUL: latestwins
   Amac: Canli kazananlar akisini (.latestWins) Gambi kimligine
         oturtmak; yeni gelen karta "fresh" giris animasyonu
         (hafif scale-in kayma + yesil glow nabzi) eklemek ve
         kazanc tutarini tabular rakam + accent renk ile
         vurgulamak.
   Kaynak kanit: Plan modul #1 (canli kazananlar akisi
         guclendirme). Animasyon deseni Betlora rakip analizi
         lwFreshCard / lwFreshGlow deseninden ilhamla, Gambi
         motion standardina uyarlanmistir (yalniz transform ve
         opacity animlenir, glow nabzi statik golgeli pseudo
         elemanin opacity animasyonudur).
   Katman: 2 (tema CSS override)  |  JS: yok
   Butce: CSS <= 8 KB min
   ------------------------------------------------------------
   DOM KANITI (Grep, frozen-desktop.html + frozen-mobile.html):
   Dogrulanan: .latestWins, .latestWins__head, .latestWins__pill,
   .latestWins__dot, .latestWins__viewport, .latestWins__swiper,
   .latestWins__slide, .latestWins__card, .latestWins__card--link,
   .latestWins__imgWrap, .latestWins__imgBg, .latestWins__img,
   .latestWins__play, .latestWins__playIcon,
   .latestWins__providerFooter, .latestWins__meta,
   .latestWins__user, .latestWins__rankIcon, .latestWins__userText,
   .latestWins__amount (icinde .amount > .value yapisi).
   Bulunamayan: .latestWins__track YOK (gercek yapi
   .latestWins__viewport > .latestWins__swiper > swiper-wrapper >
   .latestWins__slide). "--fresh" benzeri bir varyant sinifi da
   YOK; frozen DOM'da fresh/lwFresh gecmiyor.
   ------------------------------------------------------------
   CANLI DOGRULAMA NOTU (varsayim):
   Fresh giris animasyonu .latestWins__slide:first-child uzerine
   kuruldu; varsayim, yeni kazancin listenin basina prepend
   edilmesidir. Frozen DOM'da swiper loop modu izleri var
   (ilk slide data-swiper-slide-index="24"), yani DOM sirasi
   mantiksal sira ile ayni olmayabilir. Canlida dogrulanmali;
   gerekirse hafif JS ile yeni slide'a .gmb-is-fresh sinifi
   basilir, o kanca asagida hazirdir.
   ------------------------------------------------------------
   RISKLER:
   1. Swiper loop modunda :first-child en yeni kart olmayabilir
      (animasyon yanlis karta oynar, gorsel zarar vermez).
   2. .latestWins__card uzerinde overflow: hidden radius kirpma
      icin gerekli; platform bir tasan rozet eklerse kirpilir.
   3. Sonsuz dot nabzi reduced-motion blogu ile kapatilir.
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   Tum ayar yuzeyi burada; varsayilanlar platform tokenlarina
   bagli, Root.json css_variables ile tek noktadan boyanabilir.
   ------------------------------------------------------------ */
.latestWins {
    /* renk */
    --gmb-lw-card-bg: var(--surface-card);
    --gmb-lw-card-border: var(--surface-border-soft);
    --gmb-lw-card-border-hover: var(--accent-border);
    --gmb-lw-text: var(--text-primary);
    --gmb-lw-muted: var(--text-muted);
    --gmb-lw-accent: var(--accent);
    --gmb-lw-accent-soft: var(--accent-soft);

    /* olcu */
    --gmb-lw-radius: var(--radius-lg);
    --gmb-lw-pill-radius: var(--radius-pill);

    /* efekt (statik golgeler; animasyon golgeye degil opacity'ye) */
    --gmb-lw-shadow: var(--shadow-md);
    --gmb-lw-fresh-glow: 0 0 0 1px var(--accent-border),
        0 0 18px rgba(var(--accent-rgb), 0.35),
        0 0 36px rgba(var(--accent-rgb), 0.18);

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-dur-base: 0.2s;
    --gmb-dur-slow: 0.3s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --gmb-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

    /* katman (modul ici) */
    --gmb-z-base: 1;
}

/* ------------------------------------------------------------
   2. LAYOUT / TEMA
   Platform siniflari yalniz temalanir, yeniden adlandirilmaz.
   Selector derinligi maks 3.
   ------------------------------------------------------------ */

/* Baslik pili: Gambi yuzeyi + accent cizgi */
.latestWins__pill {
    background: var(--gmb-lw-accent-soft);
    border: var(--border-thin) solid var(--accent-border);
    border-radius: var(--gmb-lw-pill-radius);
    color: var(--gmb-lw-text);
    font-family: var(--font-family-semibold);
    letter-spacing: 0.02em;
}

/* Canli nokta: accent dolgu + sonsuz nabiz (reduced-motion'da kapali) */
.latestWins__dot {
    background: var(--gmb-lw-accent);
    border-radius: var(--gmb-lw-pill-radius);
    box-shadow: 0 0 10px var(--accent-glow);
    animation: gmb-lw-dot-pulse 1.6s var(--gmb-ease) infinite;
}

/* Kart govdesi: Gambi kart kimligi */
.latestWins__card {
    background: var(--gmb-lw-card-bg);
    border: var(--border-thin) solid var(--gmb-lw-card-border);
    border-radius: var(--gmb-lw-radius);
    box-shadow: var(--gmb-lw-shadow);
    overflow: hidden;
    color: var(--gmb-lw-text);
    font-family: var(--font-family-regular);
    transition:
        transform var(--gmb-dur-base) var(--gmb-ease-spring),
        border-color var(--gmb-dur-fast) var(--gmb-ease),
        background var(--gmb-dur-fast) var(--gmb-ease);
}

/* Oyna katmani ikonu accent'e baglanir */
.latestWins__playIcon {
    color: var(--gmb-lw-accent);
}

/* Saglayici satiri ve kullanici adi ikincil tonlarda */
.latestWins__providerFooter {
    color: var(--gmb-lw-muted);
}

.latestWins__userText {
    color: var(--gmb-lw-muted);
    font-family: var(--font-family-regular);
}

/* Kazanc tutari vurgusu: tabular rakam + accent + hafif glow.
   DOM: .latestWins__amount > .amount > span.value (derinlik 2) */
.latestWins__amount .value {
    color: var(--gmb-lw-accent);
    font-family: var(--font-family-bold);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    text-shadow: 0 0 12px rgba(var(--accent-rgb), 0.3);
}

/* ------------------------------------------------------------
   3. STATES
   Hover/focus + fresh giris animasyonu.
   Sadece transform ve opacity animlenir.
   ------------------------------------------------------------ */
.latestWins__card:hover {
    transform: translateY(-2px);
    border-color: var(--gmb-lw-card-border-hover);
    background: var(--surface-3);
}

.latestWins__card:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

/* FRESH GIRIS: yeni kart hafif scale-in + yukari kayma.
   Hedef 1: .latestWins__slide:first-child (varsayim, bkz ust not).
   Hedef 2: .gmb-is-fresh (ileride hafif JS icin hazir kanca). */
.latestWins__slide:first-child .latestWins__card,
.gmb-is-fresh .latestWins__card {
    animation: gmb-lw-fresh-in var(--gmb-dur-slow) var(--gmb-ease-spring) both;
}

/* FRESH GLOW: statik yesil golgeli katman, yalniz opacity animlenir
   (box-shadow animasyonu motion standardinda yasak). */
.latestWins__slide:first-child .latestWins__card::after,
.gmb-is-fresh .latestWins__card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: var(--gmb-z-base);
    pointer-events: none;
    border-radius: inherit;
    box-shadow: var(--gmb-lw-fresh-glow);
    opacity: 0;
    animation: gmb-lw-fresh-pulse 2.4s var(--gmb-ease) 0.1s 1 both;
}

/* ::after inset konumu icin kart konum baglami */
.latestWins__slide:first-child .latestWins__card,
.gmb-is-fresh .latestWins__card {
    position: relative;
}

@keyframes gmb-lw-fresh-in {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.94);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes gmb-lw-fresh-pulse {
    0% { opacity: 0; }
    20% { opacity: 0.9; }
    50% { opacity: 0.25; }
    75% { opacity: 0.7; }
    100% { opacity: 0; }
}

@keyframes gmb-lw-dot-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.55;
        transform: scale(0.8);
    }
}

/* ------------------------------------------------------------
   4. MOBILE
   Tema desktop kirilimi 992px. Mobil frozen DOM'da ayni cekirdek
   siniflar + --mobile varyantlari var; cekirdek siniflar uzerinden
   tema mobilde de gecerli. Dokunmatikte kaldirma efekti kapatilir.
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .latestWins__card:hover {
        transform: none;
    }

    .latestWins {
        /* mobilde glow yogunlugu dusurulur (performans) */
        --gmb-lw-fresh-glow: 0 0 0 1px var(--accent-border),
            0 0 14px rgba(var(--accent-rgb), 0.25);
    }
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Zorunlu blok. !important kullanilmadi: ayni veya daha yuksek
   specificity'li selectorler dosyanin sonunda tekrarlanarak
   cascade sirasiyla ezilir (bu dosya blok sirasi korunmali).
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .latestWins__dot,
    .latestWins__card,
    .latestWins__slide:first-child .latestWins__card,
    .gmb-is-fresh .latestWins__card {
        animation: none;
        transition: none;
    }

    .latestWins__slide:first-child .latestWins__card::after,
    .gmb-is-fresh .latestWins__card::after {
        animation: none;
        opacity: 0;
    }

    .latestWins__card:hover {
        transform: none;
    }
}

/* ============================================================
   GMB MODUL: online-badge
   Amac: Oyun kartindaki .slot2__online blogunu sosyal kanit
         rozetine cevirmek: canli yesil nokta (nabiz), tabular
         rakam, koyu yari saydam pill zemin, kart hover parlakligi.
   Katman: 2 (tema CSS override)  |  JS: yok
   Butce: CSS <= 8 KB min
   Kaynak kanit: plan modul #2; frozen-desktop.html ve
     frozen-mobile.html satir 9'da dogrulanan yapi:
     .game-item > .game-details > .game-name > .slot2__online
       > span.slot2__dot
       > div.online__text__wrapper > span.slot2__count + span.slot2__label
     (icinde svg yok, nokta span.slot2__dot ile cizilir)
   Riskler:
     - Platform .slot2__* siniflarini dogrudan temaliyoruz;
       platform bu yapiyi degistirirse rozet sade metne duser
       (yikici degil, guvenli bozulma).
     - Nabiz ::after uzerinde transform/opacity ile calisir,
       reduced-motion blogu animasyonu kapatir, nokta sabit kalir.
     - !important kullanilmadi; tema dosyasinda .slot2__online
       icin mevcut kural olmadigi Grep ile dogrulandi.
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   Tum ayar yuzeyi burada. Varsayilanlar platform tokenlarina
   bagli; Root.json css_variables ile tek noktadan boyanir.
   ------------------------------------------------------------ */
.slot2__online {
    /* renk */
    --gmb-ob-bg: rgba(var(--surface-bg-rgb), 0.62);
    --gmb-ob-bg-hover: rgba(var(--surface-bg-rgb), 0.78);
    --gmb-ob-border: var(--surface-border-soft);
    --gmb-ob-border-hover: var(--accent-border);
    --gmb-ob-dot: var(--success);
    --gmb-ob-dot-halo: rgba(var(--success-rgb), 0.55);
    --gmb-ob-count: var(--text-primary);
    --gmb-ob-label: var(--text-soft);

    /* olcu */
    --gmb-ob-radius: var(--radius-pill);
    --gmb-ob-pad: 3px 8px;
    --gmb-ob-gap: 6px;
    --gmb-ob-dot-size: 6px;

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --gmb-ob-pulse-dur: 2s;
}

/* ------------------------------------------------------------
   2. LAYOUT
   Pill rozet. Selector derinligi maks 2 seviye.
   ------------------------------------------------------------ */
.slot2__online {
    display: inline-flex;
    align-items: center;
    gap: var(--gmb-ob-gap);
    padding: var(--gmb-ob-pad);
    background: var(--gmb-ob-bg);
    border: var(--border-thin) solid var(--gmb-ob-border);
    border-radius: var(--gmb-ob-radius);
    line-height: 1;
    transition:
        background var(--gmb-dur-fast) var(--gmb-ease),
        border-color var(--gmb-dur-fast) var(--gmb-ease),
        filter var(--gmb-dur-fast) var(--gmb-ease);
}

/* Canli nokta: sabit cekirdek + ::after nabiz halkasi */
.slot2__online .slot2__dot {
    position: relative;
    flex: none;
    width: var(--gmb-ob-dot-size);
    height: var(--gmb-ob-dot-size);
    border-radius: 50%;
    background: var(--gmb-ob-dot);
}

.slot2__online .slot2__dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--gmb-ob-dot-halo);
    animation: gmb-online-pulse var(--gmb-ob-pulse-dur) var(--gmb-ease) infinite;
}

.slot2__online .online__text__wrapper {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    min-width: 0;
}

/* Rakam: tabular hizalama, sayi degisince genislik oynamaz */
.slot2__online .slot2__count {
    font-family: var(--font-family-medium);
    font-size: 11px;
    font-feature-settings: "tnum" 1;
    font-variant-numeric: tabular-nums;
    color: var(--gmb-ob-count);
}

.slot2__online .slot2__label {
    font-family: var(--font-family-regular);
    font-size: 10px;
    color: var(--gmb-ob-label);
    white-space: nowrap;
}

/* Sadece transform ve opacity animle */
@keyframes gmb-online-pulse {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }
    70% {
        transform: scale(2.4);
        opacity: 0;
    }
    100% {
        transform: scale(2.4);
        opacity: 0;
    }
}

/* ------------------------------------------------------------
   3. STATES
   Kart hover'inda hafif parlaklik artisi.
   .game-item:hover .slot2__online = 2 seviye.
   ------------------------------------------------------------ */
.game-item:hover .slot2__online {
    background: var(--gmb-ob-bg-hover);
    border-color: var(--gmb-ob-border-hover);
    filter: brightness(1.08);
}

/* ------------------------------------------------------------
   4. MOBILE
   Rozet etkilesimli degil, 44px dokunma hedefi gerekmez.
   Dar kartta (frozen-mobile 152px slide) pill biraz sikilasir.
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .slot2__online {
        --gmb-ob-pad: 2px 7px;
        --gmb-ob-gap: 5px;
    }
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Zorunlu blok. Nabiz halkasi kapanir, nokta sabit kalir.
   Not: animasyon ve gecisler bu dosyada tanimlandigi icin
   ayni selector + kaynak sirasi yeterli, !important gerekmez.
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .slot2__online .slot2__dot::after {
        animation: none;
        opacity: 0;
    }

    .slot2__online {
        transition-duration: 0.01ms;
    }
}

/* ============================================================
   GMB MODUL: gmb-lowbar-wallet (plan modul #3)
   Amac: Mobil lowbar merkez aksiyonuna (FAB tetikleyici)
   --lb-wallet-* tokenlarindan beslenen ring + cift radial glow
   rotusu eklemek, klasik lowbar aktif sekme indicator'unu
   accent token'ina baglamak ve safe-area-inset-bottom destegi
   vermek.
   Katman: 2 (tema CSS override)  |  JS: yok
   Butce: CSS <= 8 KB min

   Kaynak kanit:
   - Casinra lowbar cuzdan deseni: ring + cift radial glow
     (rakip analiz, plan modul #3 referansi).
   - frozen-mobile.html satir 122 ve frozen-desktop.html satir
     122: .lowbar-fab, .lowbar-fab--right, .lowbar-fab--bottom,
     .lowbar-fab__trigger, .lowbar-fab__trigger-rings,
     .lowbar-fab__trigger-core, .lowbar-fab__action DOM'da
     Grep ile kanitli.
   - Tema sozlesmesi satir 271-274: --lb-wallet-ring-color,
     --lb-wallet-ring-size, --lb-wallet-glow,
     --lb-wallet-glow-radius.

   Riskler:
   - Klasik .lowbar (item / indicator) frozen misafir DOM'unda
     YOK; COND bolumu yalnizca oturumlu DOM'da etkinlesir,
     DOM gelmezse kurallar inert kalir.
   - Tema miras FAB blogu tum ozellikleri !important ile tutar;
     bu modul yalnizca tetikleyicinin ::before / ::after
     pseudo-element katmaninda calisir, miras blokla yarismaz.
   - Miras indicator blogu background/color'da !important
     tasidigi icin COND bolumundeki background/color ancak o
     blok temizlenince tam etkili olur (asagida not).
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   Modulun tum ayar yuzeyi. Varsayilanlar platform lowbar
   sozlesmesine (--lb-wallet-*) baglidir; Root.json
   css_variables ile tek noktadan yeniden boyanabilir.
   ------------------------------------------------------------ */
.lowbar-fab {
    /* renk / efekt */
    --gmb-lbw-ring-color: var(--lb-wallet-ring-color);
    --gmb-lbw-ring-size: var(--lb-wallet-ring-size);
    --gmb-lbw-glow-ic: var(--lb-wallet-glow);
    --gmb-lbw-glow-dis: var(--lb-wallet-glow-radius);

    /* olcu: dis glow'un tetikleyiciden tasma payi */
    --gmb-lbw-glow-tasma: 16px;

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-dur-base: 0.2s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);

    /* katman: bilesen ici lokal; core (z-index 1) altinda,
       tetikleyici zemini ustunde kalir */
    --gmb-lbw-z-glow: 0;
}

/* ------------------------------------------------------------
   2. LAYOUT: RING + CIFT RADIAL GLOW (Casinra deseni)
   Tema tetikleyicide position: relative ve overflow: visible
   tutuyor; glow katmanlari pseudo-element olarak disari
   tasabilir. Miras !important blogu ile yarisilmaz.
   ------------------------------------------------------------ */

/* Dis glow: genis radial, yumusak nefes animasyonu */
.lowbar-fab__trigger::before {
    content: "";
    position: absolute;
    inset: calc(-1 * var(--gmb-lbw-glow-tasma));
    border-radius: 50%;
    background: var(--gmb-lbw-glow-dis);
    opacity: 0.9;
    pointer-events: none;
    z-index: var(--gmb-lbw-z-glow);
    animation: gmb-lbw-nefes 2.6s var(--gmb-ease) infinite;
}

/* Ic glow + ring: tetikleyici kenarina oturan halka */
.lowbar-fab__trigger::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--gmb-lbw-glow-ic);
    box-shadow: 0 0 0 var(--gmb-lbw-ring-size) var(--gmb-lbw-ring-color);
    opacity: 0.85;
    pointer-events: none;
    z-index: var(--gmb-lbw-z-glow);
    transition: opacity var(--gmb-dur-fast) var(--gmb-ease);
}

/* Sadece opacity ve transform animle (motion standardi) */
@keyframes gmb-lbw-nefes {
    0%, 100% { opacity: 0.55; transform: scale(1); }
    50%      { opacity: 1;    transform: scale(1.06); }
}

/* 44px dokunma hedefi guvencesi: mevcut olculeri kucultmez,
   yalnizca taban cizgisinin altina inilmesini engeller.
   Tema tetikleyiciyi 54px, aksiyonlari 46px tutuyor. */
.lowbar-fab__trigger {
    min-width: 44px;
    min-height: 44px;
}

.lowbar-fab__action {
    min-height: 44px;
}

/* ------------------------------------------------------------
   3. STATES
   ------------------------------------------------------------ */

/* Dokunma / hover: ic glow ve ring tam parlaklige cikar */
.lowbar-fab__trigger:hover::after,
.lowbar-fab__trigger:active::after {
    opacity: 1;
}

/* Klavye odagi: tema box-shadow'u !important ile tuttugu icin
   odak halkasi outline ile cizilir, !important gerekmez */
.lowbar-fab__trigger:focus-visible {
    outline: var(--border-medium) solid var(--gmb-lbw-ring-color);
    outline-offset: 2px;
}

/* Menu acikken dis nabiz sakinlesir, dikkat aksiyon
   stack'ine gecer (is-open state'i tema sozlesmesinde kanitli) */
.lowbar-fab.is-open .lowbar-fab__trigger::before {
    animation-play-state: paused;
    opacity: 0.35;
}

/* ------------------------------------------------------------
   4. MOBILE: SAFE-AREA
   Platform .lowbar-fab icin env() kullanmiyor (frozen'da
   safe-area yalnizca Toastify'da). Cenesiz cihazlarda merkez
   aksiyon home indicator bolgesinin ustune kalkar; inset
   olmayan cihazlarda fallback 0px ile kural etkisizdir.
   Cift class ile platform modifier kuralina karsi guvenli
   specificity saglanir (derinlik 1, compound).
   ------------------------------------------------------------ */
.lowbar-fab.lowbar-fab--bottom {
    margin-bottom: env(safe-area-inset-bottom, 0px);
}

/* ------------------------------------------------------------
   COND: KLASIK LOWBAR AKTIF SEKME INDICATOR'U
   Kanit durumu: .lowbar / .item / .indicator frozen misafir
   DOM'unda YOK; class adlari tema sozlesmesinden geliyor
   (satir 856 .lowbar .item.active, satir 869 .lowbar
   .indicator). Klasik lowbar yalnizca oturumlu mobil DOM'da
   render edilir; DOM gelmezse bu kurallar inert kalir.
   Not: miras tema blogu color/background'i !important ile
   tutar; !important yasagina uyuldugu icin bu iki ozellik
   ancak miras blok temizlendiginde devralinir. box-shadow ve
   border-radius miras blokta !important'siz oldugundan bu
   modul yuklenme sirasina gore simdi de kazanabilir.
   ------------------------------------------------------------ */
.lowbar .item.active {
    color: var(--lb-active);
}

.lowbar .indicator {
    background: linear-gradient(
        90deg,
        rgba(var(--accent-rgb), 0.96),
        rgba(var(--accent-rgb), 0.74)
    );
    box-shadow: 0 0 12px rgba(var(--accent-rgb), 0.4), var(--shadow-accent-sm);
    border-radius: var(--radius-pill);
}

/* ------------------------------------------------------------
   COND: MISAFIR MERKEZ AKSIYONU (sticky-menu ana ekran dugmesi)
   Kanit: frozen mobil DOM'da .sticky-menu .menu-item.wallet
   .is-home-guest > .logo > .guest-home-icon mevcut (gorsel QA
   2026-07-18). Platform kurali (_next chunk
   3dd3689f2150cef3.css) .sticky-menu .menu-item.wallet
   .guest-home-icon uzerinde lacivert varsayilan kalinti tasir
   (#1c2c53/#0f1935 gradyan, #4c80ff radial highlight, #7891d0
   border) ve tema dosyasindan SONRA yuklenir. is-home-guest
   compound'u ile specificity (0,5,0) > platform (0,4,0);
   yuklenme sirasindan bagimsiz kazanir, !important gerekmez.
   Olcu/yerlesim ozellikleri platformda kalir, yalnizca renk
   kimligi boyanir.
   ------------------------------------------------------------ */
.sticky-menu .menu-item.wallet.is-home-guest .guest-home-icon {
    background:
        radial-gradient(
            circle at 30% 30%,
            rgba(var(--accent-rgb), 0.38),
            rgba(0, 0, 0, 0) 42%
        ),
        linear-gradient(var(--surface-4), var(--surface-1));
    border: 1px solid var(--accent-border);
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Zorunlu blok. Modulun kendi animasyon/transition kurallari
   ile ayni specificity'de olup dosyada daha sonra geldigi icin
   !important gerektirmez. Platformun kendi halka animasyonu
   (fabGreenPulse, miras blokta !important) burada kapsam
   disidir; !important yasagi nedeniyle durdurulamaz.
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .lowbar-fab__trigger::before,
    .lowbar-fab__trigger::after {
        animation: none;
        transition-duration: 0.01ms;
    }

    .lowbar-fab.is-open .lowbar-fab__trigger::before {
        animation: none;
    }
}

/* ============================================================
   GMB MODUL: shell-paint
   Amac: JS paketi inene kadar bos koyu ekran yerine marka
   zemini gostermek: #app bos iken --surface-bg zemin uzerine
   merkezde yumusak nabizli marka glow silueti (saf CSS,
   logo dosyasina bagimlilik yok). Ek olarak platformun
   frozen DOM'da dogrulanan skeleton yapisina (.chat-skeleton
   ailesi) Gambi kimlikli shimmer temasi giydirir.
   Katman: 2 (tema CSS override)  |  JS: yok
   Butce: CSS <= 8 KB min
   Kaynak kanit: plan modul #4 (bos kabuk boyama + erken
   skeleton); selector kaniti frozen-desktop.html ve
   frozen-mobile.html (id="app" satir 3, chat-skeleton
   ailesi satir 82, her iki dosyada).
   NOT (canli test): statik harness'te #app dolu oldugundan
   bos-kabuk kismi orada gorunmez. Canli dogrulama adimi:
   DevTools > Command Menu (Ctrl+Shift+P) > "Disable
   JavaScript" sec, sayfayi yenile; #app bos kalir ve zemin +
   glow gorunur olmalidir. Testten sonra "Enable JavaScript"
   ile geri ac. Skeleton temasi harness'te dogrudan gorunur.
   Riskler:
   - :empty, #app icinde whitespace text node varsa tutmaz;
     bu yuzden body > #app zemin fallback'i ayrica verildi.
   - Platform, chat-skeleton'a kendi arka planini veriyorsa
     kaynak sirasi (extra_css_href tema sonrasi yuklenir) ve
     2 seviyeli selector ile eziliyor; !important kullanilmadi.
   - hsk-block, msp-sk, hero-area-slider-boot-card plan
     adaylari frozen DOM'da YOK; stil yazilmadi (bkz. rapor).
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   Modulun ayar yuzeyi. Hepsi tema sozlesmesindeki gercek
   tokenlara bagli; Root.json css_variables ile tek noktadan
   yeniden boyanabilir.
   ------------------------------------------------------------ */
#app {
    /* bos kabuk zemini ve glow */
    --gmb-shell-bg: var(--surface-bg);
    --gmb-shell-glow-core: rgba(var(--accent-rgb), 0.2);
    --gmb-shell-glow-mid: rgba(var(--accent-rgb), 0.08);
    --gmb-shell-glow-size: 520px;

    /* hareket */
    --gmb-dur-pulse: 2.4s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

.chat-skeleton {
    /* skeleton yuzeyleri */
    --gmb-sk-base: var(--surface-2);
    --gmb-sk-hi: var(--surface-3);
    --gmb-sk-sheen: rgba(var(--accent-rgb), 0.1);
    --gmb-sk-border: var(--surface-border-soft);

    /* hareket */
    --gmb-dur-sweep: 1.8s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ------------------------------------------------------------
   2. LAYOUT (bos kabuk boyama)
   Guvenli fallback: :empty tutmasa bile uygulama koku her
   zaman marka zemininde boyanir; beyaz/varsayilan flash yok.
   ------------------------------------------------------------ */
body > #app {
    background-color: var(--gmb-shell-bg);
}

/* Bos kabuk: JS henuz render etmediyse tam ekran marka zemini. */
#app:empty {
    display: block;
    min-height: 100vh;
    min-height: 100dvh;
    background-color: var(--gmb-shell-bg);
}

/* v2 SAYFA HAYALETI + ambiyans: tek pseudo-elemanda cok katmanli
   gradient ile sayfa silueti cizilir (header serit + hero blok +
   iki oyun rafi hayaleti) ve altina genis marka glow'u serilir.
   Gradient'te radius cizilemez; hayalet bloklar keskin koseli
   kalir, algi hedefi silüettir, birebir kopya degil. Siluet
   statiktir (tum sayfa yanip sonmesin); nabiz yalniz ::after
   cekirdek glow'unda kalir. */
#app:empty::before {
    content: "";
    position: fixed;
    inset: 0;
    background:
        linear-gradient(var(--surface-1), var(--surface-1)) 0 0 / 100% 64px no-repeat,
        linear-gradient(var(--surface-2), var(--surface-2)) 50% 96px / 92% 240px no-repeat,
        repeating-linear-gradient(
            90deg,
            var(--surface-2) 0 150px,
            transparent 150px 168px
        ) 50% 372px / 92% 190px no-repeat,
        repeating-linear-gradient(
            90deg,
            var(--surface-1) 0 150px,
            transparent 150px 168px
        ) 50% 592px / 92% 190px no-repeat,
        radial-gradient(
            var(--gmb-shell-glow-size) var(--gmb-shell-glow-size) at 50% 44%,
            var(--gmb-shell-glow-mid),
            transparent 70%
        );
}

/* Cekirdek siluet: daha kucuk, daha parlak nabiz merkezi. */
#app:empty::after {
    content: "";
    position: fixed;
    top: 44%;
    left: 50%;
    width: 180px;
    height: 180px;
    margin: -90px 0 0 -90px;
    border-radius: var(--radius-pill);
    background:
        radial-gradient(
            closest-side,
            var(--gmb-shell-glow-core),
            transparent
        );
    animation: gmb-shell-pulse var(--gmb-dur-pulse) var(--gmb-ease) infinite;
    animation-delay: 0.3s;
}

@keyframes gmb-shell-pulse {
    0%,
    100% {
        opacity: 0.55;
        transform: scale(0.96);
    }
    50% {
        opacity: 1;
        transform: scale(1);
    }
}

/* ------------------------------------------------------------
   3. STATES (skeleton shimmer temasi)
   Frozen DOM'da dogrulanan yapi: .chat-skeleton >
   .chat-skeleton__row > (.chat-skeleton__avatar +
   .chat-skeleton__content > .chat-skeleton__line--user/--msg).
   2 seviyeli selector: platform kuralini kaynak sirasi +
   specificity ile ezmek icin, !important gerekmeden.
   Sadece transform ve opacity animlenir; shimmer suzulmesi
   pseudo-eleman uzerinde translateX ile yapilir.
   ------------------------------------------------------------ */
.chat-skeleton .chat-skeleton__avatar,
.chat-skeleton .chat-skeleton__line {
    position: relative;
    overflow: hidden;
    background-color: var(--gmb-sk-base);
    border: var(--border-thin) solid var(--gmb-sk-border);
}

.chat-skeleton .chat-skeleton__avatar {
    border-radius: var(--radius-pill);
}

.chat-skeleton .chat-skeleton__line {
    border-radius: var(--radius-pill);
}

.chat-skeleton .chat-skeleton__line--user {
    background-color: var(--gmb-sk-hi);
}

/* Shimmer suzulmesi: hafif yesil parlama soldan saga akar. */
.chat-skeleton__avatar::after,
.chat-skeleton__line::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background:
        linear-gradient(
            105deg,
            transparent 25%,
            var(--gmb-sk-sheen) 50%,
            transparent 75%
        );
    animation: gmb-sk-sweep var(--gmb-dur-sweep) var(--gmb-ease) infinite;
}

/* Satirlar arasi faz farki: mekanik es-zamanli parlama yerine
   dogal akis hissi. */
.chat-skeleton__line--msg::after {
    animation-delay: 0.25s;
}

.chat-skeleton__row.is-wide .chat-skeleton__line::after {
    animation-delay: 0.5s;
}

@keyframes gmb-sk-sweep {
    0% {
        transform: translateX(-100%);
    }
    60%,
    100% {
        transform: translateX(100%);
    }
}

/* ------------------------------------------------------------
   4. MOBILE
   Tema desktop kirilimi 992px. Mobilde glow kuculur, pahali
   genis gradient alani daralir.
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    #app {
        --gmb-shell-glow-size: 320px;
    }

    #app:empty::after {
        width: 130px;
        height: 130px;
        margin: -65px 0 0 -65px;
    }
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Zorunlu blok. !important kullanilmadi: animasyonlar bu
   dosyada, ayni veya daha dusuk specificity ile tanimli;
   bu blok dosyanin sonunda oldugu icin kaynak sirasiyla
   kazanir.
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    #app:empty::after {
        animation: none;
        opacity: 0.7;
        transform: none;
    }

    .chat-skeleton .chat-skeleton__avatar::after,
    .chat-skeleton .chat-skeleton__line::after {
        animation: none;
        transform: none;
        opacity: 0.35;
    }
}

/* ============================================================
   GMB MODUL: game-badges (plan modul #21, uretim modul 5)
   Amac: Oyun karti detay satiri ve saglayici karuseline Gambi
         kimlik rotusu uygulamak.
   Katman: 2 (tema CSS override)  |  JS: yok
   Butce: CSS <= 8 KB min

   KESIF KANITI (frozen-desktop.html + frozen-mobile.html):
   - .game-item kart iskeleti her iki dosyada 645 adet ve hepsi
     ayni yapida: .game-top > figure.game-image + .game-opener
     (.items ici BOS), .game-details > .game-name > .slot2__online
     > .slot2__dot + .online__text__wrapper > .slot2__count +
     .slot2__label ("Cevrim ici").
   - ROZET ALTYAPISI DOM'DA YOK: badge/ribbon/label elementi,
     YENI/JACKPOT/LIVE etiketi veya data-badge benzeri attribute
     hicbir kartta bulunmuyor. "badge" ve "jackpot" kelimeleri
     sadece oyun adi/gorsel URL'lerinde geciyor. Bu nedenle
     rozet kimlik renkleri (YENI yesil, JACKPOT warning altin,
     LIVE danger nabiz) icin CSS YAZILMADI; once Katman 3 JS
     modulu markup enjekte etmeli.
   - Kart basina saglayici adi satiri da yok; saglayici yuzeyi
     ayri bir karusel: .provider-box > a.provider-item >
     figure.image > img (68 adet, her iki dosyada).
   - .game-item hover cercevesi tema dosyasinda zaten isleniyor
     (satir 1205-1251, yesil halo + lift); burada tekrarlanmadi.

   RISKLER:
   - .slot2__dot uzerine position:relative ve ::after halkasi
     ekleniyor; platform dot'u kendi psodosu ile cizerse cift
     gorsel olusabilir (frozen DOM'da psodo izi yok).
   - .provider-item'a kenarlik outline ile veriliyor (layout
     kaydirmaz); platformun kendi border'i varsa ustune binmez.
   - Sonsuz nabiz animasyonu asagida ayni specificity'li
     reduced-motion blogu ile kapatilir (kaynak sirasi kazanir,
     !important gerekmez).
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   Modulun ayar yuzeyi. Hepsi platform tokenlarina bagli,
   Root.json css_variables ile tek noktadan yeniden boyanir.
   ------------------------------------------------------------ */
.game-item {
    /* canli oyuncu satiri (slot2__online) */
    --gmb-gb-dot: var(--success);
    --gmb-gb-dot-glow: rgba(var(--accent-rgb), 0.38);
    --gmb-gb-count: var(--text-secondary);
    --gmb-gb-label: var(--text-soft);

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

.provider-box {
    /* saglayici karuseli */
    --gmb-gb-prov-border: var(--accent-border);
    --gmb-gb-prov-radius: var(--radius-md);
    --gmb-gb-prov-dim: 0.85;

    /* hareket */
    --gmb-dur-base: 0.2s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --gmb-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ------------------------------------------------------------
   2. LAYOUT
   Sadece var olan platform yapisi temalanir, yeni markup yok.
   Layout kaydiran ozellik (padding/margin/size) bilerek yok.
   ------------------------------------------------------------ */

/* canli oyuncu sayaci: sayi hafif vurgulu, etiket sakin muted */
.game-item .slot2__count {
    font-family: var(--font-family-medium);
    color: var(--gmb-gb-count);
}

.game-item .slot2__label {
    font-family: var(--font-family-regular);
    color: var(--gmb-gb-label);
    letter-spacing: 0.02em;
}

/* nabiz noktasi: marka yesili + yumusak glow */
.game-item .slot2__dot {
    position: relative;
    background: var(--gmb-gb-dot);
    border-radius: var(--radius-pill);
    box-shadow: 0 0 6px var(--gmb-gb-dot-glow);
}

.game-item .slot2__dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--radius-pill);
    background: var(--gmb-gb-dot);
    opacity: 0.45;
    animation: gmb-gb-ping 2.4s var(--gmb-ease) infinite;
    pointer-events: none;
}

@keyframes gmb-gb-ping {
    0% {
        transform: scale(1);
        opacity: 0.45;
    }
    70%, 100% {
        transform: scale(2.4);
        opacity: 0;
    }
}

/* saglayici karuseli: sakin, muted logo karti */
.provider-box .provider-item {
    border-radius: var(--gmb-gb-prov-radius);
    /* outline layout kaydirmaz, platform border'i ile cakismaz */
    outline: var(--border-thin) solid transparent;
    outline-offset: -1px;
    transition:
        transform var(--gmb-dur-base) var(--gmb-ease-spring),
        outline-color var(--gmb-dur-base) var(--gmb-ease);
}

.provider-box img {
    opacity: var(--gmb-gb-prov-dim);
    transition: opacity var(--gmb-dur-base) var(--gmb-ease);
}

/* ------------------------------------------------------------
   3. STATES
   Sadece transform ve opacity animlenir.
   ------------------------------------------------------------ */
.provider-box .provider-item:hover {
    transform: translateY(-2px);
    outline-color: var(--gmb-gb-prov-border);
}

.provider-box .provider-item:hover img {
    opacity: 1;
}

.provider-box .provider-item:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

/* ------------------------------------------------------------
   4. MOBILE
   Tema desktop kirilimi 992px. Saglayici karti zaten genis;
   dokunma hedefi 44px garanti altina alinir. Dokunmatikte
   hover kalkani: lift yok, logolar tam gorunur.
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .provider-box .provider-item {
        min-height: 44px;
    }

    .provider-box img {
        --gmb-gb-prov-dim: 1;
    }
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Zorunlu blok. !important kullanilmadi: asagidaki kurallar
   yukaridaki animasyon/transition kurallariyla ayni selector
   ve ayni specificity'de olup kaynak sirasinda sonra geldigi
   icin her durumda kazanir.
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .game-item .slot2__dot::after {
        animation: none;
        opacity: 0;
    }

    .provider-box .provider-item,
    .provider-box img {
        transition-duration: 0.01ms;
    }

    .provider-box .provider-item:hover {
        transform: none;
    }
}

/* ============================================
   GMB P2 MODUL PAKETI (18 Temmuz 2026)
   Kaynak: moduller/*.css - GAMBI-MASTER-PLAN bolum 5 (#6, #7, #11, #12, #13, #25, VIP)
   ============================================ */

/* ============================================================
   GMB MODUL: sen-satiri
   Amac: Race leaderboard'da kullanicinin kendi satirini (SEN)
   accent-soft zemin, sol accent cubugu, pill etiket ve hafif
   glow ile ust/alt siralardan ayirmak.
   Plan: GAMBI-MASTER-PLAN.md modul #6 (P2, CSS-only, dusuk risk)
   Katman: 2 (tema CSS override)  |  JS: yok  |  Butce: <= 8 KB

   KAYNAK KANIT:
   - gambi394.com6.har satir 8452 ve 5079 (platform JS bundle):
     .race-leaderboard-row, is-self durum sinifi,
     .race-leaderboard-you-tag, .race-leaderboard-row--cta,
     .race-leaderboard-cta-btn platformda MEVCUT.
   - Satir yapisi: div.flex-row.race-leaderboard-row.is-self >
     .flex-cell > .order  ve  .author > .icon + .text +
     span.race-leaderboard-you-tag (yalniz is-self satirinda).

   COND BLOGU: Dosyanin TAMAMI kosulludur. race-leaderboard
   ailesi frozen-desktop.html ve frozen-mobile.html misafir
   DOM'unda YOK (Grep: 0 sonuc). Oturumlu/dinamik DOM bekler
   (race modal ve leaderboard render'i); misafir DOM'da inert
   kalir, hicbir elemana dokunmaz.

   RISKLER:
   - Layout shift olmasin diye border yerine inset ring
     (statik box-shadow) kullanildi.
   - position: sticky ilerici iyilestirmedir; scroll konteyneri
     yoksa satir normal akista kalir, hicbir sey bozulmaz.
   - Ust konteynerde overflow clip varsa dis glow kirpilir;
     vurgu yine zemin + cubuk + etiketle ayakta kalir.
   - Erisilebilirlik: vurgu yalniz renk degil, SEN pill etiketi
     ve sol cubuk sekil ipucu ile de tasinir.
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   Tum ayar yuzeyi platform tokenlarina bagli; Root.json
   css_variables ile tek noktadan yeniden boyanabilir.
   ------------------------------------------------------------ */
.race-leaderboard-row.is-self {
    /* renk */
    --gmb-sen-bg: var(--accent-soft);
    --gmb-sen-base: var(--surface-2);
    --gmb-sen-bar: var(--accent);
    --gmb-sen-ring: var(--accent-border);
    --gmb-sen-text: var(--text-primary);
    --gmb-sen-tag-bg: var(--accent);
    --gmb-sen-tag-text: var(--text-on-accent);

    /* efekt (statik golge, animasyon yalniz opacity) */
    --gmb-sen-glow:
        0 0 18px rgba(var(--accent-rgb), 0.28),
        0 0 36px rgba(var(--accent-rgb), 0.14);

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);

    /* katman (SKILL.md z-index skalasi, modul ici) */
    --gmb-z-base: 1;
}

/* ------------------------------------------------------------
   2. LAYOUT
   Platform satiri yalniz temalanir, yapisi degistirilmez.
   Zemin iki katman: accent-soft, altinda opak surface-2;
   boylece sticky durumda alttaki satirlar transparandan
   sizmaz ve kontrast sabit kalir.
   ------------------------------------------------------------ */
.race-leaderboard-row.is-self {
    position: sticky;
    top: 0;
    bottom: 0;
    z-index: var(--gmb-z-base);
    background:
        linear-gradient(var(--gmb-sen-bg), var(--gmb-sen-bg))
        var(--gmb-sen-base);
    border-radius: var(--radius-sm);
    /* statik inset ring, border yerine: satir yuksekligi oynamaz */
    box-shadow: inset 0 0 0 var(--border-thin) var(--gmb-sen-ring);
    color: var(--gmb-sen-text);
}

/* hafif glow: sabit golgeli pseudo-element, yalniz opacity animlenir */
.race-leaderboard-row.is-self::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: var(--gmb-sen-glow);
    opacity: 0.55;
    pointer-events: none;
    animation: gmb-sen-glow 2.8s var(--gmb-ease) infinite;
}

/* sol accent cubugu: sekil ipucu, renkten bagimsiz ayirt edici */
.race-leaderboard-row.is-self::after {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: var(--radius-pill);
    background: var(--gmb-sen-bar);
    pointer-events: none;
}

/* sira numarasi vurgusu */
.race-leaderboard-row.is-self .order {
    color: var(--gmb-sen-bar);
    font-family: var(--font-family-bold);
}

/* kullanici adi tam kontrast */
.race-leaderboard-row.is-self .text {
    color: var(--gmb-sen-text);
}

/* SEN etiketi: yesil zemin, koyu metin, pill */
.race-leaderboard-row.is-self .race-leaderboard-you-tag {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin-inline-start: 6px;
    padding: 2px 8px;
    background: var(--gmb-sen-tag-bg);
    color: var(--gmb-sen-tag-text);
    font-family: var(--font-family-bold);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: var(--radius-pill);
    box-shadow: 0 2px 8px rgba(var(--accent-rgb), 0.35);
    transition: transform var(--gmb-dur-fast) var(--gmb-ease);
}

@keyframes gmb-sen-glow {
    0%,
    100% { opacity: 0.45; }
    50% { opacity: 1; }
}

/* ------------------------------------------------------------
   3. STATES
   Yalniz transform animlenir.
   ------------------------------------------------------------ */
.race-leaderboard-row.is-self:hover .race-leaderboard-you-tag {
    transform: scale(1.06);
}

/* ------------------------------------------------------------
   4. MOBILE
   Tema desktop kirilimi 992px. Mobil bundle'da wagered
   kolonu yok (HAR kaniti), ayni siniflar gecerli.
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .race-leaderboard-row.is-self {
        /* mobilde tek katman glow, daha ucuz boyama */
        --gmb-sen-glow: 0 0 14px rgba(var(--accent-rgb), 0.24);
    }

    .race-leaderboard-row.is-self::after {
        width: 2px;
        top: 4px;
        bottom: 4px;
    }

    .race-leaderboard-row.is-self .race-leaderboard-you-tag {
        padding: 2px 6px;
        font-size: 9px;
    }
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Sonsuz glow animasyonu kapanir, sabit hafif glow kalir.
   Kurallar bu dosyada ayni specificity ile daha sonra
   geldigi icin !important gerekmez.
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .race-leaderboard-row.is-self::before {
        animation: none;
        opacity: 0.55;
    }

    .race-leaderboard-row.is-self .race-leaderboard-you-tag {
        transition: none;
    }
}

/* ============================================================
   GMB MODUL: gmb-canli-bahisler (Plan MODUL #25)
   Amac: bahis akisi tablosuna kimlik: satir giris animasyonu,
   hover accent kenari, kazanc vurgusu, carpan rozet kancalari,
   canli toggle nabiz noktasi. Katman: 2, JS yok, butce 8 KB.

   Kanit (frozen DOM): desktop: .simple-bets, .bet-list__header,
   .nav-link(.active), .bet-list__live-toggle(-dot/-text),
   .casino-bets-table, .flex-row.header, .flex-row.bet-row,
   .flex-cell time/multiplier/payout, .amount.up/.down.
   Mobil: ayni blok; satirlar yalnizca .flex-row (bet-row YOK),
   bu yuzden satir selektoru .flex-row:not(.header) adaptasyonu.

   COND (oturumlu/dinamik DOM bekler, misafir DOM'da inert):
   - .bet-row--enter: Betlora deseni, dinamik akis basar.
   - .gmb-mult(--hot/--epic): carpan rozeti; frozen'da carpan
     duz metin (x4.00), esik siniflamasi CSS ile yapilamaz.
     10x+ ALTIN kalir, danger bu modulde hic kullanilmaz.

   Riskler: .amount tablo disinda da var, hepsi .simple-bets
   kapsaminda. Ilk satir animasyonu pane re-render'inda bir kez
   daha oynar. :has() yoksa yalnizca toggle metni parlamaz.
   ============================================================ */

/* == 1. TOKENS == */
.simple-bets {
    /* renk */
    --gmb-bets-head-text: var(--text-soft);
    --gmb-bets-line: var(--surface-border-soft);
    --gmb-bets-row-hover: var(--surface-3);
    --gmb-bets-win: var(--accent);
    --gmb-bets-loss: var(--text-soft);

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-dur-base: 0.2s;
    --gmb-dur-slow: 0.3s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* == 2. LAYOUT / TABLO KIMLIGI == */

/* Baslik satiri: mikro buyuk harf, soluk metin */
.simple-bets .flex-row.header {
    font-family: var(--font-family-medium);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gmb-bets-head-text);
    border-bottom: var(--border-thin) solid var(--gmb-bets-line);
}

/* Veri satiri: desktop .bet-row + mobil duz .flex-row ortak */
.simple-bets .flex-row:not(.header) {
    position: relative;
    border-bottom: var(--border-thin) solid var(--gmb-bets-line);
    transition: background var(--gmb-dur-fast) var(--gmb-ease);
}

.simple-bets .flex-row:not(.header):last-child {
    border-bottom: 0;
}

/* Hover accent kenari: sabit boyali pseudo, yalniz opacity gecisi */
.simple-bets .flex-row:not(.header)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15%;
    bottom: 15%;
    width: 2px;
    border-radius: var(--radius-pill);
    background: var(--accent);
    box-shadow: 0 0 8px rgba(var(--accent-rgb), 0.5);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--gmb-dur-fast) var(--gmb-ease);
}

/* Sayisal kolon hizasi: zaman, carpan ve tutarlar */
.simple-bets .flex-cell.time,
.simple-bets .flex-cell.multiplier,
.simple-bets .amount {
    font-variant-numeric: tabular-nums;
}

.simple-bets .flex-cell.multiplier {
    font-family: var(--font-family-medium);
    color: var(--text-muted);
}

/* Kazanc: accent + tabular-nums (kapsayan hucre inherit eder) */
.simple-bets .amount.up {
    color: var(--gmb-bets-win);
    font-family: var(--font-family-semibold);
}

/* Kayip: soluk; danger bilincli olarak kullanilmiyor (plan) */
.simple-bets .amount.down {
    color: var(--gmb-bets-loss);
}

/* Sekmeler: Casino Bahisleri / Spor Bahisleri (platform temalanir) */
.bet-list__header .nav-link {
    color: var(--text-muted);
    border-radius: var(--radius-pill);
    transition:
        background var(--gmb-dur-fast) var(--gmb-ease),
        color var(--gmb-dur-fast) var(--gmb-ease);
}

.bet-list__header .nav-link:hover {
    color: var(--text-primary);
}

.bet-list__header .nav-link.active {
    background: var(--accent-soft);
    color: var(--accent);
    font-family: var(--font-family-bold);
}

.bet-list__header .nav-link:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

/* Canli toggle metni */
.bet-list__live-toggle-text {
    font-family: var(--font-family-medium);
    color: var(--text-muted);
    transition: color var(--gmb-dur-fast) var(--gmb-ease);
}

.bet-list__live-toggle:has(input:checked) .bet-list__live-toggle-text {
    color: var(--text-primary);
}

/* Canli toggle yesil nabiz noktasi */
.bet-list__live-toggle-dot {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: var(--radius-pill);
    background: var(--accent);
    /* sabit golge; golge animlanmiyor, halka pseudo ile atiliyor */
    box-shadow: 0 0 8px rgba(var(--accent-rgb), 0.6);
}

.bet-list__live-toggle-dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--radius-pill);
    background: rgba(var(--accent-rgb), 0.45);
    animation: gmb-live-pulse 1.8s var(--gmb-ease) infinite;
}

/* == 3. STATES == */
.simple-bets .flex-row:not(.header):hover {
    background: var(--gmb-bets-row-hover);
}

.simple-bets .flex-row:not(.header):hover::before {
    opacity: 1;
}

/* Yeni satir girisi: akis basa ekler, header'in ilk komsusu
   en yeni satirdir; DOM'a yeni dugum girince animasyon oynar */
.simple-bets .header + .flex-row {
    animation: gmb-bet-in 0.35s var(--gmb-ease) both;
}

@keyframes gmb-bet-in {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes gmb-live-pulse {
    0% {
        transform: scale(1);
        opacity: 0.85;
    }
    70%,
    100% {
        transform: scale(2.4);
        opacity: 0;
    }
}

/* == 3b. COND: oturumlu/dinamik DOM bekleyen kancalar == */

/* COND: Betlora bet-row--enter deseni; dinamik akis herhangi
   bir konuma satir dustugunde bu sinifi basar */
.simple-bets .bet-row--enter {
    animation: gmb-bet-in 0.35s var(--gmb-ease) both;
}

/* COND: carpan rozeti; dinamik DOM/JS carpan metnini
   span.gmb-mult ile sarar ve esik sinifini secer */
.simple-bets .gmb-mult {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 2px 8px;
    border-radius: var(--radius-pill);
    border: var(--border-thin) solid var(--gmb-bets-line);
    background: var(--surface-3);
    color: var(--text-muted);
    font-family: var(--font-family-medium);
    font-variant-numeric: tabular-nums;
}

/* COND: 2x ve uzeri, altin */
.simple-bets .gmb-mult--hot {
    color: var(--warning);
    background: var(--state-warning-soft);
    border-color: rgba(var(--warning-rgb), 0.35);
}

/* COND: 10x ve uzeri, ALTIN kalir; danger yasak (plan kurali) */
.simple-bets .gmb-mult--epic {
    color: var(--warning);
    background: rgba(var(--warning-rgb), 0.26);
    border-color: rgba(var(--warning-rgb), 0.6);
    font-family: var(--font-family-bold);
}

/* == 4. MOBILE (tema desktop kirilimi 992px) == */
@media (max-width: 991px) {
    .simple-bets .flex-row:not(.header) {
        min-height: 44px;
    }

    .bet-list__live-toggle {
        min-height: 44px;
    }

    .bet-list__header .nav-link {
        min-height: 44px;
    }
}

/* == 5. REDUCED-MOTION ==
   !important yok (deploy butcesi 0): kurallar modulun kendi
   kurallariyla ayni selector/specificity'de olup kaynak sirasinda
   sonra geldigi icin her durumda kazanir. */
@media (prefers-reduced-motion: reduce) {
    .simple-bets .header + .flex-row,
    .simple-bets .bet-row--enter {
        animation: none;
    }

    .simple-bets .flex-row:not(.header),
    .simple-bets .flex-row:not(.header)::before,
    .bet-list__header .nav-link,
    .bet-list__live-toggle-text {
        transition-duration: 0.01ms;
    }

    .bet-list__live-toggle-dot::after {
        /* nabiz tamamen durur ve gizlenir, statik nokta yeter */
        animation: none;
        opacity: 0;
    }
}

/* ============================================================
   GMB MODUL: hero-rotus
   Amac: Hero slider kimlik rotusu; aktif pagination bullet'i
   accent gradyanli uzun pill + glow, hero gorseline hafif
   Ken Burns zoom, ok butonlarina accent hover.
   Plan: MODUL #7 (Hero rotusu)
   Katman: 2 (tema CSS override)  |  JS: yok
   Butce: CSS <= 8 KB min
   ------------------------------------------------------------
   Kaynak kanit (frozen DOM, her selector iki dosyada kanitli):
   - frozen-desktop.html: .hero-area-slider.type-1.is-ready >
     .swiper.main-slider > .swiper-wrapper > .swiper-slide >
     a.hero-slide-link > .hero-slide-card > .hero-slide-media > img
   - .hero-slider-controls > .hero-slider-pagination
     (.swiper-pagination-bullets) > span.swiper-pagination-bullet
     ve .swiper-pagination-bullet-active
   - .hero-area-slider-nav > button.owl-prev.hero-nav-btn ve
     button.owl-next.hero-nav-btn
   - frozen-mobile.html: ayni yapi .hp-mobile-slider.d-lg-none
     sarmalayicisi icinde; ek COND blok gerekmedi.
   ------------------------------------------------------------
   Swiper autoplay uyum notu:
   --gmb-hero-delay (7.5s) hem Ken Burns dongusunun suresi hem
   de Swiper autoplay delay hedefidir. Platform autoplay 7500 ms
   olmali; degisirse bu token Root.json css_variables uzerinden
   ayni degere cekilir (sure tek degiskenden yonetilir).
   Animasyon alternate calistigi icin her slide gecisi zoom yon
   degisimine denk gelir, gorunur sicrama olusmaz.
   ------------------------------------------------------------
   Riskler:
   - Platform inline stili --hero-accent olarak mor (hex 7b5cff)
     basiyor; marka cakismasi. Inline deger yalniz elemanin kendisinde
     kazanir; tuketim alt elemanlarda oldugundan alt agaca dogrudan
     deklarasyon ile !important'siz markaya cekildi (butce 0).
   - Ok butonlari bazi anlarda .swiper-button-lock ile gizlenir;
     stiller inert kalir, zarar vermez.
   - Ken Burns 3 slide gorselinde birden calisir; yalniz
     transform, composited. will-change bilincli kullanilmadi.
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   Modulun tum ayar yuzeyi. Varsayilanlar platform tokenlarina
   bagli; Root.json css_variables ile tek noktadan boyanir.
   ------------------------------------------------------------ */
.hero-area-slider {
    /* sure: Swiper autoplay delay ile ayni tutulur (bkz. ust not) */
    --gmb-hero-delay: 7.5s;
    --gmb-hero-zoom: 1.06;

    /* pagination */
    --gmb-hero-dot: 8px;
    --gmb-hero-pill-w: 26px;
    --gmb-hero-bullet: var(--surface-border-strong);
    --gmb-hero-bullet-hover: rgba(var(--accent-rgb), 0.55);
    --gmb-hero-pill-grad: linear-gradient(
        90deg,
        var(--brand-secondary),
        var(--accent)
    );
    --gmb-hero-glow: rgba(var(--accent-rgb), 0.45);

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-dur-base: 0.2s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --gmb-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Platform inline stili .hero-area-slider elemanina --hero-accent
   olarak mor (hex 7b5cff) basiyor. Inline deger yalniz elemanin kendisinde
   kazanir; --hero-accent'i tuketen bullet/ok/overlay elemanlari alt
   agacta oldugundan dogrudan deklarasyon inherit edilen inline
   degeri !important'siz ezer (deploy butcesi: modul 0 !important).
   Kalinti risk: degiskeni kok elemanin kendisinde tuketen platform
   kurali olursa orada mor kalir; modulun kendi gorunumu
   --gmb-hero-* tokenlarindan aktigi icin etkilenmez. */
.hero-area-slider * {
    --hero-accent: var(--accent);
    --hero-accent-rgb: var(--accent-rgb);
}

/* ------------------------------------------------------------
   2. LAYOUT
   Bullet taban bicimi ve Ken Burns katmani. Maks derinlik 3.
   ------------------------------------------------------------ */
.hero-area-slider .swiper-pagination-bullet {
    position: relative;
    width: var(--gmb-hero-dot);
    height: var(--gmb-hero-dot);
    border-radius: var(--radius-pill);
    background: var(--gmb-hero-bullet);
    opacity: 1;
    /* width bilerek transition disi: olcu animasyonu modul
       standardinda yasak, pill gecisi anlik olur */
    transition:
        background-color var(--gmb-dur-fast) var(--gmb-ease),
        opacity var(--gmb-dur-fast) var(--gmb-ease);
}

/* Glow: sabit golgeli pseudo-element + opacity deseni.
   box-shadow hicbir zaman animlanmiyor, yalniz opacity. */
.hero-area-slider .swiper-pagination-bullet::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: 0 0 14px var(--gmb-hero-glow);
    opacity: 0;
    transition: opacity var(--gmb-dur-base) var(--gmb-ease);
}

/* Ken Burns: yalniz hero gorsel katmani, yalniz transform */
.hero-area-slider .hero-slide-media {
    overflow: hidden;
}

.hero-area-slider .hero-slide-media img {
    transform-origin: 50% 50%;
    animation: gmb-hero-zoom var(--gmb-hero-delay) ease-in-out
        infinite alternate;
}

@keyframes gmb-hero-zoom {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(var(--gmb-hero-zoom, 1.06));
    }
}

/* Ok butonlari: taban gecis tanimi */
.hero-area-slider .hero-nav-btn {
    transition:
        color var(--gmb-dur-fast) var(--gmb-ease),
        background-color var(--gmb-dur-fast) var(--gmb-ease),
        border-color var(--gmb-dur-fast) var(--gmb-ease),
        transform var(--gmb-dur-base) var(--gmb-ease-spring);
}

/* ------------------------------------------------------------
   3. STATES
   Aktif pill, hover ve odak. Yalniz transform/opacity animli.
   ------------------------------------------------------------ */
.hero-area-slider .swiper-pagination-bullet:hover {
    background: var(--gmb-hero-bullet-hover);
}

.hero-area-slider .swiper-pagination-bullet-active {
    width: var(--gmb-hero-pill-w);
    background: var(--gmb-hero-pill-grad);
}

.hero-area-slider .swiper-pagination-bullet-active::after {
    opacity: 1;
}

.hero-area-slider .hero-nav-btn:hover {
    color: var(--accent);
    border-color: var(--accent-border);
    background: var(--accent-soft-2);
    transform: translateY(-1px);
}

.hero-area-slider .hero-nav-btn:active {
    transform: translateY(0) scale(0.96);
}

.hero-area-slider .hero-nav-btn:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

/* ------------------------------------------------------------
   4. MOBILE
   Ayni DOM .hp-mobile-slider icinde (d-lg-none), selectorler
   otomatik kapsar. Dokunma icin nokta bir tik buyur, pill
   kisalir; layout kirmamak icin 44px hedefi zorlanmadi
   (bullet'lar swiper clickable, birincil gezinme swipe).
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .hero-area-slider {
        --gmb-hero-dot: 9px;
        --gmb-hero-pill-w: 22px;
    }

    .hero-area-slider .hero-nav-btn:hover {
        /* dokunmatikte hover kalintisi kaymasin */
        transform: none;
    }
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Zorunlu blok. Ken Burns dahil tum animasyonlar durur, gecisler
   anlik olur. !important yok (deploy butcesi 0): kurallar modulun
   kendi kurallariyla ayni selector/specificity'de olup kaynak
   sirasinda sonra geldigi icin her durumda kazanir.
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .hero-area-slider .hero-slide-media img {
        animation: none;
    }

    .hero-area-slider .swiper-pagination-bullet,
    .hero-area-slider .swiper-pagination-bullet::after,
    .hero-area-slider .hero-nav-btn {
        transition-duration: 0.01ms;
    }

    .hero-area-slider .hero-nav-btn:hover,
    .hero-area-slider .hero-nav-btn:active {
        transform: none;
    }
}

/* ============================================================
   GMB MODUL: gmb-promo-rail (Sidebar promo rail production rotusu)
   Plan: GAMBI-MASTER-PLAN MODUL #11
   Katman: 2 (tema CSS override)  |  JS: yok
   Butce: CSS <= 8 KB
   ------------------------------------------------------------
   KAYNAK KANIT:
   - frozen-desktop/mobile.html (misafir DOM, Grep): .sb-promo ve
     .sl-acc YOK. Var olanlar: .sidebar-content, .sb-top,
     .sb-top-btn, .sb-top-title, .sb-top-arrow ve
     a.sb-top-btn[href*="promotion"] girisi (satir 71).
   - gambi394.com6.har satir 1207 (canli oturumlu DOM): .sb-promo
     ailesi tam mevcut (__item __dot __empty __retry __skeleton
     __sk vb.) + sbShimmer keyframe (background-position animli).
   - analiz/jackbom396.md: sb-promo__skeleton production deseni.
   - _root {.css: --sidebar-promo-* tokenlari platformca zaten
     tuketiliyor; radius/durum degerleri platformda hardcoded,
     token ile cozulemedigi icin Katman 2 gerekli.
   ------------------------------------------------------------
   COND: Tum .sb-promo bloklari oturumlu/dinamik DOM bekler,
   misafir DOM'da inert (sinif yok, kural bosa duser).
   RISKLER:
   - Yukleme sirasi garantisiz; sb-promo kurallari 2 sinif
     specificity ile platform tekil sinifini ezer, !important 0.
   - Platform sbShimmer kapatilir (animation: none), yerine
     transform tabanli gmb-sbp-shimmer konur.
   - .sl-acc kapsam disi: frozen DOM'da yok, temada zaten stilli.
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   COND kok: .sb-promo dinamik DOM'da belirdiginde uygulanir.
   Varsayilanlar platform tokenlarina bagli, Root.json
   css_variables ile tek noktadan yeniden boyanabilir.
   ------------------------------------------------------------ */
.sb-promo {
    /* kart dili */
    --gmb-sbp-item-bg: var(--surface-2);
    --gmb-sbp-item-bg-hover: var(--surface-3);
    --gmb-sbp-item-border: var(--surface-border-soft);
    --gmb-sbp-item-border-hover: var(--accent-border);
    --gmb-sbp-radius: var(--radius-md); /* 10px, plan geregi */
    --gmb-sbp-rail-radius: var(--radius-lg);

    /* gosterge */
    --gmb-sbp-dot: var(--sidebar-promo-dot);
    --gmb-sbp-dot-glow: var(--sidebar-promo-dot-glow);
    --gmb-sbp-shimmer: rgba(var(--accent-rgb), 0.08);

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-dur-base: 0.2s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
    /* z-index gerekmiyor: modul kendi kutusunda, katman yok */
}

/* ------------------------------------------------------------
   2. LAYOUT
   2a. Dogrulanmis misafir DOM dokunusu: sidebar promosyon
   girisine accent nokta gostergesi (rail dilinin misafir yuzu).
   ------------------------------------------------------------ */
a.sb-top-btn[href*="promotion"] .sb-top-title::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 8px;
    vertical-align: middle;
    border-radius: var(--radius-pill);
    background: var(--accent);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.15);
}

/* 2b. COND: promo rail kabugu (oturumlu DOM bekler).
   Zemin platform tokeninde kalir (--sidebar-promo-bg, Katman 1
   yolu acik); yalniz cizgi ve radius rotuslanir.
   Sinif tekrari: yukleme sirasindan bagimsiz kazanmak icin. */
.sb-promo.sb-promo {
    border-color: var(--surface-border-soft);
    border-radius: var(--gmb-sbp-rail-radius);
}

.sb-promo .sb-promo__head {
    border-bottom-color: var(--surface-border-soft);
}

.sb-promo .sb-promo__title {
    color: var(--text-secondary);
    font-family: var(--font-family-semibold);
}

.sb-promo .sb-promo__label {
    color: var(--text-soft);
    font-family: var(--font-family-medium);
}

/* COND: promo ogesi kart dili (surface-2 zemin, radius 10) */
.sb-promo .sb-promo__item {
    background: var(--gmb-sbp-item-bg);
    border: var(--border-thin) solid var(--gmb-sbp-item-border);
    border-radius: var(--gmb-sbp-radius);
    transition:
        background var(--gmb-dur-fast) var(--gmb-ease),
        border-color var(--gmb-dur-fast) var(--gmb-ease);
}

/* COND: nokta gostergesi accent + sabit glow (animasyon yok) */
.sb-promo .sb-promo__dot {
    background: var(--gmb-sbp-dot);
    box-shadow: 0 0 0 4px var(--gmb-sbp-dot-glow);
}

.sb-promo .sb-promo__arrow {
    transition:
        transform var(--gmb-dur-base) var(--gmb-ease),
        opacity var(--gmb-dur-fast) var(--gmb-ease);
}

/* ------------------------------------------------------------
   3. STATES
   COND: hover surface-3 + accent kenarlik; skeleton, empty,
   retry durumlari. Sadece transform ve opacity animlenir.
   ------------------------------------------------------------ */
.sb-promo .sb-promo__item:hover {
    background: var(--gmb-sbp-item-bg-hover);
    border-color: var(--gmb-sbp-item-border-hover);
}

.sb-promo .sb-promo__item:hover .sb-promo__arrow {
    transform: translateX(2px);
    opacity: 0.9;
}

.sb-promo .sb-promo__viewall {
    color: var(--text-muted);
    transition: color var(--gmb-dur-fast) var(--gmb-ease);
}

.sb-promo .sb-promo__viewall:hover {
    color: var(--accent);
}

/* COND: refresh ve retry ayni buton dilini paylasir */
.sb-promo .sb-promo__refresh,
.sb-promo .sb-promo__retry {
    background: var(--surface-2);
    border: var(--border-thin) solid var(--surface-border-soft);
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    transition:
        background var(--gmb-dur-fast) var(--gmb-ease),
        border-color var(--gmb-dur-fast) var(--gmb-ease),
        color var(--gmb-dur-fast) var(--gmb-ease);
}

.sb-promo .sb-promo__refresh:hover,
.sb-promo .sb-promo__retry:hover {
    background: var(--surface-3);
    border-color: var(--accent-border);
    color: var(--text-primary);
}

/* COND: bos durum metni */
.sb-promo .sb-promo__empty {
    color: var(--text-soft);
}

/* Erisilebilirlik: klavye odagi (sabit golge, animasyon degil) */
.sb-promo .sb-promo__item:focus-visible,
.sb-promo .sb-promo__viewall:focus-visible,
.sb-promo .sb-promo__refresh:focus-visible,
.sb-promo .sb-promo__retry:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

/* COND: skeleton (Jackbom sb-promo__skeleton deseni).
   Platform sbShimmer background-position animasyonu kapatilir,
   yerine transform tabanli parlama katmani konur. */
.sb-promo .sb-promo__sk {
    position: relative;
    overflow: hidden;
    background: var(--surface-2);
    border-color: var(--surface-border-soft);
    border-radius: var(--gmb-sbp-radius);
    animation: none; /* platform sbShimmer devre disi, miras desen */
}

.sb-promo .sb-promo__sk::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        transparent,
        var(--gmb-sbp-shimmer),
        transparent
    );
    transform: translateX(-100%);
    will-change: transform;
    animation: gmb-sbp-shimmer 1.4s var(--gmb-ease) infinite;
}

@keyframes gmb-sbp-shimmer {
    to {
        transform: translateX(100%);
    }
}

/* ------------------------------------------------------------
   4. MOBILE
   Tema desktop kirilimi 992px; dokunma hedefi minimum 44px.
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .sb-promo .sb-promo__item,
    .sb-promo .sb-promo__refresh,
    .sb-promo .sb-promo__retry {
        min-height: 44px;
    }

    .sb-promo .sb-promo__item {
        padding: 10px 12px;
    }
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Zorunlu blok. !important gerekmez: tek animasyon ve tum
   gecisler bu dosyada tanimli, ayni specificity ile dosya
   sonunda ezilir (platform shimmer zaten kosulsuz kapali).
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .sb-promo .sb-promo__sk::after {
        animation: none;
    }

    .sb-promo .sb-promo__item,
    .sb-promo .sb-promo__arrow,
    .sb-promo .sb-promo__viewall,
    .sb-promo .sb-promo__refresh,
    .sb-promo .sb-promo__retry {
        transition-duration: 0.01ms;
    }
}

/* ============================================================
   GMB MODUL: bildirimler (tiplenmis bildirim kartlari)
   Plan: MODUL #12
   Amac: Toastify tabanli platform toast'larini Gambi kimligine
   baglamak; vault / tip / swap tipli bildirim kartlari icin
   renk+ikon kurali, kopyalanabilir tutar pill'i ve
   translateY+opacity giris animasyonu saglamak.
   Katman: 2 (tema CSS override)  |  JS: yok (alias siniflari
   gerekirse Katman 3 JS ekler)
   Butce: CSS <= 8 KB min

   KAYNAK KANIT (frozen DOM, 2026-07-18 grep):
   - .Toastify: her iki frozen dosyada satir 112'de bos mount
     koku olarak DOM'DA MEVCUT (<section class="Toastify">).
   - .Toastify__toast* siniflari ve --toastify-* sozlesmesi
     yalniz gomulu CSS'te; DOM'da ornek toast YOK. COND:
     oturumlu/dinamik DOM bekler, misafir DOM'da inert.
   - vault-notification-* ve .info-toast frozen dosyalarda yok
     (kanit gambi394 oturumlu analiz). COND: oturumlu/dinamik
     DOM bekler, misafir DOM'da inert; aileye yalniz token
     enjekte edilir, kart kabugu .gmb-toast--* alias'larinda.

   RISKLER:
   - Giris animasyonu Toastify enter animasyonunu ezer; exit'e
     dokunulmaz (yalniz [class*="-enter--"] fazi), aksi halde
     toast unmount'u kilitlenirdi.
   - vault-notification ailesi prefix selector ile yakalanir;
     yapi dogrulanamadigi icin kart kabugu bilerek verilmedi
     (cift zemin riski).
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   .Toastify DOM'da dogrulanmis mount kokudur; degiskenler
   buradan tum dinamik toast'lara miras yoluyla akar.
   Renk+ikon kurali: tip rengi TEK tokendan (--gmb-toast-tip)
   hem sol kenarliga hem ikon alanina akar; asla yalniz renk
   veya yalniz ikon degistirilmez.
   ------------------------------------------------------------ */
.Toastify {
    /* gmb ayar yuzeyi */
    --gmb-toast-bg: var(--surface-2);
    --gmb-toast-border: var(--surface-border-soft);
    --gmb-toast-text: var(--text-secondary);
    --gmb-toast-tip: var(--accent);
    --gmb-toast-radius: var(--radius-sm);
    --gmb-toast-shadow: var(--shadow-lg);
    --gmb-toast-pad: 14px;

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-dur-base: 0.2s;
    --gmb-dur-slow: 0.3s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);

    /* katman: toast, sidebar (2000) dahil tum kabuk
       katmanlarinin ustunde okunmak zorunda (gerekce) */
    --gmb-z-top: 2100;

    /* Toastify sozlesme override'lari (degisken oncelikli):
       platformun :root tanimlarini class ozgullugu ile ezer */
    --toastify-toast-background: var(--gmb-toast-bg);
    --toastify-color-light: var(--gmb-toast-bg);
    --toastify-color-dark: var(--gmb-toast-bg);
    --toastify-text-color-light: var(--gmb-toast-text);
    --toastify-text-color-dark: var(--gmb-toast-text);
    --toastify-color-info: var(--info);
    --toastify-color-success: var(--success);
    --toastify-color-warning: var(--warning);
    --toastify-color-error: var(--danger);
    --toastify-color-progress-light: var(--accent);
    --toastify-color-progress-dark: var(--accent);
    --toastify-color-progress-info: var(--info);
    --toastify-color-progress-success: var(--success);
    --toastify-color-progress-warning: var(--warning);
    --toastify-color-progress-error: var(--danger);
    --toastify-toast-bd-radius: var(--gmb-toast-radius);
    --toastify-toast-shadow: var(--gmb-toast-shadow);
    --toastify-toast-padding: var(--gmb-toast-pad);
    --toastify-font-family: var(--font-family-regular);
    --toastify-z-index: var(--gmb-z-top);
}

/* ------------------------------------------------------------
   2. LAYOUT (COND: dinamik toast DOM'u bekler, misafirde inert)
   Platform siniflari yalniz temalanir; yapi bozulmaz.
   ------------------------------------------------------------ */
.Toastify .Toastify__toast {
    background: var(--gmb-toast-bg);
    border: var(--border-thin) solid var(--gmb-toast-border);
    border-left: 3px solid var(--gmb-toast-tip);
    border-radius: var(--gmb-toast-radius);
    box-shadow: var(--gmb-toast-shadow);
    color: var(--gmb-toast-text);
    font-family: var(--font-family-regular);
}

/* sol tip ikonu alani: ikon rengi kenarlikla ayni tokendan */
.Toastify .Toastify__toast-icon {
    color: var(--gmb-toast-tip);
    width: 22px;
    flex-shrink: 0;
}

.Toastify .Toastify__toast-icon svg {
    fill: currentColor;
}

.Toastify .Toastify__close-button {
    color: var(--text-soft);
    opacity: 1;
    transition: color var(--gmb-dur-fast) var(--gmb-ease);
}

.Toastify .Toastify__close-button:hover,
.Toastify .Toastify__close-button:focus-visible {
    color: var(--text-primary);
}

/* Kopyalanabilir tutar pill'i (yeni gmb elemani; icerige
   platform template'i veya Katman 3 JS yerlestirir) */
.gmb-toast__tutar {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    border-radius: var(--radius-pill);
    background: var(--surface-3);
    border: var(--border-thin) solid var(--gmb-toast-tip, var(--accent));
    color: var(--text-primary);
    font-family: var(--font-family-semibold);
    font-variant-numeric: tabular-nums;
    -webkit-user-select: all;
    user-select: all;
    cursor: copy;
}

/* ------------------------------------------------------------
   3. STATES / TIP VARYANTLARI
   Tip rengi tek noktadan: --gmb-toast-tip. Kenarlik + ikon
   birlikte degisir (renk+ikon kurali).
   ------------------------------------------------------------ */

/* COND: Toastify tip siniflari (dinamik DOM bekler) */
.Toastify .Toastify__toast--success { --gmb-toast-tip: var(--success); }
.Toastify .Toastify__toast--warning { --gmb-toast-tip: var(--warning); }
.Toastify .Toastify__toast--error   { --gmb-toast-tip: var(--danger); }
.Toastify .Toastify__toast--info    { --gmb-toast-tip: var(--info); }

/* Gambi tipli kartlar. Alias'lar Toastify tip siniflarindan
   sonra ve esit/ustun ozgullukte gelir, bilincli olarak kazanir.
   COND satirlar: vault-notification-* ailesi ve .info-toast
   oturumlu/dinamik DOM bekler, misafir DOM'da inert. */
.gmb-toast--vault,
.Toastify .gmb-toast--vault,
[class^="vault-notification"] {
    --gmb-toast-tip: var(--accent);
}

.gmb-toast--tip,
.Toastify .gmb-toast--tip {
    --gmb-toast-tip: var(--warning);
}

.gmb-toast--swap,
.Toastify .gmb-toast--swap,
.info-toast {
    --gmb-toast-tip: var(--info);
}

/* COND: giris animasyonu, yalniz enter fazindaki toast'ta.
   Exit fazi Toastify'a birakilir (unmount animationend bekler). */
.Toastify .Toastify__toast[class*="-enter--"] {
    animation: gmb-toast-in var(--gmb-dur-slow) var(--gmb-ease) both;
}

@keyframes gmb-toast-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ------------------------------------------------------------
   4. MOBILE
   Toastify 480px altinda toast'i tam genislik yapar; alt
   konumlu container lowbar ile cakismasin diye alt offset
   yukseltilir (lowbar yukseklik tokeni yok, olcu sabit).
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .Toastify {
        --toastify-toast-bottom: calc(
            max(var(--toastify-toast-offset), env(safe-area-inset-bottom)) + 72px
        );
    }

    .gmb-toast__tutar {
        /* dokunma hedefi: pill dokunulabilir kopya alanidir */
        min-height: 28px;
    }
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Zorunlu blok. !important yok (deploy butcesi 0): asagidaki
   selectorler platform tekil siniflarindan yuksek, modul
   kurallariyla esit specificity'de ve kaynak sirasinda sonra.
   animation: none BILINCLI kullanilmadi: Toastify unmount ve
   autoClose akisi animationend'e bagli, none onlari kilitlerdi.
   Sure 0.01ms'e indirilir, hareket gorunmez ama olaylar atesler.
   Progress bar animasyonuna dokunulmaz (autoClose sayaci).
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .Toastify .Toastify__toast[class*="-enter--"],
    .Toastify .Toastify__toast[class*="-exit--"] {
        animation-duration: 0.01ms;
    }

    .Toastify .Toastify__close-button {
        transition-duration: 0.01ms;
    }
}

/* ============================================================
   GMB MODUL: cekim-durumu (MODUL #13)
   Amac: cekim talebinin gradyan seritli, asama etiketli durum karti.
   Katman: 2 (tema CSS override)  |  JS: var (oturumlu enjeksiyon)

   KANIT: "_root {.css" 410-418 --withdraw-progress-* adasi ve
   109 --gradient-withdraw (MatixBet kirmizi serit) TANIMLI.
   frozen-desktop/mobile.html'de withdraw UI YOK; yalniz
   #walletModal data-target referansi ve JSON anahtarlari var.

   COND MODUL: tum kurallar gmb- prefix'li, oturumlu/dinamik DOM
   bekler, misafir DOM'da inert (hicbir selector eslesmez).

   RISK: oturumlu cekim ekrani snapshot'ta dogrulanamadi; go-live
   oncesi smoke test sart. Oran JS'ten (--gmb-cekim-oran 0..1),
   gelmezse fill 0 genislik, guvenli varsayilan.
   ============================================================ */

/* ------------------------------------------------------------
   1. TOKENS
   Varsayilanlar --withdraw-progress-* adasina ve platform durum
   tokenlarina bagli; Root.json ile tek noktadan boyanir.
   ------------------------------------------------------------ */
.gmb-cekim {
    /* renk: withdraw token adasi tuketimi */
    --gmb-cekim-bg: var(--withdraw-progress-bg);
    --gmb-cekim-border: var(--withdraw-progress-border);
    --gmb-cekim-track: var(--withdraw-progress-track);
    --gmb-cekim-fill: var(--withdraw-progress-fill);
    --gmb-cekim-stat-bg: var(--withdraw-progress-stat-bg);
    --gmb-cekim-label: var(--withdraw-progress-label);
    --gmb-cekim-value: var(--withdraw-progress-value);
    --gmb-cekim-note: var(--withdraw-progress-note);

    /* reddedildi seridi: MatixBet --gradient-withdraw deseni */
    --gmb-cekim-fill-red: var(--gradient-withdraw);

    /* olcu */
    --gmb-cekim-radius: var(--radius-lg);
    --gmb-cekim-pad: 16px;
    --gmb-cekim-gap: 12px;
    --gmb-cekim-track-h: 10px;

    /* oran: JS inline set eder, 0..1 */
    --gmb-cekim-oran: 0;

    /* efekt */
    --gmb-cekim-shadow: var(--shadow-md);

    /* hareket */
    --gmb-dur-fast: 0.15s;
    --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);

    /* katman */
    --gmb-z-base: 1;
}

/* ------------------------------------------------------------
   2. LAYOUT
   COND: oturumlu DOM bekler, misafir DOM'da inert. Maks derinlik 3.
   ------------------------------------------------------------ */
.gmb-cekim {
    display: flex;
    flex-direction: column;
    gap: var(--gmb-cekim-gap);
    padding: var(--gmb-cekim-pad);
    background: var(--gmb-cekim-bg);
    border: var(--border-thin) solid var(--gmb-cekim-border);
    border-radius: var(--gmb-cekim-radius);
    box-shadow: var(--gmb-cekim-shadow);
    color: var(--gmb-cekim-value);
    font-family: var(--font-family-regular);
}

.gmb-cekim__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.gmb-cekim__title {
    font-family: var(--font-family-semibold);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gmb-cekim-label);
}

.gmb-cekim__amount {
    font-family: var(--font-family-bold);
    font-size: 18px;
    color: var(--gmb-cekim-value);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

/* Track: fill icin kirpma kabi */
.gmb-cekim__track {
    position: relative;
    z-index: var(--gmb-z-base);
    height: var(--gmb-cekim-track-h);
    background: var(--gmb-cekim-track);
    border-radius: var(--radius-pill);
    overflow: hidden;
}

/* Fill: genislik JS oranindan, animlanmaz (yalniz transform/opacity) */
.gmb-cekim__fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: calc(var(--gmb-cekim-oran) * 100%);
    background: var(--gmb-cekim-fill);
    border-radius: var(--radius-pill);
    overflow: hidden;
}

/* Shimmer: transform tabanli pseudo, background-position degil */
.gmb-cekim__fill::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        transparent 25%,
        var(--text-primary) 50%,
        transparent 75%
    );
    opacity: 0.18;
    transform: translateX(-100%);
    animation: gmb-cekim-parla 2.4s var(--gmb-ease) infinite;
}

@keyframes gmb-cekim-parla {
    from { transform: translateX(-100%); }
    to   { transform: translateX(100%); }
}

/* Asama etiketleri */
.gmb-cekim__stages {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gmb-cekim__stage {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    border: var(--border-thin) solid transparent;
    background: var(--gmb-cekim-stat-bg);
    color: var(--text-soft);
    font-family: var(--font-family-medium);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition:
        color var(--gmb-dur-fast) var(--gmb-ease),
        opacity var(--gmb-dur-fast) var(--gmb-ease);
}

.gmb-cekim__stage::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: var(--radius-pill);
    background: currentColor;
}

/* Not satiri ve istatistikler */
.gmb-cekim__note {
    font-size: 12px;
    color: var(--gmb-cekim-note);
}

.gmb-cekim__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.gmb-cekim__stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    background: var(--gmb-cekim-stat-bg);
    border-radius: var(--radius-sm);
}

.gmb-cekim__stat-label {
    font-size: 11px;
    color: var(--gmb-cekim-label);
}

.gmb-cekim__stat-value {
    font-family: var(--font-family-semibold);
    font-size: 14px;
    color: var(--gmb-cekim-value);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

/* ------------------------------------------------------------
   3. STATES
   beklemede --warning, onaylandi --accent, reddedildi --danger.
   ------------------------------------------------------------ */
.gmb-cekim__stage.is-beklemede {
    color: var(--warning);
    background: var(--state-warning-soft);
    border-color: rgba(var(--warning-rgb), 0.3);
}

/* Beklemede nabiz: yalniz opacity */
.gmb-cekim__stage.is-beklemede::before {
    animation: gmb-cekim-nabiz 1.6s var(--gmb-ease) infinite;
}

@keyframes gmb-cekim-nabiz {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.35; }
}

.gmb-cekim__stage.is-onaylandi {
    color: var(--accent);
    background: var(--state-success-soft);
    border-color: var(--accent-border);
}

.gmb-cekim__stage.is-reddedildi {
    color: var(--danger);
    background: var(--state-danger-soft);
    border-color: rgba(var(--danger-rgb), 0.3);
}

/* Kok reddedildi: fill kirmizi seride doner */
.gmb-cekim.is-reddedildi .gmb-cekim__fill {
    background: var(--gmb-cekim-fill-red);
}

/* Kok onaylandi: fill tam dolar */
.gmb-cekim.is-onaylandi .gmb-cekim__fill {
    width: 100%;
}

/* Sonuclanan taleplerde shimmer durur */
.gmb-cekim.is-reddedildi .gmb-cekim__fill::after,
.gmb-cekim.is-onaylandi .gmb-cekim__fill::after {
    animation: none;
    opacity: 0;
}

/* ------------------------------------------------------------
   4. MOBILE (tema desktop kirilimi 992px)
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .gmb-cekim {
        --gmb-cekim-pad: 12px;
        --gmb-cekim-gap: 10px;
    }

    .gmb-cekim__amount {
        font-size: 16px;
    }

    .gmb-cekim__stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .gmb-cekim__stage {
        /* dokunma hedefine yakin rahat yukseklik */
        min-height: 28px;
    }
}

/* ------------------------------------------------------------
   5. REDUCED-MOTION
   Zorunlu blok. Tum animasyonlar bu dosyada esit/dusuk specificity
   ile tanimli, kaynak sirasi yeter, yeni !important gerekmez.
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .gmb-cekim__fill::after,
    .gmb-cekim__stage.is-beklemede::before {
        animation: none;
    }

    .gmb-cekim__fill::after {
        opacity: 0;
    }

    .gmb-cekim__stage {
        transition-duration: 0.01ms;
    }
}

/* ========================
   GMB MODUL: gmb-vip-progress
   Amac: VIP seviye karti (surface merdiveni + altin doz), progress
   (accent gradyan + uc nokta glow), chip ve CTA temasi. --vip-*
   sozlesmesini tuketir, yeni renk uretmez.
   Plan: #23 (CSS-only ayagi) | Katman: 2 | JS: yok | Butce: <= 8 KB
   Kanit: frozen-desktop/mobile.html misafir DOM'unda VIP sayfa
   class'lari YOK, sadece sidebar "/tr/vip-club" linki (satir 76).
   gambi394.com6.har: .user-statu-box, .username, .crown, .statu-head,
   .statu-progress > span (inline width), .vip-skeleton .sk-progress
   (platform mavi iskeleti, hex 0866ff), .vip-code-tab/.vip-code-card. analiz/
   matixbet452.md + gambi394.md: .vip-area/.vip-accordion/.ranks-area/
   .status-box ailesi.
   COND: Platform selector'lari oturumlu/dinamik DOM bekler, misafir
   DOM'da inert kalir. .gmb-vip-chip/.gmb-vip-cta da DOM gelene kadar
   inert'tir.
   Riskler: .vip-area/.ranks-area/.vip-accordion matixbet kanitli,
   gambi'de birebir dogrulanamadi (inert kalirsa zararsiz). span inline
   width'e dokunulmaz. Iskelet sinif tekrari (0,4,0) ile ezilir,
   !important yok. .statu-head .icon inline renk tasir, dokunulmadi.
   ======================== */

/* 1. TOKENS (hepsi platform tokenlarina bagli) */
.vip-area,
.ranks-area,
.vip-accordion,
.user-statu-box,
.statu-progress,
.vip-code-tab,
.gmb-vip-chip,
.gmb-vip-cta {
  --gmb-vip-gold: var(--warning);
  --gmb-vip-gold-soft: var(--state-warning-soft);
  --gmb-vip-gold-border: rgba(var(--warning-rgb), 0.34);
  --gmb-vip-card-top: var(--surface-3);
  --gmb-vip-card-mid: var(--surface-2);
  --gmb-vip-card-bottom: var(--surface-1);
  --gmb-vip-track-bg: var(--vip-chip-bg);
  --gmb-vip-fill: linear-gradient(90deg, rgba(var(--vip-accent-rgb), 0.55) 0%, var(--vip-accent) 100%);
  --gmb-dur-fast: 0.15s;
  --gmb-dur-base: 0.2s;
  --gmb-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --gmb-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --gmb-z-base: 1;
}

/* 2. LAYOUT */

/* COND: seviye karti, surface merdiveni */
.user-statu-box {
  background: linear-gradient(180deg, var(--gmb-vip-card-top) 0%, var(--gmb-vip-card-bottom) 100%);
  border: var(--border-thin) solid var(--vip-card-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  color: var(--vip-text);
  font-family: var(--font-family-regular);
}

.user-statu-box .username {
  font-family: var(--font-family-semibold);
  color: var(--text-primary);
}

/* altin doz aksesuar: tac ikonu (golge sabit, animlenmez) */
.user-statu-box .crown {
  padding: 6px;
  background: var(--gmb-vip-gold-soft);
  border: var(--border-thin) solid var(--gmb-vip-gold-border);
  border-radius: var(--radius-pill);
  box-shadow: 0 0 14px rgba(var(--warning-rgb), 0.22);
}

.user-statu-box .statu-head { color: var(--vip-muted); }
.statu-head .text { font-family: var(--font-family-medium); }

/* COND: progress cubugu; span inline width tasir */
.statu-progress {
  position: relative;
  overflow: visible;
  height: 10px;
  background: var(--gmb-vip-track-bg);
  border: var(--border-thin) solid var(--vip-card-border-soft);
  border-radius: var(--radius-pill);
}

.statu-progress > span {
  position: relative;
  display: block;
  height: 100%;
  max-width: 100%;
  border-radius: var(--radius-pill);
  background: var(--gmb-vip-fill);
}

/* uc nokta glow: sabit golgeli pseudo-element, yalniz opacity animlenir */
.statu-progress > span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  transform: translate(40%, -50%);
  border-radius: var(--radius-pill);
  background: var(--vip-accent);
  box-shadow: 0 0 12px 2px var(--accent-glow), 0 0 4px rgba(var(--vip-accent-rgb), 0.9);
  animation: gmb-vip-dot-pulse 2.4s var(--gmb-ease) infinite;
  z-index: var(--gmb-z-base);
}

@keyframes gmb-vip-dot-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* COND: iskelet retheme; platform mavisi yerine marka vurgusu.
   Sinif tekrari (0,4,0) ile kazanilir, !important gerekmez. */
.user-statu-box.vip-skeleton .sk-progress.sk-progress {
  background-image: linear-gradient(90deg, rgba(var(--vip-accent-rgb), 0.25) 0%, rgba(var(--vip-accent-rgb), 0.45) 35%, var(--surface-border) 50%, rgba(var(--vip-accent-rgb), 0.45) 65%, rgba(var(--vip-accent-rgb), 0.25) 100%);
}

/* iskelette glow noktasi gereksiz */
.vip-skeleton .sk-progress::after { content: none; }

/* COND: rank kartlari (matixbet ailesi) */
.ranks-area .status-box {
  background: var(--vip-card-bg);
  border: var(--border-thin) solid var(--vip-card-border-soft);
  border-radius: var(--radius-lg);
  transition: background var(--gmb-dur-base) var(--gmb-ease), border-color var(--gmb-dur-base) var(--gmb-ease), transform var(--gmb-dur-base) var(--gmb-ease);
}

/* COND: vip accordion karti */
.vip-accordion {
  background: var(--vip-card-bg);
  border: var(--border-thin) solid var(--vip-card-border-soft);
  border-radius: var(--radius-lg);
  color: var(--vip-text);
  transition: background var(--gmb-dur-base) var(--gmb-ease);
}

/* COND: vip kod karti, merdivenin alt basamagi */
.vip-code-tab .vip-code-card {
  background: linear-gradient(180deg, var(--gmb-vip-card-mid) 0%, var(--gmb-vip-card-bottom) 100%);
  border: var(--border-thin) solid var(--vip-card-border-soft);
  border-radius: var(--radius-lg);
}

/* gmb chip: --vip-chip tokenlari */
.gmb-vip-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--vip-chip-bg);
  border: var(--border-thin) solid var(--vip-chip-border);
  border-radius: var(--radius-pill);
  color: var(--vip-muted);
  font-family: var(--font-family-medium);
  font-size: 12px;
  transition: background var(--gmb-dur-fast) var(--gmb-ease), border-color var(--gmb-dur-fast) var(--gmb-ease), color var(--gmb-dur-fast) var(--gmb-ease);
}

/* gmb CTA: --vip-button tokenlari */
.gmb-vip-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 18px;
  background: var(--vip-button-bg);
  border: var(--border-thin) solid var(--vip-button-border);
  border-radius: var(--radius-xs);
  color: var(--text-primary);
  font-family: var(--font-family-semibold);
  cursor: pointer;
  transition: border-color var(--gmb-dur-fast) var(--gmb-ease), transform var(--gmb-dur-base) var(--gmb-ease-spring);
}

/* KANITLI (frozen desktop+mobile): sidebar VIP girisi, altin doz */
.sb-top-btn[href*="vip-club"] .icon { color: var(--warning); }

/* 3. STATES */
.ranks-area .status-box:hover {
  background: var(--vip-card-hover-bg);
  border-color: var(--vip-card-border);
  transform: translateY(-2px);
}

.vip-accordion:hover { background: var(--vip-card-hover-bg); }

.gmb-vip-chip:hover {
  color: var(--vip-text);
  border-color: var(--vip-chip-active-border);
}

.gmb-vip-chip.is-active {
  background: var(--vip-chip-active-bg);
  border-color: var(--vip-chip-active-border);
  color: var(--text-primary);
}

.gmb-vip-chip--gold {
  background: var(--gmb-vip-gold-soft);
  border-color: var(--gmb-vip-gold-border);
  color: var(--gmb-vip-gold);
}

.gmb-vip-cta:hover {
  border-color: var(--vip-button-border-hover);
  transform: translateY(-1px);
}

.gmb-vip-cta:active { transform: translateY(0); }

.gmb-vip-cta:focus-visible,
.gmb-vip-chip:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.sb-top-btn[href*="vip-club"]:hover { background: var(--state-warning-soft); }

/* 4. MOBILE (tema kirilimi 992px) */
@media (max-width: 991px) {
  .statu-progress { height: 8px; }

  /* dokunma hedefi minimum 44px */
  .gmb-vip-chip,
  .gmb-vip-cta { min-height: 44px; }

  /* dokunmatikte kalkma efekti yok */
  .ranks-area .status-box:hover { transform: none; }
}

/* 5. REDUCED-MOTION
   !important yerine birebir ayni specificity + kaynak sirasi:
   ayni selector dosyada sonra geldigi icin kazanir. */
@media (prefers-reduced-motion: reduce) {
  .statu-progress > span::after { animation: none; }

  .gmb-vip-chip,
  .gmb-vip-cta,
  .vip-accordion { transition-duration: 0.01ms; }

  .ranks-area .status-box { transition-duration: 0.01ms; }

  .ranks-area .status-box:hover,
  .gmb-vip-cta:hover { transform: none; }
}
