/* Arcade v3.3 store, character ownership, and performance UI. */
.store-wallet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 14px}
.store-wallet span{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid rgba(0,255,157,.24);border-radius:11px;background:rgba(0,255,157,.045);text-align:center}
.store-wallet b{font-size:.78rem;color:#dffff4}.store-wallet small{font-size:.42rem;letter-spacing:.12em;color:rgba(255,255,255,.55)}
.store-category-tabs{display:flex;gap:7px;overflow-x:auto;padding:0 0 10px;scrollbar-width:thin}
.store-category-btn{flex:0 0 auto;border:1px solid rgba(0,255,157,.23);border-radius:999px;padding:7px 12px;background:rgba(0,0,0,.34);color:#b9d5cc;font:700 .48rem/1 inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.store-category-btn.active{color:#04100c;background:var(--neon);border-color:var(--neon);box-shadow:0 0 16px rgba(0,255,157,.22)}
.store-panel{animation:storePanelIn .2s ease}.store-featured-grid,.store-effects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.store-feature-card{min-height:126px;padding:12px;border:1px solid rgba(0,255,157,.22);border-radius:13px;background:linear-gradient(145deg,rgba(0,255,157,.065),rgba(0,183,255,.035));display:flex;flex-direction:column;gap:7px}
.store-feature-card>span{font-size:.4rem;letter-spacing:.14em;color:var(--neon)}.store-feature-card strong{font-size:.68rem;text-transform:uppercase}.store-feature-card p{margin:0;color:rgba(255,255,255,.64);font-size:.5rem;line-height:1.45}.store-feature-card b{margin-top:auto;font-size:.46rem;color:#dfffee}.store-feature-action{width:100%;min-height:31px;border:1px solid rgba(0,255,157,.4);border-radius:8px;background:rgba(0,255,157,.1);color:#ddfff3;font:700 .45rem/1 inherit;letter-spacing:.06em;cursor:pointer}.store-feature-action:hover:not(:disabled){background:var(--neon);color:#03100c;box-shadow:0 0 16px rgba(0,255,157,.2)}.store-feature-action:disabled{opacity:.48;cursor:not-allowed}.store-feature-card.equipped{border-color:var(--neon);box-shadow:0 0 18px rgba(0,255,157,.14)}
.store-effect-card{min-height:132px;display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid rgba(0,255,157,.22);border-radius:13px;background:rgba(255,255,255,.03);color:#fff;text-align:left;font-family:inherit;cursor:pointer}
.store-effect-card:disabled{opacity:.42;cursor:not-allowed}.store-effect-card.equipped{border-color:var(--neon);box-shadow:0 0 18px rgba(0,255,157,.16);background:rgba(0,255,157,.08)}
.store-effect-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(0,255,157,.09);color:var(--neon);font-size:1rem}.store-effect-card span:nth-child(2){display:flex;flex-direction:column;gap:4px}.store-effect-card strong{font-size:.58rem;text-transform:uppercase}.store-effect-card small{font-size:.42rem;color:#91a8a0}.store-effect-card em{font-style:normal;font-size:.46rem;line-height:1.35;color:rgba(255,255,255,.58)}.store-effect-card>b{font-size:.42rem;color:#caffed;white-space:nowrap}
.character-avatar-card{position:relative}.character-avatar-card.locked{opacity:1;background:rgba(255,255,255,.022);border-color:rgba(255,255,255,.11)}
.character-avatar-info{display:flex!important;flex-direction:column;gap:4px;min-width:0;flex:1}.character-avatar-info em,.character-special-copy{font-style:normal;font-size:.43rem;line-height:1.3;color:#b7d9cf}.character-special-copy{color:#f0d985}
.character-card-action{margin-top:4px;width:100%;min-height:28px;border:1px solid rgba(0,255,157,.32);border-radius:8px;background:rgba(0,255,157,.08);color:#dffff4;font:700 .43rem/1 inherit;letter-spacing:.06em;cursor:pointer}.character-card-action:disabled{opacity:.45;cursor:not-allowed}.character-avatar-card.selected .character-card-action{background:var(--neon);color:#03100c}
.character-gate{height:4px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.character-gate i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00ff9d,#69dfff)}
.rarity-common{--rarity:#a7f3d0}.rarity-uncommon{--rarity:#67e8f9}.rarity-rare{--rarity:#60a5fa}.rarity-epic{--rarity:#c084fc}.rarity-legendary{--rarity:#fbbf24}.rarity-mythic{--rarity:#fb7185}
.character-avatar-card[class*="rarity-"]:not(.locked){border-color:color-mix(in srgb,var(--rarity,#00ff9d) 48%,transparent)}
.character-avatar-card[class*="rarity-"] .character-avatar-status{border-color:var(--rarity,#00ff9d);color:var(--rarity,#00ff9d)}
body.graphics-low .fog-overlay,body.graphics-low .arcade-lights-overlay{display:none!important}body.graphics-low .product-flash{filter:none!important}body.graphics-low .hud-character-card,body.graphics-low .hud-score-card,body.graphics-low .hud-combo-card,body.graphics-low .hud-status-row,body.graphics-low .hud-bars{backdrop-filter:none!important}
@keyframes storePanelIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:600px){.store-featured-grid,.store-effects-grid{grid-template-columns:1fr}.store-wallet{gap:5px}.store-wallet span{padding:8px 4px}.store-effect-card{grid-template-columns:34px 1fr}.store-effect-card>b{grid-column:2}.store-character-grid{grid-template-columns:1fr}}

@media(max-width:760px){body.touch-ui .mobile-controls{display:grid;grid-template-columns:minmax(68px,1.05fr) repeat(3,minmax(42px,1fr));width:min(calc(100vw - 12px),620px);gap:5px;border-radius:18px;padding:5px}body.touch-ui .mobile-controls .ctrl,body.touch-ui .mobile-controls .ctrl.wide,body.touch-ui .mobile-controls .ctrl.attack,body.touch-ui .mobile-controls .ctrl.dash{width:100%;height:46px;font-size:.5rem}body.left-handed .mobile-controls{direction:rtl}body.left-handed .mobile-controls .ctrl,body.left-handed .mobile-controls .arcade-move-stick{direction:ltr}}
/* v4.6.29.58 — stick + DASH/FIRE/SPECIAL single row (replaces L/R buttons). */
@media(max-width:430px){body.touch-ui .mobile-controls{gap:7px;bottom:5px}body.touch-ui .mobile-controls .ctrl{height:39px}}
.store-upgrade-bridge{padding:18px;border:1px solid rgba(0,255,157,.24);border-radius:14px;background:linear-gradient(145deg,rgba(0,255,157,.07),rgba(139,92,246,.05));text-align:center}.store-upgrade-bridge>span{font-size:.42rem;letter-spacing:.15em;color:var(--neon)}.store-upgrade-bridge h4{margin:8px 0 7px;font-size:.9rem;text-transform:uppercase}.store-upgrade-bridge p{max-width:520px;margin:0 auto 14px;color:rgba(255,255,255,.62);font-size:.52rem;line-height:1.55}


.store-victory-overlay{position:absolute;inset:0;z-index:47;overflow:hidden;pointer-events:none}
.store-victory-overlay i{position:absolute;left:var(--x);top:-12%;display:block;width:8px;height:14px;opacity:0;transform:rotate(var(--spin));animation-delay:var(--delay)}
.store-victory-overlay.victory-camera-flash{background:rgba(255,255,255,.03);animation:storeCameraFlash .85s ease-out both}
.store-victory-overlay.victory-camera-flash i{width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,255,0) 68%);animation:storeFlashDot .7s ease-out both}
.store-victory-overlay.victory-confetti i{background:linear-gradient(145deg,#00ff9d,#ffe36f);animation:storeConfettiFall 2.3s cubic-bezier(.2,.65,.2,1) both}
.store-victory-overlay.victory-confetti i:nth-child(3n){background:linear-gradient(145deg,#f472b6,#8b5cf6)}.store-victory-overlay.victory-confetti i:nth-child(4n){border-radius:50%;background:#67e8f9}
.store-victory-overlay.victory-diamond-rain i{width:10px;height:10px;background:linear-gradient(145deg,#fff,#67e8f9 48%,#00ff9d);transform:rotate(45deg);box-shadow:0 0 12px rgba(103,232,249,.75);animation:storeDiamondRain 2.35s ease-in both}
@keyframes storeCameraFlash{0%,100%{opacity:0}12%{opacity:1;background:rgba(255,255,255,.65)}28%{opacity:.08}42%{opacity:.68;background:rgba(210,255,244,.5)}70%{opacity:.05}}
@keyframes storeFlashDot{0%{opacity:0;transform:scale(.2)}18%{opacity:.95;transform:scale(1.25)}100%{opacity:0;transform:scale(2.1)}}
@keyframes storeConfettiFall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(var(--spin))}10%{opacity:1}100%{opacity:0;transform:translate3d(calc((var(--x) - 50%) * .22),112vh,0) rotate(760deg)}}
@keyframes storeDiamondRain{0%{opacity:0;transform:translateY(-30px) rotate(45deg) scale(.55)}12%{opacity:1}100%{opacity:0;transform:translateY(112vh) rotate(405deg) scale(1.15)}}
body.graphics-low .store-victory-overlay.victory-confetti i:nth-child(n+15),body.graphics-low .store-victory-overlay.victory-diamond-rain i:nth-child(n+13){display:none}

/* v3.7.2 — keep Character Selection portraits animated in Low/Auto graphics. */
body.graphics-low:not(.reduced-motion) .character-avatar-preview img{
  animation:dodAvatarPreviewIdle 2.85s ease-in-out infinite!important;
}
body.graphics-low:not(.reduced-motion) .character-avatar-card:nth-child(2n) .character-avatar-preview img{
  animation-delay:-.65s!important;
}
body.graphics-low:not(.reduced-motion) .character-avatar-card:nth-child(3n) .character-avatar-preview img{
  animation-delay:-1.15s!important;
}
body.graphics-low:not(.reduced-motion) .character-avatar-card:hover .character-avatar-preview img,
body.graphics-low:not(.reduced-motion) .character-avatar-card.selected .character-avatar-preview img,
body.graphics-low:not(.reduced-motion) .character-avatar-card.previewed .character-avatar-preview img{
  animation:dodAvatarPreviewRun .72s ease-in-out infinite alternate!important;
}
body.reduced-motion .character-avatar-preview img{
  animation:none!important;
}

