/* Panda Arcade Runtime 1.17.0 — visual polish */
body.arcade-game-live #arcadeNow{background:linear-gradient(180deg,#080c12,#05070b)!important}
body.arcade-game-live #arcadeNow .arcade-now-top,body.arcade-game-live #arcadeNow .arcade-now-stats{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.arcade-game-live #arcadeNow .arcade-now-top{background:linear-gradient(180deg,rgba(8,11,16,.94),rgba(8,11,16,.68))!important}
body.arcade-game-live #arcadeNow .arcade-now-stats{background:rgba(8,11,16,.72)!important}
.jade-card .arcade-cover::before{background:radial-gradient(circle,rgba(116,255,210,.28),transparent 62%);border:0!important;box-shadow:none!important}

/* Jade Match-3 */
.game-area.jade-mode{background:#071411!important}
.jade-shell{position:absolute;inset:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;padding:calc(env(safe-area-inset-top) + 12px) 12px max(12px,calc(env(safe-area-inset-bottom) + 10px));background:radial-gradient(circle at 12% 5%,rgba(36,210,155,.20),transparent 30%),radial-gradient(circle at 100% 75%,rgba(48,116,230,.16),transparent 30%),linear-gradient(155deg,#0a231d,#06100d 62%,#090d14);color:#fff;isolation:isolate}
.jade-aurora{position:absolute;width:240px;height:240px;border-radius:50%;filter:blur(55px);opacity:.24;pointer-events:none;z-index:-1}.jade-aurora.a1{left:-80px;top:25%;background:#20d99a}.jade-aurora.a2{right:-90px;bottom:6%;background:#2f80ed}
.jade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding-right:46px}.jade-head small{display:block;color:#74ebc2;font-size:8px;font-weight:1000;letter-spacing:.13em;margin-bottom:3px}.jade-head strong{display:block;font-size:20px;letter-spacing:-.55px}.jade-hud{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.jade-hud span{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.09);font-size:9px;font-weight:900;white-space:nowrap;box-shadow:inset 0 1px rgba(255,255,255,.06)}
.jade-progress{height:22px;position:relative;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);overflow:hidden}.jade-progress i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#18b889,#79edbd,#f6c453);transition:width .26s ease}.jade-progress span{position:absolute;inset:0;display:grid;place-items:center;font-size:9px;font-weight:1000;text-shadow:0 1px 5px rgba(0,0,0,.65)}
.jade-board{width:min(92vw,56dvh,540px);aspect-ratio:1;margin:auto;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:5px;padding:8px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.11);box-shadow:0 24px 70px rgba(0,0,0,.37),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(16px);touch-action:none}
.jade-gem{position:relative;border:0;border-radius:15px;display:grid;place-items:center;min-width:0;min-height:0;color:#fff;background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.65) 0 8%,transparent 9%),linear-gradient(145deg,var(--gem),var(--gem-dark));box-shadow:inset 0 0 0 2px rgba(255,255,255,.14),inset 0 -8px 13px rgba(0,0,0,.14),0 5px 11px rgba(0,0,0,.22);font-weight:1000;cursor:pointer;transition:transform .16s cubic-bezier(.2,.9,.25,1.3),filter .16s,box-shadow .16s;touch-action:none;-webkit-tap-highlight-color:transparent}.jade-gem span{font-size:clamp(17px,5.8vw,32px);text-shadow:0 2px 3px rgba(0,0,0,.28)}.jade-gem:active{transform:scale(.91)}.jade-gem.selected{transform:scale(.91);box-shadow:0 0 0 3px #fff,0 0 30px color-mix(in srgb,var(--gem) 72%,white);filter:saturate(1.18) brightness(1.12)}.jade-gem.matched{animation:jadePop .2s ease-out both}.jade-gem.hint{animation:jadeHint .75s ease-in-out infinite alternate}.jade-gem.bad-swap{animation:jadeBad .18s linear 2}
@keyframes jadePop{to{transform:scale(.25) rotate(12deg);opacity:.05;filter:brightness(1.8)}}@keyframes jadeHint{to{transform:scale(1.08);box-shadow:0 0 0 2px rgba(255,255,255,.78),0 0 24px var(--gem)}}@keyframes jadeBad{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.jade-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.jade-actions button{border:0;border-radius:15px;padding:10px 14px;background:linear-gradient(135deg,#fff,#daf9ed);color:#083126;font-size:10px;font-weight:1000;box-shadow:0 9px 20px rgba(0,0,0,.22)}.jade-actions span{font-size:9px;color:rgba(255,255,255,.56);font-weight:800;text-align:center}

/* Maze: make the game layer unquestionably visible and more premium. */
body.maze-fullscreen #screenGame>.arcade-engine-shell.game-fullscreen{opacity:1!important;left:0!important;pointer-events:auto!important;z-index:330!important}
body.maze-fullscreen .maze-wrap{background:radial-gradient(circle at 18% 5%,rgba(209,43,47,.18),transparent 27%),radial-gradient(circle at 86% 10%,rgba(47,128,237,.21),transparent 29%),linear-gradient(180deg,#10162a,#060810)!important}
body.maze-fullscreen .maze-canvas{box-shadow:0 28px 65px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.08);background:#05060d}
body.maze-fullscreen .maze-exit{width:44px;height:44px;padding:0!important;display:grid;place-items:center;background:rgba(255,255,255,.11)!important;backdrop-filter:blur(15px)}

/* Catch: character is an actual game actor, not a static runner cutout. */
.catch-panda{object-fit:contain!important;filter:drop-shadow(0 16px 19px rgba(0,0,0,.28));transition:transform .16s ease,filter .18s ease}.catch-world:active .catch-panda{transform:translateX(-50%) scale(.98)}

/* Flappy art has built-in motion, so don't over-rotate/shrink it. */
.flappy-panda{width:74px!important;height:74px!important;object-fit:contain!important;filter:drop-shadow(0 12px 13px rgba(0,0,0,.22))!important;transform-origin:50% 50%}

/* Stack: full-screen tactile canvas and glass HUD. */
.stack-wrap{background:#071923!important}.stack-overlay span{background:rgba(6,15,18,.48)!important;border:1px solid rgba(255,255,255,.10)!important;backdrop-filter:blur(14px)!important}.stack-hint{background:rgba(7,15,18,.56)!important;border:1px solid rgba(255,255,255,.10)!important;backdrop-filter:blur(14px)!important}

/* Arcade cards: clearer depth and consistent premium interaction. */
.arcade-game-card.game-tab{border-radius:27px!important;box-shadow:0 15px 35px rgba(13,18,28,.09)!important}.arcade-game-card.game-tab:hover{box-shadow:0 22px 46px rgba(13,18,28,.14)!important}.arcade-cover{isolation:isolate}.arcade-cover::after{height:72%!important;background:linear-gradient(180deg,transparent,rgba(0,0,0,.42))!important}.arcade-cover-panda{filter:drop-shadow(0 15px 18px rgba(0,0,0,.34))!important}

@media(max-width:430px){.jade-shell{padding-left:8px;padding-right:8px;gap:7px}.jade-head strong{font-size:18px}.jade-hud span{font-size:8px;padding:6px 7px}.jade-board{width:min(96vw,55dvh);gap:4px;padding:6px;border-radius:23px}.jade-gem{border-radius:12px}.jade-actions{gap:7px}.jade-actions span{max-width:220px}.flappy-panda{width:68px!important;height:68px!important}}
@media(prefers-reduced-motion:reduce){.jade-gem,.jade-progress i{transition:none!important}.jade-gem.hint{animation:none!important;box-shadow:0 0 0 3px #fff!important}}

/* 1.17.0 catch art — generated/validated local assets, not CSS placeholders */
.catch-drop.good,.catch-drop.leaf,.catch-drop.bad{background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important}
.catch-drop.good{background-image:url('./assets/panda117/catch/bamboo.png')!important}
.catch-drop.leaf{background-image:url('./assets/panda117/catch/gold_bamboo.png')!important}
.catch-drop.bad{background-image:url('./assets/panda117/catch/storm.png')!important}
.catch-drop.good::before,.catch-drop.good::after,.catch-drop.leaf::before,.catch-drop.leaf::after,.catch-drop.bad::before,.catch-drop.bad::after{display:none!important}
.catch-panda{width:min(31vw,134px)!important;height:min(36vw,148px)!important;object-fit:contain!important;filter:drop-shadow(0 14px 18px rgba(0,0,0,.22))!important}

/* 1.17.0 true-fullscreen cleanup: game owns the viewport; no duplicate HUD/exit chrome. */
body.arcade-game-live .arcade-now.game-fullscreen .arcade-now-stats{display:none!important}
body.arcade-game-live .maze-exit,body.arcade-game-live .tetris-exit{display:none!important}
body.arcade-game-live .maze-panel .maze-card{color:#15171c!important;background:rgba(255,255,255,.96)!important}
body.arcade-game-live .maze-panel .maze-card h3{color:#15171c!important;text-shadow:none!important}
body.arcade-game-live .maze-panel .maze-card p{color:#626873!important}
body.arcade-game-live .arcade-now.game-fullscreen .arcade-now-top{min-height:54px!important;padding:2px 4px 7px!important}
body.arcade-game-live .arcade-now.game-fullscreen .game-area{grid-row:2!important}
/* Specificity fix: #screenGame launcher rule used four rows; force true two-row game viewport. */
body.arcade-game-live #screenGame>.arcade-engine-shell.game-fullscreen{grid-template-rows:auto minmax(0,1fr)!important}
body.arcade-game-live #screenGame>.arcade-engine-shell.game-fullscreen>#gameArea{grid-row:2!important;height:100%!important;min-height:0!important}
