/* Ticker removed — hide any remnant */
.ticker-wrap { display:none !important; }

/* ═══ PERFORMANCE: content-visibility on off-screen sections ═══ */
.section-block {
  content-visibility:auto;
  contain-intrinsic-size:0 400px;
}

/* ═══ PERFORMANCE: reduce paint cost when BG image is active ═══ */
body.has-bg-image #aurora-wrap { will-change:auto; }
body.has-bg-image .bg-noise { display:none; }

/* Home page uses its own drawer — suppress base.html's duplicate */
#nav-drawer, #nav-drawer-overlay { display:none !important; }
/* Suppress home's own qg-nav — base.html navbar is used instead */
.qg-nav { display:none !important; }
/* Shop card hover — extracted from inline onmouseover */
.home-shop-card { transition:transform .2s,box-shadow .2s; }
.home-shop-card:hover { transform:translateY(-3px); box-shadow:0 10px 32px rgba(0,0,0,.55); }
/* Light mode home-specific adjustments */
[data-theme="light"] .section-block { background:transparent; }
[data-theme="light"] .gc { box-shadow:0 2px 10px rgba(0,0,0,0.10); }
[data-theme="light"] .gc:hover { box-shadow:0 6px 24px rgba(0,0,0,0.18); }
[data-theme="light"] .sb-item { background:rgba(0,0,0,0.03); }
[data-theme="light"] .sb-item:hover { background:rgba(0,0,0,0.07); }
[data-theme="light"] .qg-sidebar, [data-theme="light"] .qg-right { background:#f0f0f5; border-color:rgba(0,0,0,0.10); }
[data-theme="light"] .qg-layout { background:#f5f5f7; }
[data-theme="light"] .sec-ttl { color:#1a1a2e; }
[data-theme="light"] .third-party-divider { border-color:rgba(0,0,0,0.10); }
[data-theme="light"] .ticker-wrap { background:#ebebef; border-color:rgba(0,0,0,0.10); }

/* ═══════════ SCROLL BACKGROUND ENGINE ═══════════ */
body{transition:background 1.1s ease,color .4s;}

/* ═══════════ MOUSE GLOW CURSOR ═══════════ */
#cursor-glow{position:fixed;pointer-events:none;z-index:9999;width:380px;height:380px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--glow-1) 0%,transparent 70%);transition:opacity .3s;opacity:0;}

/* ═══════════ NOISE TEXTURE OVERLAY ═══════════ */
.bg-noise{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;}
[data-theme="light"] .bg-noise{opacity:.015;}

/* ═══════════ AURORA LAYERS — static for performance ═══════════ */
#aurora-wrap{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;contain:strict;}
.aurora-blob{position:absolute;border-radius:50%;filter:blur(40px);will-change:auto;contain:layout style;}
.aurora-1{width:60vw;height:60vw;top:-25%;left:-15%;background:radial-gradient(circle,var(--glow-1) 0%,transparent 65%);}
.aurora-2{width:55vw;height:55vw;bottom:-20%;right:-10%;background:radial-gradient(circle,var(--glow-2) 0%,transparent 65%);}
.aurora-3{display:none;/* third blob removed — unnecessary GPU cost */}

/* When BG image is active, soften aurora blobs so image shows */
#qg-bg-layer[style*="opacity: 0"]+* #aurora-wrap,
body.has-bg-image #aurora-wrap { opacity:.35; }
body.has-bg-image .bg-noise { opacity:.01; }
/* SIDEBARS stay solid — BG image only shows in content/game area */
body.has-bg-image .qg-layout { background:transparent !important; }
body.has-bg-image .qg-sidebar,
body.has-bg-image .qg-right {
  background:var(--bg-2) !important;
  border-color:var(--border-2) !important;
}
body.has-bg-image .section-block { background:transparent !important; }

/* ── Main content col: subtle dark scrim so cards + text always readable ── */
body.has-bg-image .qg-main {
  background:rgba(0,0,0,0.22) !important;
  backdrop-filter:blur(0px);
}
/* Cards get a slight shadow boost so they pop off the BG */
body.has-bg-image .gc {
  box-shadow:0 4px 20px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.06) !important;
}
body.has-bg-image .gc:hover {
  box-shadow:0 12px 40px rgba(0,0,0,0.75), 0 0 0 2px var(--accent) !important;
}

/* ═══════════ SCROLL SECTION GLOWS ═══════════ */
.scroll-scene{position:absolute;inset:0;pointer-events:none;transition:opacity 1s ease;}

/* ═══════════ SECTION ENTRANCE ANIMATIONS ═══════════ */
.section-block{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease;}
.section-block.in-view{opacity:1;transform:translateY(0);}
.gc{opacity:1;transform:none;transition:box-shadow .22s,border-color .22s !important;}
.gc.in-view{opacity:1;transform:translateY(0) scale(1);}

/* ── Card pop-in animation ── */
@keyframes gc-pop{
  from{opacity:0;transform:translateY(18px) scale(0.93);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.gc{animation:gc-pop .28s ease both;}
/* Stagger first 12 cards for initial load feel */
.game-grid .gc:nth-child(1){animation-delay:.03s;}
.game-grid .gc:nth-child(2){animation-delay:.06s;}
.game-grid .gc:nth-child(3){animation-delay:.09s;}
.game-grid .gc:nth-child(4){animation-delay:.12s;}
.game-grid .gc:nth-child(5){animation-delay:.15s;}
.game-grid .gc:nth-child(6){animation-delay:.18s;}
.game-grid .gc:nth-child(7){animation-delay:.21s;}
.game-grid .gc:nth-child(8){animation-delay:.24s;}
.game-grid .gc:nth-child(9){animation-delay:.27s;}
.game-grid .gc:nth-child(10){animation-delay:.30s;}
.game-grid .gc:nth-child(11){animation-delay:.33s;}
.game-grid .gc:nth-child(12){animation-delay:.36s;}
/* Dynamically added cards animate in via .gc-new class */
@keyframes gc-new-pop{
  from{opacity:0;transform:translateY(14px) scale(0.95);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.gc.gc-new{animation:gc-new-pop .22s ease both;}

/* ═══════════ AGE GATE MODAL ═══════════ */
#age-gate{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.92);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:20px;}
#age-gate.hidden{display:none;}
.age-box{background:var(--bg-2);border:1.5px solid var(--border);border-radius:28px;padding:40px 36px;max-width:440px;width:100%;text-align:center;box-shadow:0 32px 90px rgba(0,0,0,.7);animation:age-pop .5s cubic-bezier(.34,1.56,.64,1);}
@keyframes age-pop{from{transform:scale(.7);opacity:0;}to{transform:scale(1);opacity:1;}}
.age-logo{font-size:3.5rem;margin-bottom:12px;}
.age-title{font-family:var(--font-head);font-size:1.9rem;color:var(--text);margin-bottom:8px;}
.age-sub{color:var(--text-2);font-size:.88rem;font-weight:700;line-height:1.6;margin-bottom:24px;}
.age-btns{display:flex;gap:10px;flex-direction:column;}
.age-btn{padding:14px 24px;border-radius:50px;border:none;font-family:var(--font-body);font-weight:800;font-size:.9rem;cursor:pointer;transition:all .22s;}
.age-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 6px 20px var(--accent-glow);}
.age-btn.primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px var(--accent-glow);}
.age-btn.kids-btn{background:linear-gradient(135deg,#1a0535,#0e0220);color:#b44dff;border:1.5px solid rgba(180,77,255,.4);}
.age-btn.kids-btn:hover{transform:translateY(-2px);}
.age-select{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:18px;}
.age-opt{padding:9px 18px;border-radius:50px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:800;font-size:.82rem;cursor:pointer;transition:all .2s;font-family:var(--font-body);}
.age-opt:hover,.age-opt.sel{border-color:var(--accent);color:var(--accent);background:rgba(255,85,0,.1);}

/* ── Category Load More Button ── */
#catLoadMoreBtn{
  padding:13px 40px;border-radius:50px;
  border:2px solid var(--accent);
  background:transparent;color:var(--accent);
  font-family:var(--font-body);font-weight:900;font-size:1rem;
  cursor:pointer;transition:all .22s;letter-spacing:.03em;
}
#catLoadMoreBtn:hover{
  background:var(--accent);color:#fff;
  box-shadow:0 8px 28px var(--accent-glow);
  transform:translateY(-2px);
}
#catLoadMoreBtn:disabled{opacity:.5;cursor:not-allowed;transform:none;}

/* ── COMMENTS SECTION ── */
.comments-section{margin-top:40px;padding:26px 22px;background:var(--bg-2);border-radius:20px;border:1px solid var(--border);}
.comments-title{font-family:var(--font-head);font-size:1.3rem;color:var(--text);margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.comment-form{display:flex;gap:10px;margin-bottom:22px;align-items:flex-start;}
.comment-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;color:#fff;font-weight:800;}
.comment-input-wrap{flex:1;}
.comment-input{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:11px 16px;color:var(--text);font-family:var(--font-body);font-size:.88rem;font-weight:700;outline:none;resize:vertical;min-height:70px;transition:border-color .25s;}
.comment-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);}
.comment-submit{padding:9px 20px;border-radius:50px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none;font-weight:800;font-size:.82rem;cursor:pointer;margin-top:8px;transition:all .22s;font-family:var(--font-body);}
.comment-submit:hover{transform:translateY(-2px);box-shadow:0 6px 16px var(--accent-glow);}
.comment-item{display:flex;gap:10px;padding:14px 0;border-bottom:1px solid var(--border);animation:fade-in .4s ease;}
@keyframes fade-in{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.comment-item:last-child{border-bottom:none;}
.ci-avatar{width:34px;height:34px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.ci-body{flex:1;}
.ci-meta{font-size:.72rem;font-weight:800;color:var(--text-3);margin-bottom:4px;display:flex;gap:8px;align-items:center;}
.ci-name{color:var(--accent);}
.ci-text{color:var(--text-2);font-size:.85rem;font-weight:600;line-height:1.6;}
.ci-actions{display:flex;gap:12px;margin-top:6px;}
.ci-like-btn{background:none;border:none;cursor:pointer;font-size:.76rem;font-weight:800;color:var(--text-3);transition:color .2s;padding:0;}
.ci-like-btn:hover{color:var(--accent);}


/* ════════════════════════════════════════
   8 NAMED BACKGROUND THEMES
   ════════════════════════════════════════ */

/* NEON PURPLE (default) */
[data-bg="neon"] body,body{
  background:radial-gradient(ellipse at 20% 0%,#1a0840 0%,#08080f 40%,#0d0520 70%,#080410 100%);
}
[data-bg="neon"] :root{
  --glow-1:rgba(140,60,255,0.22);--glow-2:rgba(80,120,255,0.14);
  --accent:#a855f7;--accent-2:#c084fc;--accent-glow:rgba(168,85,247,0.45);
  --border:rgba(168,85,247,0.12);--border-2:rgba(168,85,247,0.22);
}
[data-bg="neon"] .bg-grid{background-image:linear-gradient(rgba(140,60,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(140,60,255,.07) 1px,transparent 1px);}
[data-bg="neon"] .bg-glow-1{background:radial-gradient(ellipse at 30% 20%,rgba(140,60,255,0.28) 0%,transparent 65%);}
[data-bg="neon"] .bg-glow-2{background:radial-gradient(ellipse at 75% 70%,rgba(80,120,255,0.18) 0%,transparent 60%);}

/* OCEAN DEEP */
[data-bg="ocean"] body{
  background:radial-gradient(ellipse at 50% 0%,#001d3d 0%,#000814 45%,#000510 100%);
}
[data-bg="ocean"] :root{
  --glow-1:rgba(0,150,255,0.20);--glow-2:rgba(0,220,255,0.12);
  --accent:#0ea5e9;--accent-2:#38bdf8;--accent-glow:rgba(14,165,233,0.45);
  --border:rgba(14,165,233,0.12);--border-2:rgba(14,165,233,0.22);
}
[data-bg="ocean"] .bg-grid{background-image:linear-gradient(rgba(0,120,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,120,255,.06) 1px,transparent 1px);}
[data-bg="ocean"] .bg-glow-1{background:radial-gradient(ellipse at 20% 30%,rgba(0,150,255,0.25) 0%,transparent 60%);}
[data-bg="ocean"] .bg-glow-2{background:radial-gradient(ellipse at 80% 60%,rgba(0,220,255,0.18) 0%,transparent 55%);}

/* CYBER RED / WARRIOR */
[data-bg="warrior"] body{
  background:radial-gradient(ellipse at 60% 10%,#200000 0%,#050000 40%,#0a0000 100%);
}
[data-bg="warrior"] :root{
  --glow-1:rgba(255,30,0,0.24);--glow-2:rgba(255,120,0,0.12);
  --accent:#ef4444;--accent-2:#f87171;--accent-glow:rgba(239,68,68,0.50);
  --border:rgba(239,68,68,0.14);--border-2:rgba(239,68,68,0.25);
}
[data-bg="warrior"] .bg-grid{background-image:linear-gradient(rgba(255,30,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,30,0,.07) 1px,transparent 1px);}
[data-bg="warrior"] .bg-glow-1{background:radial-gradient(ellipse at 40% 20%,rgba(255,30,0,0.28) 0%,transparent 60%);}
[data-bg="warrior"] .bg-glow-2{background:radial-gradient(ellipse at 70% 70%,rgba(255,100,0,0.18) 0%,transparent 55%);}

/* FOREST / NATURE */
[data-bg="forest"] body{
  background:radial-gradient(ellipse at 30% 0%,#003800 0%,#001200 45%,#000a00 100%);
}
[data-bg="forest"] :root{
  --glow-1:rgba(0,230,80,0.18);--glow-2:rgba(100,255,150,0.10);
  --accent:#22c55e;--accent-2:#4ade80;--accent-glow:rgba(34,197,94,0.45);
  --border:rgba(34,197,94,0.12);--border-2:rgba(34,197,94,0.22);
}
[data-bg="forest"] .bg-grid{background-image:linear-gradient(rgba(0,200,80,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,80,.06) 1px,transparent 1px);}
[data-bg="forest"] .bg-glow-1{background:radial-gradient(ellipse at 25% 25%,rgba(0,230,80,0.22) 0%,transparent 60%);}
[data-bg="forest"] .bg-glow-2{background:radial-gradient(ellipse at 75% 65%,rgba(100,255,150,0.15) 0%,transparent 55%);}

/* CANDY / KIDS */
[data-bg="kids"] body{
  background:radial-gradient(ellipse at 40% 0%,#1e0a38 0%,#0a0516 45%,#050210 100%);
}
[data-bg="kids"] :root{
  --glow-1:rgba(200,80,255,0.22);--glow-2:rgba(255,107,180,0.14);
  --accent:#e879f9;--accent-2:#f0abfc;--accent-glow:rgba(232,121,249,0.48);
  --border:rgba(232,121,249,0.13);--border-2:rgba(232,121,249,0.24);
}
[data-bg="kids"] .bg-grid{background-image:linear-gradient(rgba(200,80,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(200,80,255,.07) 1px,transparent 1px);}
[data-bg="kids"] .bg-glow-1{background:radial-gradient(ellipse at 35% 20%,rgba(200,80,255,0.26) 0%,transparent 58%);}
[data-bg="kids"] .bg-glow-2{background:radial-gradient(ellipse at 72% 68%,rgba(255,107,180,0.20) 0%,transparent 55%);}

/* ROSE / GIRLS */
[data-bg="girls"] body{
  background:radial-gradient(ellipse at 55% 0%,#220838 0%,#100520 45%,#080210 100%);
}
[data-bg="girls"] :root{
  --glow-1:rgba(255,77,166,0.22);--glow-2:rgba(220,100,255,0.14);
  --accent:#f472b6;--accent-2:#f9a8d4;--accent-glow:rgba(244,114,182,0.48);
  --border:rgba(244,114,182,0.13);--border-2:rgba(244,114,182,0.24);
}
[data-bg="girls"] .bg-grid{background-image:linear-gradient(rgba(255,77,166,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,77,166,.07) 1px,transparent 1px);}
[data-bg="girls"] .bg-glow-1{background:radial-gradient(ellipse at 30% 25%,rgba(255,77,166,0.26) 0%,transparent 58%);}
[data-bg="girls"] .bg-glow-2{background:radial-gradient(ellipse at 75% 65%,rgba(220,100,255,0.20) 0%,transparent 55%);}

/* MIDNIGHT BLUE */
[data-bg="midnight"] body{
  background:radial-gradient(ellipse at 50% 0%,#0d1340 0%,#020818 45%,#010510 100%);
}
[data-bg="midnight"] :root{
  --glow-1:rgba(80,100,255,0.22);--glow-2:rgba(140,80,255,0.14);
  --accent:#818cf8;--accent-2:#a5b4fc;--accent-glow:rgba(129,140,248,0.48);
  --border:rgba(129,140,248,0.13);--border-2:rgba(129,140,248,0.24);
}
[data-bg="midnight"] .bg-grid{background-image:linear-gradient(rgba(80,100,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(80,100,255,.07) 1px,transparent 1px);}
[data-bg="midnight"] .bg-glow-1{background:radial-gradient(ellipse at 25% 20%,rgba(80,100,255,0.26) 0%,transparent 58%);}
[data-bg="midnight"] .bg-glow-2{background:radial-gradient(ellipse at 78% 70%,rgba(140,80,255,0.20) 0%,transparent 55%);}

/* GOLD / EPIC */
[data-bg="gold"] body{
  background:radial-gradient(ellipse at 45% 0%,#1e1200 0%,#0a0800 45%,#050300 100%);
}
[data-bg="gold"] :root{
  --glow-1:rgba(255,190,0,0.22);--glow-2:rgba(255,140,0,0.12);
  --accent:#f59e0b;--accent-2:#fbbf24;--accent-glow:rgba(245,158,11,0.50);
  --border:rgba(245,158,11,0.14);--border-2:rgba(245,158,11,0.26);
}
[data-bg="gold"] .bg-grid{background-image:linear-gradient(rgba(255,180,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,180,0,.07) 1px,transparent 1px);}
[data-bg="gold"] .bg-glow-1{background:radial-gradient(ellipse at 35% 20%,rgba(255,190,0,0.28) 0%,transparent 58%);}
[data-bg="gold"] .bg-glow-2{background:radial-gradient(ellipse at 72% 65%,rgba(255,140,0,0.20) 0%,transparent 55%);}

/* CYBER */
[data-bg="cyber"] body{
  background:radial-gradient(ellipse at 60% 0%,#001a20 0%,#00080a 45%,#000508 100%);
}
[data-bg="cyber"] :root{
  --glow-1:rgba(0,255,220,0.20);--glow-2:rgba(0,200,255,0.12);
  --accent:#06b6d4;--accent-2:#22d3ee;--accent-glow:rgba(6,182,212,0.48);
  --border:rgba(6,182,212,0.13);--border-2:rgba(6,182,212,0.24);
}
[data-bg="cyber"] .bg-grid{background-image:linear-gradient(rgba(0,255,220,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,220,.07) 1px,transparent 1px);}
[data-bg="cyber"] .bg-glow-1{background:radial-gradient(ellipse at 28% 22%,rgba(0,255,220,0.24) 0%,transparent 58%);}
[data-bg="cyber"] .bg-glow-2{background:radial-gradient(ellipse at 75% 68%,rgba(0,200,255,0.18) 0%,transparent 55%);}

/* SUNSET */
[data-bg="sunset"] body{
  background:radial-gradient(ellipse at 50% 0%,#2a0820 0%,#150010 45%,#080005 100%);
}
[data-bg="sunset"] :root{
  --glow-1:rgba(255,85,0,0.24);--glow-2:rgba(255,160,0,0.14);
  --accent:#f97316;--accent-2:#fb923c;--accent-glow:rgba(249,115,22,0.50);
  --border:rgba(249,115,22,0.14);--border-2:rgba(249,115,22,0.26);
}
[data-bg="sunset"] .bg-grid{background-image:linear-gradient(rgba(255,85,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,85,0,.07) 1px,transparent 1px);}
[data-bg="sunset"] .bg-glow-1{background:radial-gradient(ellipse at 35% 20%,rgba(255,85,0,0.28) 0%,transparent 58%);}
[data-bg="sunset"] .bg-glow-2{background:radial-gradient(ellipse at 72% 68%,rgba(255,160,0,0.20) 0%,transparent 55%);}

/* ── SHARED THEME ENHANCEMENTS — cards, surfaces glow with theme color ── */
[data-bg] .gc-card,[data-bg] .side-card,[data-bg] .g-card{
  box-shadow:0 4px 18px rgba(0,0,0,0.45),0 0 0 1px rgba(255,255,255,0.04);
  transition:transform .22s,box-shadow .22s,border-color .22s;
}
[data-bg] .gc-card:hover,[data-bg] .side-card:hover,[data-bg] .g-card:hover{
  box-shadow:0 12px 40px rgba(0,0,0,0.6),0 0 24px var(--accent-glow),0 0 0 1px var(--border-2);
}
[data-bg] .qg-nav,[data-bg] .navbar{
  border-bottom:1px solid var(--border-2);
  box-shadow:0 2px 30px rgba(0,0,0,0.5),0 1px 0 var(--border-2);
}
[data-bg] button.primary,[data-bg] .abtn.primary,[data-bg] .mbb.primary{
  box-shadow:0 4px 20px var(--accent-glow),0 0 40px rgba(0,0,0,0.3);
}


/* BG SWITCHER DOCK */
.bg-switcher{
  position:fixed;bottom:90px;right:14px;z-index:800;
  display:flex;flex-direction:column;gap:5px;align-items:flex-end;
}
.bg-switch-btn{
  width:42px;height:42px;border-radius:50%;border:2.5px solid rgba(255,255,255,.15);
  cursor:pointer;transition:all .22s cubic-bezier(.34,1.56,.64,1);
  box-shadow:0 3px 14px rgba(0,0,0,.55);
  position:relative;overflow:visible;display:flex;align-items:center;justify-content:center;
  font-size:.95rem;
}
.bg-switch-btn:hover{transform:scale(1.22) translateX(-3px);border-color:rgba(255,255,255,.45);box-shadow:0 6px 22px rgba(0,0,0,.7);}
.bg-switch-btn.active{
  transform:scale(1.18) translateX(-3px);
  border-color:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.3),0 6px 22px rgba(0,0,0,.7);
}
.bg-switch-btn .bsb-tip{
  position:absolute;right:calc(100% + 9px);top:50%;transform:translateY(-50%);
  background:rgba(10,10,30,.92);color:#fff;font-size:.66rem;font-weight:800;
  padding:4px 9px;border-radius:8px;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .15s;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 3px 12px rgba(0,0,0,.4);
  backdrop-filter:blur(8px);
}
.bg-switch-btn:hover .bsb-tip,.bg-switch-btn.active .bsb-tip{opacity:1;}
/* per-theme gradients */
.bsb-neon{background:linear-gradient(135deg,#6600cc,#4488ff);}
.bsb-ocean{background:linear-gradient(135deg,#003580,#00aaff);}
.bsb-warrior{background:linear-gradient(135deg,#4a0000,#ff2200);}
.bsb-forest{background:linear-gradient(135deg,#003a00,#00dd66);}
.bsb-kids{background:linear-gradient(135deg,#2a0050,#ff6bc0);}
.bsb-girls{background:linear-gradient(135deg,#330040,#ff4daa);}
.bsb-midnight{background:linear-gradient(135deg,#050e30,#5566ff);}
.bsb-gold{background:linear-gradient(135deg,#1e1000,#ffbb00);}
.bsb-cyber{background:linear-gradient(135deg,#001a1a,#00ffe7);}
.bsb-sunset{background:linear-gradient(135deg,#3a0020,#ff7700);}
@media(max-width:768px){.bg-switcher{display:none;}}

/* ════════════════════════════════════════ */
/* ═══════════ GAME SCREENSHOT STRIP (detail) ═══════════ */
.game-screenshots{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent;}
.game-screenshots::-webkit-scrollbar{height:3px;}
.game-screenshots::-webkit-scrollbar-thumb{background:var(--surface-2);}
.gs-thumb{width:130px;height:82px;border-radius:10px;object-fit:cover;flex-shrink:0;border:1.5px solid var(--border);transition:border-color .2s,transform .2s;cursor:pointer;}
.gs-thumb:hover{border-color:var(--accent);transform:scale(1.04);}


/* ═══════════════════════════ TOKENS ═══════════════════════════ */
/* ═══════════════════════════ HOME PAGE TOKENS ═══════════════════════════
   Core colors (--bg, --text, --accent etc) come from base.html :root (light default).
   Only home-specific tokens are defined here.
   ═══════════════════════════════════════════════════════════════════════ */
:root{
  --side-w:226px;--radius:16px;
  /* Use base.html Fredoka One + Nunito — Boogaloo/Black Han Sans removed */
  --font-head:'Fredoka One',cursive;--font-brand:'Fredoka One',cursive;--font-body:'Nunito',sans-serif;
  /* gaming bg effect vars */
  --grid-color:rgba(255,85,0,0.04);
  --glow-1:rgba(255,85,0,0.12);
  --glow-2:rgba(68,136,255,0.08);
}
/* [data-theme="light"] core colors handled by base.html :root — no override needed here */
/* Home-specific light mode grid/glow adjustments: */
[data-theme="light"]{
  --grid-color:rgba(80,80,200,0.05);
  --glow-1:rgba(255,85,0,0.10);
  --glow-2:rgba(68,136,255,0.08);
}
/* ─── LIGHT MODE overrides ─── */
[data-theme="light"] body{background:linear-gradient(135deg,#e8eeff 0%,#f5f7ff 40%,#ffe8f5 100%) !important;}
[data-theme="light"] .qg-nav{background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(80,80,200,.12)!important;}
[data-theme="light"] .qg-sidebar{background:rgba(255,255,255,.9)!important;border-right:1px solid rgba(80,80,200,.08)!important;}
[data-theme="light"] .hero{background:linear-gradient(135deg,#e8eeff 0%,#f0e8ff 50%,#ffe8f5 100%)!important;border-color:rgba(100,80,200,.15)!important;}
[data-theme="light"] .gc{box-shadow:0 4px 16px rgba(80,80,200,.10)!important;}
[data-theme="light"] .gc:hover{box-shadow:0 14px 36px rgba(80,80,200,.20)!important;}
[data-theme="light"] #aurora-wrap{opacity:.5;}
[data-theme="light"] #qg-bg canvas{opacity:.18!important;}
[data-theme="light"] .bg-grid{opacity:.35!important;}
[data-theme="light"] .bg-glow-1,[data-theme="light"] .bg-glow-2{opacity:.4!important;}
[data-theme="light"] .comments-section{background:#fff!important;box-shadow:0 4px 20px rgba(80,80,200,.08);}
[data-theme="light"] .comment-input{background:#f5f7ff!important;color:#0a0a20!important;border-color:rgba(80,80,200,.18)!important;}
[data-theme="light"] .section-block h2{color:#0a0a20!important;}
[data-theme="light"] .sb-item{color:#3a3a6a!important;}
[data-theme="light"] .sb-item:hover{background:#edf0ff!important;color:#0a0a20!important;}
/* Kid mode */
[data-mode="kids"]{
  --accent:#ff6b9d;--accent-2:#ff8cc8;--accent-glow:rgba(255,107,157,0.35);
  --bg:#0a0516;--bg-2:#120820;--bg-3:#1a0f2e;
  --surface:#1e0e30;--surface-2:#2a1445;
  --glow-1:rgba(180,77,255,0.12);--glow-2:rgba(255,107,157,0.08);
}
[data-mode="kids"] body{background:linear-gradient(135deg,#0a0516 0%,#1e0a38 50%,#0a0818 100%)!important;}
[data-mode="kids"] .gc-badge-af{background:rgba(255,107,157,.15);color:#ff8cc8;}
/* Girl mode */
[data-mode="girls"]{
  --accent:#ff4da6;--accent-2:#ff80cc;--accent-glow:rgba(255,77,166,0.35);
  --bg:#0a0510;--bg-2:#160820;--bg-3:#200d2e;
  --surface:#280a3a;--surface-2:#360f50;
  --glow-1:rgba(255,77,166,0.12);--glow-2:rgba(200,120,255,0.08);
}
[data-mode="girls"] body{background:linear-gradient(135deg,#100520 0%,#220838 50%,#0e0318 100%)!important;}
/* Warrior / dark mode */
[data-mode="warrior"]{
  --accent:#ff2200;--accent-2:#ff4400;--accent-glow:rgba(255,34,0,0.45);
  --bg:#050505;--bg-2:#0a0a0a;--bg-3:#111;
  --surface:#141414;--surface-2:#1e1e1e;
  --glow-1:rgba(255,34,0,0.15);--glow-2:rgba(255,100,0,0.06);
}
[data-mode="warrior"] body{background:linear-gradient(135deg,#050505 0%,#0a0200 50%,#050000 100%)!important;}
/* Light mode always wins over mode backgrounds */
[data-theme="light"][data-mode="kids"] body,
[data-theme="light"][data-mode="girls"] body,
[data-theme="light"][data-mode="warrior"] body{
  background:linear-gradient(135deg,#e8eeff 0%,#f5f7ff 40%,#ffe8f5 100%) !important;
}
/* Light mode + kids/girls: keep accent colors but use light surfaces */
[data-theme="light"][data-mode="kids"]{
  --bg:#fdf0ff;--bg-2:#ffffff;--bg-3:#f5e8ff;
  --surface:#fff0fb;--surface-2:#ffe0f5;
  --border:rgba(180,77,255,0.12);--text:#2a0a20;--text-2:#6a3a5a;
}
[data-theme="light"][data-mode="girls"]{
  --bg:#fff0f8;--bg-2:#ffffff;--bg-3:#ffe8f5;
  --surface:#fff0fb;--surface-2:#ffd6ee;
  --border:rgba(255,77,166,0.12);--text:#200a18;--text-2:#6a3a5a;
}
[data-theme="light"][data-mode="warrior"]{
  --bg:#fff5f5;--bg-2:#ffffff;--bg-3:#ffe8e8;
  --surface:#fff5f5;--surface-2:#ffd6d6;
  --border:rgba(255,34,0,0.12);--text:#200a0a;--text-2:#6a2a2a;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);overflow-x:hidden;min-height:100vh;transition:background .4s,color .4s;}

/* ═══════════════════════════ GAMING BACKGROUNDS ═══════════════════════════ */
/* Layered: grid + radial glows + moving scanline + particles canvas */
#qg-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
#qg-bg canvas{width:100%;height:100%;}

.bg-grid{
  position:fixed;inset:0;z-index:0;pointer-events:none;contain:strict;
  background-image:
    linear-gradient(var(--grid-color) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 30%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 30%,transparent 100%);
  opacity:.7;
  /* grid-pulse and grid-shine animations removed — caused constant repaints */
}
.bg-glow-1{
  position:fixed;top:-20%;left:-20%;
  width:70vw;height:70vw;
  border-radius:50%;
  background:radial-gradient(circle,var(--glow-1) 0%,transparent 70%);
  z-index:0;pointer-events:none;contain:strict;
  /* drift animation removed */
}
.bg-glow-2{
  position:fixed;bottom:-20%;right:-20%;
  width:60vw;height:60vw;
  border-radius:50%;
  background:radial-gradient(circle,var(--glow-2) 0%,transparent 70%);
  z-index:0;pointer-events:none;contain:strict;
  /* drift animation removed */
}
.bg-scanline{display:none;/* scanline causes full-page repaint — removed */}

.bg-scanline{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(
    to bottom,
    transparent 0px,
    transparent 3px,
    rgba(0,0,0,0.03) 3px,
    rgba(0,0,0,0.03) 4px
  );
  opacity:.6;
}
[data-theme="light"] .bg-scanline{opacity:.2;}
[data-theme="light"] #qg-bg{opacity:.12;}

/* ═══════════════════════════ MODE SWITCHER ═══════════════════════════ */
.mode-bar{
  position:fixed;left:14px;top:50%;transform:translateY(-50%);
  z-index:850;display:flex;flex-direction:column;gap:8px;
}
.mode-btn{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;cursor:pointer;
  background:var(--surface-2);border:2px solid var(--border);
  transition:all .2s;box-shadow:0 4px 12px rgba(0,0,0,.4);
  position:relative;
}
.mode-btn:hover,.mode-btn.active{transform:scale(1.15);border-color:var(--accent);box-shadow:0 6px 20px var(--accent-glow);}
.mode-tip{
  position:absolute;left:calc(100% + 8px);
  background:var(--surface-2);color:var(--text);
  font-size:.68rem;font-weight:800;padding:4px 9px;border-radius:7px;
  white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;
  border:1px solid var(--border);
}
.mode-btn:hover .mode-tip{opacity:1;}
@media(max-width:768px){.mode-bar{display:none;}}

/* ═══════════════════════════ NAV ═══════════════════════════ */
.qg-nav{
  position:fixed;top:0;left:0;right:0;z-index:900;height:var(--nav-h);
  background:rgba(255,255,255,.92);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);
  border-bottom:1px solid rgba(80,80,200,.1);
  display:flex;align-items:center;padding:0 18px;gap:12px;
  transition:background .3s,box-shadow .3s;
  overflow:visible;
}
.qg-nav.scrolled{
  background:rgba(255,255,255,.99) !important;
  box-shadow:0 4px 20px rgba(80,80,200,.15);
}
[data-theme="light"] .qg-nav{background:rgba(240,242,250,.94);}
[data-theme="light"] .qg-nav.scrolled{background:rgba(255,255,255,.99) !important;box-shadow:0 4px 20px rgba(80,80,200,.18);}
[data-mode="kids"]    .qg-nav{background:rgba(10,5,22,.9);}
[data-mode="girls"]   .qg-nav{background:rgba(10,5,16,.9);}
[data-mode="warrior"] .qg-nav{background:rgba(5,5,5,.95);}

.nav-logo{font-family:var(--font-head);font-size:1.75rem;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:8px;white-space:nowrap;letter-spacing:.3px;}
.nav-logo .la{color:var(--accent);}
.nav-logo .lz{color:var(--accent-2);}
.nav-logo img{height:34px;width:auto;object-fit:contain;border-radius:7px;}

.nav-search{flex:1;max-width:500px;position:relative;}
.nav-search input{
  width:100%;background:var(--surface);border:2px solid var(--border);
  padding:9px 20px 9px 44px;border-radius:50px;
  color:var(--text);font-family:var(--font-body);font-size:16px;font-weight:700;
  outline:none;transition:border-color .25s,box-shadow .25s;
}
.nav-search input::placeholder{color:var(--text-3);}
.nav-search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow);}
.nav-si{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:1rem;pointer-events:none;}

/* ── SEARCH DROPDOWN ── */
#searchDropdown{
  position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:9999;
  background:var(--bg-2);border:2px solid var(--accent);border-radius:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.55);overflow:hidden;
  display:none;max-height:60vh;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent;
  min-width:280px;
}
/* On small screens: pin to screen edges so it doesn't go offscreen */
@media(max-width:600px){
  #searchDropdown{
    position:fixed;top:var(--nav-h);left:8px;right:8px;
    border-radius:14px;max-height:65vh;
  }
}
#searchDropdown.open{display:block;animation:sd-pop .18s cubic-bezier(.34,1.56,.64,1);}
@keyframes sd-pop{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
.sd-header{padding:8px 16px 4px;font-size:.68rem;font-weight:900;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);}
.sd-item{
  display:flex;align-items:center;gap:11px;padding:10px 16px;cursor:pointer;
  text-decoration:none;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.04);
}
.sd-item:hover,.sd-item.focused{background:rgba(255,85,0,.1);}
.sd-item:last-child{border-bottom:none;}
.sd-thumb{
  width:44px;height:33px;border-radius:7px;object-fit:cover;flex-shrink:0;
  background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:1.3rem;overflow:hidden;
}
.sd-thumb img{width:100%;height:100%;object-fit:cover;border-radius:7px;}
.sd-info{flex:1;min-width:0;}
.sd-title{font-weight:800;font-size:.86rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sd-title mark{background:var(--accent);color:#fff;border-radius:3px;padding:0 2px;}
.sd-cat{font-size:.68rem;font-weight:700;color:var(--text-3);margin-top:1px;}
.sd-play{font-size:.8rem;color:var(--text-3);flex-shrink:0;}
[data-theme="light"] #searchDropdown{background:#fff;border-color:var(--accent);}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0;overflow:visible;}
.nav-btn{width:38px;height:38px;border-radius:50%;background:var(--surface);border:1.5px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .22s;color:var(--text);}
.nav-btn:hover{border-color:var(--accent);transform:scale(1.1);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;}
.hamburger span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s;}

/* ═══════════════════════════ LAYOUT ═══════════════════════════ */
.qg-layout{display:flex;position:relative;z-index:1;padding-top:calc(var(--nav-h) + var(--cat-h));}

/* ═══════════════════════════ RESIZE HANDLE ═══════════════════════════ */
.resize-handle{
  width:8px;flex-shrink:0;cursor:col-resize;position:relative;z-index:10;
  background:transparent;transition:background .15s,width .15s;
  display:flex;align-items:center;justify-content:center;
  user-select:none;-webkit-user-select:none;
}
/* Expand hit area on hover so it's easier to grab */
.resize-handle:hover{ width:12px; }
.resize-handle:hover,.resize-handle.dragging{background:rgba(255,85,0,.08);}
/* The visible grip dots */
.resize-handle::after{
  content:'⋮';
  font-size:.65rem;
  color:var(--border);transition:color .15s;
  line-height:1; letter-spacing:0;
}
.resize-handle:hover::after,.resize-handle.dragging::after{color:var(--accent);}
/* Left handle: right border glow */
#leftResizeHandle{border-right:2px solid var(--border);transition:border-color .15s;}
#leftResizeHandle:hover,#leftResizeHandle.dragging{border-right-color:var(--accent);}
/* Right handle: left border glow */
#rightResizeHandle{border-left:2px solid var(--border);transition:border-color .15s;}
#rightResizeHandle:hover,#rightResizeHandle.dragging{border-left-color:var(--accent);}
@media(max-width:900px){.resize-handle{display:none!important;}}

/* ═══════════════════════════ SIDEBAR ═══════════════════════════ */
.qg-sidebar{
  width:var(--side-w);min-height:calc(100vh - var(--nav-h) - var(--cat-h));
  position:sticky;top:calc(var(--nav-h) + var(--cat-h));height:calc(100vh - var(--nav-h) - var(--cat-h));
  overflow-y:auto;overflow-x:hidden;background:var(--bg-2);
  border-right:1px solid var(--border);
  padding:0 10px 40px;flex-shrink:0;
  scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent;
  min-width:52px;max-width:400px;
}
.qg-sidebar::-webkit-scrollbar{width:3px;}
.qg-sidebar::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:3px;}
#sidebarBody { padding-top:10px; }
#rightPanel > * { padding-top:0; }
.qg-right > *:first-child { margin-top:10px; }
/* Collapsed icon-only state (width <= 60px auto-applied by JS) */
.qg-sidebar.icon-only .sb-label,
.qg-sidebar.icon-only .sb-count,
.qg-sidebar.icon-only .sb-item-text{display:none!important;}
.qg-sidebar.icon-only .sb-item{padding:9px;justify-content:center;gap:0;}
.qg-sidebar.icon-only .sb-icon{width:auto;font-size:1.15rem;}

.sb-label{font-size:.61rem;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);padding:6px 10px;margin:14px 0 4px;}
.sb-item{
  display:flex;align-items:center;gap:9px;
  padding:9px 11px;border-radius:11px;
  text-decoration:none;color:var(--text-2);
  font-weight:700;font-size:.82rem;cursor:pointer;
  border:none;background:none;width:100%;text-align:left;
  transition:background .18s,color .18s;
}
.sb-item:hover{background:var(--surface);color:var(--text);}
.sb-item.active{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 4px 14px var(--accent-glow);}
.sb-icon{font-size:1rem;width:20px;text-align:center;flex-shrink:0;}
.sb-count{margin-left:auto;font-size:.66rem;font-weight:900;background:var(--surface-2);color:var(--text-3);padding:2px 7px;border-radius:9px;}
.sb-item.active .sb-count{background:rgba(255,255,255,.22);color:#fff;}

/* ═══════════════════════════ MAIN ═══════════════════════════ */
.qg-main{flex:1;min-width:0;padding:0 26px 80px;}

/* ═══════════════════════════ RIGHT WIDGET PANEL ═══════════════════════════ */
.qg-right{
  width:260px;flex-shrink:0;
  position:sticky;top:calc(var(--nav-h) + var(--cat-h));height:calc(100vh - var(--nav-h) - var(--cat-h));
  overflow-y:auto;overflow-x:hidden;padding:0 10px 40px;
  border-left:1px solid var(--border);background:var(--bg-2);
  scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent;
  display:flex;flex-direction:column;gap:10px;
  min-width:180px;max-width:420px;
}
.qg-right::-webkit-scrollbar{width:3px;}
.qg-right::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:3px;}
@media(max-width:1100px){.qg-right{display:none;}#rightResizeHandle{display:none!important;}}
[data-theme="light"] .qg-right{background:rgba(255,255,255,.9);border-left:1px solid rgba(80,80,200,.08);}

/* ═══════════════════════════ PANEL TOGGLE BUTTONS ═══════════════════════════ */
.panel-toggle{
  position:fixed;top:50%;transform:translateY(-50%);z-index:860;
  width:18px;height:64px;
  background:var(--surface-2);border:1px solid var(--border);
  cursor:pointer;color:var(--text-3);
  font-size:.7rem;font-weight:900;display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s,box-shadow .2s;
  box-shadow:0 4px 16px rgba(0,0,0,.4);
  user-select:none;
}
.panel-toggle:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 20px var(--accent-glow);}
#sidebarToggle{
  left:var(--side-w);
  border-radius:0 10px 10px 0;
  border-left:none;
  transition:left .25s ease,background .2s,color .2s,box-shadow .2s;
}
#sidebarToggle.collapsed-btn{left:0!important;}
#rightToggle{
  right:260px;
  border-radius:10px 0 0 10px;
  border-right:none;
  border-left:1px solid var(--border);
  transition:right .25s ease,background .2s,color .2s,box-shadow .2s;
}
#rightToggle.collapsed-btn{right:0!important;}
@media(max-width:1100px){#rightToggle{display:none!important;}}
@media(max-width:900px){#sidebarToggle{display:none!important;}}

/* ═══════════════════════════ HERO ═══════════════════════════ */
.hero{
  border-radius:24px;padding:48px 42px;margin-bottom:28px;
  position:relative;overflow:hidden;
  background:linear-gradient(130deg,#0c0c28 0%,#180a2e 40%,#080820 100%);
  border:1px solid rgba(255,255,255,.06);
}
[data-theme="light"] .hero{background:linear-gradient(130deg,#e8eaff 0%,#f0e8ff 40%,#e0e8ff 100%);border-color:rgba(100,80,200,.12);}
[data-mode="kids"] .hero{background:linear-gradient(130deg,#0e0520 0%,#1a0a35 50%,#0a0818 100%);}
[data-mode="girls"] .hero{background:linear-gradient(130deg,#100520 0%,#200530 50%,#0e0318 100%);}
[data-mode="warrior"] .hero{background:linear-gradient(130deg,#0a0000 0%,#180500 50%,#050000 100%);}
/* When a BG image is set, the hero just wastes space — collapse it */
body.has-bg-image .hero { display:none !important; }

.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,var(--glow-1) 0%,transparent 70%);}
.hero::after{content:'';position:absolute;top:-50%;right:-10%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none;}

.hero-badge{font-size:.76rem;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);background:rgba(255,85,0,.12);border:1px solid rgba(255,85,0,.3);display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:50px;margin-bottom:14px;}
.hero h1{font-family:var(--font-head);font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.1;margin-bottom:12px;color:var(--text);}
.hero h1 em{color:var(--accent);font-style:normal;}
.hero p{font-size:1rem;color:var(--text-2);max-width:520px;line-height:1.65;margin-bottom:24px;}
.hero-stats{display:flex;gap:24px;flex-wrap:wrap;}
.hs-item{text-align:center;}
.hs-n{font-family:var(--font-head);font-size:2.1rem;line-height:1;color:var(--text);}
.hs-n em{color:var(--accent);font-style:normal;}
.hs-l{font-size:.68rem;font-weight:800;text-transform:uppercase;color:var(--text-3);margin-top:2px;}

/* CTA buttons in hero */
.hero-btns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.hero-cta{padding:11px 22px;border-radius:50px;font-family:var(--font-body);font-weight:800;font-size:.86rem;cursor:pointer;border:none;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:all .22s;}
.hero-cta.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 6px 20px var(--accent-glow);}
.hero-cta.primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px var(--accent-glow);}
.hero-cta.secondary{background:var(--surface);color:var(--text-2);border:1.5px solid var(--border);}
.hero-cta.secondary:hover{border-color:var(--accent);color:var(--accent);}

/* ═══════════ SECTIONS ═══════════════════════════ */
.section-block{margin-bottom:40px;}
.sec-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px;}
.sec-ttl{font-family:var(--font-head);font-size:1.4rem;font-weight:400;color:var(--text);}
.see-all{font-size:.78rem;font-weight:800;color:var(--accent);text-decoration:none;white-space:nowrap;padding:5px 12px;border-radius:50px;border:1.5px solid rgba(255,85,0,.3);transition:all .2s;}
.see-all:hover{background:rgba(255,85,0,.1);}

/* ── Text always readable on any BG image — clean shadow only, no boxes ── */
body.has-bg-image .sec-ttl {
  color:#fff !important;
  text-shadow:
    0 0 20px rgba(0,0,0,0.9),
    0 2px 6px rgba(0,0,0,0.95),
    1px 1px 0 rgba(0,0,0,0.8),
    -1px -1px 0 rgba(0,0,0,0.8);
  -webkit-text-stroke: 0.5px rgba(0,0,0,0.4);
}
body.has-bg-image .see-all {
  color:#fff !important;
  border-color:rgba(255,255,255,0.4) !important;
  background:rgba(0,0,0,0.38) !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}
body.has-bg-image .see-all:hover {
  background:rgba(0,0,0,0.55) !important;
}

/* ═══════════════════════════ GAME GRID — POKI-STYLE VARIED SIZES ═══════════════════════════ */
/* KEY: use dense auto-placement so NO gaps/holes appear */
.game-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,140px);
  grid-auto-rows:140px;
  gap:12px;
  justify-content:start;
  grid-auto-flow:dense;
}
/* ⚡ Skip rendering off-screen sections entirely — huge paint time saving */
.section-block{
  content-visibility:auto;
  contain-intrinsic-size:0 400px;
}
.game-grid.section-grid{grid-template-columns:repeat(auto-fill,140px);grid-auto-rows:140px;gap:12px;justify-content:start;grid-auto-flow:dense;}
#allGrid,.filtered-grid-varied{
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:148px;
  grid-auto-flow:dense;
}
.gc.gc-big{grid-column:span 2;grid-row:span 2;}
.gc.gc-wide{grid-column:span 2;grid-row:span 2;}
.gc.gc-tall{grid-column:span 2;grid-row:span 2;}

/* ═══════════════════════════ GAME CARD ═══════════════════════════ */
.gc{
  position:relative;border-radius:14px;overflow:hidden;
  display:block;text-decoration:none;
  background:var(--surface);
  box-shadow:0 4px 14px rgba(0,0,0,.45);
  transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,border-color .2s;
  border:2px solid transparent;cursor:pointer;
  width:100%;height:100%;
}
.gc img,.gc-thumb-zoom img{
  width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;
}
.gc:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 36px rgba(0,0,0,.6);border-color:var(--accent);}
[data-theme="light"] .gc{box-shadow:0 3px 12px rgba(0,0,0,.1);}
[data-theme="light"] .gc:hover{box-shadow:0 10px 28px rgba(0,0,0,.16);}
.gc.featured{grid-column:span 2;grid-row:span 2;}
.gc-featured-crown{
  position:absolute;top:6px;right:6px;z-index:5;
  font-size:1.1rem;line-height:1;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5));
  pointer-events:none;
}

/* Image always covers the whole card — no empty space ever */
.gc img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;
  transition:transform .3s ease;
}
.gc:hover img{transform:scale(1.06);}
.gc-emoji{
  position:absolute;inset:0;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:4rem;background:var(--surface);
}
.gc-ov{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.3) 45%,transparent 100%);
  display:flex;align-items:flex-end;padding:10px;
  opacity:0;transition:opacity .2s;
  z-index:5;
}
.gc:hover .gc-ov{opacity:1;}
/* Mobile: name strip handles visibility — no gc-ov duplicate needed */
@media(max-width:768px){
  .gc-name{font-size:.65rem;}
}
.gc-name{font-weight:800;font-size:.82rem;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.9);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.gc.gc-big .gc-name,.gc.featured .gc-name{font-size:1rem;}
.gc-cat{font-size:.6rem;color:rgba(255,255,255,.6);font-weight:700;margin-top:1px;}
/* Multi-category pills on cards */
.gc-cats-row{display:flex;gap:3px;flex-wrap:wrap;margin-top:3px;}
.gc-cat-pill{font-size:.52rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 5px;border-radius:4px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.85);backdrop-filter:blur(4px);}
/* Label strip cats */
.gc-label-cats{display:flex;gap:3px;flex-wrap:wrap;margin-top:2px;}
/* Tooltip cats */
.gpt-cats{display:flex;gap:3px;flex-wrap:wrap;margin:3px 0;}
.gpt-cat-pill{font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.75);}
.gc-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;pointer-events:none;}
.gc:hover .gc-play{opacity:1;}
.gc-play::after{content:'▶';font-size:1.8rem;color:#fff;background:var(--accent);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-indent:3px;box-shadow:0 4px 16px rgba(255,85,0,.7);}
.gc.gc-big .gc-play::after,.gc.featured .gc-play::after{width:58px;height:58px;font-size:2.2rem;}

/* Badges */
.gc-badge{position:absolute;top:8px;right:8px;font-size:.54rem;font-weight:900;text-transform:uppercase;letter-spacing:.8px;padding:3px 8px;border-radius:50px;z-index:4;}
.badge-hot{background:linear-gradient(90deg,#ff5500,#ff8800);color:#fff;}
.badge-new{background:linear-gradient(90deg,#00c853,#00e676);color:#000;}
.badge-top{background:linear-gradient(90deg,#aa00ff,#d500f9);color:#fff;}
/* AD FREE badge hidden — all games treated as free */
.gc-adfree{display:none !important;}

/* Quick-like on card */
.gc-like{position:absolute;bottom:9px;right:9px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.5);border:1.5px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.8rem;cursor:pointer;z-index:3;opacity:0;transition:opacity .2s,transform .2s;backdrop-filter:blur(4px);}
.gc:hover .gc-like{opacity:1;}
.gc-like:hover{transform:scale(1.25);}
.gc-like.liked{opacity:1;background:rgba(255,85,0,.4);border-color:var(--accent);}

/* ═══════════════════════════ CAT GRID ═══════════════════════════ */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:11px;}
.cat-card{
  background:var(--surface);border:1.5px solid var(--border);
  border-radius:var(--radius);padding:18px 12px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  cursor:pointer;transition:background .2s,border-color .2s,transform .22s cubic-bezier(.34,1.56,.64,1);
}
.cat-card:hover{background:var(--surface-2);border-color:var(--accent);transform:translateY(-4px);}
.cat-icon{font-size:2rem;line-height:1;}
.cat-name{font-weight:800;font-size:.82rem;color:var(--text);text-align:center;}
.cat-cnt{font-size:.68rem;font-weight:700;color:var(--text-3);}

/* Audience cards (special styling) */
.aud-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:32px;}
.aud-card{
  border-radius:18px;padding:24px 18px;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  cursor:pointer;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;
  border:2px solid transparent;text-decoration:none;position:relative;overflow:hidden;
}
.aud-card::before{content:'';position:absolute;inset:0;opacity:.12;background:var(--aud-color);}
.aud-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 16px 40px var(--aud-shadow);}
.aud-card.kids{--aud-color:#b44dff;--aud-shadow:rgba(180,77,255,.4);background:linear-gradient(135deg,#1a0535,#0e0220);border-color:rgba(180,77,255,.35);}
.aud-card.girls{--aud-color:#ff4da6;--aud-shadow:rgba(255,77,166,.4);background:linear-gradient(135deg,#250525,#150010);border-color:rgba(255,77,166,.35);}
.aud-card.boys{--aud-color:#4488ff;--aud-shadow:rgba(68,136,255,.4);background:linear-gradient(135deg,#051535,#030820);border-color:rgba(68,136,255,.35);}
.aud-card.warrior{--aud-color:#ff2200;--aud-shadow:rgba(255,34,0,.5);background:linear-gradient(135deg,#200500,#100000);border-color:rgba(255,34,0,.4);}
.aud-card.older{--aud-color:#888;--aud-shadow:rgba(136,136,136,.3);background:linear-gradient(135deg,#181818,#0a0a0a);border-color:rgba(136,136,136,.25);}
[data-theme="light"] .aud-card.kids{background:linear-gradient(135deg,#f5e6ff,#ffe8f6);border-color:rgba(180,77,255,.3);}
[data-theme="light"] .aud-card.girls{background:linear-gradient(135deg,#ffe8f5,#fff0fb);border-color:rgba(255,77,166,.3);}
[data-theme="light"] .aud-card.boys{background:linear-gradient(135deg,#e8f0ff,#f0f8ff);border-color:rgba(68,136,255,.3);}
[data-theme="light"] .aud-card.warrior{background:linear-gradient(135deg,#fff0ee,#ffe8e8);border-color:rgba(255,34,0,.25);}
[data-theme="light"] .aud-card.older{background:linear-gradient(135deg,#f5f5f5,#eee);border-color:rgba(100,100,100,.2);}
.aud-icon{font-size:2.6rem;line-height:1;}
.aud-name{font-family:var(--font-head);font-size:1.1rem;color:var(--text);font-weight:400;}
.aud-desc{font-size:.72rem;color:var(--text-2);font-weight:700;text-align:center;line-height:1.4;}
.aud-cnt{font-size:.7rem;font-weight:900;color:var(--accent);margin-top:2px;}

/* ═══════════════════════════ LOAD MORE ═══════════════════════════ */
.load-more-wrap{text-align:center;margin-top:26px;}
.load-more-btn{background:var(--surface);border:2px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:.88rem;font-weight:800;padding:12px 34px;border-radius:50px;cursor:pointer;transition:border-color .2s,box-shadow .2s;}
.load-more-btn:hover{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow);}

/* ═══════════════════════════ SEARCH UI ═══════════════════════════ */
.search-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:11px 16px;display:none;align-items:center;justify-content:space-between;font-size:.84rem;font-weight:700;margin-bottom:18px;}
.search-bar.visible{display:flex;}
.clear-btn{background:none;border:none;color:var(--accent);font-weight:800;cursor:pointer;font-size:.78rem;font-family:var(--font-body);}

/* ═══════════════════════════ LOADING / EMPTY ═══════════════════════════ */
.loading-wrap{text-align:center;padding:80px 20px;color:var(--text-3);font-weight:700;}
.spinner{width:46px;height:46px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px;}
@keyframes spin{to{transform:rotate(360deg);}}
.empty-state{text-align:center;padding:80px 20px;display:none;}
.empty-state.visible{display:block;}
.empty-ico{font-size:4rem;margin-bottom:12px;}
.empty-state h3{font-size:1.35rem;margin-bottom:8px;}
.empty-state p{color:var(--text-3);font-size:.88rem;}

/* ═══════════════════════════ MOBILE PILLS ═══════════════════════════ */
.mob-pills{display:none;overflow-x:auto;gap:8px;padding:4px 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.mob-pills::-webkit-scrollbar{display:none;}
.mob-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:8px 15px;border-radius:50px;background:var(--surface);border:1.5px solid var(--border);font-size:.76rem;font-weight:800;cursor:pointer;color:var(--text-2);transition:all .2s;flex-shrink:0;}
.mob-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.mob-pill:hover:not(.active){border-color:var(--accent);color:var(--text);}

/* ═══════════════════════════ TOAST ═══════════════════════════ */
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--surface-2);color:var(--text);font-weight:800;font-size:.84rem;padding:10px 22px;border-radius:50px;box-shadow:0 8px 28px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:all .3s;z-index:9999;border:1px solid var(--border);}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ═══════════════════════════ FLOAT BUTTONS ═══════════════════════════ */
.float-theme{display:none;position:fixed;bottom:80px;right:18px;z-index:800;width:44px;height:44px;border-radius:50%;background:var(--surface-2);border:1.5px solid var(--border);font-size:1.05rem;cursor:pointer;color:var(--text);box-shadow:0 4px 16px rgba(0,0,0,.4);align-items:center;justify-content:center;transition:all .3s;}
.float-theme:hover{border-color:var(--accent);transform:scale(1.1) rotate(15deg);}
/* ═══════════════════════════ SECTION ENTRANCE ANIMATION ═══════════════════════════ */
.section-block{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease;}
.section-block.in-view{opacity:1;transform:translateY(0);}
.back-top{position:fixed;bottom:24px;right:18px;z-index:800;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 16px var(--accent-glow);opacity:0;pointer-events:none;transition:opacity .25s;}
.back-top.visible{opacity:1;pointer-events:auto;}

/* ═══════════════════════════ GC PLAY BUTTON ═══════════════════════════ */
.gc-play{display:none;}  /* No play button — just zoom the thumbnail on hover */

/* ═══ THUMBNAIL ZOOM ON HOVER (Poki-style, no icon) ═══ */
.gc-thumb-zoom{
  position:absolute;inset:0;overflow:hidden;border-radius:inherit;
}
.gc-thumb-zoom img,.gc-thumb-zoom .gc-emoji{
  width:100%;height:100%;object-fit:cover;
  transition:transform .38s cubic-bezier(.25,.46,.45,.94);
  transform-origin:center center;
}
.gc:hover .gc-thumb-zoom img,
.gc:hover .gc-thumb-zoom .gc-emoji{
  transform:scale(1.12);
}

/* ═══════════════════════════ HOVER VIDEO PREVIEW ═══════════════════════════ */

/* ═══════════════════════════ DARK MODE TOGGLE PULSE ═══════════════════════════ */
.float-theme:hover{animation:pulse-ring .4s ease;}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--accent-glow);}100%{box-shadow:0 0 0 12px transparent;}}

/* ═══════════════════════════ CARD IMAGE BELOW ═══════════════════════════ */
.gc-thumb-below{display:none;}

/* ═══════════════════════════ FEATURED CARD SHINE ═══════════════════════════ */
.gc.featured::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .5s ease;pointer-events:none;
}
.gc.featured:hover::after{transform:translateX(100%);}


/* ═══════════════════════════ DRAWER ═══════════════════════════ */
.drawer-overlay{position:fixed;inset:0;z-index:980;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:none;}
.drawer-overlay.open{display:block;}
.drawer{position:fixed;left:0;top:0;bottom:0;z-index:990;width:280px;background:var(--bg-2);border-right:1px solid var(--border);overflow-y:auto;transform:translateX(-100%);transition:transform .3s ease;padding-bottom:40px;}
.drawer.open{transform:translateX(0);}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-2);z-index:2;}
.drawer-title{font-family:var(--font-head);font-size:1.3rem;color:var(--text);}
.drawer-close{background:none;border:none;color:var(--text-3);font-size:1.2rem;cursor:pointer;}

/* ═══════════════════════════ RECENTLY PLAYED ═══════════════════════════ */
.recent-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;}
.recent-strip::-webkit-scrollbar{display:none;}
.recent-item{flex-shrink:0;width:82px;text-decoration:none;text-align:center;}
.recent-thumb{width:82px;height:62px;border-radius:10px;overflow:hidden;background:var(--surface);border:2px solid var(--border);transition:border-color .2s;}
.recent-item:hover .recent-thumb{border-color:var(--accent);}
.recent-thumb img{width:100%;height:100%;object-fit:cover;}
.recent-name{font-size:.62rem;font-weight:800;color:var(--text-2);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ═══════════════════════════ FAVOURITES STRIP ═══════════════════════════ */
.fav-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;}
.fav-strip::-webkit-scrollbar{display:none;}

/* ═══════════════════════════ MARQUEE TICKER ═══════════════════════════ */
.ticker-wrap{overflow:hidden;background:linear-gradient(90deg,var(--accent),var(--accent-2));padding:7px 0;position:relative;z-index:2;}
.ticker-inner{display:flex;gap:0;animation:tick-scroll 30s linear infinite;white-space:nowrap;}
.ticker-item{font-size:.75rem;font-weight:900;color:#fff;padding:0 28px;letter-spacing:.04em;flex-shrink:0;}
.ticker-sep{color:rgba(255,255,255,.5);padding:0 4px;}
@keyframes tick-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ═══════════════════════════ FEATURED BANNER ═══════════════════════════ */
.featured-banner{
  border-radius:20px;overflow:hidden;position:relative;
  height:200px;margin-bottom:28px;cursor:pointer;
  background:linear-gradient(135deg,#0a0020,#1a0040);
  border:2px solid rgba(180,77,255,.3);
  transition:transform .22s;
  text-decoration:none;display:block;
}
.featured-banner:hover{transform:scale(1.01);}
.fb-img{width:100%;height:100%;object-fit:cover;opacity:.5;}
.fb-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,transparent 60%);display:flex;align-items:center;padding:28px;}
.fb-content{}
.fb-badge{font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:rgba(255,85,0,.15);border:1px solid rgba(255,85,0,.35);padding:3px 10px;border-radius:50px;display:inline-block;margin-bottom:8px;}
.fb-title{font-family:var(--font-head);font-size:2rem;color:#fff;margin-bottom:6px;}
.fb-desc{font-size:.84rem;color:rgba(255,255,255,.7);font-weight:700;max-width:300px;line-height:1.5;}
.fb-play{margin-top:12px;display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;padding:9px 20px;border-radius:50px;font-weight:800;font-size:.84rem;}

/* ═══════════════════════════ RESPONSIVE ═══════════════════════════ */
@media(max-width:900px){
  :root{--side-w:0px;}
  .qg-sidebar{display:none!important;}
  .mob-pills{display:flex;}
  .float-theme{display:flex;}
  .hamburger{display:flex;}
  .game-grid{grid-template-columns:repeat(auto-fill,110px)!important;grid-auto-rows:110px!important;gap:8px!important;grid-auto-flow:dense!important;}
  .game-grid.section-grid{grid-template-columns:repeat(auto-fill,110px)!important;grid-auto-rows:110px!important;gap:8px!important;grid-auto-flow:dense!important;}
  #allGrid,.filtered-grid-varied{grid-template-columns:repeat(4,1fr);grid-auto-rows:120px;grid-auto-flow:dense;}
  .gc.gc-big{grid-column:span 2;grid-row:span 2;}
  .gc.gc-wide{grid-column:span 2;}
  .gc.gc-tall{grid-row:span 2;}
  .gc.featured{grid-column:span 2;grid-row:span 2;}
  .qg-main{padding:14px 12px 80px;}
  .mode-bar{display:none!important;}
  .bg-switcher{display:none!important;}
  .hero{padding:26px 16px;}
  .hero h1{font-size:1.85rem;}
  .hero p{font-size:.86rem;}
  .hero-stats{gap:12px;}
  .hs-n{font-size:1.4rem;}
  .aud-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;}
  .aud-card{padding:14px 10px!important;}
  .aud-icon{font-size:1.6rem!important;}
  .aud-name{font-size:.8rem!important;}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;}
  .qg-right{display:none!important;}
  #rightResizeHandle{display:none!important;}
  .gc-name{font-size:.72rem;}
  .gc-like{opacity:1!important;}
  /* Always show name strip on tablet */
  .gc-label-strip{opacity:1!important;transform:none!important;}
}
@media(max-width:480px){
  .game-grid{grid-template-columns:repeat(auto-fill,90px)!important;grid-auto-rows:90px!important;gap:6px!important;grid-auto-flow:dense!important;}
  .game-grid.section-grid{grid-template-columns:repeat(auto-fill,90px)!important;grid-auto-rows:90px!important;gap:6px!important;grid-auto-flow:dense!important;}
  #allGrid,.filtered-grid-varied{grid-template-columns:repeat(3,1fr);grid-auto-rows:100px;grid-auto-flow:dense;}
  .gc.gc-big{grid-column:span 2;grid-row:span 2;}
  .gc.gc-wide{grid-column:span 2;grid-row:span 1;}
  .gc.gc-tall{grid-column:span 1;grid-row:span 2;}
  .gc{border-radius:9px;}
  .gc-name{font-size:.62rem;}
  .gc-play::after{width:34px;height:34px;font-size:1.4rem;}
  .nav-search{display:flex;flex:1;max-width:none;}
  .nav-logo{font-size:1.2rem;}
  #navSearch{font-size:16px!important;}
  .nav-right{display:none!important;}
  .hero{padding:18px 13px;}
  .hero h1{font-size:1.45rem;}
  .hero p{font-size:.82rem;margin-bottom:16px;}
  .hero-badge{font-size:.68rem;padding:3px 10px;}
  .hero-btns{gap:6px;flex-wrap:wrap;}
  .hero-cta{padding:9px 14px;font-size:.78rem;}
  .hero-stats{gap:10px;flex-wrap:wrap;justify-content:center;}
  .hs-n{font-size:1.2rem;}
  .hs-l{font-size:.55rem;}
  .aud-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px!important;}
  .aud-card{padding:12px 8px!important;}
  .aud-icon{font-size:1.4rem!important;}
  .aud-name{font-size:.72rem!important;}
  .cat-grid{grid-template-columns:repeat(3,1fr);gap:7px;}
  .cat-card{padding:11px 5px;}
  .cat-icon{font-size:1.4rem;}
  .cat-name{font-size:.65rem;}
  .cat-cnt{font-size:.58rem;}
  .ticker-item{font-size:.68rem;padding:0 14px;}
  .sec-ttl{font-size:1.1rem;}
  /* Load more button full width */
  .load-more-btn{width:100%;box-sizing:border-box;}
  /* Section spacing tighter */
  .section-block{margin-bottom:28px;}
  /* Search bar text smaller */
  #mobSearch{font-size:.84rem!important;}
}

/* ═══════ GAME OF THE DAY BANNER ═══════ */
.gotd-banner {
  display: none;
  background: linear-gradient(135deg, #0d0d1f 0%, #1a0a00 50%, #0d0d1f 100%);
  border: 2px solid var(--accent);
  border-radius: 16px;
  padding: 14px 16px;
  margin-bottom: 16px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}
.gotd-banner:hover { transform: translateY(-2px); box-shadow: 0 12px 36px var(--accent-glow); }
.gotd-banner.visible { display: block; }
.gotd-banner::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 80% 80% at 80% 50%, var(--accent-glow) 0%, transparent 70%);
}
.gotd-inner { display: flex; align-items: center; gap: 11px; margin-bottom: 8px; }
.gotd-icon { font-size: 2.2rem; flex-shrink: 0; filter: drop-shadow(0 2px 8px var(--accent-glow)); }
.gotd-label { font-size: .58rem; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; color: var(--accent); margin-bottom: 2px; }
.gotd-title { font-family: var(--font-head); font-size: 1.05rem; color: var(--text); line-height: 1.2; }
.gotd-bonus { font-size: .7rem; color: var(--text-3); font-weight: 700; margin-bottom: 8px; }
.gotd-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gotd-timer { font-family: var(--font-head); font-size: .82rem; color: var(--accent-2); letter-spacing: 1px; }
.gotd-play-btn {
  padding: 7px 16px; border-radius: 50px; border: none;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: #fff; font-weight: 900; font-size: .76rem; cursor: pointer;
  flex-shrink: 0; transition: all .2s; font-family: var(--font-body);
}
.gotd-play-btn:hover { transform: scale(1.05); box-shadow: 0 6px 18px var(--accent-glow); }
[data-theme="light"] .gotd-banner { background: linear-gradient(135deg,#fff8f0,#fff3e0,#fff8f0); border-color: #f97316; }
[data-theme="light"] .gotd-label { color: #ea580c; }
[data-theme="light"] .gotd-title { color: #1e293b; }
[data-theme="light"] .gotd-timer { color: #7c3aed; }

/* ═══════ LIVE EVENTS BANNER ═══════ */
.live-event-bar {
  display: none; background: linear-gradient(90deg, #001800, #003000, #001800);
  border: 1.5px solid var(--green); border-radius: 14px;
  padding: 12px 18px; margin-bottom: 18px;
  animation: event-pulse 2s ease-in-out infinite;
}
.live-event-bar.visible { display: flex; align-items: center; gap: 12px; }
@keyframes event-pulse { 0%,100%{border-color:var(--green);}50%{border-color:rgba(0,230,118,0.3);} }
.leb-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); flex-shrink: 0; animation: blink 1.4s steps(2,start) infinite; }
@keyframes blink { 0%,100%{opacity:1;}50%{opacity:0;} }
.leb-text { flex: 1; font-weight: 800; font-size: .85rem; color: var(--green); }
.leb-timer { font-family: var(--font-head); font-size: .9rem; color: var(--green); opacity: .8; }
.leb-close { background: none; border: none; cursor: pointer; color: var(--text-3); font-size: .9rem; padding: 0 4px; transition: color .2s; }
.leb-close:hover { color: var(--text); }

/* ═══════ HOT TICKER ═══════ */
.hot-ticker-wrap {
  background: rgba(255,85,0,.07); border: 1px solid rgba(255,85,0,.2);
  border-radius: 12px; padding: 10px 16px; margin-bottom: 18px;
  display: none; overflow: hidden; position: relative;
}
.hot-ticker-wrap.visible { display: flex; align-items: center; gap: 12px; }
.hot-ticker-label { font-size: .68rem; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; color: var(--accent); flex-shrink: 0; white-space: nowrap; }
.hot-ticker-inner { display: flex; gap: 0; overflow: hidden; flex: 1; }
.hot-ticker-track { display: flex; gap: 20px; animation: htick 25s linear infinite; white-space: nowrap; }
@keyframes htick { from{transform:translateX(0);}to{transform:translateX(-50%);} }
.hot-item { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 800; color: var(--text-2); cursor: pointer; text-decoration: none; transition: color .2s; flex-shrink: 0; }
.hot-item:hover { color: var(--accent); }
.hot-item-plays { font-size: .65rem; color: var(--accent); font-weight: 900; }

/* ═══════ MOOD BOARD FILTER ═══════ */
.mood-bar {
  display: flex; gap: 10px; margin-bottom: 22px; flex-wrap: wrap; align-items: center;
}
.mood-label { font-size: .68rem; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-3); margin-right: 4px; }
.mood-btn {
  padding: 9px 18px; border-radius: 50px; border: 1.5px solid var(--border);
  background: var(--surface); color: var(--text-2);
  font-weight: 800; font-size: .8rem; cursor: pointer;
  transition: all .22s; font-family: var(--font-body); display: flex; align-items: center; gap: 6px;
}
.mood-btn:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-1px); }
.mood-btn.active { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; box-shadow: 0 4px 14px var(--accent-glow); }

/* ═══════ ROULETTE BUTTON ═══════ */
.roulette-wrap {
  display: flex; align-items: center; gap: 14px;
  background: linear-gradient(135deg, var(--surface), var(--surface-2));
  border: 1.5px solid var(--border); border-radius: 16px;
  padding: 14px 18px; margin-bottom: 22px; cursor: pointer;
  transition: all .22s;
}
.roulette-wrap:hover { border-color: var(--accent); box-shadow: 0 6px 24px var(--accent-glow); transform: translateY(-1px); }
.roulette-wheel { font-size: 2rem; transition: transform .5s cubic-bezier(.34,1.56,.64,1); }
.roulette-wrap.spinning .roulette-wheel { animation: spin-wheel .8s cubic-bezier(.34,1.56,.64,1); }
@keyframes spin-wheel { 0%{transform:rotate(0);}100%{transform:rotate(720deg);} }
.roulette-text { flex: 1; }
.roulette-text strong { display: block; font-family: var(--font-head); font-size: 1.05rem; color: var(--text); margin-bottom: 2px; }
.roulette-text span { font-size: .78rem; color: var(--text-2); font-weight: 700; }
.roulette-btn { padding: 10px 20px; border-radius: 50px; border: none; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; font-weight: 900; font-size: .82rem; cursor: pointer; font-family: var(--font-body); transition: all .2s; white-space: nowrap; }
.roulette-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px var(--accent-glow); }

/* ═══════ ROULETTE MODAL ═══════ */
.roulette-modal {
  position: fixed; inset: 0; z-index: 9995; background: rgba(0,0,0,.85);
  backdrop-filter: blur(16px); display: none; align-items: center; justify-content: center;
}
.roulette-modal.visible { display: flex; }
.roulette-box {
  background: var(--bg-2); border: 2px solid var(--accent); border-radius: 28px;
  padding: 40px 36px; max-width: 420px; width: 90%; text-align: center;
  animation: modal-pop .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes modal-pop { from{transform:scale(.6);opacity:0;}to{transform:scale(1);opacity:1;} }
.roulette-big-wheel { font-size: 5rem; margin-bottom: 16px; display: inline-block; }
.roulette-box h3 { font-family: var(--font-head); font-size: 1.8rem; color: var(--text); margin-bottom: 8px; }
.roulette-box p { color: var(--text-2); font-size: .88rem; font-weight: 700; margin-bottom: 22px; }
.roulette-modal-btns { display: flex; gap: 10px; justify-content: center; }
.roulette-go-btn { padding: 12px 28px; border-radius: 50px; border: none; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; font-weight: 900; font-size: .9rem; cursor: pointer; font-family: var(--font-body); transition: all .2s; }
.roulette-go-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 22px var(--accent-glow); }
.roulette-again-btn { padding: 12px 22px; border-radius: 50px; border: 1.5px solid var(--border); background: var(--surface); color: var(--text-2); font-weight: 800; font-size: .88rem; cursor: pointer; font-family: var(--font-body); transition: all .2s; }
.roulette-again-btn:hover { border-color: var(--accent); color: var(--accent); }

/* ═══════ LIVE REACTION FLOATS ═══════ */
#reaction-float-layer {
  position: fixed; bottom: 80px; right: 20px; width: 60px;
  z-index: 990; pointer-events: none; overflow: hidden;
  display: flex; flex-direction: column-reverse; gap: 4px;
}
.float-rxn {
  font-size: 1.6rem; text-align: center;
  animation: float-up 3s ease-out forwards;
  pointer-events: none;
}
@keyframes float-up {
  0%   { transform: translateY(0) scale(1); opacity: 1; }
  70%  { transform: translateY(-120px) scale(1.2); opacity: .9; }
  100% { transform: translateY(-180px) scale(.8); opacity: 0; }
}
.reaction-bar {
  display: flex; gap: 6px; justify-content: center; flex-wrap: wrap;
  padding: 10px 14px; background: var(--surface); border-radius: 50px;
  border: 1px solid var(--border); margin-bottom: 14px;
}
.rxn-btn {
  font-size: 1.3rem; background: none; border: none; cursor: pointer;
  padding: 4px 8px; border-radius: 50px; transition: all .18s;
  position: relative;
}
.rxn-btn:hover { transform: scale(1.3); background: var(--surface-2); }
.rxn-btn:active { transform: scale(.9); }
.rxn-count { position: absolute; top: -4px; right: -4px; background: var(--accent); color: #fff; font-size: .55rem; font-weight: 900; border-radius: 50%; width: 16px; height: 16px; display: none; align-items: center; justify-content: center; }
.rxn-count.visible { display: flex; }

/* ═══════ COLLECTION BADGES ═══════ */
.badges-section {
  background: var(--bg-2); border: 1px solid var(--border);
  border-radius: 20px; padding: 22px 20px; margin-bottom: 24px;
}
.badges-title { font-family: var(--font-head); font-size: 1.2rem; color: var(--text); margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.badges-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.badge-card {
  background: var(--surface); border: 1.5px solid var(--border);
  border-radius: 14px; padding: 14px 12px; text-align: center;
  transition: all .22s; cursor: default; position: relative; overflow: hidden;
}
.badge-card.unlocked { border-color: var(--accent); background: linear-gradient(135deg, rgba(255,85,0,.08), rgba(255,136,0,.05)); }
.badge-card.unlocked::after { content: '✓'; position: absolute; top: 8px; right: 10px; color: var(--accent); font-weight: 900; font-size: .75rem; }
.badge-icon { font-size: 1.8rem; margin-bottom: 6px; }
.badge-name { font-size: .72rem; font-weight: 800; color: var(--text-2); margin-bottom: 6px; }
.badge-progress-bar { height: 4px; background: var(--surface-2); border-radius: 4px; overflow: hidden; }
.badge-progress-fill { height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent-2)); border-radius: 4px; transition: width .6s ease; }
.badge-card.unlocked .badge-name { color: var(--accent); }

/* ═══════ HISTORY PAGE BUTTON ═══════ */
.history-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 18px; border-radius: 50px; border: 1.5px solid var(--border);
  background: var(--surface); color: var(--text-2);
  font-weight: 800; font-size: .8rem; cursor: pointer;
  transition: all .2s; font-family: var(--font-body); text-decoration: none;
}
.history-btn:hover { border-color: var(--accent); color: var(--accent); }

/* ═══════ HISTORY MODAL ═══════ */
.history-modal {
  position: fixed; inset: 0; z-index: 9994; background: rgba(0,0,0,.88);
  backdrop-filter: blur(16px); display: none; align-items: center; justify-content: center; padding: 20px;
}
.history-modal.visible { display: flex; }
.history-box {
  background: var(--bg-2); border: 1px solid var(--border); border-radius: 24px;
  padding: 28px 24px; max-width: 500px; width: 100%; max-height: 80vh;
  overflow-y: auto; animation: modal-pop .4s cubic-bezier(.34,1.56,.64,1);
}
.history-box h3 { font-family: var(--font-head); font-size: 1.4rem; color: var(--text); margin-bottom: 18px; display: flex; align-items: center; justify-content: space-between; }
.history-close { background: none; border: none; cursor: pointer; color: var(--text-3); font-size: 1.1rem; transition: color .2s; }
.history-close:hover { color: var(--accent); }
.history-item { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); text-decoration: none; color: inherit; transition: background .18s; border-radius: 10px; padding: 10px 8px; }
.history-item:hover { background: var(--surface); }
.history-item:last-child { border-bottom: none; }
.hi-emoji { font-size: 1.5rem; flex-shrink: 0; width: 36px; text-align: center; }
.hi-info { flex: 1; min-width: 0; }
.hi-title { font-weight: 800; font-size: .88rem; color: var(--text); margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hi-time { font-size: .7rem; color: var(--text-3); font-weight: 700; }
.hi-play { font-size: .75rem; font-weight: 800; color: var(--accent); white-space: nowrap; }

/* ═══════════════════════════════════════════════════════
   NEW FEATURES CSS
   ═══════════════════════════════════════════════════════ */

/* ── AZRS COINS BAR ── */
.azrs-coins-bar {
  display: flex; align-items: center; gap: 10px;
  background: linear-gradient(135deg, rgba(255,193,7,.12), rgba(255,136,0,.08));
  border: 1.5px solid rgba(255,193,7,.35); border-radius: 14px;
  padding: 10px 16px; margin-bottom: 16px; flex-wrap: wrap;
}
.acb-coin { font-size: 1.3rem; }
.acb-label { font-weight: 900; font-size: .82rem; color: #ffc107; flex: 1; }
.acb-balance { font-family: var(--font-head); font-size: 1.1rem; color: #ffd54f; font-weight: 900; }
.acb-earn-btn {
  padding: 6px 14px; border-radius: 50px; border: 1px solid rgba(255,193,7,.4);
  background: rgba(255,193,7,.15); color: #ffc107; font-weight: 800; font-size: .74rem;
  cursor: pointer; font-family: var(--font-body); transition: all .2s;
}
.acb-earn-btn:hover { background: rgba(255,193,7,.28); transform: translateY(-1px); }

/* ── VIP PASS BANNER ── */
.vip-pass-banner {
  display: none; background: linear-gradient(135deg, #1a0040, #2d0060, #1a0040);
  border: 1.5px solid rgba(180,77,255,.5); border-radius: 16px;
  padding: 14px 18px; margin-bottom: 16px; align-items: center; gap: 12px;
  animation: vip-shimmer 3s ease-in-out infinite alternate;
}
.vip-pass-banner.visible { display: flex; }
@keyframes vip-shimmer { from { box-shadow: 0 0 20px rgba(180,77,255,.3); } to { box-shadow: 0 0 40px rgba(180,77,255,.6), 0 0 80px rgba(180,77,255,.2); } }
.vip-crown { font-size: 2rem; flex-shrink: 0; animation: crown-bounce .8s ease-in-out infinite alternate; }
@keyframes crown-bounce { from { transform: translateY(0); } to { transform: translateY(-4px); } }
.vip-info { flex: 1; }
.vip-title { font-family: var(--font-head); font-size: 1.1rem; color: #e040fb; margin-bottom: 2px; }
.vip-sub { font-size: .76rem; color: rgba(200,100,255,.7); font-weight: 700; }
.vip-get-btn {
  padding: 9px 18px; border-radius: 50px; border: none;
  background: linear-gradient(135deg, #b44dff, #7b1fa2); color: #fff;
  font-weight: 900; font-size: .78rem; cursor: pointer; font-family: var(--font-body);
  white-space: nowrap; transition: all .2s; flex-shrink: 0;
}
.vip-get-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(180,77,255,.5); }

/* ── GAME DNA PANEL ── */
.game-dna-panel {
  background: var(--bg-2); border: 1px solid var(--border); border-radius: 18px;
  padding: 18px 16px; margin-bottom: 18px;
}
.gdna-title { font-family: var(--font-head); font-size: 1.1rem; color: var(--text); margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }
.gdna-bars { display: flex; flex-direction: column; gap: 8px; }
.gdna-row { display: flex; align-items: center; gap: 10px; }
.gdna-label { font-size: .72rem; font-weight: 800; color: var(--text-3); width: 68px; flex-shrink: 0; }
.gdna-track { flex: 1; height: 8px; background: var(--surface); border-radius: 4px; overflow: hidden; }
.gdna-fill { height: 100%; border-radius: 4px; transition: width 1.2s cubic-bezier(.34,1.56,.64,1); }
.gdna-pct { font-size: .68rem; font-weight: 900; color: var(--text-2); width: 30px; text-align: right; flex-shrink: 0; }
.gdna-share-btn {
  margin-top: 12px; padding: 8px 16px; border-radius: 50px; border: 1.5px solid var(--border);
  background: var(--surface); color: var(--text-2); font-weight: 800; font-size: .76rem;
  cursor: pointer; font-family: var(--font-body); transition: all .2s; width: 100%;
}
.gdna-share-btn:hover { border-color: var(--accent); color: var(--accent); }

/* ── AZRS RADIO ── */
.azrs-radio-bar {
  display: flex; align-items: center; gap: 10px;
  background: linear-gradient(135deg, rgba(68,136,255,.1), rgba(100,180,255,.06));
  border: 1.5px solid rgba(68,136,255,.3); border-radius: 14px;
  padding: 10px 14px; margin-bottom: 16px;
}
.radio-icon { font-size: 1.4rem; }
.radio-info { flex: 1; min-width: 0; }
.radio-title { font-weight: 900; font-size: .82rem; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.radio-genre { font-size: .66rem; color: var(--text-3); font-weight: 700; }
.radio-controls { display: flex; gap: 6px; align-items: center; }
.radio-btn {
  width: 30px; height: 30px; border-radius: 50%; background: var(--surface);
  border: 1px solid var(--border); cursor: pointer; font-size: .8rem;
  display: flex; align-items: center; justify-content: center; transition: all .18s;
}
.radio-btn:hover { border-color: var(--accent); background: rgba(255,85,0,.1); }
.radio-btn.playing { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; color: #fff; }
.radio-vol { width: 60px; accent-color: var(--accent); }
.radio-wave {
  display: flex; gap: 2px; align-items: flex-end; height: 18px; flex-shrink: 0;
}
.radio-wave span {
  width: 3px; background: var(--accent); border-radius: 2px; opacity: 0;
  transition: height .1s;
}
.radio-bar.is-playing .radio-wave span { opacity: 1; animation: wave-bar .6s ease-in-out infinite alternate; }
.radio-wave span:nth-child(1) { animation-delay: 0s; }
.radio-wave span:nth-child(2) { animation-delay: .1s; }
.radio-wave span:nth-child(3) { animation-delay: .2s; }
.radio-wave span:nth-child(4) { animation-delay: .15s; }
.radio-wave span:nth-child(5) { animation-delay: .05s; }
@keyframes wave-bar { from { height: 4px; } to { height: 16px; } }

/* ── TIME CAPSULE ── */
.time-capsule-panel {
  background: linear-gradient(135deg, rgba(0,20,40,.8), rgba(0,40,80,.6));
  border: 1.5px solid rgba(68,136,255,.35); border-radius: 16px;
  padding: 16px 16px; margin-bottom: 18px;
}
.tc-title { font-family: var(--font-head); font-size: 1rem; color: #4488ff; margin-bottom: 8px; display: flex; align-items: center; gap: 7px; }
.tc-sub { font-size: .76rem; color: var(--text-3); font-weight: 700; margin-bottom: 10px; line-height: 1.5; }
.tc-input {
  width: 100%; background: var(--surface); border: 1.5px solid var(--border);
  border-radius: 10px; padding: 9px 12px; color: var(--text); font-family: var(--font-body);
  font-size: .82rem; font-weight: 700; outline: none; resize: vertical; min-height: 60px;
  margin-bottom: 8px; box-sizing: border-box; transition: border-color .25s;
}
.tc-input:focus { border-color: #4488ff; box-shadow: 0 0 0 3px rgba(68,136,255,.2); }
.tc-submit {
  width: 100%; padding: 9px; border-radius: 10px; border: none;
  background: linear-gradient(135deg, #1565c0, #1976d2); color: #fff;
  font-weight: 800; font-size: .8rem; cursor: pointer; font-family: var(--font-body);
  transition: all .2s;
}
.tc-submit:hover { transform: translateY(-1px); box-shadow: 0 5px 18px rgba(68,136,255,.4); }
.tc-locked-msg { color: var(--text-3); font-size: .8rem; font-weight: 700; line-height: 1.6; }
.tc-unlock-date { color: #4488ff; font-weight: 900; }
.tc-reveal-btn {
  margin-top: 10px; padding: 9px 18px; border-radius: 10px; border: none;
  background: linear-gradient(135deg, #0d47a1, #1565c0); color: #90caf9;
  font-weight: 800; font-size: .8rem; cursor: pointer; font-family: var(--font-body);
  width: 100%; transition: all .2s;
}
.tc-reveal-btn:hover { background: linear-gradient(135deg, #1565c0, #1976d2); }

/* ── EMOTION DETECTOR ── */
.emotion-detector-bar {
  display: flex; align-items: center; gap: 10px;
  background: rgba(0,200,150,.07); border: 1.5px solid rgba(0,200,150,.25);
  border-radius: 14px; padding: 10px 14px; margin-bottom: 16px;
}
.ed-face { font-size: 1.5rem; transition: font-size .3s; }
.ed-info { flex: 1; }
.ed-label { font-weight: 900; font-size: .8rem; color: var(--text); }
.ed-status { font-size: .68rem; color: var(--text-3); font-weight: 700; }
.ed-toggle {
  padding: 6px 12px; border-radius: 50px; border: 1px solid rgba(0,200,150,.4);
  background: rgba(0,200,150,.12); color: #00c896; font-weight: 800; font-size: .72rem;
  cursor: pointer; font-family: var(--font-body); transition: all .2s;
}
.ed-toggle:hover { background: rgba(0,200,150,.22); }
.ed-overlay-msg {
  font-size: .76rem; font-weight: 800; color: var(--text-2); padding: 6px 10px;
  background: var(--surface); border-radius: 8px; margin-top: 6px; display: none;
  border-left: 3px solid #00c896; animation: fade-in .4s ease;
}
.ed-overlay-msg.visible { display: block; }

/* ── GHOST RACE / MULTIPLAYER OVERLAY ── */
.ghost-race-bar {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,85,0,.07); border: 1.5px solid rgba(255,85,0,.25);
  border-radius: 14px; padding: 10px 14px; margin-bottom: 16px;
}
.gr-icon { font-size: 1.3rem; }
.gr-info { flex: 1; }
.gr-title { font-weight: 900; font-size: .82rem; color: var(--text); }
.gr-sub { font-size: .68rem; color: var(--text-3); font-weight: 700; }
.gr-btn {
  padding: 6px 14px; border-radius: 50px; border: 1px solid rgba(255,85,0,.4);
  background: rgba(255,85,0,.12); color: var(--accent); font-weight: 800; font-size: .74rem;
  cursor: pointer; font-family: var(--font-body); transition: all .2s;
}
.gr-btn:hover { background: rgba(255,85,0,.22); transform: translateY(-1px); }
.ghost-race-modal {
  position: fixed; inset: 0; z-index: 9990; background: rgba(0,0,0,.88);
  backdrop-filter: blur(14px); display: none; align-items: center; justify-content: center; padding: 20px;
}
.ghost-race-modal.visible { display: flex; }
.gr-box {
  background: var(--bg-2); border: 2px solid var(--accent); border-radius: 24px;
  padding: 32px 28px; max-width: 420px; width: 100%;
  animation: modal-pop .45s cubic-bezier(.34,1.56,.64,1); text-align: center;
}
.gr-box h3 { font-family: var(--font-head); font-size: 1.6rem; color: var(--text); margin-bottom: 8px; }
.gr-box p { color: var(--text-2); font-size: .84rem; font-weight: 700; margin-bottom: 18px; line-height: 1.6; }
.gr-leaderboard { background: var(--surface); border-radius: 12px; padding: 12px; margin-bottom: 16px; text-align: left; }
.gr-ghost-item { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: .8rem; font-weight: 700; }
.gr-ghost-item:last-child { border-bottom: none; }
.gr-ghost-rank { color: var(--accent); width: 20px; font-family: var(--font-head); }
.gr-ghost-name { flex: 1; color: var(--text); }
.gr-ghost-time { color: var(--text-3); font-size: .72rem; }
.gr-close-btn {
  padding: 10px 22px; border-radius: 50px; border: 1.5px solid var(--border);
  background: var(--surface); color: var(--text-2); font-weight: 800; font-size: .84rem;
  cursor: pointer; font-family: var(--font-body); transition: all .2s;
}
.gr-close-btn:hover { border-color: var(--accent); color: var(--accent); }

/* ── CREATOR PROGRAM ── */
.creator-program-banner {
  background: linear-gradient(135deg, rgba(0,100,60,.8), rgba(0,60,30,.6));
  border: 1.5px solid rgba(0,200,80,.3); border-radius: 16px;
  padding: 14px 16px; margin-bottom: 18px; display: flex; align-items: center; gap: 12px;
}
.cp-icon { font-size: 1.8rem; flex-shrink: 0; }
.cp-info { flex: 1; }
.cp-title { font-family: var(--font-head); font-size: 1rem; color: #00e676; margin-bottom: 2px; }
.cp-sub { font-size: .72rem; color: rgba(0,200,80,.7); font-weight: 700; line-height: 1.5; }
.cp-join-btn {
  padding: 8px 16px; border-radius: 50px; border: none;
  background: linear-gradient(135deg, #00c853, #00e676); color: #000;
  font-weight: 900; font-size: .76rem; cursor: pointer; font-family: var(--font-body);
  white-space: nowrap; transition: all .2s; flex-shrink: 0;
}
.cp-join-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,200,80,.4); }

/* ── TIP JAR ── */
.tip-jar-bar {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,215,0,.07); border: 1.5px solid rgba(255,215,0,.25);
  border-radius: 14px; padding: 10px 14px; margin-bottom: 16px;
}
.tj-icon { font-size: 1.4rem; }
.tj-info { flex: 1; }
.tj-title { font-weight: 900; font-size: .8rem; color: var(--text); }
.tj-sub { font-size: .66rem; color: var(--text-3); font-weight: 700; }
.tj-amounts { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 8px; }
.tj-amt-btn {
  padding: 4px 10px; border-radius: 50px; border: 1px solid rgba(255,215,0,.35);
  background: rgba(255,215,0,.1); color: #ffd54f; font-weight: 800; font-size: .7rem;
  cursor: pointer; font-family: var(--font-body); transition: all .2s;
}
.tj-amt-btn:hover { background: rgba(255,215,0,.22); transform: scale(1.05); }
.tj-amt-btn.selected { background: rgba(255,215,0,.3); border-color: #ffd54f; }

/* ── TIME WARP REPLAY ── */
.time-warp-bar {
  display: flex; align-items: center; gap: 10px;
  background: rgba(140,80,255,.08); border: 1.5px solid rgba(140,80,255,.3);
  border-radius: 14px; padding: 10px 14px; margin-bottom: 16px;
}
.tw-icon { font-size: 1.3rem; }
.tw-info { flex: 1; }
.tw-title { font-weight: 900; font-size: .8rem; color: var(--text); }
.tw-sub { font-size: .66rem; color: var(--text-3); font-weight: 700; }
.tw-btn {
  padding: 6px 13px; border-radius: 50px; border: 1px solid rgba(140,80,255,.4);
  background: rgba(140,80,255,.12); color: #b44dff; font-weight: 800; font-size: .72rem;
  cursor: pointer; font-family: var(--font-body); transition: all .2s;
}
.tw-btn:hover { background: rgba(140,80,255,.22); }
.tw-recording { color: #ff4444; font-size: .66rem; font-weight: 900; animation: blink 1s steps(2,start) infinite; }

/* ── MODALS GENERIC ── */
.azrs-modal {
  position: fixed; inset: 0; z-index: 9993; background: rgba(0,0,0,.88);
  backdrop-filter: blur(14px); display: none; align-items: center; justify-content: center; padding: 20px;
}
.azrs-modal.visible { display: flex; }
.azrs-modal-box {
  background: var(--bg-2); border: 1px solid var(--border); border-radius: 24px;
  padding: 28px 24px; max-width: 480px; width: 100%; max-height: 85vh;
  overflow-y: auto; animation: modal-pop .4s cubic-bezier(.34,1.56,.64,1);
}
.azrs-modal-box h3 { font-family: var(--font-head); font-size: 1.3rem; color: var(--text); margin-bottom: 6px; }
.azrs-modal-close {
  float: right; background: none; border: none; cursor: pointer; color: var(--text-3);
  font-size: 1.1rem; transition: color .2s; margin-top: -4px;
}
.azrs-modal-close:hover { color: var(--accent); }



/* ══════════════════════════════════════════════
   POKI-STYLE MIXED GAME GRID
   ══════════════════════════════════════════════ */

/* Game grid baseline — 6 columns */
/* game-grid duplicate removed */

/* Featured card = 2-col × 2-row (big Poki style) */
.gc.featured {
  grid-column: span 2;
  grid-row: span 2;
}
.gc.featured .gc-thumb-zoom img,
.gc.featured .gc-thumb-zoom .gc-emoji {
  aspect-ratio: auto;
  height: 100%;
}

/* Large screens */
@media (min-width: 1400px) {
  /* removed */
}

/* Medium */
@media (max-width: 1200px) {
  /* removed */
}

/* Tablet */
@media (max-width: 1100px) {
  /* removed */
}

/* Small tablet */
@media (max-width: 768px) {
  /* removed */
  .gc.featured { grid-column: span 2; grid-row: span 2; }
  .qg-main { padding: 10px 10px 80px; }
  .hero { padding: 20px 14px; }
  .hero h1 { font-size: 1.6rem; }
  .hero p { font-size: .82rem; }
  .hero-stats { gap: 10px; }
  .hs-n { font-size: 1.1rem; }
  .hs-l { font-size: .62rem; }
}

@media (max-width: 520px) {
  /* removed */
  .gc.featured { grid-column: span 2; grid-row: span 2; }
  .gc-name { font-size: .7rem; }
  .gc { border-radius: 10px; }
  .hero { border-radius: 14px; padding: 16px 12px; }
}

@media (max-width: 380px) {
  /* removed */
  .gc.featured { grid-column: span 2; grid-row: span 1; }
}

/* Ensure no hidden x-overflow */
.hero-stats { flex-wrap: wrap; }

/* Game card image fill — thumb zoom wrapper */
.gc-thumb-zoom {
  position: absolute; inset: 0; overflow: hidden; border-radius: inherit;
}
.gc-thumb-zoom img,
.gc-thumb-zoom .gc-emoji {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .38s cubic-bezier(.25,.46,.45,.94);
  transform-origin: center center;
}
.gc-thumb-zoom .gc-emoji {
  font-size: 4.8rem; background: transparent;
  display: flex; align-items: center; justify-content: center;
}
.gc:hover .gc-thumb-zoom img,
.gc:hover .gc-thumb-zoom .gc-emoji { transform: scale(1.11); }

/* Old direct img/emoji in gc (fallback) */
.gc > img, .gc > .gc-emoji {
  width: 100%; aspect-ratio: 16/10; object-fit: cover;
  transition: transform .38s cubic-bezier(.25,.46,.45,.94);
}
.gc:hover > img,
.gc:hover > .gc-emoji { transform: scale(1.11); }

/* Fix: modals never bleed into game list */
.roulette-modal,
.history-modal,
.ghost-race-modal,
.azrs-modal { position: fixed !important; }

/* ── Fix right panel on small screens */
@media (max-width: 900px) {
  .qg-right { display: none !important; }
  #rightToggle { display: none !important; }
  .resize-handle#rightResizeHandle { display: none !important; }
}
@media (max-width: 768px) {
  .qg-sidebar { display: none !important; }
  #sidebarToggle { display: none !important; }
  .resize-handle#leftResizeHandle { display: none !important; }
}

/* ══════════ AZRS SPECIAL GAMES SECTION ══════════ */
.azrs-special-section {
  position: relative;
  background: linear-gradient(135deg, rgba(255,85,0,.07) 0%, rgba(255,136,0,.05) 50%, rgba(255,200,0,.04) 100%);
  border: 1.5px solid rgba(255,136,0,.28);
  border-radius: 22px;
  padding: 20px 18px 18px;
  margin-bottom: 28px;
  overflow: hidden;
}
.azrs-special-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,136,0,.08) 0%, transparent 70%);
  pointer-events: none;
}
.azrs-special-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  position: relative;
}
.azrs-special-crown {
  font-size: 2rem;
  flex-shrink: 0;
  filter: drop-shadow(0 0 8px rgba(255,200,0,.6));
}
.azrs-special-info { flex: 1; }
.azrs-special-title {
  font-family: var(--font-head);
  font-size: 1.35rem;
  color: var(--text);
  margin: 0 0 3px;
  background: linear-gradient(135deg, #ff8800, #ffcc00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.azrs-special-sub {
  font-size: .78rem;
  color: var(--text-3);
  font-weight: 700;
  margin: 0;
}
.azrs-special-badge {
  padding: 5px 13px;
  border-radius: 50px;
  background: linear-gradient(135deg, #ff8800, #ff5500);
  color: #fff;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .08em;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(255,85,0,.4);
}
/* AZRS original card glow treatment */
.azrs-orig-card {
  position: relative;
  border: 1.5px solid rgba(255,136,0,.35) !important;
  box-shadow: 0 4px 20px rgba(255,85,0,.15) !important;
}
.azrs-orig-card:hover {
  border-color: rgba(255,200,0,.7) !important;
  box-shadow: 0 8px 32px rgba(255,136,0,.35) !important;
}
.azrs-orig-stamp {
  position: absolute;
  top: 7px;
  left: 7px;
  z-index: 3;
  padding: 2px 8px;
  border-radius: 20px;
  background: linear-gradient(135deg, #ff8800, #ff5500);
  color: #fff;
  font-size: .55rem;
  font-weight: 900;
  letter-spacing: .07em;
  pointer-events: none;
}
.azrs-orig-glow {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse 90% 50% at 50% 0%, rgba(255,136,0,.12) 0%, transparent 65%);
  pointer-events: none;
  z-index: 2;
}

/* ══════════ THIRD PARTY DIVIDER ══════════ */
.third-party-divider {
  margin: 8px 0 24px;
}
.tpd-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 4px;
}
.tpd-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}
.tpd-label {
  font-family: var(--font-head);
  font-size: 1.05rem;
  color: var(--text-2);
  white-space: nowrap;
  letter-spacing: .04em;
}
.tpd-sub {
  font-size: .68rem;
  color: var(--text-3);
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 500px) {
  .tpd-sub { display: none; }
}

/* ══════════ RIGHT PANEL — NEW FILTER CARDS ══════════ */
.qg-source-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  padding: 4px 0 10px;
}
.qg-src-card {
  padding: 12px 8px;
  border-radius: 14px;
  border: 1.5px solid var(--border);
  background: var(--surface);
  cursor: pointer;
  text-align: center;
  transition: all .22s;
  text-decoration: none;
  display: block;
}
.qg-src-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px var(--accent-glow);
}
.qg-src-card.azrs-src {
  border-color: rgba(255,136,0,.4);
  background: linear-gradient(135deg, rgba(255,85,0,.1), rgba(255,136,0,.06));
}
.qg-src-card.azrs-src:hover {
  border-color: rgba(255,200,0,.7);
}
.qg-src-card.tp-src {
  border-color: rgba(68,136,255,.3);
  background: linear-gradient(135deg, rgba(68,136,255,.08), rgba(100,180,255,.05));
}
.qg-src-card.tp-src:hover {
  border-color: rgba(68,200,255,.6);
  box-shadow: 0 6px 20px rgba(68,136,255,.25);
}
.qg-src-icon { font-size: 1.5rem; margin-bottom: 5px; }
.qg-src-name { font-size: .7rem; font-weight: 900; color: var(--text); margin-bottom: 2px; }
.qg-src-cnt  { font-size: .6rem; font-weight: 700; color: var(--text-3); }

/* ══════════ QUICK PREVIEW TOOLTIP ══════════ */
.gc-preview-tip{
  position:absolute;
  bottom:calc(100% + 6px);
  left:50%;
  transform:translateX(-50%) scale(.9) translateY(8px);
  background:#1a1a2e;
  border-radius:16px;
  padding:0;
  z-index:9999;
  pointer-events:none;
  opacity:0;
  transition:opacity .15s ease, transform .15s ease;
  box-shadow:0 16px 48px rgba(0,0,0,.7);
  font-family:var(--font-body);
  width:220px;
  overflow:hidden;
  will-change:opacity,transform;
}
.gc:hover .gc-preview-tip{
  opacity:1;
  transform:translateX(-50%) scale(1) translateY(0);
  pointer-events:auto;
}
/* Poki-style thumbnail area */
.gpt-thumb{
  width:100%;
  height:140px;
  object-fit:cover;
  display:block;
  border-radius:16px 16px 0 0;
}
.gpt-thumb-emoji{
  width:100%;height:140px;
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;
  background:linear-gradient(135deg,#0d0d20,#1a0a30);
  border-radius:16px 16px 0 0;
}
/* Bottom info strip */
.gpt-body{
  padding:10px 12px 12px;
  background:#1a1a2e;
}
.gpt-name{
  font-size:.88rem;font-weight:900;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-bottom:4px;
  text-shadow:none;
}
.gpt-play-btn{
  display:block;width:100%;
  padding:8px;border-radius:8px;
  background:var(--accent,#ff5500);
  color:#fff;font-weight:900;font-size:.8rem;
  text-align:center;text-decoration:none;
  margin-top:8px;cursor:pointer;border:none;
  transition:opacity .1s;
}
.gpt-play-btn:hover{opacity:.9;}
[data-theme="light"] .gc-preview-tip,[data-theme="light"] .gpt-body{background:#fff;}
[data-theme="light"] .gpt-name{color:#1a1a2e;}
@media(max-width:768px){.gc-preview-tip{display:none!important;}}
.gc:hover .gc-preview-tip{opacity:1;transform:translateX(-50%) scale(1);}
/* Walkthrough iframe container inside preview */
.gpt-wt-wrap{
  width:100%;height:160px;background:#000;position:relative;overflow:hidden;
  border-radius:14px 14px 0 0;
}
.gpt-wt-wrap iframe{width:100%;height:100%;border:none;display:block;}
.gpt-wt-placeholder{
  width:100%;height:160px;overflow:hidden;
  border-radius:14px 14px 0 0;cursor:pointer;
  position:relative;
}
.gpt-wt-play-icon{font-size:2.5rem;opacity:.9;}
.gpt-wt-label{font-size:.7rem;font-weight:800;color:rgba(255,255,255,.6);}
.gpt-wt-emoji{width:100%;height:100px;display:flex;align-items:center;justify-content:center;font-size:3.5rem;background:linear-gradient(135deg,#0d0d1a,#1a0a2e);border-radius:14px 14px 0 0;}
.gpt-info{padding:10px 12px 12px;}
.gpt-name{font-size:.88rem;font-weight:900;color:#fff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gpt-info{padding:10px 12px 12px;}
.gpt-name{font-size:.88rem;font-weight:900;color:#fff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gpt-name{font-size:.82rem;font-weight:900;color:#fff;margin-bottom:3px;}
.gpt-cat{font-size:.64rem;font-weight:700;color:var(--accent);}
.gpt-badge{display:inline-block;font-size:.55rem;font-weight:900;text-transform:uppercase;padding:2px 6px;border-radius:50px;background:linear-gradient(90deg,#ff5500,#ff8800);color:#fff;margin-top:4px;}

/* ══════════ SORT / FILTER BAR ══════════ */
.sort-bar{
  display:flex;align-items:center;gap:8px;margin-bottom:14px;
  flex-wrap:wrap;
}
.sort-btn{
  padding:6px 14px;border-radius:50px;border:1.5px solid var(--border);
  background:var(--surface);color:var(--text-2);font-family:var(--font-body);
  font-size:.74rem;font-weight:800;cursor:pointer;transition:all .18s;
}
.sort-btn:hover,.sort-btn.active{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;border-color:transparent;
  box-shadow:0 4px 14px var(--accent-glow);
}
.sort-bar-label{font-size:.7rem;font-weight:900;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-right:4px;}

/* ══════════ GRID SIZE TOGGLE ══════════ */
.grid-size-toggle{
  display:flex;align-items:center;gap:4px;margin-left:auto;
}
.gst-btn{
  width:32px;height:32px;border-radius:8px;border:1.5px solid var(--border);
  background:var(--surface);color:var(--text-3);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;
  transition:all .18s;
}
.gst-btn:hover,.gst-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(255,85,0,.1);}

/* ══════════ RECENTLY PLAYED FLOATER ══════════ */
.recent-floater{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);
  z-index:850;display:flex;opacity:0;pointer-events:none;
  background:rgba(10,10,28,.97);border:1.5px solid var(--border-2);
  border-radius:18px;padding:0;
  box-shadow:0 16px 50px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(20px);
  flex-direction:column;
  min-width:280px;max-width:520px;
  transition:opacity .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1);
}
.recent-floater.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.rf-inner{display:flex;flex-direction:column;padding:10px 14px 12px;}
.rf-header{display:flex;align-items:center;gap:7px;margin-bottom:8px;}
.rf-icon{font-size:1rem;color:var(--accent);}
.rf-label{font-size:.68rem;font-weight:900;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;flex:1;}
.rf-close{background:none;border:1.5px solid var(--border);color:var(--text-3);cursor:pointer;font-size:.72rem;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s;flex-shrink:0;padding:0;}
.rf-close:hover{border-color:var(--accent);color:var(--accent);}
.rf-games{display:flex;gap:8px;flex-wrap:wrap;}
.rf-game{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  width:54px;cursor:pointer;text-decoration:none;
  transition:transform .2s;
}
.rf-game:hover{transform:scale(1.08);}
.rf-game img,.rf-emoji{width:54px;height:40px;border-radius:8px;object-fit:cover;background:var(--surface);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.4rem;}
.rf-game-name{font-size:.52rem;font-weight:800;color:var(--text-2);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:54px;}

/* ══════════ GAME CARD BOTTOM LABEL (name strip) ══════════ */
/* Desktop: hidden by default, smooth reveal on hover */
.gc-label-strip{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.5) 55%,transparent 100%);
  padding:24px 8px 7px;
  pointer-events:none;
  z-index:4;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .2s ease, transform .2s ease;
}
.gc:hover .gc-label-strip { opacity:1; transform:translateY(0); }
/* Mobile: always visible, no transform */
@media(max-width:768px){
  .gc-label-strip{
    opacity:1 !important;
    transform:none !important;
    padding:20px 7px 5px;
  }
}
.gc-label-name{font-size:.72rem;font-weight:900;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,1),0 0 12px rgba(0,0,0,.9);line-height:1.2;}
.gc-label-cat{font-size:.58rem;color:rgba(255,255,255,.6);font-weight:700;}

/* ══════════ HOT RANK BADGE ══════════ */
.gc-rank{position:absolute;top:7px;left:7px;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#ff5500,#ff8800);color:#fff;font-size:.58rem;font-weight:900;display:flex;align-items:center;justify-content:center;z-index:3;box-shadow:0 2px 8px rgba(255,85,0,.6);}

/* ══════════ SECTION GRID SIZE VARIATIONS ══════════ */
.game-grid.grid-sm{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));grid-auto-rows:95px;grid-auto-flow:dense;}
.game-grid.grid-lg{grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;grid-auto-flow:dense;}
#allGrid.grid-sm,.filtered-grid-varied.grid-sm{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));grid-auto-rows:95px;grid-auto-flow:dense;}
#allGrid.grid-lg,.filtered-grid-varied.grid-lg{grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;grid-auto-flow:dense;}
/* On sm/lg, disable varied sizes for cleaner look */
#allGrid.grid-sm .gc.gc-big,#allGrid.grid-sm .gc.gc-wide,#allGrid.grid-sm .gc.gc-tall,
#allGrid.grid-lg .gc.gc-big,#allGrid.grid-lg .gc.gc-wide,#allGrid.grid-lg .gc.gc-tall{grid-column:span 1;grid-row:span 1;}

/* ══════════ THUMB ZOOM WRAPPER ══════════ */
.gc-thumb-zoom{
  position:absolute;inset:0;width:100%;height:100%;overflow:hidden;
  display:block;
}
.gc-thumb-zoom img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;
  transition:transform .3s ease;
}
.gc:hover .gc-thumb-zoom img{transform:scale(1.07);}
.gc-thumb-zoom .gc-emoji{
  position:absolute;inset:0;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:4rem;
}

/* ── SKELETON LOADING ── */
.gc-thumb-skeleton{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,var(--surface) 25%,rgba(255,255,255,.07) 50%,var(--surface) 75%);
  background-size:200% 100%;
  animation:skel-sh 1.4s infinite,skel-fade 6s 3s forwards;
  border-radius:inherit;}
@keyframes skel-sh{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes skel-fade{0%{opacity:1}100%{opacity:0;visibility:hidden;}}
.gc-thumb-zoom img{position:relative;z-index:2;}

@media(max-width:768px){
  #detailBgDock{display:none!important;}
  .float-theme{display:none!important;}
}

/* ── FIRST-VISIT TOP BAR ── */
.fv-bar{
  background:linear-gradient(135deg,var(--accent),#ff8c00);
  padding:10px 16px;
  border-radius:12px;
  margin-top:10px;
  margin-bottom:12px;
  animation:fv-slide .4s ease;
}
@keyframes fv-slide{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.fv-bar.hidden{display:none;}
.fv-bar-inner{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.fv-bar-icon{font-size:1.3rem;flex-shrink:0;}
.fv-bar-text{color:#fff;font-size:.85rem;font-weight:600;flex:1;min-width:160px;}
.fv-bar-text strong{font-weight:900;}
.fv-bar-btns{display:flex;gap:6px;flex-shrink:0;}
.fv-btn{
  padding:6px 14px;border-radius:20px;border:none;cursor:pointer;
  font-weight:800;font-size:.78rem;
  background:rgba(255,255,255,.25);color:#fff;
  transition:background .15s;
}
.fv-btn.primary{background:#fff;color:var(--accent);}
.fv-btn:hover{background:rgba(255,255,255,.4);}
.fv-close{
  background:none;border:none;color:rgba(255,255,255,.8);
  font-size:1rem;cursor:pointer;padding:2px 6px;flex-shrink:0;
}
.fv-close:hover{color:#fff;}
@media(max-width:600px){
  .fv-bar-btns{display:none;}
  .fv-bar-text{font-size:.78rem;}
}