.cart-bottom{flex-direction:column;align-items:stretch;gap:8px}
body.is-gaming .bottom-bar{display:none}
body.is-gaming .full-overlay{bottom:0}
body.is-gaming .app{padding-bottom:0}
.cart-bottom .add-cta{width:100%;flex:none}
.cart-game-button{min-height:45px;border:1px solid #d3b3da;border-radius:15px;background:linear-gradient(110deg,#fff8e6,#f4e9fb);color:#4b205c;font:inherit;font-size:.88rem;font-weight:900;box-shadow:0 5px 15px #3d1c4f13;transition:transform .2s,box-shadow .2s}
.cart-game-button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #3d1c4f2b}
.cart-game-button:active{transform:scale(.98)}
.cart-play-promo{display:flex;gap:12px;align-items:flex-start;margin:17px 0 13px;padding:16px;border:1px solid #e4cda5;border-radius:20px;background:linear-gradient(120deg,#fff9e8,#f7eafa);box-shadow:0 10px 24px #43235015}
.cart-play-promo>span{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;background:#ffe7a5;font-size:1.35rem}
.cart-play-promo strong{display:block;color:#4b205c;font-size:1rem}
.cart-play-promo p{margin:5px 0 10px;color:#685873;font-size:.78rem;line-height:1.45}
.cart-play-promo button{min-height:38px;padding:7px 14px;border:0;border-radius:11px;background:#4b205c;color:#fff;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}
.cart-coupon-preview{margin:0 0 16px;padding:14px;border:1px solid #ece4e7;border-radius:17px;background:#fff}
.cart-coupon-preview label,.coupon-input-label{display:block;margin-bottom:8px;color:#412245;font-size:.83rem;font-weight:850}
.cart-coupon-preview>div,.coupon-input-row{display:flex;gap:7px}
.coupon-input-row,.coupon-prize-list{width:min(100%,360px)}
.cart-coupon-preview input,.coupon-input-row input{min-width:0;flex:1;min-height:41px;padding:8px 10px;border:1px solid #ded3df;border-radius:10px;background:#f8f6f7;font:inherit}
.cart-coupon-preview button,.coupon-input-row button{min-width:75px;border:0;border-radius:10px;background:#d3cad5;color:#594e5d;font:inherit;font-weight:800}
.cart-coupon-preview small{display:block;margin-top:7px;color:#83758a;font-size:.68rem;line-height:1.4}
.cart-reward-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:4px 22px 20px}
.cart-reward-actions button{display:flex;align-items:center;gap:11px;min-width:0;min-height:76px;padding:12px;border:1px solid #dfc8de;border-radius:18px;background:linear-gradient(140deg,#fffdf9,#f5ebfa);color:#412245;text-align:left;font:inherit;cursor:pointer;box-shadow:0 7px 18px #3d1c4f13;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.cart-reward-actions button:hover{transform:translateY(-3px);border-color:#aa72c6;box-shadow:0 12px 23px #3d1c4f24}
.cart-reward-actions button:active{transform:perspective(300px) rotateX(5deg) scale(.98)}
.cart-reward-actions button:focus-visible,.coin-catalog-card:focus-visible{outline:3px solid #f0b21b;outline-offset:2px}
.cart-reward-actions button>span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}
.cart-reward-actions strong{font-size:.87rem;line-height:1.15}
.cart-reward-actions small{color:#776381;font-size:.7rem;line-height:1.25}
.cart-reward-symbol{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:#4b205c;color:#fff}
.cart-reward-symbol svg{width:20px;height:20px}
.cart-reward-symbol.coin-symbol{background:#f2b51c;color:#482852;font-size:1.4rem}
.cart-reward-actions button>span:last-child{font-weight:900;color:#795486}
.coupon-prize-list{display:grid;gap:7px;margin:13px 0 17px}
.coupon-prize-list span{padding:9px 11px;border:1px solid #eee3cf;border-radius:11px;background:#fffaf0;color:#442851;font-size:.79rem;font-weight:750}
.info-screen .info-content{min-height:0;overflow-y:auto}
.info-brand-hero{display:flex;flex-direction:column;align-items:center;width:min(100%,390px);padding:15px 18px 19px;border:1px solid #e9cf95;border-radius:24px;background:radial-gradient(circle at 50% 8%,#fff5d4,#fff9ef 58%,#f5e8fa);box-shadow:0 12px 30px #45214d1c}
.info-brand-hero img{display:block;width:min(48vw,168px);height:146px;object-fit:contain;filter:drop-shadow(0 10px 10px #45214d35)}
.info-brand-hero span{margin:5px 0 8px;color:#7a358c;font-size:.68rem;font-weight:900;letter-spacing:.15em}
.info-brand-hero h3{margin:0;color:#40214d;font-size:clamp(1.45rem,5vw,2rem);line-height:1.1;text-wrap:balance}
.info-screen .info-content{gap:14px;padding-top:22px}
.info-screen .info-content>p{max-width:390px}
.coin-catalog-screen{background:#fffdf9}
.coin-catalog-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px max(18px,env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right))}
.coin-catalog-hero{position:relative;overflow:hidden;padding:20px;border-radius:22px;background:radial-gradient(circle at 85% 5%,#f8d06d 0,transparent 36%),linear-gradient(135deg,#33143f,#6b2883);color:#fff;box-shadow:0 12px 25px #3816422c}
.coin-catalog-hero>span{display:inline-block;padding:5px 9px;border:1px solid #ffffff80;border-radius:99px;font-size:.64rem;font-weight:900;letter-spacing:.09em}
.coin-catalog-hero h3{margin:10px 0 5px;font-size:clamp(1.35rem,4vw,2rem);line-height:1.15}
.coin-catalog-hero p{max-width:55ch;margin:0;color:#fff4dc;font-size:.85rem;line-height:1.45}
.coin-catalog-group{margin-top:21px}
.coin-catalog-group h3{margin:0 0 10px;color:#3f2348;font-size:1.05rem}
.coin-catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.coin-catalog-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:88px;padding:9px;border:1px solid #eadfe6;border-radius:16px;background:#fff;color:#34203c;text-align:left;font:inherit;cursor:pointer;box-shadow:0 4px 13px #2810300b;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.coin-catalog-card:hover,.coin-catalog-card.selected{border-color:#a76dbf;box-shadow:0 8px 19px #461c5522}
.coin-catalog-card:hover{transform:translateY(-2px)}
.coin-catalog-card:active{transform:perspective(320px) rotateX(5deg) scale(.985)}
.coin-catalog-photo{display:grid;place-items:center;flex:none;width:68px;height:68px;overflow:hidden;border-radius:11px;background:#fff;font-size:1.85rem}
.coin-catalog-photo img{display:block;width:68px;height:68px;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center}
.coin-catalog-label{display:grid;gap:4px;min-width:0;flex:1}
.coin-catalog-label strong{font-size:.82rem;line-height:1.22}
.coin-catalog-label small{color:#765e7f;font-size:.67rem;line-height:1.25}
.coin-catalog-arrow{font-size:1.45rem;color:#86509e}
.coin-catalog-detail,.coin-catalog-steps{margin-top:22px;padding:17px;border-radius:18px;background:#fff;border:1px solid #eadfe6;color:#4b3454}
.coin-catalog-detail{background:linear-gradient(130deg,#fff7df,#fff 60%)}
.coin-catalog-detail-kicker{display:block;margin-bottom:7px;color:#895300;font-size:.65rem;font-weight:900;letter-spacing:.12em}
.coin-catalog-detail strong,.coin-catalog-steps>strong{display:block;color:#42234f;font-size:1.04rem}
.coin-catalog-detail p,.coin-catalog-steps p{margin:8px 0 0;font-size:.81rem;line-height:1.48}
.coin-catalog-steps ol{margin:10px 0 0;padding-left:23px;font-size:.81rem;line-height:1.5}
.coin-catalog-steps li+li{margin-top:5px}
.tester-account-card{display:grid;gap:7px;color:#412245}
.tester-account-card strong{font-size:1.15rem}
.tester-account-card>span:not(.tester-account-badge){overflow-wrap:anywhere;color:#745e77;font-size:.8rem}
.tester-account-card p{margin:4px 0 0;color:#65516c;font-size:.8rem}
.tester-account-badge{justify-self:start;padding:6px 9px;border-radius:999px;background:#fff1c6;color:#654300;font-size:.64rem;font-weight:900;letter-spacing:.12em}
.tester-login-button{width:100%;margin-top:7px}
.tester-actions{display:grid;gap:12px;justify-items:center;margin:18px 0}
.tester-status{min-height:20px;text-align:center}
.tester-status:empty{display:none}
.game-screen{display:flex;flex-direction:column;width:min(100%,1000px);height:100%;min-height:0;background:radial-gradient(circle at 89% 8%,#fff0be 0,transparent 30%),#fffaf0;box-shadow:0 0 45px #0005}
.game-top{background:#24132d;color:#fff;border:0}
.game-top h2{display:flex;align-items:center;gap:10px}
.game-top h2 span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f4b515;color:#2d1a37;font-size:1.05rem}
.game-top .screen-close{background:#ffffff1b;color:#fff;transition:background-color .2s,transform .2s}
.game-top .screen-close:hover{background:#ffffff33;transform:rotate(8deg)}
.game-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px max(12px,env(safe-area-inset-left)) calc(20px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right))}
.game-intro-copy{max-width:950px;margin:0 auto 10px;color:#523d5c;font-size:.84rem;line-height:1.4}
.game-preview-badge{display:inline-block;margin-right:5px;padding:3px 7px;border-radius:999px;background:#fff0c0;color:#5c3a00;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.tester-game-label{display:inline-block;margin-right:6px;padding:3px 7px;border-radius:999px;background:#e8d2f3;color:#48205b;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.game-hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,950px);margin:0 auto 10px}
.game-hud div{min-width:0;padding:8px 10px;border:1px solid #e6dce4;border-radius:13px;background:#fff;color:#462550;text-align:center;box-shadow:0 4px 13px #32173b0d}
.game-hud div:nth-child(2){border-color:#e4b548;background:linear-gradient(145deg,#fff9dc,#ffe9a2);box-shadow:0 5px 15px #ba802e2b}
.game-hud small{display:block;color:#6e5975;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em;line-height:1.15}
.game-hud div:nth-child(2) small{color:#65420b}
.game-hud strong{display:block;margin-top:3px;font-size:1.05rem;line-height:1.15;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.game-hud [data-game-score]{color:#3b2340;font-size:clamp(1.08rem,2.6vw,1.38rem)}
.game-hud [data-game-hearts]{color:#d74452;letter-spacing:.07em}
.game-stage{position:relative;width:min(100%,950px);margin:auto;overflow:hidden;border:5px solid #32183f;border-radius:18px;background:#277f99;box-shadow:0 16px 34px #32183f35,0 0 0 2px #f4b51580;aspect-ratio:16/9}
.game-local-level-picker{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;width:min(100%,950px);margin:8px auto 10px;color:#6a4c73;font-size:.72rem;font-weight:800}
.game-local-level-picker button{min-height:32px;padding:5px 11px;border:1px solid #cab8d2;border-radius:11px;background:#fff8e9;color:#4e2659;font:inherit;cursor:pointer}
.game-local-level-picker button:hover{background:#f8e7c5}
.game-local-level-picker button:focus-visible{outline:3px solid #8d4cac;outline-offset:2px}
.game-stage:focus-within{box-shadow:0 16px 34px #32183f35,0 0 0 3px #f4b515}
.game-stage canvas{display:block;width:100%;height:100%;outline:none}
.game-stage canvas:focus-visible{outline:3px solid #fff4a6;outline-offset:-6px}
.game-intro,.game-result{position:absolute;inset:0;display:grid;place-items:center;overflow-y:auto;overscroll-behavior:contain;padding:12px;background:#190d23c8;color:#fff;text-align:center;scrollbar-width:thin}
.game-intro[hidden],.game-result[hidden]{display:none}
.game-intro-panel,.game-result-panel{width:min(100%,410px);max-height:100%;overflow-y:auto;padding:20px;border:1px solid #ffe5ab7a;border-radius:19px;background:linear-gradient(135deg,#3b1e4df5,#281231f7);box-shadow:0 12px 28px #0005;scrollbar-width:thin}
.game-intro-panel strong,.game-result-panel>strong{display:block;color:#ffe184;font-size:clamp(1.13rem,4vw,1.55rem);line-height:1.1}
.game-intro-panel span,.game-result-panel>span{display:block;margin:9px auto 13px;color:#f2e8f4;font-size:.8rem;line-height:1.35}
.game-result:not([hidden]) .game-result-panel{animation:jr-game-result-enter .42s cubic-bezier(.16,.88,.24,1) both}
.game-result-celebration{display:grid;justify-items:center;gap:8px;margin-bottom:12px}
.game-result-kicker{display:inline-flex;padding:5px 10px;border:1px solid #ffe9ad73;border-radius:999px;background:#ffffff12;color:#fff2d4;font-size:.58rem;font-weight:900;letter-spacing:.12em}
.game-victory-character{display:none}
.game-result[data-scene="won"] .game-result-celebration{grid-template-columns:64px 116px;align-items:center;justify-content:center;column-gap:17px;row-gap:5px}
.game-result[data-scene="won"] .game-result-kicker{grid-column:1/-1}
.game-result[data-scene="won"] .game-result-medal{grid-column:1;grid-row:2}
.game-result[data-scene="won"] .game-victory-character{display:block;grid-column:2;grid-row:2;width:116px;height:120px;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 13px 10px #09040bab);animation:jr-game-victory-enter .62s cubic-bezier(.18,.9,.25,1) both}
.game-result-medal{position:relative;display:grid;place-items:center;width:67px;height:67px;border:3px solid #fff1b6;border-radius:50%;background:radial-gradient(circle at 35% 24%,#fff9d4,#f4b515 55%,#cc6b21);color:#603215;font-size:2.1rem;line-height:1;box-shadow:0 0 0 6px #f4b51533,0 9px 22px #0006;animation:jr-game-medal-pop .65s cubic-bezier(.2,1.3,.25,1) both}
.game-result-medal:before,.game-result-medal:after{content:'✦';position:absolute;color:#ffeb93;font-size:.9rem;text-shadow:0 0 8px #fff2ad;animation:jr-game-sparkle 1.8s ease-in-out infinite alternate}
.game-result-medal:before{top:-13px;left:-24px}.game-result-medal:after{right:-25px;bottom:0;animation-delay:.4s}
.game-result[data-scene="lost"] .game-result-medal{filter:saturate(.6)}
.game-result-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 15px}
.game-result-stats>div{padding:9px 6px;border:1px solid #ffffff3d;border-radius:12px;background:#ffffff12}
.game-result-stats>div:first-child{border-color:#ffe5a687;background:#ffdb7b20}
.game-result-stats small{display:block;color:#f7def1;font-size:.61rem;font-weight:700}
.game-result-stats strong{display:block;margin-top:3px;color:#ffe184;font-size:1.16rem;font-weight:900;font-variant-numeric:tabular-nums}
@keyframes jr-game-result-enter{from{opacity:0;transform:translateY(13px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes jr-game-medal-pop{from{opacity:0;transform:rotate(-28deg) scale(.4)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes jr-game-sparkle{from{opacity:.3;transform:scale(.68) rotate(-12deg)}to{opacity:1;transform:scale(1.2) rotate(12deg)}}
@keyframes jr-game-victory-enter{from{opacity:0;transform:translateY(14px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}
.game-intro-panel button,.game-result-panel [data-game-continue]{min-height:44px;padding:8px 20px;border:0;border-radius:13px;background:#f4b515;color:#24142e;font:inherit;font-weight:900;cursor:pointer;transition:transform .2s,background-color .2s,box-shadow .2s;box-shadow:0 5px 0 #a96e0a}
.game-intro-panel button:hover,.game-result-panel [data-game-continue]:hover{background:#ffcf3e;transform:translateY(-2px)}
.game-intro-panel button:active,.game-result-panel [data-game-continue]:active{transform:translateY(2px);box-shadow:0 2px 0 #a96e0a}
.game-result-rewards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.game-future-rewards{margin:0 0 14px;padding:15px 14px;border:1px solid #f0cb7380;border-radius:15px;background:linear-gradient(135deg,#f4b51520,#ffffff09);text-align:left}
.game-future-rewards h3{margin:0;color:#ffe184;font-size:1rem;line-height:1.2;text-wrap:balance}
.game-future-rewards p{margin:8px 0;color:#fff5e5;font-size:.8rem;line-height:1.45}
.game-future-rewards small{display:block;color:#e6cfe8;font-size:.68rem;line-height:1.4}
.game-result-rewards[hidden],.game-result-panel [hidden]{display:none}
.game-result-rewards p{grid-column:1/-1;margin:0 0 3px;color:#f4e6fa;font-size:.72rem;line-height:1.35}
.game-result-rewards button{min-height:40px;padding:7px;border:1px solid #ffffff80;border-radius:10px;background:#ffffff22;color:#fff;font:inherit;font-size:.69rem;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}
.game-result-rewards button:hover{transform:translateY(-2px);background:#ffffff36}
.game-result-rewards button:focus-visible{outline:3px solid #f4b515;outline-offset:2px}
.game-result-panel [data-game-retry]{min-height:44px;padding:8px 20px;border:0;border-radius:13px;background:#f4b515;color:#24142e;font:inherit;font-weight:900;cursor:pointer;transition:transform .2s,background-color .2s}
.game-result-panel [data-game-retry]:hover{background:#ffcf3e;transform:translateY(-2px)}
.game-intro-panel button:focus-visible,.game-result-panel [data-game-continue]:focus-visible,.game-result-panel [data-game-retry]:focus-visible,.game-top .screen-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
.game-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100%,950px);margin:12px auto 0}
.game-controls-group{display:grid;grid-template-columns:repeat(3,62px);gap:10px;flex:none}
.game-controls button{display:grid;place-items:center;width:62px;height:58px;border:2px solid #572763;border-radius:17px;background:#f7ebfa;color:#4c2359;font:inherit;font-size:1.45rem;font-weight:900;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 0 #ccb2d4;transition:transform .12s,box-shadow .12s,background-color .12s}
.game-controls button:focus-visible{outline:3px solid #382042;outline-offset:3px}
.game-controls button.is-pressed{transform:translateY(3px);box-shadow:0 1px 0 #ccb2d4;background:#ebd8f3}
.game-controls .game-jump{width:100px;margin-left:auto;background:#f4b515;color:#26152e;border-color:#cb8d0d;box-shadow:0 4px 0 #ab790a;font-size:.9rem}
.game-controls .game-jump.is-pressed{background:#e6a500;box-shadow:0 1px 0 #ab790a}
.game-controls .game-crouch{width:62px;background:#d9f0e1;color:#215b47;border-color:#438c6a;font-size:1.45rem;letter-spacing:.01em;box-shadow:0 4px 0 #9ecab0}
.game-controls .game-crouch.is-pressed{background:#bce2c7;box-shadow:0 1px 0 #9ecab0}
.game-character-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:13px 0 16px}
.game-character-choices button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:88px;padding:7px 9px;border:2px solid #a77877;border-radius:16px;background:linear-gradient(135deg,#52315f,#281c35);box-shadow:0 6px 13px #12091d55;color:#fff9e7}
.game-character-choices button[aria-pressed="true"]{border-color:#ffd45b;box-shadow:0 0 0 3px #ffd45b40,0 8px 18px #12091d77;background:linear-gradient(135deg,#694360,#3e254b)}
.game-character-choices button img{width:53px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 5px #0006)}
.game-character-choices button strong{font-size:.95rem;color:#ffe5a0}
.game-controls .game-run{width:78px;background:#d8e8ff;color:#23416a;border-color:#6f96bb;font-size:.7rem;box-shadow:0 4px 0 #a7c1dd}
.game-controls .game-strike{width:88px;background:#b9f2de;color:#215747;border-color:#4ea97e;font-size:.7rem;box-shadow:0 4px 0 #7dc8a5}
.game-controls .game-strike[hidden]{display:none}
@media(max-width:600px){.game-controls{flex-wrap:nowrap;justify-content:space-between;gap:6px}.game-controls-group{grid-template-columns:repeat(3,48px);gap:4px}.game-controls button{width:48px}.game-controls .game-crouch{width:48px;font-size:1.35rem}.game-controls .game-run{width:66px;font-size:.65rem}.game-controls .game-jump{width:85px;font-size:.8rem}.game-controls .game-strike:not([hidden]){position:absolute;right:7px;bottom:calc(100% + 7px);width:80px}}
@media(max-width:380px){.game-controls{gap:4px}.game-controls-group{grid-template-columns:repeat(3,42px);gap:3px}.game-controls-group button,.game-controls .game-crouch{width:42px}.game-controls .game-run{width:58px;font-size:.6rem}.game-controls .game-jump{width:72px;font-size:.7rem}}
.game-status{width:min(100%,950px);min-height:22px;margin:10px auto 0;color:#542366;font-size:.82rem;font-weight:850;text-align:center}
.game-footnote{width:min(100%,950px);margin:5px auto 0;color:#6b5b70;font-size:.7rem;line-height:1.35;text-align:center}
.game-rewards-preview{width:min(100%,950px);margin:16px auto 4px;overflow:hidden;border:1px solid #e8d3a8;border-radius:21px;background:linear-gradient(130deg,#fffdf7,#fff1d9 55%,#f8e9fb);box-shadow:0 12px 28px #4b205c13}
.game-rewards-preview summary{display:flex;align-items:center;gap:12px;min-height:70px;padding:11px 16px;cursor:pointer;list-style:none;color:#392041}
.game-rewards-preview summary::-webkit-details-marker{display:none}
.game-rewards-preview summary:focus-visible{outline:3px solid #7b4392;outline-offset:-4px}
.game-rewards-mark{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:14px;background:linear-gradient(140deg,#f6bd25,#e9783a);color:#fff;font-size:1.55rem;box-shadow:0 5px 12px #c97e2580}
.game-rewards-preview summary small{display:block;color:#8b5177;font-size:.58rem;font-weight:900;letter-spacing:.14em}
.game-rewards-preview summary strong{display:block;font-size:.99rem;line-height:1.2}
.game-rewards-chevron{margin-left:auto;font-size:1.5rem;transition:transform .32s ease}
.game-rewards-preview[open] .game-rewards-chevron{transform:rotate(180deg)}
.game-rewards-body{padding:0 16px 17px;animation:jr-rewards-reveal .42s cubic-bezier(.2,.8,.2,1) both}
.game-rewards-body p{margin:0 0 12px;color:#6f546c;font-size:.79rem;line-height:1.45}
.game-rewards-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.game-rewards-cards>button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:113px;padding:11px 5px;border:1px solid #efdcaa;border-radius:17px;background:radial-gradient(circle at 50% 0%,#fff8d1,#fff 65%);text-align:center;box-shadow:0 6px 13px #81502713;cursor:pointer;font:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.game-rewards-cards>button:hover{transform:translateY(-3px);box-shadow:0 11px 18px #81502724}
.game-rewards-cards>button[aria-pressed="true"]{border:2px solid #a35fb0;background:linear-gradient(145deg,#fff6d7,#f5dcf8);box-shadow:0 0 0 3px #a35fb02e}
.game-rewards-cards>button:focus-visible{outline:3px solid #713f8a;outline-offset:2px}
.game-rewards-cards span{display:grid;place-items:center;width:33px;height:33px;margin-bottom:5px;border-radius:50%;background:#f7e8bc;color:#aa7640;font-size:1.15rem}
.game-rewards-cards strong{color:#4b2552;font-size:.78rem}
.game-rewards-cards small{margin-top:3px;color:#7d6979;font-size:.65rem}
.game-rewards-body .game-rewards-selection{min-height:20px;margin:12px 0 0;color:#583666;font-size:.71rem;font-weight:750}
@keyframes jr-rewards-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
:is(.game-hud,.game-stage,.game-controls,.game-status,.game-footnote,.game-rewards-preview){width:min(100%,950px,calc((100dvh - 305px)*16/9))}
@media(max-width:600px){.game-stage{aspect-ratio:560/540}}
@media(max-width:520px){
  .game-top{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px}
  .game-top h2{font-size:1.1rem}
  .game-scroll{padding-top:9px}
  .game-intro-copy{font-size:.73rem;line-height:1.35;margin-bottom:8px}
  .game-hud{gap:4px;margin-bottom:8px}
  .game-hud div{padding:6px 2px;border-radius:10px}
  .game-hud small{font-size:.57rem;letter-spacing:.015em}
  .game-hud strong{font-size:.86rem}
  .game-hud [data-game-score]{font-size:clamp(.8rem,3.3vw,1rem);letter-spacing:-.035em}
  .game-stage{border-width:3px;border-radius:12px}
  .game-intro-panel,.game-result-panel{padding:12px}
  .game-intro-panel strong,.game-result-panel>strong{font-size:1.05rem}
  .game-intro-panel span,.game-result-panel>span{font-size:.7rem;margin:5px auto 8px}
  .game-result-celebration{gap:4px;margin-bottom:5px}
  .game-result-medal{width:45px;height:45px;font-size:1.45rem}
  .game-result[data-scene="won"] .game-result-celebration{grid-template-columns:45px 86px;column-gap:12px}
  .game-result[data-scene="won"] .game-victory-character{width:86px;height:88px}
  .game-result-stats{margin:7px 0 9px}
  .game-result-stats>div{padding:5px}
  .game-result-stats strong{font-size:.95rem}
  .game-controls{position:sticky;bottom:calc(4px + env(safe-area-inset-bottom));z-index:3;margin-top:8px;padding:5px 7px 8px;border:1px solid #e6d8df;border-radius:17px;background:#fffaf0ed;box-shadow:0 7px 20px #32183f20;backdrop-filter:blur(12px)}
  .game-controls button{height:55px;min-height:48px}
  .game-status{margin-top:7px;font-size:.74rem}
}
@media(max-width:520px) and (max-height:650px) and (orientation:portrait){
  .game-intro-copy,.game-footnote{display:none}
  .game-stage{width:min(100%,calc((100dvh - 250px)*560/540))}
  .game-controls{bottom:calc(2px + env(safe-area-inset-bottom))}
}
@media(max-width:600px) and (orientation:portrait){
  .game-result[data-scene="won"]:not([hidden]){position:fixed;inset:calc(70px + env(safe-area-inset-top)) 0 0;z-index:10;display:flex;align-items:center;justify-content:center;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px max(14px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 18%,#59306ade,transparent 53%),#190d23f2}
  .game-result[data-scene="won"] .game-result-panel{display:flex;flex:none;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;width:min(100%,420px);min-height:min(640px,calc(100dvh - 112px - env(safe-area-inset-top)));max-height:none;overflow:visible;margin:auto;padding:22px 19px;border-radius:24px;box-shadow:0 22px 55px #0008}
  .game-result[data-scene="won"] .game-result-celebration{grid-template-columns:48px 166px;column-gap:9px;row-gap:2px;margin:0}
  .game-result[data-scene="won"] .game-result-kicker{font-size:.62rem}
  .game-result[data-scene="won"] .game-result-medal{width:48px;height:48px;font-size:1.5rem}
  .game-result[data-scene="won"] .game-victory-character{width:166px;height:175px}
  .game-result[data-scene="won"] .game-result-panel>strong{font-size:clamp(1.17rem,5vw,1.45rem);line-height:1.1}
  .game-result[data-scene="won"] .game-result-panel>span{margin:0;color:#f6edf7;font-size:.81rem;line-height:1.38}
  .game-result[data-scene="won"] .game-result-stats{margin:2px 0;gap:8px}
  .game-result[data-scene="won"] .game-result-stats>div{padding:10px 6px}
  .game-result[data-scene="won"] .game-result-stats strong{font-size:1.08rem}
  .game-result[data-scene="won"] [data-game-retry]{width:100%;min-height:44px}
  .game-result[data-scene="won"] .game-result-rewards{margin-top:3px;gap:8px}
  .game-result[data-scene="won"] .game-result-rewards p{margin:0;color:#f6e6f8;font-size:.74rem;line-height:1.35}
  .game-result[data-scene="won"] .game-result-rewards button{min-height:44px;font-size:.72rem}
}
@media(max-width:520px) and (orientation:portrait){
  .game-result[data-scene="won"]{top:calc(60px + env(safe-area-inset-top))}
}
@media(max-width:360px) and (max-height:650px) and (orientation:portrait){
  .game-result[data-scene="won"]{padding-inline:10px}
  .game-result[data-scene="won"] .game-result-panel{min-height:0;gap:6px;padding:16px 13px}
  .game-result[data-scene="won"] .game-result-celebration{grid-template-columns:43px 150px;column-gap:5px}
  .game-result[data-scene="won"] .game-result-medal{width:43px;height:43px}
  .game-result[data-scene="won"] .game-victory-character{width:150px;height:158px}
  .game-result[data-scene="won"] .game-result-stats>div{padding:7px 5px}
}
@media(max-height:500px) and (orientation:landscape){
  .game-local-level-picker{display:none}
  .game-top{padding:5px max(12px,env(safe-area-inset-right)) 5px max(12px,env(safe-area-inset-left))}
  .game-top h2{font-size:1rem}
  .game-top h2 span{width:30px;height:30px;font-size:.9rem}
  .game-top .screen-close{width:36px;height:36px;font-size:1.6rem}
  .game-scroll{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;align-content:start;gap:4px;padding-block:5px}
  .game-intro-copy,.game-status,.game-footnote{display:none}
  .game-hud{grid-column:1/-1;grid-row:1;width:100%;margin:0;gap:4px}
  .game-hud div{padding:3px 5px;border-radius:9px}
  .game-hud small{font-size:.52rem}
  .game-hud strong{font-size:.78rem;margin-top:1px}
  .game-hud [data-game-score]{font-size:.9rem}
  .game-stage{grid-column:1;grid-row:2;width:min(100%,calc((100dvh - 185px)*16/9));aspect-ratio:16/9;justify-self:center;margin:0}
  .game-controls{grid-column:1;grid-row:3;flex-direction:row;justify-content:space-between;align-self:center;position:static;width:min(100%,950px);margin:0 auto;padding:4px 8px;border:0;background:#fffaf0ed;box-shadow:none;backdrop-filter:none}
  .game-controls-group{display:grid;grid-template-columns:repeat(3,44px);gap:5px}
  .game-controls button,.game-controls .game-crouch{width:44px;height:44px}
  .game-controls .game-crouch{font-size:1.2rem}
  .game-controls .game-run{width:65px}
  .game-controls .game-jump{width:84px}
  .game-rewards-preview{grid-column:1;grid-row:4;width:100%;margin-top:6px}
  .game-intro,.game-result{position:fixed;inset:0;z-index:150;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#190d23e8}
  .game-intro-panel,.game-result-panel{width:min(100%,540px);max-height:100%;padding:12px 16px}
  .game-intro-panel span,.game-result-panel>span{font-size:.75rem;margin:5px auto 7px}
  .game-result-celebration{gap:3px;margin-bottom:5px}
  .game-result-medal{width:40px;height:40px;font-size:1.3rem}
  .game-result[data-scene="won"] .game-result-celebration{grid-template-columns:40px 74px;column-gap:10px}
  .game-result[data-scene="won"] .game-victory-character{width:74px;height:76px}
  .game-result-stats{margin:6px 0 8px}
  .game-result-stats>div{padding:5px}
  .game-result-stats strong{font-size:.9rem;margin-top:1px}
  .game-result-rewards{margin-top:6px;gap:5px}
  .game-result-rewards p{font-size:.66rem}
  .game-result-rewards button{min-height:40px;padding:4px;font-size:.65rem}
  .cart-play-promo{padding:13px}
}
@media(max-width:550px){.cart-reward-actions,.coin-catalog-list{grid-template-columns:1fr}.cart-reward-actions button{min-height:62px}}
@media(prefers-reduced-motion:reduce){.cart-game-button,.game-rewards-chevron,.game-rewards-cards>button,.cart-reward-actions button,.coin-catalog-card,.game-top .screen-close,.game-intro-panel button,.game-result-panel [data-game-continue],.game-result-panel [data-game-retry],.game-controls button,.game-result-rewards button{transition:none}.game-top .screen-close:hover,.game-intro-panel button:hover,.game-result-panel [data-game-continue]:hover,.game-result-panel [data-game-retry]:hover,.game-result-rewards button:hover{transform:none}.game-rewards-body,.game-result:not([hidden]) .game-result-panel,.game-result-medal,.game-result-medal:before,.game-result-medal:after,.game-result[data-scene="won"] .game-victory-character{animation:none}}
.game-sound-toggle {
  display: block;
  margin: 12px auto 2px;
  padding: 8px 14px;
  border: 1px solid #d6c5a2;
  border-radius: 999px;
  background: #fffaf0;
  color: #432b4f;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  font-family: inherit;
  cursor: pointer;
}
.game-sound-toggle[aria-pressed="true"] {
  background: #432b4f;
  border-color: #432b4f;
  color: #fff;
}
.game-practice-wallet {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  width: min(100%, 950px);
  margin: 9px auto 13px;
  padding: 10px 14px;
  border: 1px solid #dba726;
  border-radius: 14px;
  background: linear-gradient(110deg, #fff2bd, #fffaf0);
  color: #3b2340;
  box-shadow: 0 5px 14px #53273a18;
}
.game-practice-wallet span { font-weight: 800; }
.profile-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.game-practice-wallet strong { color: #7a4511; font-size: 1.12rem; }
.game-practice-wallet small { margin-left: auto; color: #654f49; font-size: .7rem; }
@media (max-width: 520px) {
  .game-practice-wallet { gap: 2px 9px; margin: 8px auto; padding: 8px 10px; }
  .game-practice-wallet small { width: 100%; margin-left: 0; }
}

/* Integrated controls: preserve the complete world frame, with a larger stage
   and thumb targets inside its lower safe area rather than a separate row. */
.game-screen.has-game-joystick{width:min(100%,1280px)}
.has-game-joystick .game-scroll{padding-inline:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right));overflow-anchor:none}
.has-game-joystick .game-stage{width:100%;height:min(68dvh,680px);aspect-ratio:auto;border-width:2px;border-radius:18px;background:#102733;box-shadow:0 18px 44px #100b1d40}
.has-game-joystick .game-stage canvas{touch-action:none}
.has-game-joystick .game-controls{position:absolute;inset:auto 0 0;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;width:100%;margin:0;padding:14px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;border-radius:0;background:linear-gradient(transparent,#08142440);box-shadow:none;backdrop-filter:none;pointer-events:none;touch-action:none}
.has-game-joystick:not(.is-game-playing) .game-controls{visibility:hidden;pointer-events:none}
.has-game-joystick .game-intro,.has-game-joystick .game-result{z-index:6}
.has-game-joystick .game-controls-group{display:block;width:auto;pointer-events:auto}
.has-game-joystick .game-controls .game-joystick{--stick-x:0px;--stick-y:0px;position:relative;display:block;width:124px;height:124px;min-height:0;border:1px solid #ffffff85;border-radius:50%;background:radial-gradient(circle at 45% 36%,#eef4ff2b,#0e192f55 70%);box-shadow:inset 0 1px 10px #fff2,inset 0 -4px 16px #0004,0 5px 20px #0003;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:#fff;transform:none;cursor:grab;overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:border-color .16s,background .16s}
.has-game-joystick .game-joystick.is-pressed{border-color:#fff;background:radial-gradient(circle at 45% 36%,#eef4ff40,#0e192f77 70%);cursor:grabbing;transform:none}
.game-joystick-guides{position:absolute;inset:0;display:grid;place-items:center;color:#ffffff60;font-size:102px;font-weight:400;line-height:1;pointer-events:none}
.game-joystick-knob{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px);width:50px;height:50px;border:1px solid #ffffffbc;border-radius:50%;background:radial-gradient(circle at 34% 25%,#eff5fff5,#cad4e4d6 44%,#697e9ac9);box-shadow:inset 0 2px 4px #fff9,inset 0 -3px 7px #14284577,0 5px 10px #0005;transform:translate3d(var(--stick-x),var(--stick-y),0);transition:transform .14s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.game-joystick.is-pressed .game-joystick-knob{transition:none}
.has-game-joystick .game-controls-actions{display:grid;grid-template-columns:56px 78px;grid-template-rows:50px 64px;align-items:end;gap:8px;pointer-events:none}
.has-game-joystick .game-controls-actions button{position:static;display:grid;place-items:center;width:56px;height:50px;min-height:44px;margin:0;padding:5px;border:1px solid #ffffffaa;border-radius:50%;background:#17223698;box-shadow:inset 0 1px 4px #fff3,0 5px 14px #0003;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);font-size:10px;font-weight:850;line-height:1.1;color:#fff;pointer-events:auto;text-shadow:0 1px 3px #0006;cursor:pointer}
.has-game-joystick .game-controls-actions .game-crouch{grid-column:1;grid-row:2;height:56px;font-size:23px}
.has-game-joystick .game-controls-actions .game-run{grid-column:1;grid-row:1}
.has-game-joystick .game-controls-actions .game-strike{position:static;right:auto;bottom:auto;grid-column:2;grid-row:1;justify-self:end;width:56px;background:#185940ba}
.has-game-joystick .game-controls-actions .game-strike[hidden]{display:none}
.has-game-joystick .game-controls-actions .game-jump{grid-column:2;grid-row:2;width:78px;height:64px;border-radius:50%;background:linear-gradient(145deg,#ffe499e6,#e6a620ee);color:#301d12;font-size:11px;text-shadow:none;box-shadow:inset 0 1px 4px #fff8,0 5px 15px #0004}
.has-game-joystick .game-controls-actions button.is-pressed{transform:scale(.94);background:#344565dd;box-shadow:inset 0 3px 10px #0005}
.has-game-joystick .game-controls-actions .game-jump.is-pressed{background:#f6bf3e;transform:scale(.94)}
.has-game-joystick .game-controls button:focus-visible{outline:3px solid #fff3a3;outline-offset:4px}
.has-game-joystick .game-hud{width:100%;max-width:950px}
.has-game-joystick.is-game-playing .game-intro-copy{display:none}
.has-game-joystick.is-game-playing .game-stage{height:min(calc(100dvh - 150px),720px)}
@media(max-width:700px) and (orientation:portrait){
  .has-game-joystick .game-scroll{padding-top:5px;padding-bottom:8px}
  .has-game-joystick .game-stage{height:min(calc(100dvh - 215px),calc(100vw * 1.5),650px)}
  .has-game-joystick.is-game-playing .game-stage{height:min(calc(100dvh - 122px),calc(100vw * 1.6),760px)}
  .has-game-joystick.is-game-playing .game-practice-wallet,.has-game-joystick.is-game-playing .game-local-level-picker,.has-game-joystick.is-game-playing .game-sound-toggle,.has-game-joystick.is-game-playing .game-status,.has-game-joystick.is-game-playing .game-footnote,.has-game-joystick.is-game-playing .game-rewards-preview{display:none}
  .has-game-joystick .game-controls{padding:12px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
  .has-game-joystick .game-controls .game-joystick{width:116px;height:116px}
  .has-game-joystick .game-controls-actions{grid-template-columns:48px 70px;grid-template-rows:46px 60px;gap:7px}
  .has-game-joystick .game-controls-actions button{width:48px;height:46px;font-size:9px}
  .has-game-joystick .game-controls-actions .game-crouch{height:50px;font-size:22px}
  .has-game-joystick .game-controls-actions .game-jump{width:70px;height:60px;font-size:10px}
  .has-game-joystick .game-controls-actions .game-strike{width:48px}
}
@media(max-height:500px) and (orientation:landscape){
  .game-screen.has-game-joystick{width:100%}
  .has-game-joystick .game-scroll{display:block;padding-block:3px;overflow:hidden}
  .has-game-joystick .game-hud,.has-game-joystick .game-practice-wallet,.has-game-joystick .game-intro-copy,.has-game-joystick .game-local-level-picker,.has-game-joystick .game-sound-toggle,.has-game-joystick .game-status,.has-game-joystick .game-footnote,.has-game-joystick .game-rewards-preview{display:none}
  .has-game-joystick .game-stage,.has-game-joystick.is-game-playing .game-stage{height:calc(100dvh - 60px - env(safe-area-inset-top));width:100%;border-radius:11px}
  .has-game-joystick .game-controls{padding-block:8px max(8px,env(safe-area-inset-bottom))}
  .has-game-joystick .game-controls .game-joystick{width:90px;height:90px}
  .has-game-joystick .game-controls-actions{grid-template-columns:52px 72px;grid-template-rows:46px 60px;gap:6px}
  .has-game-joystick .game-controls-actions .game-jump{width:72px;height:60px}
}
@media(prefers-reduced-motion:reduce){.game-joystick-knob,.has-game-joystick .game-controls .game-joystick{transition:none}}

/* Fit the playfield to the actual header and HUD, including larger phone text. */
@media(max-width:740px),(max-height:520px){
  .has-game-joystick.is-game-playing .game-top{flex-shrink:0}
  .has-game-joystick.is-game-playing .game-scroll{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding-bottom:6px}
  .has-game-joystick.is-game-playing .game-hud{flex-shrink:0;margin:0 auto 6px}
  .has-game-joystick.is-game-playing .game-stage{flex:1 1 0%;min-height:0;height:auto;max-height:none;margin:0 auto}
}

/* JR BITES Run · character-led invitation, original approved hero artwork. */
.cart-play-promo.game-invitation{display:grid;grid-template-columns:minmax(160px,.85fr) minmax(0,1.15fr);align-items:center;gap:0;padding:0;overflow:hidden;border:1px solid #dab174;background:linear-gradient(125deg,#30183e 8%,#5c326c 68%,#73405d);box-shadow:0 15px 35px #381a4026}
.game-invitation-art{position:relative;min-width:0;min-height:246px;align-self:stretch;overflow:hidden;background:radial-gradient(ellipse at 45% 68%,#ffd36e36,transparent 62%)}
.game-invitation-art:before{content:"";position:absolute;inset:22% 6% 12%;border:1px solid #f5d78342;border-radius:50%;transform:rotate(-18deg)}
.game-invitation-art img{position:absolute;bottom:27px;max-width:71%;height:205px;object-fit:contain;filter:drop-shadow(0 12px 8px #14092372)}
.game-invitation-art .invitation-ethan{left:-6%;transform:rotate(-8deg)}
.game-invitation-art .invitation-tiffany{right:-5%;transform:rotate(5deg)}
.game-invitation-art>span{position:absolute;bottom:12px;left:0;right:0;color:#f8db8b;letter-spacing:.17em;font-size:.57rem;font-weight:900;text-align:center}
.game-invitation-copy{min-width:0;padding:24px 22px 24px 10px}
.game-invitation-copy .game-invitation-kicker{display:block;margin:0 0 9px;color:#f7d37b;font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:.61rem}
.game-invitation-copy strong{color:#fff7e4;font-size:clamp(1.15rem,2.6vw,1.6rem);line-height:1.12}
.game-invitation-copy p{color:#efdfef;line-height:1.5;margin:10px 0 15px;font-size:.8rem}
.game-invitation-copy button{display:inline-flex;align-items:center;gap:18px;min-height:44px;padding:10px 16px;background:#f5bb19;color:#2b1536;border-radius:13px;box-shadow:0 5px 0 #8a5b16;font-weight:900}
.game-invitation-copy small{display:block;color:#d3bed7;font-size:.63rem;line-height:1.5;margin-top:14px}
.game-intro-panel [data-game-start][hidden]{display:none!important}
.game-intro-panel{width:min(100%,570px);background:linear-gradient(135deg,#3d2054f5,#24102efa)}
.game-character-choices{gap:16px;margin:15px 0 5px}
.game-character-choices button{position:relative;flex-direction:column;min-height:184px;padding:9px 12px 12px;background:radial-gradient(ellipse at 50% 40%,#88609255,transparent 70%),linear-gradient(150deg,#533061,#2b1838);border-color:#a77b8f;isolation:isolate}
.game-character-choices button img{width:115px;height:138px;max-width:100%;filter:drop-shadow(0 8px 5px #10061b66);transition:transform .25s ease}
.game-character-choices button:hover img,.game-character-choices button:focus-visible img{transform:translateY(-5px) scale(1.07)}
.game-character-choices button strong{font-size:1.05rem}
.game-character-choices button[aria-pressed="true"]{border-color:#ffdd77;background:radial-gradient(ellipse at 50% 40%,#d9b96538,transparent 70%),linear-gradient(150deg,#634267,#392041)}
@media(max-width:540px){
 .cart-play-promo.game-invitation{grid-template-columns:minmax(105px,.75fr) minmax(0,1.25fr)}
 .game-invitation-art{min-height:258px}.game-invitation-art img{height:184px;max-width:93%;bottom:40px}
 .game-invitation-art .invitation-ethan{left:-17%;bottom:45px}.game-invitation-art .invitation-tiffany{right:-21%;bottom:25px}
 .game-invitation-copy{padding:20px 15px 20px 6px}.game-invitation-copy strong{font-size:1.14rem}.game-invitation-copy p{font-size:.73rem}
 .game-invitation-copy button{font-size:.75rem;padding:10px 12px;gap:8px}.game-invitation-copy small{font-size:.59rem}
 .game-character-choices button{min-height:150px;padding:6px 9px 9px}.game-character-choices button img{height:112px;width:97px}
}
@media(max-height:520px){.game-character-choices{gap:10px;margin:8px 0}.game-character-choices button{min-height:95px;flex-direction:row;padding:6px}.game-character-choices button img{height:78px;width:65px}.game-intro-panel{padding:10px 12px}.game-intro-panel>span{font-size:.65rem;line-height:1.3;margin:5px 0}}
@media(prefers-reduced-motion:reduce){.game-character-choices button img{transition:none}.game-character-choices button:hover img,.game-character-choices button:focus-visible img{transform:none}}

/* Full HD game canvas: no CSS blur or resampling filter over the sprite layer. */
.game-stage canvas{image-rendering:crisp-edges;image-rendering:pixelated;filter:none}

/* Player firing shares the free upper-right control slot on land. */
.has-game-joystick .game-controls-actions .game-fire{grid-column:2;grid-row:1;justify-self:end;width:64px;height:50px;background:linear-gradient(145deg,#aa4e50e8,#612a58e8);font-size:9px;letter-spacing:.02em}
.has-game-joystick .game-controls-actions .game-fire.is-pressed{background:#d56854;box-shadow:inset 0 2px 10px #48112e80}
.has-game-joystick.is-underwater .game-controls-actions{grid-template-columns:56px 78px 56px}
.has-game-joystick.is-underwater .game-controls-actions .game-fire{grid-column:3;grid-row:2;width:56px;height:56px}
@media(max-width:700px) and (orientation:portrait){
  .has-game-joystick .game-controls-actions .game-fire{width:56px;height:44px;font-size:8px}
  .has-game-joystick.is-underwater .game-controls .game-joystick{width:104px;height:104px}
  .has-game-joystick.is-underwater .game-controls-actions{grid-template-columns:44px 64px 44px;grid-template-rows:44px 60px;gap:6px}
  .has-game-joystick.is-underwater .game-controls-actions button{width:44px;height:44px;font-size:8px}
  .has-game-joystick.is-underwater .game-controls-actions .game-crouch{font-size:21px}
  .has-game-joystick.is-underwater .game-controls-actions .game-jump{width:64px;height:60px;font-size:10px}
  .has-game-joystick.is-underwater .game-controls-actions .game-fire{width:44px;height:44px}
}

/* Keep longer victory content scrollable from its first line on phones. */
@media(max-width:600px) and (orientation:portrait){.game-result[data-scene="won"]:not([hidden]){align-items:flex-start}.game-result[data-scene="won"] .game-result-panel{margin-block:0}.game-future-rewards{margin-block:4px 6px;padding:13px}.game-future-rewards h3{font-size:.95rem}}

/* Petite adult Tiffany: a visual scale only; the game hitbox is unchanged. */
.game-invitation-art .invitation-tiffany,.game-character-choices [data-game-character="tiffany"] img,.game-screen[data-selected-hero="tiffany"] .game-victory-character{scale:.9;transform-origin:center bottom}
