/* ================= GLOBAL & VARS ================= */
:root {
    --primary-lime: #D1F811;
    --teal-dark: #076653;
    --teal-darker: #02403D;
    --bg-dark: #011817; /* အစိမ်းပုပ်ထက် ပိုရင့်တဲ့ နောက်ခံအရောင် */
    --radius-xl: 22px;
    --topbar-h: 72px;
    --text-0: #f0fdf4;
    --text-1: #dcfce7;
}

@font-face {
    font-family: 'CustomArialBlack';
    src: url('assets/fonts/ariblk.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap; 
}

body {
    background-color: var(--bg-dark);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    margin: 0;
    padding-top: 78px; 
    padding-bottom: 50px;
}

/* ================= LAYOUT ================= */
main.container {
    width: 100%;
    overflow-x: hidden;
    padding-left: 5px;
    padding-right: 5px;
}

@media (min-width: 992px) {
    main.container {
        max-width: 1090px;
        margin: 0 auto;
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* ================= BACKGROUNDS ================= */
.bg-fixed {
    position: fixed;
    inset: 0;
    z-index: -5;
    background: 
        radial-gradient(circle at 50% 0%, rgba(209, 248, 17, 0.15), transparent 60%),
        linear-gradient(180deg, var(--teal-dark) 0%, var(--teal-darker) 100%);
}

#snowCanvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
}

/* ================= TOPBAR ================= */
.topbar {
    height: var(--topbar-h);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: linear-gradient(180deg, rgba(7, 102, 83, 0.95) 0%, rgba(2, 64, 61, 0.98) 100%);
    border-bottom: 1.5px solid rgba(209, 248, 17, 0.9);
    backdrop-filter: blur(10px);
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--primary-lime);
    font-weight: 800;
    font-size: 20px;
}

/* ================= BUTTONS & PILLS ================= */
.pill-btn {
    border: 1px solid rgba(209, 248, 17, .3);
    background: rgba(7, 102, 83, .5);
    color: var(--text-0);
    border-radius: 999px;
    padding: 6px 12px;
    font-weight: 700;
    font-size: 12px;
    transition: 0.2s;
}

.pill-btn.primary {
    background: linear-gradient(135deg, rgba(209, 248, 17, 0.9), rgba(175, 210, 10, 0.8));
    color: var(--teal-darker);
    border: none;
}

.balance-wrapper { display: flex; align-items: center; gap: 8px; }

.balance-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: rgba(2, 64, 61, 0.6);
    border: 1px solid rgba(209, 248, 17, 0.4);
    border-radius: 12px;
    padding: 4px 12px;
    min-width: 100px;
}

.bal-row { display: flex; justify-content: space-between; align-items: center; font-size: 10px; line-height: 1.4; }
.bal-val-main { color: var(--primary-lime); font-weight: 800; }
.bal-val-safe { color: #00e5ff; font-weight: 700; }

.logout-btn {
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(255, 50, 50, 0.15); border: 1px solid rgba(255, 50, 50, 0.4);
    color: #ff4d4d; display: flex; align-items: center; justify-content: center; text-decoration: none;
}

/* ================= HERO SECTION ================= */
.hero-wrap { display: flex; flex-direction: column; }
@media (min-width: 1400px) { .hero-wrap { max-width: 100%; margin: 0 auto; } }

.swiper.main-swiper {
    width: 100%; 
    aspect-ratio: 1920 / 720; 
    border-radius: 18px; 
    overflow: hidden; 
    background: var(--teal-darker);
    box-shadow: 0 6px 18px rgba(0,0,0,.55);
}

.swiper-slide img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    object-position: center; 
}

@media (max-width: 768px) {
    .swiper.main-swiper { 
        width: 100vw; 
        margin-left: calc(50% - 50vw); 
        border-radius: 0; 
        aspect-ratio: 1920 / 720; 
    }
}
.swiper-pagination-bullet-active { width: 24px; background: var(--primary-lime); }

/* Marquee */
.marquee-box {
    background: rgba(2, 64, 61, 0.9); border-radius: 12px; border-top: 1px solid rgba(209, 248, 17, 0.3);
    padding: 2px 12px; display: flex; align-items: center; gap: 10px; overflow: hidden; z-index: 10;
}
.marquee-content { white-space: nowrap; overflow: hidden; width: 100%; color: var(--text-0); font-size: 12px; font-weight: 600; }
.marquee-content span { display: inline-block; padding-left: 100%; animation: marquee 30s linear infinite; }
@keyframes marquee { 0% { transform: translate(0, 0); } 100% { transform: translate(-100%, 0); } }

