:root{
  --bg1:#07111f;--bg2:#10253d;--bg3:#17375c;--accent:#ffcb3c;--accent2:#3dd9ff;--danger:#ff5b6b;--success:#6df7a2;--panel:rgba(255,255,255,.08);--line:rgba(255,255,255,.14);--text:#ecf4ff;
}
*{box-sizing:border-box}
html,body{height:100%}
body.virtual-body{min-height:100vh;height:100vh;overflow:hidden;background:radial-gradient(circle at top, #314666 0%, var(--bg2) 34%, var(--bg1) 78%);color:var(--text);font-family:Poppins,system-ui,sans-serif;font-size:11px}
.glass-nav,.glass-panel{background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.22)}
.page-title{font-size:clamp(1rem,1.45vw,1.45rem);font-weight:800}
.game-layout{padding-top:56px;padding-bottom:2px;height:100vh;display:flex;flex-direction:column}
.game-layout>.row{flex:1;min-height:0}
.game-layout .col-xl-8,.game-layout .col-xl-4{display:flex;flex-direction:column;min-height:0}
.game-layout .col-xl-8>.glass-panel,.game-layout .col-xl-4>.glass-panel{min-height:0}
.game-layout>.row>[class*="col-xl-8"]{flex:0 0 76%;max-width:76%}
.game-layout>.row>[class*="col-xl-4"]{flex:0 0 24%;max-width:24%}
.control-card,.stat-card{border-radius:16px;padding:7px}.stat-card{text-align:center;height:100%}
.stat-label{font-size:.58rem;color:#b6c5df;text-transform:uppercase;letter-spacing:.08em}.stat-value{font-size:clamp(.84rem,1.5vw,1.2rem);font-weight:800}
.btn-gold{background:linear-gradient(135deg,#ffd54f,#ffb300);border:none;color:#111;font-weight:800}.btn-gold:hover{filter:brightness(1.03);color:#111}
.btn-outline-soft{border:1px solid rgba(255,255,255,.2);color:#fff}.btn-outline-soft:hover{background:rgba(255,255,255,.08);color:#fff}
.game-stage{height:min(56vh,560px);border-radius:24px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(61,217,255,.1),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.11)}
.stage-flight{background:
  radial-gradient(circle at 82% 18%, rgba(255,244,170,.28), transparent 18%),
  linear-gradient(180deg, rgba(142,188,232,.26), rgba(80,112,158,.18) 36%, rgba(20,32,52,.34) 100%)}
.stage-rocket{background:
  radial-gradient(circle at 84% 18%, rgba(255,225,138,.22), transparent 18%),
  linear-gradient(180deg, rgba(118,144,181,.42), rgba(75,97,132,.36) 40%, rgba(36,49,72,.54) 100%)}
.stage-plane{background:
  radial-gradient(circle at 80% 14%, rgba(255,220,170,.24), transparent 16%),
  linear-gradient(180deg, rgba(236,166,147,.44), rgba(193,138,170,.32) 38%, rgba(89,72,126,.46) 100%)}
.stage-kite{background:
  radial-gradient(circle at 82% 16%, rgba(255,240,180,.22), transparent 18%),
  linear-gradient(180deg, rgba(176,208,238,.44), rgba(123,162,206,.28) 42%, rgba(69,101,144,.42) 100%)}
.stage-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);background-size:28px 28px;opacity:.22}
.stage-glow{position:absolute;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle, rgba(255,203,60,.28), transparent 62%);filter:blur(18px);right:-46px;top:-56px}
.actor{position:absolute;left:18%;bottom:50px;transform:translateX(-50%);transition:left .07s linear,bottom .07s linear,transform .07s linear,opacity .2s linear;z-index:12;font-size:42px;line-height:1;filter:drop-shadow(0 18px 18px rgba(0,0,0,.24));will-change:left,bottom,transform}
.actor-vehicle{font-size:0;filter:drop-shadow(0 14px 24px rgba(0,0,0,.2))}
.vehicle-svg{display:block;overflow:visible}
.actor-rocket .vehicle-svg{width:184px;height:102px}
.actor-plane .vehicle-svg{width:206px;height:112px}
.actor-kite .vehicle-svg{width:126px;height:86px}
.engine-pulse{transform-origin:center;animation:enginePulse .16s ease-in-out infinite alternate}
.rocket-craft{transform-box:fill-box;transform-origin:center;animation:rocketVibration .13s ease-in-out infinite alternate}
.rocket-plume{transform-box:fill-box;transform-origin:100% 50%;animation:plumeThrust .11s ease-in-out infinite alternate}
.rocket-body,.rocket-fin,.rocket-nozzle{stroke:rgba(17,30,48,.34);stroke-width:1.4;stroke-linejoin:round}
.rocket-window-ring{stroke:#dbe9f6;stroke-width:2}.rocket-band{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}
@keyframes rocketVibration{to{transform:translateY(-.7px)}}
@keyframes plumeThrust{from{transform:scaleX(.86) scaleY(.9);opacity:.84}to{transform:scaleX(1.12) scaleY(1.05);opacity:1}}
.propeller{transform-box:fill-box;transform-origin:center;animation:propellerSpin .1s linear infinite}
@keyframes enginePulse{from{transform:scale(.9);opacity:.86}to{transform:scale(1.12);opacity:1}}
@keyframes propellerSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.actor-rig{font-size:0;transform-origin:50% 100%}
.motion-svg{display:block;overflow:visible;width:92px;height:130px}
.actor-jump .motion-svg{width:98px;height:136px}
.actor-climb .motion-svg{width:72px;height:108px}
.actor-drive .motion-svg{width:150px;height:76px}
.rig-head,.rig-neck,.rig-hand{fill:#986548}.rig-hair{fill:#201714}.rig-face-detail{fill:#986548;stroke:#68402f;stroke-width:1}.rig-shirt{fill:#f6bd32;stroke:#fff0ad;stroke-width:2}.rig-shirt-panel{fill:none;stroke:rgba(255,255,255,.54);stroke-width:2}.rig-shorts{fill:#263f70;stroke:#16284a;stroke-width:1.5}.limb>path:first-child{fill:none;stroke:#986548;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.leg>path:first-child{stroke:#324f80;stroke-width:12}.rig-shoe{fill:none;stroke:#eff4fb!important;stroke-width:9!important;stroke-linecap:round}.rig-shadow{fill:rgba(0,0,0,.25)}
.rig-backpack{fill:#39495f;stroke:#8ea4bc;stroke-width:1.5}.rig-helmet{fill:#f7ca3e;stroke:#fff0a3;stroke-width:2}.rig-helmet-rim{fill:none;stroke:#3e4c60;stroke-width:3;stroke-linecap:round}.climber-jacket{fill:#e95b45}.rig-harness{fill:#24354d;stroke:#ffdc68;stroke-width:3}.rig-rope-loop{fill:none;stroke:#e8d5ac;stroke-width:3;stroke-linecap:round}
.limb{transform-box:fill-box;transform-origin:50% 10%}
.actor-run[data-state="run"] .arm-left,.actor-run[data-state="run"] .leg-right{animation:runSwing .36s ease-in-out infinite alternate}
.actor-run[data-state="run"] .arm-right,.actor-run[data-state="run"] .leg-left{animation:runSwingReverse .36s ease-in-out infinite alternate}
.actor-run[data-state="run"] .rig-body{animation:runBob .18s ease-in-out infinite alternate}
@keyframes runSwing{from{transform:rotate(-24deg)}to{transform:rotate(28deg)}}
@keyframes runSwingReverse{from{transform:rotate(26deg)}to{transform:rotate(-26deg)}}
@keyframes runBob{from{transform:translateY(0)}to{transform:translateY(-3px)}}
.actor-jump .rig-body,.actor-jump .limb{transition:transform .14s ease-out}
.actor-jump[data-state="airborne"] .arm-left{transform:rotate(-27deg)}.actor-jump[data-state="airborne"] .arm-right{transform:rotate(27deg)}
.actor-jump[data-state="airborne"] .leg-left{transform:rotate(24deg)}.actor-jump[data-state="airborne"] .leg-right{transform:rotate(-24deg)}
.actor-jump[data-state="landing"] .rig-body{transform:translateY(7px) scaleY(.88)}
.actor-jump[data-state="landing"] .leg-left{transform:rotate(-22deg)}.actor-jump[data-state="landing"] .leg-right{transform:rotate(22deg)}
.actor-climb[data-state="climb"] .arm-left,.actor-climb[data-state="climb"] .leg-right{animation:climbReach .54s ease-in-out infinite alternate}
.actor-climb[data-state="climb"] .arm-right,.actor-climb[data-state="climb"] .leg-left{animation:climbReachReverse .54s ease-in-out infinite alternate}
@keyframes climbReach{from{transform:translateY(5px) rotate(-8deg)}to{transform:translateY(-8px) rotate(12deg)}}
@keyframes climbReachReverse{from{transform:translateY(-8px) rotate(-12deg)}to{transform:translateY(5px) rotate(8deg)}}
.car-body{fill:#ff5b6b;stroke:#ffd0d7;stroke-width:2}.car-glass{fill:#9bdcff}.car-wheel{fill:#151b25}.wheel-hub{fill:#a7b2c5}.car-light{fill:#ffe082}
.actor-drive[data-state="drive"] .car-wheel,.actor-drive[data-state="drive"] .wheel-hub{transform-box:fill-box;transform-origin:center;animation:wheelSpin .28s linear infinite}
.actor-drive[data-state="drive"] .motion-svg{animation:carSuspension .16s ease-in-out infinite alternate}
@keyframes wheelSpin{to{transform:rotate(360deg)}}@keyframes carSuspension{to{transform:translateY(-2px) rotate(-.6deg)}}
.failure-fall{animation:actorFall 1s cubic-bezier(.36,.02,.82,.54) forwards}.failure-snap{animation:kiteSnap .9s cubic-bezier(.22,.7,.3,1) forwards}
@keyframes actorFall{0%{filter:drop-shadow(0 18px 18px rgba(0,0,0,.24))}42%{transform:translate3d(-50%,42px,0) rotate(26deg) scale(.98)}100%{transform:translate3d(-50%,190px,0) rotate(94deg) scale(.86);opacity:.18;filter:drop-shadow(0 4px 4px rgba(0,0,0,.1))}}@keyframes kiteSnap{to{transform:translate3d(-70%,140px,0) rotate(190deg) scale(.7);opacity:.15}}
.ground-line{position:absolute;left:0;right:0;bottom:38px;height:3px;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,203,60,.34),rgba(255,255,255,.06))}
.explosion,.confetti-layer{position:absolute;inset:0;pointer-events:none;z-index:20}
.explosion .burst,.explosion .debris,.explosion .impact-particle,.explosion .shockwave,.explosion .smoke{position:absolute;left:var(--x);top:var(--y);opacity:0}
.explosion .burst{width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#fff 0 12%,#ffe580 24%,#ff9f2f 52%,#ff4538 72%,transparent 74%);filter:drop-shadow(0 0 8px rgba(255,112,45,.92));animation:boom .96s cubic-bezier(.08,.7,.25,1) forwards}
.explosion .debris{width:15px;height:5px;border-radius:2px;background:linear-gradient(90deg,#2b3444,#dbe5f7);box-shadow:-9px 0 8px rgba(255,174,64,.8);animation:debrisFlight .92s cubic-bezier(.1,.65,.25,1) forwards}
.explosion .impact-particle{width:11px;height:7px;border-radius:50%;background:linear-gradient(135deg,#f4d4a1,#8e684b);box-shadow:0 0 6px rgba(226,192,145,.58);animation:boom .82s ease-out forwards}
.explosion .shockwave{width:24px;height:24px;border-radius:50%;border:3px solid rgba(255,241,181,.9);animation:shockwave .76s ease-out forwards}
.explosion .smoke{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,rgba(222,232,248,.72),rgba(109,121,142,.46) 56%,transparent 72%);filter:blur(1px);animation:smokeRise 1.05s ease-out forwards}
.explosion-flash,.blast-core,.blast-shockwave,.blast-smoke{position:absolute;transform:translate(-50%,-50%);border-radius:50%}
.explosion-flash{width:18px;height:18px;background:#fff;box-shadow:0 0 38px 18px rgba(255,244,194,.95),0 0 90px 44px rgba(255,104,45,.52);animation:blastFlash .34s ease-out forwards}
.blast-core{width:34px;height:34px;background:radial-gradient(circle,#fff 0 10%,#fff1a0 20%,#ffb42e 39%,#ff4d34 57%,rgba(42,42,48,.82) 68%,transparent 74%);animation:blastCore .88s ease-out forwards}
.blast-shockwave{width:42px;height:42px;border:5px solid rgba(255,238,174,.92);box-shadow:0 0 18px rgba(255,114,55,.8),inset 0 0 14px rgba(255,114,55,.72);animation:blastWave .82s cubic-bezier(.1,.7,.2,1) forwards}
.blast-smoke{--smoke-angle:0deg;--smoke-distance:60px;width:34px;height:34px;background:radial-gradient(circle at 35% 30%,rgba(139,146,154,.92),rgba(48,55,65,.8) 55%,rgba(20,25,32,0) 72%);filter:blur(1.2px);animation:smokeBloom 1.18s ease-out forwards}
.stage-blast{animation:stageBlast .42s ease-out}
@keyframes boom{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(2.2);opacity:0}}
@keyframes debrisFlight{0%{transform:translate(-50%,-50%) rotate(0);opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--spin));opacity:0}}
@keyframes blastCore{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}55%{opacity:.98}100%{transform:translate(-50%,-50%) scale(6);opacity:0}}
@keyframes blastFlash{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}100%{transform:translate(-50%,-50%) scale(8);opacity:0}}
@keyframes blastWave{0%{transform:translate(-50%,-50%) scale(.25);opacity:1}100%{transform:translate(-50%,-50%) scale(6.2);opacity:0}}
@keyframes smokeBloom{0%{transform:translate(-50%,-50%) rotate(var(--smoke-angle)) translateX(0) scale(.35);opacity:.9}100%{transform:translate(-50%,-50%) rotate(var(--smoke-angle)) translateX(var(--smoke-distance)) scale(2.2);opacity:0}}
@keyframes stageBlast{0%,100%{filter:none}18%{filter:brightness(1.65) saturate(1.35)}42%{filter:brightness(.82) saturate(.8)}}
@keyframes shockwave{0%{transform:translate(-50%,-50%) scale(.25);opacity:1}100%{transform:translate(-50%,-50%) scale(5.8);opacity:0}}
@keyframes smokeRise{0%{transform:translate(-50%,-50%) scale(.4);opacity:.84}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(2.8);opacity:0}}
.confetti{position:absolute;top:-14px;width:10px;height:18px;border-radius:2px;opacity:.95;animation:fall linear forwards}
@keyframes fall{to{transform:translateY(520px) rotate(520deg);opacity:.9}}
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.06);font-weight:700;max-width:min(100%,440px);font-size:.8rem}
.log-box{max-height:88px;overflow:auto;font-size:.74rem}.log-box .item{padding:5px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.seed-box{font-size:.64rem;color:#b5c7e6;word-break:break-word}.multiplier-live{font-size:clamp(1.55rem,4.5vw,2.7rem);font-weight:900;color:#ffe082;text-shadow:0 0 14px rgba(255,203,60,.25)}
.footer-note,.small-muted{color:#a9bddc}.badge-inline{display:inline-flex;align-items:center;gap:4px;background:rgba(255,203,60,.13);border:1px solid rgba(255,203,60,.3);padding:3px 7px;border-radius:999px;color:#ffe28a;font-size:.62rem}
.trail{position:absolute;z-index:4;pointer-events:none;animation:flicker .48s ease-out forwards;transform:translate(-50%,-50%)}
.trail.fire{width:18px;height:14px;background:radial-gradient(circle,#fff 10%,#ffd166 34%,#ff8a00 62%,rgba(255,90,0,0) 68%);border-radius:50%;filter:blur(.2px)}
.trail.vapor{width:22px;height:12px;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(61,217,255,.45),transparent 74%);border-radius:999px;filter:blur(.35px)}
.trail.dust{width:18px;height:12px;background:radial-gradient(circle,rgba(255,224,178,.85),rgba(210,180,140,.45),transparent 72%);border-radius:50%}
@keyframes flicker{from{opacity:.95;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.25)}}
.parallax-layer{position:absolute;inset:-28px;pointer-events:none;z-index:2;transition:transform .18s linear}
.parallax-layer.far{opacity:.18;background:
  radial-gradient(circle at 14% 26%,rgba(255,255,255,.28) 0 2px,transparent 3px),
  radial-gradient(circle at 34% 58%,rgba(255,255,255,.22) 0 2px,transparent 3px),
  radial-gradient(circle at 70% 16%,rgba(255,255,255,.24) 0 2px,transparent 3px)}
.parallax-layer.mid{opacity:.55;background:
  radial-gradient(circle at 18% 28%, rgba(255,255,255,.28) 0 5%, transparent 5.6%),
  radial-gradient(circle at 23% 27%, rgba(255,255,255,.22) 0 4.3%, transparent 4.9%),
  radial-gradient(circle at 28% 30%, rgba(255,255,255,.18) 0 3.8%, transparent 4.4%),
  radial-gradient(circle at 70% 46%, rgba(255,255,255,.24) 0 4.8%, transparent 5.4%),
  radial-gradient(circle at 75% 45%, rgba(255,255,255,.2) 0 4.2%, transparent 4.8%),
  radial-gradient(circle at 80% 48%, rgba(255,255,255,.16) 0 3.6%, transparent 4.2%)}
.parallax-layer.near{opacity:.42;background:
  radial-gradient(circle at 52% 62%, rgba(255,255,255,.22) 0 5.1%, transparent 5.8%),
  radial-gradient(circle at 57% 60%, rgba(255,255,255,.18) 0 4.5%, transparent 5.1%),
  radial-gradient(circle at 63% 63%, rgba(255,255,255,.14) 0 3.9%, transparent 4.5%)}
.launch-pad{position:absolute;left:8%;bottom:34px;width:124px;height:12px;border-radius:999px;background:rgba(255,255,255,.14)}
.star{position:absolute;width:6px;height:6px;background:#fff;border-radius:50%;opacity:.7;animation:twinkle 1.8s ease-in-out infinite}
.star-1{left:68%;top:18%}.star-2{left:82%;top:28%;animation-delay:.3s}.star-3{left:76%;top:12%;animation-delay:.6s}
@keyframes twinkle{50%{transform:scale(1.8);opacity:1}}
.tree-scene{position:absolute;left:20%;bottom:26px;width:min(21%,220px);height:calc(100% - 92px);overflow:visible;z-index:5;filter:saturate(.92)}
.tree-main-trunk,.tree-branch-main,.tree-root{stroke:#2b1711;stroke-width:3;stroke-linejoin:round}.tree-root{fill:#4d3023}.tree-crown{transform-box:fill-box;transform-origin:50% 80%;animation:canopyBreathe 3.8s ease-in-out infinite alternate}.tree-crown-front{animation-delay:-1.4s}.bark-detail{stroke:rgba(235,191,137,.32);stroke-width:5}
@keyframes canopyBreathe{to{transform:rotate(.8deg) scale(1.008)}}
.jump-platform{position:absolute;height:14px;border-radius:999px;background:linear-gradient(180deg,#d8e7f4 0 28%,#7087a1 30% 66%,#33475f 68%);border:1px solid rgba(240,248,255,.45);box-shadow:0 9px 16px rgba(2,10,22,.3),inset 0 2px 3px rgba(255,255,255,.48)}
.jump-platform i{position:absolute;left:50%;top:-5px;width:28%;height:5px;transform:translateX(-50%);border-radius:999px;background:#ffcf4d;box-shadow:0 0 10px rgba(255,207,77,.56)}
.pf1{left:17%;bottom:88px;width:110px}.pf2{left:33%;bottom:154px;width:116px}.pf3{left:49%;bottom:220px;width:122px}.pf4{left:65%;bottom:286px;width:128px}.pf5{left:80%;bottom:350px;width:132px}
.cloud{position:absolute;width:180px;height:62px;border-radius:999px;background:
  radial-gradient(circle at 32% 44%,rgba(255,255,255,.62) 0 34%,transparent 35%),
  radial-gradient(circle at 54% 30%,rgba(255,255,255,.58) 0 38%,transparent 39%),
  radial-gradient(circle at 72% 46%,rgba(255,255,255,.5) 0 32%,transparent 33%);
  opacity:.5;animation:drift 16s linear infinite}.c1{left:62%;top:38px}.c2{left:74%;top:118px;animation-duration:19s}.c3{left:46%;top:76px;animation-duration:22s}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-120px)}}
.canyon-wall{position:absolute;bottom:34px;width:26%;height:180px;background:linear-gradient(180deg,#8d6e63,#5d4037);clip-path:polygon(0 100%,20% 50%,36% 60%,55% 30%,80% 45%,100% 0,100% 100%)}
.canyon-wall.left{left:0}.canyon-wall.right{right:0;transform:scaleX(-1)}
.road-bed{position:absolute;left:12%;right:12%;bottom:34px;height:68px;background:linear-gradient(180deg,#546e7a,#263238);border-radius:18px 18px 0 0}
.road-line{position:absolute;left:14%;right:14%;bottom:66px;height:6px;background:repeating-linear-gradient(90deg,#ffe082 0 28px,transparent 28px 56px)}
.rock{position:absolute;bottom:96px;font-size:26px}.rock-a{left:22%}.rock-b{right:24%}
.run-ground{position:absolute;left:10%;right:10%;bottom:34px;height:14px;background:linear-gradient(90deg,#2e7d32,#43a047)}
.falling-rock{position:absolute;font-size:28px;z-index:6;filter:drop-shadow(0 8px 12px rgba(0,0,0,.3))}
.sun-halo{position:absolute;right:8%;top:22px;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,rgba(255,240,140,.75),rgba(255,240,140,.18),transparent 72%)}
.kite-tail{position:absolute;left:22%;bottom:66px;width:90px;height:3px;background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.2));transform-origin:left center}
.wind-line{position:absolute;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:wind 3.4s linear infinite}.w1{left:50%;top:90px;width:120px}.w2{left:56%;top:150px;width:160px;animation-delay:.6s}.w3{left:62%;top:210px;width:110px;animation-delay:1.2s}
@keyframes wind{from{transform:translateX(0)}to{transform:translateX(-80px)}}
.rope-line{position:absolute;left:50%;top:20px;bottom:34px;width:6px;background:linear-gradient(180deg,#f1f1f1,#d0b48f);border-radius:999px;transform:translateX(-50%)}
.rope-knot{position:absolute;left:50%;bottom:168px;width:28px;height:28px;border-radius:50%;background:#ffcb3c;transform:translateX(-50%)}
.rope-knot.small{bottom:92px;width:18px;height:18px;background:#8bc34a}
.participants-card,.side-meta-card{border-radius:18px;padding:10px}
.participants-rail{height:100%;display:flex;flex-direction:column;gap:10px}
.participants-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.participants-card h4{font-size:1.05rem}
.participants-count{min-width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem}
.participants-graph{position:relative;height:88px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));overflow:hidden}
.participants-graph::before{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:rgba(255,255,255,.12)}
.participants-graph-line{--graph-fill:.18;position:absolute;left:0;right:0;bottom:10px;top:12px}
.participants-graph-line::before{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;background:linear-gradient(90deg,rgba(255,172,64,.92),rgba(229,226,99,.92));transform-origin:left center;transform:scaleX(var(--graph-fill))}
.participants-graph-line::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:100%;background:linear-gradient(8deg, rgba(255,255,255,.06), transparent 46%);clip-path:polygon(0 100%,100% 0,100% 100%)}
.participants-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.participants-summary.compact div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:7px 8px;display:flex;flex-direction:column;gap:2px}
.participants-summary strong{font-size:.84rem}
.participants-list{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow:auto;padding-right:2px}
.participant-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06)}
.participant-tag{width:30px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.94}
.participant-copy{min-width:0}
.participant-name{font-weight:700;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participant-meta{font-size:.64rem;color:#a9bddc}.participant-cash{font-weight:800;color:#ffe082;font-size:.76rem}
.participant-empty{padding:12px;border-radius:12px;background:rgba(255,255,255,.05);color:#a9bddc;text-align:center;font-size:.76rem}
.traffic-svg,.participant-tag .traffic-svg{width:28px;height:14px;overflow:visible}
.traffic-body{fill:#ff8b54}
.traffic-nose{fill:#d44f3a}
.traffic-wing{fill:#f5f8ff}
.traffic-flame{fill:#ffd15d}
.traffic-line{stroke:rgba(255,255,255,.66);stroke-width:2.2;fill:none;stroke-linecap:round}
.tone-pink .traffic-body{fill:#f58eb6}.tone-pink .traffic-nose{fill:#d45882}
.tone-mint .traffic-body{fill:#6ed6be}.tone-mint .traffic-nose{fill:#379a84}
.tone-violet .traffic-body{fill:#ab8cff}.tone-violet .traffic-nose{fill:#7258d6}
.tone-white .traffic-body{fill:#eef3ff}.tone-white .traffic-nose{fill:#9db0d8}
.tone-cyan .traffic-body{fill:#73d6ff}.tone-cyan .traffic-nose{fill:#4c7de0}
.side-result{font-weight:800;font-size:.9rem;max-width:220px}
.rail-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-top:4px;border-top:1px solid rgba(255,255,255,.06)}
.rail-last{font-size:.72rem;font-weight:700;color:#eef4ff;max-width:120px;text-align:right}
.bet-dock-wrap{margin-top:6px}
.bet-dock{border-radius:16px;padding:6px}
.round-command-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:3px 4px 7px}
.round-phase{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:.7rem}.round-phase strong{font-size:.76rem}.round-phase>span:last-child{color:#ffe082;font-variant-numeric:tabular-nums}
.phase-dot{width:8px;height:8px;border-radius:50%;background:#8290a5;box-shadow:0 0 0 4px rgba(130,144,165,.12)}.phase-dot[data-phase="pending"]{background:#ffca3a;box-shadow:0 0 0 4px rgba(255,202,58,.13)}.phase-dot[data-phase="running"]{background:#6df7a2;box-shadow:0 0 0 4px rgba(109,247,162,.13);animation:phasePulse .8s ease-in-out infinite alternate}.phase-dot[data-phase="revealed"]{background:#73d6ff}
@keyframes phasePulse{to{box-shadow:0 0 0 7px rgba(109,247,162,.04)}}
.fairness-strip{min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;color:#aebbd1;font-size:.61rem;white-space:nowrap;overflow:hidden}.fairness-strip>span{overflow:hidden;text-overflow:ellipsis}.fairness-label{color:#ffe082;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.client-seed-label{color:#8fa0ba}.client-seed-control{width:112px;height:26px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(7,12,20,.72);color:#eef4ff;padding:3px 7px;font-size:.63rem}.client-seed-control:disabled{opacity:.62}.proof-state{color:#b7c6de}.proof-state[data-verified="true"]{color:#6df7a2}.proof-state[data-verified="false"]{color:#ff7a89;font-weight:800}
.bet-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.bet-panel{background:rgba(9,15,25,.72);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:4px 5px}
.bet-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.bet-panel-title{font-weight:800;font-size:.76rem}
.bet-panel-state{font-size:.62rem;color:#a9bddc}
.bet-entry-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:5px;align-items:stretch}
.bet-input{width:100%;border:none;border-radius:10px;background:#171321;color:#fff;font-size:1rem;font-weight:800;padding:4px 10px;min-height:34px}
.slot-action{border:none;border-radius:10px;padding:4px 6px;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:800;min-height:34px}
.slot-action-label{font-size:.64rem;line-height:1}
.slot-action-value{font-size:.76rem;line-height:1;margin-top:2px}
.slot-action-bet{background:linear-gradient(135deg,#5b7cff,#4a62d8)}
.slot-action-cashout{background:linear-gradient(135deg,#93c83a,#72af20)}
.slot-action-wait{background:rgba(255,255,255,.12);color:#d6dfef}
.slot-action:disabled{opacity:.92;cursor:not-allowed}
.bet-chip-row{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:5px}
.bet-chip{border:none;border-radius:999px;background:rgba(255,255,255,.14);color:#d7deeb;font-weight:800;padding:5px 0;font-size:.66rem;line-height:1}
.bet-chip:hover{background:rgba(255,255,255,.2)}
.history-strip{display:flex;gap:5px;overflow:auto;padding:4px 2px 1px}
.history-pill{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:4px 8px;border-radius:999px;font-weight:800;background:rgba(255,255,255,.08);font-size:.7rem;line-height:1}
.history-pill.high{color:#b9ec85}.history-pill.low{color:#ff9e8d}
.history-empty{color:#a9bddc;padding:2px 0;font-size:.68rem}
.stage-traffic{position:absolute;inset:0;pointer-events:none;z-index:7}
.traffic-craft{position:absolute;opacity:.86;filter:drop-shadow(0 10px 14px rgba(0,0,0,.16))}
.traffic-plane .traffic-svg{width:64px;height:28px}
.traffic-rocket .traffic-svg{width:58px;height:28px}
.traffic-kite .traffic-svg{width:48px;height:28px}
.hero-mini{position:relative;padding:112px 0 38px}.hero-mini::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(61,217,255,.14),transparent 32%),radial-gradient(circle at 82% 24%,rgba(255,203,60,.12),transparent 26%);pointer-events:none}.hero-mini .page-title{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.04em}.game-card{height:100%;border-radius:22px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.game-card:hover{transform:translateY(-5px);border-color:rgba(255,203,60,.34);box-shadow:0 18px 38px rgba(0,0,0,.28)}.game-card .thumb{height:122px;display:grid;place-items:center;font-size:3.5rem;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.17),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.08)}
@media (min-width: 992px){
  .virtual-body .container{max-width:min(96vw,1720px)}
  .game-layout .glass-panel.p-4{padding:10px 12px !important}
  .game-layout .row.g-3.mt-3{margin-top:0 !important}
  .game-layout .row.g-3.mt-3 .stat-card{padding:5px}
  .navbar{min-height:48px}
  .navbar .btn{padding:.28rem .6rem;font-size:.76rem}
  .navbar-brand{font-size:.95rem}
  .virtual-game-page .row.g-3.mb-3{margin-bottom:8px !important}
  .virtual-game-page .row.g-3.mb-3 .col-lg-8{width:100%}
  .virtual-game-page .row.g-3.mb-3 .col-lg-8 .status-pill{margin-left:auto}
  .virtual-game-page .row.g-3.mb-3 .col-lg-4{display:none}
}
@media (max-width: 1199px){body.virtual-body{overflow:auto;height:auto}.game-layout{height:auto;padding-bottom:18px}.game-layout>.row>[class*="col-xl-8"],.game-layout>.row>[class*="col-xl-4"]{flex:0 0 100%;max-width:100%}.participants-list{max-height:260px}.round-command-bar{grid-template-columns:1fr auto}.fairness-strip{grid-column:1/-1;justify-content:flex-start}}
@media (max-width: 991px){body.virtual-body{overflow:auto;height:auto}.game-stage{height:340px}.actor{font-size:46px}.control-card,.stat-card,.participants-card,.side-meta-card{padding:14px}.bet-panels{grid-template-columns:1fr}.bet-entry-row{grid-template-columns:1fr}.slot-action{min-height:56px}.participants-list{max-height:none}.game-layout{height:auto}.fairness-strip{flex-wrap:wrap;white-space:normal}.client-seed-control{width:132px}.motion-svg{width:62px;height:90px}.actor-drive .motion-svg{width:120px;height:64px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.actor{transition:none}.game-card{transition:none}}
