/* ===== edutarix — o'yinlar sahnasi (6-yangilanish) ===== */
.gscene{position:relative;overflow:hidden;color:#fff;background:#0b0820}
.gscene .gs-img{position:relative;width:100%;aspect-ratio:var(--ar,4/1.4);max-height:520px;overflow:hidden}
.gscene .gs-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;animation:gsKen 22s ease-in-out infinite alternate;transform-origin:50% 30%}
@keyframes gsKen{from{transform:scale(1)}to{transform:scale(1.07) translateY(-1.5%)}}
.gscene .gs-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,8,32,0) 55%,rgba(11,8,32,.85) 100%);pointer-events:none}
.gscene .gs-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 45%,transparent 60%);background-size:250% 100%;animation:gsShine 5.5s ease-in-out infinite;mix-blend-mode:screen}
@keyframes gsShine{0%{background-position:150% 0}60%,100%{background-position:-60% 0}}
.gscene .gs-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.gscene .gs-fx i{position:absolute;bottom:-20px;font-style:normal;opacity:0;animation:gsRise linear infinite}
@keyframes gsRise{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(-560px) rotate(360deg);opacity:0}}
.gscene .gs-fx i.dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 12px currentColor;background:currentColor}
.gscene .gs-fall i{top:-30px;bottom:auto;animation-name:gsFall}
@keyframes gsFall{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(560px) rotate(540deg);opacity:0}}
.gscene .gs-strip{position:relative;padding:18px 0 26px;background:linear-gradient(180deg,#0b0820,#17103f)}
.gscene .crumbs a{color:#ffd76e}
.gscene h1{font-family:var(--serif);font-size:clamp(1.8rem,3.6vw,2.8rem);margin:4px 0 6px;background:linear-gradient(90deg,#ffd76e,#fff,#ffb020,#fff,#ffd76e);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gsTitle 6s linear infinite;filter:drop-shadow(0 3px 10px rgba(255,180,0,.35))}
@keyframes gsTitle{to{background-position:300% 0}}
.gscene .lead{opacity:.9;max-width:860px;margin:0}
.gscene .gs-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.gscene .gs-chips span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:5px 12px;font-weight:700;font-size:.85rem;animation:gsChip 3s ease-in-out infinite}
.gscene .gs-chips span:nth-child(2){animation-delay:.4s}.gscene .gs-chips span:nth-child(3){animation-delay:.8s}
@keyframes gsChip{50%{transform:translateY(-3px);box-shadow:0 6px 16px rgba(255,215,110,.25)}}
/* CSS-only sahna (rasm yo'q o'yinlar) */
.gscene .gs-css{position:relative;height:260px;display:grid;place-items:center;overflow:hidden}
.gscene .gs-css .big-e{font-size:7rem;filter:drop-shadow(0 10px 30px rgba(0,0,0,.4));animation:gsBob 3s ease-in-out infinite}
@keyframes gsBob{50%{transform:translateY(-14px) rotate(-4deg)}}
/* sahifa foni va bosqich (stage) */
.t-game main{background:radial-gradient(circle at 15% 10%,rgba(124,58,237,.18),transparent 40%),radial-gradient(circle at 85% 40%,rgba(249,115,22,.16),transparent 40%),linear-gradient(180deg,#17103f 0,#f5f0ff 380px)}
.t-game .stage{border:0;box-shadow:0 30px 70px rgba(30,10,90,.35),0 0 0 3px rgba(255,215,110,.35);animation:stIn .6s cubic-bezier(.2,.9,.3,1.2)}
@keyframes stIn{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
.t-game .stage:before{content:"";position:absolute;inset:-2px;border-radius:28px;padding:3px;background:linear-gradient(120deg,#7c3aed,#ec4899,#f59e0b,#22c55e,#06b6d4,#7c3aed);background-size:300% 300%;animation:edxBar 8s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.t-game .qtext{animation:qIn .45s ease}
@keyframes qIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.t-game .ans button{animation:aIn .4s ease backwards}
.t-game .ans button:nth-child(2){animation-delay:.06s}.t-game .ans button:nth-child(3){animation-delay:.12s}.t-game .ans button:nth-child(4){animation-delay:.18s}
@keyframes aIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.t-game .ans button b{box-shadow:0 4px 10px rgba(0,0,0,.18)}
.t-game .ans button:hover b{transform:scale(1.12) rotate(-4deg);transition:transform .2s}
.t-game .ans button.ok{box-shadow:0 0 0 4px rgba(22,163,74,.25),0 10px 24px rgba(22,163,74,.3)}
.t-game .hud .chip{animation:aIn .4s ease backwards}
.t-game .hud .chip.t{animation:tPulse 1s ease-in-out infinite}
@keyframes tPulse{50%{transform:scale(1.06)}}
.stage.shake{animation:stShake .45s}
@keyframes stShake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.sparkle{position:absolute;pointer-events:none;z-index:20;font-size:1.4rem;animation:spk .9s ease-out forwards}
@keyframes spk{to{transform:translate(var(--dx),var(--dy)) scale(.4) rotate(220deg);opacity:0}}
.float-score{position:absolute;z-index:21;pointer-events:none;font-weight:900;font-size:1.6rem;color:#16a34a;text-shadow:0 2px 0 #fff,0 6px 16px rgba(22,163,74,.4);animation:fsc 1.1s ease-out forwards}
@keyframes fsc{to{transform:translateY(-70px) scale(1.3);opacity:0}}
/* — o'yinga xos — */
.g-duel .stage{background:linear-gradient(135deg,#0f1b4d 0,#151032 50%,#4a0d1d 100%);color:#fff}
.g-duel .stage .qtext,.g-duel .stage h2,.g-duel .stage p{color:#fff}
.g-duel .dpad.p0{background:rgba(59,130,246,.14);border-color:#3b82f6;box-shadow:0 0 26px rgba(59,130,246,.45)}
.g-duel .dpad.p1{background:rgba(239,68,68,.14);border-color:#ef4444;box-shadow:0 0 26px rgba(239,68,68,.45)}
.g-duel .dpad .dh{color:#fff}.g-duel .duel{position:relative}
.g-duel .ans button{background:#fff;color:#1b1736}
.g-bomba .stage{background:linear-gradient(160deg,#1a0f0a,#3b1408 60%,#6b1d0b)}
.g-bomba .stage .qtext,.g-bomba .stage h2,.g-bomba .stage p{color:#fff3e0}
.g-bomba .bico{display:inline-block;animation:bShake .35s infinite;filter:drop-shadow(0 0 16px rgba(255,120,0,.8))}
@keyframes bShake{25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}
.g-bomba .bar i,.g-bomba #fz{background:linear-gradient(90deg,#ff3d00,#ffb300)!important;box-shadow:0 0 14px #ff6a00}
.g-marafon .stage{background:linear-gradient(180deg,#fffaf0,#fdf1d8);border-radius:26px}
.g-marafon .steps i.c{position:relative;overflow:visible}
.g-marafon .steps i.c:after{content:"🏃";position:absolute;right:-6px;top:-26px;font-size:1.4rem;animation:run .5s steps(2) infinite}
@keyframes run{50%{transform:translateY(-4px)}}
.g-uch .stage{background:linear-gradient(160deg,#fff,#fff1f5)}
.g-uch .lives{display:inline-block;animation:heart 1.1s ease-in-out infinite}
@keyframes heart{15%,45%{transform:scale(1.18)}30%{transform:scale(1)}}
.g-millioner .stage{background:radial-gradient(circle at 50% 0,#2b2a8a,#0b0b2e 70%);color:#e0e7ff}
.g-millioner .stage .qtext,.g-millioner .stage h2,.g-millioner .stage p{color:#fff}
.g-millioner .ans button{background:linear-gradient(90deg,#141452,#1f1f6b);color:#fff;border-color:#4f46e5;border-radius:40px}
.g-millioner .ladder li.cur{background:linear-gradient(90deg,#f59e0b,#fbbf24);color:#1b1736;animation:tPulse 1.2s infinite}
.g-millioner .ladder li.safe{color:#fde68a}
.g-bilimdon .stage{background:linear-gradient(160deg,#2a1608,#4a2a12 50%,#1f1442)}
.g-bilimdon .stage .qtext,.g-bilimdon .stage h2,.g-bilimdon .stage p,.g-bilimdon .stage .hud{color:#fff7e6}
.g-xato .stage{background:linear-gradient(160deg,#fffdf7,#f6efff)}
.g-ovchi .stage{background:linear-gradient(160deg,#fff,#fff7e6)}
.g-ovchi .chest{animation:chestBob 2.4s ease-in-out infinite}.g-ovchi .chest:nth-child(2){animation-delay:.3s}.g-ovchi .chest:nth-child(3){animation-delay:.6s}
@keyframes chestBob{50%{transform:translateY(-6px)}}
.g-ovchi .chest span{display:inline-block;animation:coinSpin 2.2s linear infinite}
@keyframes coinSpin{to{transform:rotateY(360deg)}}
/* o'yinlar ro'yxati */
.gitem .th img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gitem:hover .th img{transform:scale(1.1)}
.gitem .th{position:relative}.gitem .th:after{content:"▶";position:absolute;inset:auto 8px 8px auto;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.92);color:#7c3aed;display:grid;place-items:center;font-size:.8rem;opacity:0;transform:scale(.6);transition:all .3s}
.gitem:hover .th:after{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.gscene *,.t-game .stage,.t-game .stage:before{animation:none!important}}