@media (min-width: 769px) { .marquee-box.marquee-attached { border-radius: 18px 18px 0 0; border-bottom: 0; } .swiper.main-swiper { border-radius: 0 0 18px 18px; } }
@media (max-width: 768px) { .marquee-box.marquee-attached { width: 100vw; margin-left: calc(50% - 50vw); border-radius: 0; } .swiper.main-swiper { border-radius: 0; } }

/* ================= CATEGORY TABS ================= */
.scroll-container { 
    display: flex; 
    gap: 2px; 
    overflow-x: auto; 
    padding: 10px 5px; 
    scrollbar-width: none; 
}
.scroll-container::-webkit-scrollbar { display: none; }
@media (min-width: 992px) { .scroll-container { justify-content: center; } }

.cat-btn {
    min-width: 70px; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    gap: 6px; 
    background: transparent; 
    border: none; 
    text-decoration: none; 
    position: relative;
    transition: all 0.3s ease;
}

.cat-btn img {
    width: 38px; 
    height: 38px;
    object-fit: contain;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.3s ease;
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.6)); 
}

.cat-btn span { 
    font-size: 11px; 
    font-weight: 800; 
    color: rgba(255, 255, 255, 0.6); 
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

.cat-btn.active img, .cat-btn:hover img {
    transform: translateY(-4px) scale(1.1); 
    filter: drop-shadow(0 3px 4px rgba(209, 248, 17, 0.5)); 
}

.cat-btn.active span, .cat-btn:hover span {
    color: var(--primary-lime); 
    text-shadow: 0 0 8px rgba(209, 248, 17, 0.5); 
}

.cat-btn::after {
    content: '';
    position: absolute;
    bottom: -5px; 
    width: 0;
    height: 2px;
    background: var(--primary-lime);
    border-radius: 5px;
    transition: width 0.3s ease;
    box-shadow: 0 0 5px rgba(209, 248, 17, 0.6);
}
.cat-btn.active::after {
    width: 30px; 
}

/* ================= JACKPOT FIX ================= */
.jackpot-container {
    position: relative; width: 100%; height: 170px; margin-bottom: 5px;
    display: flex; align-items: center; justify-content: center;
}
.jackpot-bg-img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 20px rgba(0,0,0,0.5)); padding-bottom: 5px; }
.jackpot-overlay { position: absolute; top: 11%; left: 50%; transform: translate(-50%, -50%); width: 100%; text-align: center; z-index: 10; }

