/* ===================================================================
   BestGamer Design System v2
   Clean, rounded, fresh - distinctly different from xicnmdu
   =================================================================== */

/* ---------- Reset ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
    font-family:'Nunito','Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
    background:#F4F6FB;
    color:#222336;
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ---------- Tokens ---------- */
:root{
    --bg:#F4F6FB;
    --bg2:#EBEEF6;
    --bg3:#DFE3EF;
    --card:#FFFFFF;
    --fg:#222336;
    --fg2:#5A5D72;
    --fg3:#9A9DB0;
    --primary:#6C5CE7;
    --primary-l:#A29BFE;
    --accent:#00CEC9;
    --accent-l:#81ECEC;
    --warm:#FDCB6E;
    --pink:#FD79A8;
    --red:#FF7675;
    --green:#00B894;
    --blue:#0984E3;
    --orange:#E17055;
    --grad1:linear-gradient(135deg,#6C5CE7,#A29BFE);
    --grad2:linear-gradient(135deg,#00CEC9,#81ECEC);
    --grad3:linear-gradient(135deg,#FDCB6E,#FFEAA7);
    --grad4:linear-gradient(135deg,#FD79A8,#FDCB6E);
    --grad5:linear-gradient(135deg,#6C5CE7,#00CEC9);
    --r1:8px;--r2:14px;--r3:20px;--r4:28px;
    --sh1:0 2px 8px rgba(34,35,54,.06);
    --sh2:0 4px 20px rgba(34,35,54,.08);
    --sh3:0 8px 36px rgba(34,35,54,.12);
    --sh4:0 12px 48px rgba(108,92,231,.18);
    --border:#E4E7F0;
}

/* ---------- Layout ---------- */
.bg-container{position:relative;z-index:1;max-width:1360px;margin:0 auto;padding:0 28px}
@media(max-width:720px){.bg-container{padding:0 16px}}

/* ---------- Header ---------- */
.bg-header{
    position:sticky;top:0;z-index:100;
    background:#fff;
    border-bottom:1px solid var(--border);
}
.bg-header-inner{
    max-width:1360px;margin:0 auto;
    padding:10px 28px;
    display:flex;align-items:center;gap:16px;
}
.bg-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;font-weight:800;font-size:20px}
.bg-logo img{width:38px;height:38px;border-radius:10px;object-fit:cover}
.bg-logo-text{
    background:var(--grad1);-webkit-background-clip:text;background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;
    text-transform:uppercase;letter-spacing:.04em;
}
.bg-header-search{display:none}
.bg-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.bg-nav a{
    padding:7px 10px;border-radius:var(--r2);font-size:13px;font-weight:600;
    color:var(--fg2);transition:all .2s;white-space:nowrap;
}
.bg-nav a:hover,.bg-nav a.bg-nav-active{color:var(--primary);background:rgba(108,92,231,.08)}
.bg-nav-toggle{
    display:none;width:40px;height:40px;align-items:center;justify-content:center;
    border-radius:var(--r1);background:var(--bg);margin-left:auto;flex-shrink:0;
}
.bg-nav-toggle img{width:20px;height:20px}
.bg-mobile-nav{
    display:none;flex-direction:column;padding:12px 16px;gap:2px;
    background:#fff;border-bottom:1px solid var(--border);
    box-shadow:var(--sh2);
    position:absolute;left:0;right:0;top:100%;z-index:99;
}
.bg-mobile-nav.bg-mobile-nav-open{display:flex}
.bg-mobile-nav a{
    padding:12px 16px;border-radius:var(--r1);font-size:14.5px;color:var(--fg);font-weight:500;
    border-bottom:1px solid var(--border);
}
.bg-mobile-nav a:last-child{border-bottom:none}
.bg-mobile-nav a:hover{background:var(--bg);color:var(--primary)}
@media(max-width:1200px){.bg-nav{display:none}.bg-nav-toggle{display:flex}}
@media(max-width:600px){
    .bg-header-inner{padding:8px 14px;gap:10px}
    .bg-logo{font-size:17px}.bg-logo img{width:32px;height:32px}
}

/* ---------- Footer ---------- */
.bg-footer{
    position:relative;z-index:1;margin-top:80px;
    padding:56px 28px 28px;
    background:#222336;color:#C8CAD8;
}
.bg-footer-inner{
    max-width:1360px;margin:0 auto;
    display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;
}
.bg-footer-brand{display:flex;flex-direction:column;gap:14px}
.bg-footer-brand .bg-logo{font-size:18px}
.bg-footer-brand .bg-logo-text{
    background:var(--grad1);-webkit-background-clip:text;background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;
}
.bg-footer-brand p{font-size:13.5px;color:#8E90A4;max-width:300px;line-height:1.65}
.bg-footer-col h4{
    font-size:12px;text-transform:uppercase;letter-spacing:.12em;
    color:var(--primary-l);margin-bottom:14px;font-weight:700;
}
.bg-footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.bg-footer-col a{font-size:13.5px;color:#8E90A4;transition:color .2s}
.bg-footer-col a:hover{color:#fff}
.bg-footer-bottom{
    max-width:1360px;margin:36px auto 0;padding:20px 0 0;
    border-top:1px solid rgba(255,255,255,.08);
    display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
    align-items:center;font-size:12px;color:#6E7088;
}
@media(max-width:860px){.bg-footer-inner{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:540px){.bg-footer-inner{grid-template-columns:1fr}}

/* ---------- Game Card ---------- */
.bg-card{
    position:relative;background:var(--card);
    border:1px solid var(--border);border-radius:var(--r3);
    overflow:hidden;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s;
    cursor:pointer;display:block;
}
.bg-card:hover{transform:translateY(-5px);box-shadow:var(--sh3);z-index:2}
.bg-card-img{
    position:relative;width:100%;aspect-ratio:16/11;overflow:hidden;
    background:var(--bg2);border-radius:var(--r3) var(--r3) 0 0;
}
.bg-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.bg-card:hover .bg-card-img img{transform:scale(1.06)}
.bg-card-play{
    position:absolute;inset:0;
    background:rgba(34,35,54,.45);
    display:flex;align-items:center;justify-content:center;
    opacity:0;transition:opacity .28s;
}
.bg-card:hover .bg-card-play{opacity:1}
.bg-card-play-btn{
    width:56px;height:56px;border-radius:50%;
    background:var(--grad1);display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:22px;box-shadow:var(--sh4);
    transform:scale(.85);transition:transform .28s;
}
.bg-card:hover .bg-card-play-btn{transform:scale(1)}
.bg-card-badge{
    position:absolute;top:10px;left:10px;
    background:rgba(255,255,255,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;
    letter-spacing:.04em;text-transform:uppercase;color:var(--primary);z-index:1;
}
.bg-card-rating{
    position:absolute;top:10px;right:10px;
    background:rgba(255,255,255,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;
    color:var(--orange);z-index:1;
}
.bg-card-body{padding:14px 16px 16px}
.bg-card-title{
    font-size:14.5px;font-weight:700;color:var(--fg);line-height:1.3;
    margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;
    display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;
}
.bg-card-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg3)}
.bg-card-type{color:var(--primary);font-weight:600}

/* ---------- Buttons ---------- */
.bg-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:12px 26px;border-radius:var(--r2);font-size:14px;font-weight:700;
    letter-spacing:.02em;transition:transform .2s,box-shadow .2s;cursor:pointer;
}
.bg-btn-primary{background:var(--grad1);color:#fff;box-shadow:var(--sh4)}
.bg-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(108,92,231,.3)}
.bg-btn-ghost{background:var(--bg);color:var(--fg);border:1px solid var(--border)}
.bg-btn-ghost:hover{background:var(--bg2);border-color:var(--primary);color:var(--primary)}
.bg-btn-pill{padding:8px 18px;font-size:13px;border-radius:999px}
.bg-play-btn{
    background:var(--grad1);color:#fff;font-weight:800;
    padding:14px 32px;border-radius:var(--r2);font-size:15px;
    display:inline-flex;align-items:center;gap:10px;
    transition:transform .2s,box-shadow .2s;box-shadow:var(--sh4);
}
.bg-play-btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(108,92,231,.35)}
.bg-play-icon{font-size:14px}

/* ---------- Category Pills ---------- */
.bg-cat-pills{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.bg-cat-pill{
    padding:9px 18px;border-radius:var(--r2);background:var(--card);
    border:1px solid var(--border);font-size:13px;font-weight:600;
    color:var(--fg2);display:inline-flex;align-items:center;gap:7px;
    transition:all .22s;white-space:nowrap;cursor:pointer;
}
.bg-cat-pill:hover{color:var(--primary);border-color:rgba(108,92,231,.3);transform:translateY(-1px);box-shadow:var(--sh1)}
.bg-cat-pill.bg-cat-pill-active{background:var(--grad1);color:#fff;border-color:transparent;box-shadow:var(--sh4)}
.bg-cat-pill-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.bg-cat-pill-icon{font-size:14px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}

/* ---------- Section Heading ---------- */
.bg-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:56px 0 22px;flex-wrap:wrap}
.bg-section-head h2{font-size:clamp(22px,3.2vw,32px);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--fg)}
.bg-section-head .bg-section-sub{color:var(--fg2);font-size:14px;margin-top:6px}
.bg-section-tag{
    display:inline-flex;align-items:center;gap:6px;padding:5px 12px;
    border-radius:999px;background:rgba(108,92,231,.08);border:1px solid rgba(108,92,231,.2);
    color:var(--primary);font-size:11px;font-weight:700;text-transform:uppercase;
    letter-spacing:.1em;margin-bottom:8px;
}
.bg-section-more{
    font-size:13px;font-weight:700;color:var(--primary);
    padding:8px 16px;border-radius:var(--r2);
    transition:all .2s;white-space:nowrap;flex-shrink:0;
}
.bg-section-more:hover{background:rgba(108,92,231,.08);transform:translateX(3px)}

/* ---------- Standard Grid ---------- */
.bg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;margin-top:18px}
@media(max-width:900px){.bg-grid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(max-width:600px){.bg-grid{grid-template-columns:repeat(2,1fr);gap:12px}}

/* ---------- Masonry (kept for compatibility) ---------- */
.bg-masonry{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:18px}
.bg-masonry .bg-card{display:block}
@media(max-width:1100px){.bg-masonry{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.bg-masonry{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:480px){.bg-masonry{grid-template-columns:repeat(2,1fr);gap:10px}}

/* ---------- More Section ---------- */
.bg-more-section{margin-top:56px}
.bg-load-more-wrap{text-align:center;margin:36px 0 0}
.bg-load-more{
    padding:13px 34px;background:var(--card);border:1px solid var(--border);
    border-radius:var(--r2);color:var(--fg);font-weight:700;font-size:14px;
    transition:all .22s;display:inline-flex;align-items:center;gap:10px;
}
.bg-load-more:hover{background:var(--grad1);color:#fff;border-color:transparent;box-shadow:var(--sh4)}
.bg-load-more[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- Scroll Actions ---------- */
.bg-scroll-actions{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:50}
.bg-scroll-actions button{
    width:44px;height:44px;border-radius:50%;background:#7668eb;
    border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
    transition:all .22s;box-shadow:var(--sh2);
}
.bg-scroll-actions button:hover{background:var(--grad1);border-color:transparent;transform:translateY(-2px);box-shadow:var(--sh4)}
.bg-scroll-actions button img{width:20px;height:20px}

/* ---------- Iframe Box ---------- */
.bg-iframe-box{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;z-index:10}
.bg-iframe-box iframe{display:block;width:100%;height:100%;border:0;overflow:hidden}

/* ---------- Detail Page ---------- */
.bg-detail-wrap{position:relative;z-index:1;padding:36px 28px;max-width:1160px;margin:0 auto}
.bg-detail-back{
    display:inline-flex;align-items:center;gap:7px;color:var(--fg2);
    font-size:14px;font-weight:600;margin-bottom:22px;padding:8px 14px;
    border-radius:var(--r2);background:var(--card);border:1px solid var(--border);
    transition:all .2s;
}
.bg-detail-back:hover{color:var(--primary);border-color:rgba(108,92,231,.3);transform:translateX(-3px)}
.bg-detail-main{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start}
@media(max-width:880px){.bg-detail-main{grid-template-columns:1fr}}
.bg-detail-poster{
    position:relative;aspect-ratio:16/10;border-radius:var(--r3);overflow:hidden;
    background:var(--bg2);border:1px solid var(--border);box-shadow:var(--sh2);
}
.bg-detail-poster img{width:100%;height:100%;object-fit:cover}
.bg-detail-info h1{
    font-size:clamp(26px,3.8vw,40px);font-weight:800;letter-spacing:-.02em;
    line-height:1.1;margin-bottom:14px;color:var(--fg);
}
.bg-detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.bg-detail-tag{
    padding:5px 13px;border-radius:999px;font-size:12px;font-weight:700;
    background:var(--bg);border:1px solid var(--border);color:var(--fg2);
}
.bg-detail-tag.bg-tag-rating{background:rgba(225,112,85,.08);border-color:rgba(225,112,85,.25);color:var(--orange)}
.bg-detail-tag.bg-tag-type{background:rgba(108,92,231,.08);border-color:rgba(108,92,231,.25);color:var(--primary)}
.bg-detail-desc{font-size:15.5px;line-height:1.7;color:var(--fg2);margin-bottom:26px}
.bg-detail-actions{display:flex;gap:12px;flex-wrap:wrap}
.bg-tips-card{
    margin-top:28px;padding:26px;background:var(--card);
    border:1px solid var(--border);border-radius:var(--r3);box-shadow:var(--sh1);
}
.bg-tips-card h3{font-size:17px;font-weight:800;margin-bottom:14px;display:flex;align-items:center;gap:10px;color:var(--fg)}
.bg-tips-card h3 .bg-tips-icon{
    width:30px;height:30px;border-radius:var(--r1);background:var(--grad1);
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:900;
}
.bg-tips-card p{color:var(--fg2);line-height:1.7;margin-bottom:9px;font-size:14px}
.bg-tips-card p strong{color:var(--fg)}

/* ---------- 404 Page ---------- */
.bg-404{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 20px;position:relative;background:var(--bg)}
.bg-404-inner{max-width:560px}
.bg-404-code{
    font-size:clamp(100px,18vw,180px);font-weight:900;line-height:1;
    background:var(--grad1);-webkit-background-clip:text;background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;margin-bottom:16px;letter-spacing:-.05em;
}
.bg-404-title{font-size:clamp(22px,3.6vw,32px);font-weight:800;margin-bottom:10px;color:var(--fg)}
.bg-404-sub{color:var(--fg2);margin-bottom:28px;font-size:15px}
.bg-404-search{
    display:flex;max-width:440px;margin:0 auto 22px;background:var(--card);
    border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh2);
}
.bg-404-search input{flex:1;padding:13px 18px;background:transparent;border:0;color:var(--fg);font-size:14px;outline:none;font-family:inherit}
.bg-404-search input::placeholder{color:var(--fg3)}
.bg-404-search button{padding:0 22px;background:var(--grad1);color:#fff;font-weight:700;font-size:13px}
.bg-404-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:24px 0}
.bg-404-link{
    padding:7px 14px;border-radius:var(--r2);background:var(--card);
    border:1px solid var(--border);color:var(--fg2);font-size:13px;font-weight:600;transition:all .2s;
}
.bg-404-link:hover{color:var(--primary);border-color:rgba(108,92,231,.3);transform:translateY(-2px);box-shadow:var(--sh1)}
.bg-404-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:28px;max-width:720px;margin-left:auto;margin-right:auto}
.bg-404-game{aspect-ratio:4/3;border-radius:var(--r2);overflow:hidden;background:var(--card);border:1px solid var(--border);position:relative;transition:all .22s}
.bg-404-game:hover{transform:translateY(-3px);border-color:rgba(108,92,231,.3);box-shadow:var(--sh2)}
.bg-404-game img{width:100%;height:100%;object-fit:cover}
.bg-404-game-label{
    position:absolute;bottom:0;left:0;right:0;padding:6px 8px;
    background:linear-gradient(0deg,rgba(34,35,54,.85),transparent);
    font-size:10px;font-weight:600;color:#fff;text-align:left;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* ---------- Text Page ---------- */
.bg-page{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:36px 28px 56px}
.bg-page h1{font-size:clamp(26px,3.6vw,36px);font-weight:800;color:var(--fg);margin-bottom:6px;letter-spacing:-.02em}
.bg-page h2{font-size:18px;font-weight:700;color:var(--fg);margin:28px 0 10px;padding-bottom:7px;border-bottom:2px solid var(--bg3)}
.bg-page h3{font-size:15px;font-weight:700;color:var(--fg);margin:18px 0 7px}
.bg-page p{color:var(--fg2);line-height:1.7;margin-bottom:12px;font-size:14.5px}
.bg-page ul{margin:10px 0 14px 18px;color:var(--fg2)}
.bg-page ul li{margin-bottom:7px;line-height:1.6;font-size:14.5px}
.bg-page a{color:var(--primary);text-decoration:underline}
.bg-page a:hover{color:var(--primary-l)}
.bg-page-date{font-size:12px;color:var(--fg3);margin-bottom:22px}
.bg-page strong{color:var(--fg)}

/* FAQ */
.bg-faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--r2);padding:18px 22px;margin-bottom:10px;transition:box-shadow .2s}
.bg-faq-item:hover{box-shadow:var(--sh1)}
.bg-faq-item h3{margin:0 0 6px;font-size:14.5px;color:var(--fg)}
.bg-faq-item p{margin:0;font-size:13.5px}

/* ---------- Empty ---------- */
.bg-empty{text-align:center;padding:56px 20px;color:var(--fg3)}
.bg-empty-icon{font-size:44px;margin-bottom:14px;opacity:.5}
.bg-empty-text{font-size:15px}

/* ---------- Utility ---------- */
.bg-hidden{display:none!important}
.bg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Animations ---------- */
@keyframes bg-pulse{0%,100%{box-shadow:0 0 16px rgba(108,92,231,.15)}50%{box-shadow:0 0 32px rgba(108,92,231,.3)}}
@keyframes bg-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.bg-anim-float{animation:bg-float 6s ease-in-out infinite}
.bg-anim-pulse{animation:bg-pulse 2.5s ease-in-out infinite}

/* ---------- Responsive ---------- */
@media(max-width:600px){
    .bg-section-head{margin:36px 0 16px}
    .bg-scroll-actions{right:10px;bottom:10px}
    .bg-scroll-actions button{width:40px;height:40px}
}