/* ၁။ စာကို အလယ်တည့်တည့်ကျစေရန် Overlay ကို ပြင်ခြင်း */
.jackpot-overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding-bottom: 3px; /* အရိပ် မပြတ်သွားအောင် */
}
/* ၁။ အပြင်ဘက် Container (Smooth ဖြစ်တဲ့ Outline နဲ့ 3D အရိပ်) */
.jackpot-amount {
    font-family: 'CustomArialBlack', 'Arial Black', Impact, sans-serif !important;
    font-size: 37px !important;
    font-weight: 900 !important;
    line-height: 1.2;
    display: inline-block;
    padding: 10px; 
    
    /* စာလုံးဘေးအနားထစ်တာကို ပိုချောမွေ့စေဖို့ GPU rendering ကို ဖွင့်ပေးခြင်း */
    -webkit-font-smoothing: antialiased;
    transform: translateZ(0); 

    /* အရေးကြီးသောပြောင်းလဲမှု - ဘေးကိုမရွှေ့ဘဲ (0px) 
       1px blur သေးသေးလေးကို ၄ ထပ်ထပ်ပြီး Smooth Outline အစိမ်းရောင်ကို ဖန်တီးထားပါတယ် */
    filter: 
        drop-shadow(0px 0px 1.5px #3a973d)
        drop-shadow(0px 0px 1.5px #3a973d)
        drop-shadow(0px 0px 1.5px #3a973d)
        drop-shadow(0px 0px 1.5px #3a973d)
        drop-shadow(0px 0px 1.5px #000000)
        
        /* အောက်ခြေ 3D အရိပ် (အစိမ်းရင့်ရောင်) */
        drop-shadow(0px 4px 0px #165426) !important;
}

/* ၂။ အတွင်းဘက် စာလုံးများ (ရွှေရောင် Gradient အသန့်) */
.jackpot-amount .odometer-value,
.jackpot-amount .odometer-formatting-mark {
    background: linear-gradient(180deg, #fff98a 0%, #ffd53b 30%, #f2a513 70%, #c87200 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    color: transparent !important;

    /* အတွင်းစာလုံးကို လုံးဝ (လုံးဝ) သန့်သန့်လေးပဲ ထားပါမယ် */
    -webkit-text-stroke: 0 !important; 
    text-shadow: none !important;
}
/* ================= PROVIDER INFINITE LOOP ================= */
.provider-wrapper { position: relative; padding: 10px 0; margin-bottom: 15px; }
.swiper.provider-swiper { width: 100%; padding: 10px 5px; }
.provider-slide { width: auto; display: flex; justify-content: center; }

.pv-btn {
    min-width: 80px; max-width: 100px; height: 40px;
    background: linear-gradient(180deg, var(--teal-dark) 0%, var(--teal-darker) 100%);
    border: 1px solid rgba(209, 248, 17, 0.3); border-radius: 8px;
    display: flex; align-items: center; justify-content: center; padding: 0 15px;
    cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 6px rgba(0,0,0,0.5);
}
.pv-btn span {
    color: var(--primary-lime); font-size: 12px; font-weight: 700; letter-spacing: 0.5px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase;
}
.pv-btn.active, .pv-btn:hover {
    background: linear-gradient(0deg, var(--primary-lime) 0%, #a3c40a 100%);
    border-color: #fff; transform: translateY(-2px); box-shadow: 0 0 8px rgba(209, 248, 17, 0.6);
}
.pv-btn.active span, .pv-btn:hover span { color: var(--teal-darker); text-shadow: none; }

/* ================= GAMES & WINNERS ================= */
.game-col { padding: 5px; margin-bottom: 5px; }
.col-4-mobile { width: 33.3333%; flex: 0 0 auto; }
@media (min-width: 992px) { .col-lg-2-desktop { width: 16.6666%; } }

.game-card-mini {
    border-radius: 16px; overflow: hidden; position: relative;
    background: var(--teal-darker); border: 1px solid rgba(209, 248, 17, 0.2); box-shadow: 0 5px 15px rgba(0,0,0,0.5);
}
.game-img { width: 100%; aspect-ratio: 1/1; background: linear-gradient(45deg, var(--teal-darker), var(--teal-dark)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.3); font-size:28px; }
.game-name { font-size: 11px; font-weight: 700; text-align: center; padding: 8px 4px; color: var(--text-0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.winners-stack-container { position: relative; height: 220px; overflow: hidden; mask-image: linear-gradient(to bottom, black 0%, black 70%, transparent 100%); -webkit-mask-image: linear-gradient(to bottom, black 0%, black 70%, transparent 100%); }
.winner-card { position: absolute; width: 100%; height: 70px; display: flex; align-items: center; padding: 0 12px; background: rgba(7, 102, 83, 0.8); border: 1px solid rgba(209, 248, 17, 0.3); border-left: 4px solid var(--primary-lime); border-radius: 12px; opacity: 0; transition: 0.5s; }
.winner-card.active { opacity: 1; }
.w-info { flex-grow: 1; padding-left: 10px; } 
.w-game-name { color: var(--primary-lime); font-size: 13px; font-weight: 800; } 
.w-user { color: #fff; font-size: 11px; } 
.w-amount { color: #00ff00; font-weight: 800; font-size: 15px; }

.d-none { display: none !important; }

/* Blinking Animation for Real Time Dot */
@keyframes blink {
    0% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 rgba(209, 248, 17, 0.4); }
    50% { opacity: 0.5; transform: scale(1.1); box-shadow: 0 0 10px rgba(209, 248, 17, 0.8); }
    100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 rgba(209, 248, 17, 0.4); }
}

.live-dot {
    width: 8px; 
    height: 8px; 
    background-color: var(--primary-lime); 
    border-radius: 50%; 
    display: inline-block;
    margin-right: 5px;
    animation: blink 1.5s infinite ease-in-out;
}