/* Founder PSD game art with approved generated shop pack artwork. */
.coin-pack .pack-art{height:140px;max-width:100%;margin:10px auto}.coin-pack .pack-art img{position:static;width:100%;height:100%;object-fit:contain;transform:none;filter:none}
@font-face{font-family:Russo;src:url('/assets/casino/fonts/RussoOne-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Rajdhani;src:url('/assets/casino/fonts/Rajdhani-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
body{font-family:Rajdhani,Arial,sans-serif;background:#050c20}button{font-family:Russo,Arial,sans-serif}
body{background-image:linear-gradient(#050c20cc,#050c20e8),url('/assets/world.png?v=0.5.4')}
.lobby{padding:28px 0;text-align:center}.lobby-heading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px}.lobby h1{font:clamp(22px,3vw,40px) Russo;margin:12px 0 22px}.lobby em{color:#44cbff;font-style:normal}.arena-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.arena-card{position:relative;min-height:280px;padding:24px 16px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:10px;border:2px solid #44cbff77;border-radius:20px;overflow:hidden;background-position:center;background-size:cover;text-shadow:0 2px 6px #000;box-shadow:0 10px 30px #0005}.arena-card:hover:not(:disabled){transform:translateY(-3px);border-color:#ffe286}.arena-card:disabled{opacity:.6}.arena-card span{font-size:17px}.arena-card strong{font:30px Russo;color:#ffe286}.arena-card small{font-size:12px}.arena-card b{padding:10px 32px;color:#332100;background:linear-gradient(#ffe990,#edac23);border-radius:10px;text-shadow:none;font-size:14px}.arena-card.cosmic{background-image:linear-gradient(transparent,#030b22ee),url('/assets/casino/background.png?v=0.5.4')}.arena-card.warrior{background-image:linear-gradient(transparent,#030b22ee),url('/assets/arenas/warrior-thumb.webp?v=0.5.4')}.arena-card.wild{background-image:linear-gradient(transparent,#030b22ee),url('/assets/arenas/wild-thumb.webp?v=0.5.4')}
#battle-stage[data-arena="warrior"]{background-image:url('/assets/arenas/warrior.webp?v=0.5.4')}#battle-stage[data-arena="wild"]{background-image:url('/assets/arenas/wild.webp?v=0.5.4')}
#battle-stage[data-background-ready="false"]{background-image:none!important;background-color:#050c20}
#shared-stake{font:inherit}#shop-dialog{width:min(1050px,94vw);max-height:92dvh;overflow:auto;padding:28px;border:1px solid #e6b55c;border-radius:22px;color:#e5f0ff;background:radial-gradient(ellipse at top,#183654,#071226 70%);box-shadow:0 0 70px #e9b33022}#shop-dialog::backdrop{background:#020815db;backdrop-filter:blur(5px)}#close-shop{float:right}#shop-title{font:30px Russo;color:#ffe286;margin:12px 0}.shop-note{color:#b8cce4;font-size:14px}.coin-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.coin-pack{border:1px solid #e5ba63;border-radius:16px;padding:18px;background:linear-gradient(160deg,#14334f,#081327);box-shadow:inset 0 0 20px #36aafa11;text-align:center}.coin-pack h3{font:15px Russo;color:#e7f4ff;margin:0}.coin-pack>strong{display:block;font:28px Russo;color:#ffe286}.coin-pack>small{display:block;color:#a8bfd7;font-size:11px;margin:6px 0 14px}.coin-pack .gold{width:100%;padding:12px 8px;font-size:12px;opacity:.65}.pack-art{height:94px;position:relative;max-width:160px;margin:10px auto}.pack-art img{position:absolute;width:62px;height:62px;object-fit:contain;left:calc(15px + var(--coin)*12px);top:calc(22px - var(--coin)*3px);transform:rotate(calc(var(--coin)*12deg));filter:drop-shadow(0 3px 6px #0008)}
@media(max-width:650px){.lobby-heading{flex-wrap:wrap}.arena-cards{grid-template-columns:1fr;gap:12px}.arena-card{min-height:185px}.coin-packs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#shop-dialog{padding:18px}.coin-pack{padding:12px 8px}.coin-pack h3{font-size:12px}.pack-art{max-width:130px}.pack-art img{width:50px;height:50px;left:calc(8px + var(--coin)*10px)}.coin-pack>strong{font-size:23px}}
#battle-stage{position:relative;aspect-ratio:16/9;width:100%;background:url('/assets/casino/background.png?v=0.5.4') center/100% 100%;overflow:hidden;container-type:inline-size;border-radius:12px}
.stage-art{position:absolute;pointer-events:none;object-fit:fill}.stage-logo{left:1.28%;top:0;width:16.56%;height:17.82%}.machine-art{left:17.79%;top:.79%;width:64.32%;height:83.19%}.platform-you{left:.18%;top:77.78%;width:20.31%;height:11.67%}.platform-rival{left:79.69%;top:77.92%;width:20.23%;height:11.39%}.fighter-you{left:2.68%;top:40.74%;width:15.52%;height:41.53%;object-fit:contain;filter:drop-shadow(0 7px 5px #0008)}.fighter-rival{left:82.03%;top:40.74%;width:17.45%;height:41.39%;object-fit:contain;filter:drop-shadow(0 7px 5px #0008)}
.stage-panel{position:absolute;width:18%;height:29%;top:13.4%;font-family:Rajdhani,Arial,sans-serif;text-align:center}.panel-you{left:.25%;color:#b6f5ff}.panel-rival{right:0;color:#fff0d2}.stage-panel>img{width:100%;height:100%;position:absolute;inset:0;pointer-events:none}.panel-data{position:absolute;top:31%;width:100%;display:flex;flex-direction:column;align-items:center;gap:.3cqw;text-shadow:0 0 8px #49cfff;font-size:1.6cqw}.panel-data strong{font-family:Russo;font-size:3.1cqw;color:#ffe286;line-height:1}.panel-data small{font-size:1.7cqw;margin-top:1.2cqw}.panel-data>span:last-child{font-size:1cqw}
.stage-pot{position:absolute;left:36%;top:3.2%;width:28%;height:10%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25cqw;text-align:center;color:#ffe37f;text-shadow:0 0 10px #ffac2688;line-height:1}.stage-pot>span{display:block;color:#d0f4ff;font:1.65cqw/1 Russo}.stage-pot strong{display:flex;align-items:baseline;justify-content:center;gap:.65cqw;font:3.25cqw/1 Russo;white-space:nowrap}.stage-pot small{font:1.15cqw/1 Rajdhani}
#game-content #battle-stage #arena{position:absolute!important;left:22.29%;top:17.96%;width:55.62%!important;height:56.94%!important;aspect-ratio:520/288;margin:0;max-width:none;overflow:hidden}
#game-content #battle-stage #arena canvas{width:100%!important;height:100%!important;max-width:none;max-height:none;margin:0!important}
#battle-stage .battle-status{position:absolute;left:35%;top:77%;width:30%;height:3.6%;min-height:0;font-size:1.2cqw;line-height:1.05;display:flex;align-items:center;justify-content:center;color:#c6f4ff;text-shadow:0 0 6px #40cfff}
.controls-art{left:19.01%;top:80.83%;width:62.03%;height:17.31%}.stage-button{position:absolute;padding:0;border:0;border-radius:0;background:transparent;color:#e2f8ff;text-shadow:0 0 8px #48cbff;font-size:1.55cqw;height:9%;top:85.5%;font-family:Russo;letter-spacing:0}.choose-button{left:23.5%;width:14%}.paytable-button{left:63.5%;width:13.3%}.spin-button{left:40%;width:20%;color:transparent;text-shadow:none;font-size:1.7cqw}#rematch{color:#352500;background:linear-gradient(#ffed8b,#ffbb18);border-radius:12px;font-size:1.25cqw}#spin:disabled{opacity:1;background:#09152477;border-radius:12px}
#battle-stage #bot{position:absolute;left:39%;top:44%;width:22%;padding:1.1cqw .5cqw;font-size:1.4cqw;z-index:3}
.reward-coin{position:absolute;width:5%;aspect-ratio:1;background:url('/assets/casino/reward-coin.png?v=0.5.4') center/contain no-repeat;filter:drop-shadow(0 0 7px #ffce5288);z-index:7;pointer-events:none}
.stake-coin{translate:-50% -50%}
.fighter-you,.fighter-rival{object-position:center bottom}
/* Podium idle reuses each flat cutout, anchored at its feet.
   Unequal breaths and offset rival timing avoid synchronized motion. */
:is(#fighter-you,#fighter-rival)[data-ready="true"]{
 transform-origin:50% 100%;animation:fighter-breathe 8.4s infinite;
}
#fighter-rival[data-ready="true"]{animation-duration:9.2s;animation-delay:-2.7s}
@keyframes fighter-breathe{
 0%,48%,100%{transform:scale(1,1);animation-timing-function:ease-in-out}
 19%{transform:scale(1.016,1.042);animation-timing-function:ease-in-out}
 70%{transform:scale(1.012,1.035);animation-timing-function:ease-in-out}
}
body.fighter-idle-paused :is(#fighter-you,#fighter-rival)[data-ready="true"]{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
 :is(#fighter-you,#fighter-rival)[data-ready="true"]{animation:none}
}
#fighter-you:not([data-ready="true"]),#fighter-rival:not([data-ready="true"]){visibility:hidden}
.fighter-you[data-roster="expanded"]{left:.8%;top:38%;width:19%;height:44%;z-index:2}
.fighter-rival[data-roster="expanded"]{left:80%;top:38%;width:19%;height:44%;z-index:2}
.battle-character-picker{border:1px solid #395677;border-radius:14px;margin:20px 0;padding:12px;min-width:0}
#character-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:340px;overflow:auto}
.character-choice{padding:6px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.character-choice img{height:90px;width:100%;object-fit:contain}
.character-choice span{font-size:11px;overflow-wrap:anywhere}
.character-choice[aria-pressed="true"]{border-color:#44cbff;background:#124266;box-shadow:0 0 10px #44cbff66}
@media(max-width:450px){#character-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fighter-rival[data-character="green_ninja"]{left:76.5%;width:23.5%}
.fighter-rival[data-character="purple_alien"]{left:76.2%;top:32%;width:25%;height:52%;object-fit:contain;object-position:center bottom;z-index:2}
.stage-button,.panel-data>*{white-space:nowrap}
.panel-data{gap:0;line-height:1.1}.panel-data small{margin-top:1.35cqw}.panel-data>span:last-child{margin-top:.15cqw;font-size:.8cqw}
#battle-stage .battle-status{white-space:nowrap;font-size:1.05cqw;overflow:hidden}
#lines-dialog{width:min(1160px,96vw);max-height:92dvh;padding:24px}
#lines-dialog .line-header{gap:16px;margin:0 44px 16px 0;flex-wrap:wrap}
#lines-dialog .line-header h2{font:20px Russo;letter-spacing:0;margin:0}
#lines-dialog .line-header span{font-size:16px;max-width:none}
#lines-dialog .lines{gap:12px}
#lines-dialog .line{min-height:94px;padding:12px 6px}
#lines-dialog .line svg{height:48px}
#lines-dialog .line span{font-size:18px}
#lines-dialog #auto-pick{min-height:44px;font-size:15px;padding:12px 20px}
@media(max-height:500px){#lines-dialog{padding:12px}#lines-dialog .line{min-height:62px;padding:6px}#lines-dialog .line svg{height:30px}#lines-dialog .actions{margin:8px 0}}
.portrait-controls{display:none}
@media(orientation:portrait) and (max-width:600px){.portrait-controls{display:flex;gap:6px;margin:10px 0}.portrait-controls button{flex:1;min-height:44px;padding:8px 4px;font-size:10px}.portrait-controls button[hidden]{display:none}#battle-stage .stage-button,#battle-stage .controls-art{display:none}#battle-stage #bot{min-height:44px;font-size:10px}}
#lines-dialog,#paytable-dialog{background:#081a31;color:#e8f2ff;border:1px solid #51ceff;border-radius:18px;width:min(780px,94vw);max-height:85dvh;overflow:auto;padding:20px}dialog::backdrop{background:#02091999;backdrop-filter:blur(3px)}#close-lines,#close-paytable{float:right}#lines-dialog .lines{grid-template-columns:repeat(10,1fr)}#paytable td{padding:8px}.result{margin:8px auto;max-height:140px;overflow:auto}
@media(orientation:landscape){body.fullscreen-active #game-content #battle-stage #arena{width:55.62%!important;height:56.94%!important}body.fullscreen-active main{max-width:1600px}body.fullscreen-active #battle-stage .battle-status{font-size:1.2cqw;min-height:0}body.fullscreen-active #battle-stage #bot{padding:1.1cqw .5cqw;font-size:1.4cqw}body.fullscreen-active .result{max-height:48px}body.fullscreen-active #notice{font-size:10px}}
@media(max-width:600px){#lines-dialog .lines{grid-template-columns:repeat(5,1fr)}#battle-stage{border-radius:0}.room-bar{font-size:10px}.stage-button{font-size:1.65cqw}#notice{font-size:12px}}
/* Keep dialog sizing independent of the compact fullscreen game HUD. */
.win-popup{position:absolute;top:23%;aspect-ratio:3/2;z-index:4;background:url('/assets/casino/win-popup.png?v=0.5.4') center/100% 100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ffe382;text-align:center;padding:5cqw 4cqw 3cqw;pointer-events:none;filter:drop-shadow(0 0 14px #ffc53666)}
.win-title{font:1.7cqw Russo;color:#fff0ae;text-shadow:0 0 10px #ffb300}.win-popup strong{font:5cqw/1.15 Russo;text-shadow:0 0 14px #ffc438}.win-unit{font:1.1cqw Russo}.win-detail{font:1cqw/1.2 Rajdhani;color:#d5f7ff;margin-top:.5cqw;max-height:3.6cqw;overflow:auto;width:100%}
.win-popup::before{content:'';position:absolute;inset:25% 15% 23%;background:#07102a;border-radius:8px;z-index:-1}
.win-frame-fx{position:absolute;inset:0;pointer-events:none;z-index:0}
.win-popup>.win-title,.win-popup>strong,.win-popup>.win-unit,.win-popup>.win-detail{position:relative;z-index:1}
.frame-spark{position:absolute;width:6cqw;height:6cqw;background:url('/assets/particles/star_02.webp') center/contain no-repeat;filter:sepia(1) saturate(5) drop-shadow(0 0 8px #ffd45b);opacity:0;animation:win-sparkle 950ms var(--delay) ease-in-out 4;pointer-events:none}
@keyframes win-sparkle{0%,100%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(0deg)}45%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(60deg)}}
.podium-win-fx{position:absolute;top:73%;width:25%;height:23%;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,var(--winner-color) 8%,transparent 72%);filter:drop-shadow(0 0 16px var(--winner-color));animation:podium-glow 900ms ease-in-out 4;mix-blend-mode:screen}
.platform-you,.platform-rival{z-index:1}.fighter-you,.fighter-rival{z-index:2}
.podium-you{left:-2%}.podium-rival{left:77%}
.player-panel-win-fx{position:absolute;top:13.4%;width:18%;height:29%;z-index:3;pointer-events:none}
.panel-fx-you{left:.25%}.panel-fx-rival{right:0}
.podium-spark{position:absolute;top:45%;width:2.5cqw;height:3.5cqw;background:url('/assets/particles/spark_03.webp') center/contain no-repeat;filter:drop-shadow(0 0 4px var(--winner-color));opacity:0;animation:podium-rise 1300ms var(--delay) ease-out 3}
@keyframes podium-rise{0%{opacity:0;transform:translate(0,0) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--drift),-8cqw) scale(.1)}}
@keyframes podium-glow{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.1)}}
body.fighter-idle-paused .frame-spark,body.fighter-idle-paused .podium-win-fx,body.fighter-idle-paused .podium-spark{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.win-frame-fx,.podium-win-fx,.player-panel-win-fx{display:none}}
#paytable table{border-collapse:collapse;font-size:18px}
#paytable th,#paytable td{padding:9px 12px;border-bottom:1px solid #51ceff26;text-align:center}
#paytable th:first-child{text-align:left}
#paytable tr:first-child th{font-size:12px;color:#8ddfff;white-space:nowrap}
#paytable td{color:#ffe286;font-family:Russo;font-size:18px}
.paytable-character{display:flex;align-items:center;gap:12px}
.paytable-character img{width:60px;height:60px;flex:none;object-fit:contain;background:url('/assets/casino/tile.png?v=0.5.4') center/100% 100%;border-radius:9px;box-shadow:0 0 10px #44cbff30}
@media(max-width:600px){#paytable th,#paytable td{padding:7px 4px;font-size:13px}#paytable tr:first-child th{font-size:9px}.paytable-character{gap:7px}.paytable-character img{width:42px;height:42px}}
/* Non-modal bottom dock: the reels remain visible and interactive. */
dialog#lines-dialog{position:fixed;inset:auto 0 max(6px,env(safe-area-inset-bottom));margin:0 auto;width:min(1160px,96vw);max-height:150px;padding:8px 12px;z-index:1000;background:#081a31f5;box-shadow:0 -4px 24px #0008}
dialog#lines-dialog .line-header{margin:0 44px 6px 0;gap:8px;flex-wrap:nowrap;justify-content:flex-start}
dialog#lines-dialog .line-header h2{font-size:12px;white-space:nowrap}
dialog#lines-dialog .line-header span{font-size:11px}
dialog#lines-dialog .actions{position:absolute;right:48px;top:6px;margin:0}
dialog#lines-dialog #auto-pick{min-height:28px;padding:5px 8px;font-size:10px}
dialog#lines-dialog .lines{display:grid;grid-template-columns:repeat(20,minmax(48px,1fr));gap:5px;overflow-x:auto;padding:2px 2px 6px}
dialog#lines-dialog .line{min-height:48px;padding:4px}
dialog#lines-dialog .line svg{height:24px}
dialog#lines-dialog .line span{font-size:11px}
body.fullscreen-active #lines-dialog .line{min-height:94px;padding:12px 6px}
body.fullscreen-active #lines-dialog .line svg{height:48px}
body.fullscreen-active #lines-dialog .line span{font-size:18px}
@media(max-height:500px){dialog#lines-dialog{padding:12px}body.fullscreen-active #lines-dialog .line{min-height:62px;padding:6px}body.fullscreen-active #lines-dialog .line svg{height:30px}}
#battle-stage .battle-status.no-win{color:#ffdb76;text-shadow:0 0 6px #ffdb76}
#result .win-record{display:flex;align-items:center;gap:8px;padding:8px 10px;max-width:100%;font-size:14px;text-align:left}
#result .win-record img{width:36px;height:36px;object-fit:contain;background:#dae6f3;border-radius:6px;flex-shrink:0}
#result .win-record span{font-family:Rajdhani,sans-serif;white-space:nowrap}
#result .win-record strong{white-space:nowrap;margin-left:auto;font-size:13px}
#result .win-record.blue{border-color:#44cbff;color:#44cbff}
#result .win-record.orange{border-color:#ff9b38;color:#ff9b38}
@media(max-width:480px){#result .win-record{width:100%;gap:6px;font-size:12px}#result .win-record strong{font-size:12px}#result .win-record img{width:30px;height:30px}}
#battle-stage #spin,#battle-stage #rematch{background:url('/assets/casino/clean_spin_btn.png?v=0.5.4') center/100% 100% no-repeat;color:#352500;text-shadow:none;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 1cqw;white-space:nowrap;line-height:1.1}
#battle-stage #spin{font-size:3cqw}
#battle-stage #rematch{font-size:1.4cqw}
#battle-stage #rematch small{font-size:.9cqw;margin-top:.25cqw}
#battle-stage #spin:disabled,#battle-stage #rematch:disabled{opacity:1;filter:brightness(.72)}
#battle-stage #spin[hidden],#battle-stage #rematch[hidden]{display:none}
@media(orientation:portrait) and (max-width:600px){#battle-stage #spin,#battle-stage #rematch{display:none}}
#battle-stage #spin,#battle-stage #rematch{left:39.32%;top:82.77%;width:21.56%;height:12.64%}
#result .win-records{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:4px 0;max-width:100%}
#result .win-records .win-record{flex:0 0 auto;width:auto;margin:0}
#sound.header-icon,#fullscreen.header-icon,#rotate-screen{width:44px;height:44px;flex:0 0 44px;padding:10px;display:inline-flex;align-items:center;justify-content:center}
#sound[aria-pressed="false"] .sound-on,#sound[aria-pressed="true"] .sound-off,#fullscreen[aria-pressed="false"] .exit-fullscreen,#fullscreen[aria-pressed="true"] .enter-fullscreen{display:none}
.header-icon[aria-pressed="true"]{color:#44cbff;border-color:#44cbff}
@media(max-width:900px){header{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,44px);gap:6px;padding-bottom:10px}header .brand{grid-column:1/-1;font-size:22px}header .badge{display:none}header .profile-chip{min-width:0;max-width:100%;font-size:11px;margin-right:auto}header #account{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header .login{grid-column:1}header #sound{grid-column:2}header #rotate-screen{grid-column:3}header #fullscreen{grid-column:4}}
@media(max-height:500px) and (orientation:landscape){header{display:flex;flex-wrap:nowrap;gap:6px}header .brand{font-size:18px;flex:none}header .profile-chip{margin-left:auto}header .badge{display:none}}
.help-launcher{text-align:center;margin:14px 0}
#open-help{width:44px;height:44px;padding:0;border-radius:50%;color:#44cbff;font-size:26px}
#help-dialog{width:min(940px,94vw);max-height:90dvh;overflow:auto;border:1px solid #44cbff88;border-radius:18px;padding:24px;background:linear-gradient(135deg,#12314b,#071226);color:#e5f0ff}
#help-dialog::backdrop{background:#020815d9;backdrop-filter:blur(5px)}
#close-help{float:right;width:44px;height:44px;padding:0}
#help-title{color:#ffe382;margin:0 50px 8px 0}.help-tagline{margin:0 0 20px;font-size:13px}
.help-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.help-card{text-align:center;border:1px solid #385977;border-radius:14px;padding:14px;background:#10243c}
.help-card h3{font-size:14px;color:#ffe382;margin:0 0 12px}.help-card h3 span{color:#44cbff;padding-right:7px}
.help-card p{font-size:12px;line-height:1.5}.help-card small{font-size:11px;line-height:1.5;color:#a8bfd8;display:block}
.help-duel{display:flex;align-items:center;justify-content:center;gap:12px}.help-duel img{width:38%;height:105px;object-fit:contain}
.help-lines{width:100%;height:65px}.help-split{display:block;font-size:12px}.help-split span:first-child{color:#44cbff}.help-split span:last-child{color:#ff9b38}
.help-pot{display:flex;flex-direction:column;color:#ffe382;font-size:11px}.help-pot strong{font-size:40px;line-height:1.2}
.help-reels{display:flex;gap:4px;margin:12px 0}.help-reels img{width:calc((100% - 8px)/3);object-fit:contain;border-radius:6px;background:url('/assets/casino/tile.png?v=0.5.4') center/100% 100%}
.help-spin{border-radius:12px;background:linear-gradient(#fff19a,#efac1f);color:#332200;padding:8px;font-size:20px}
.help-reward{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:14px;color:#ffe382}.help-reward img{width:110px;height:110px;object-fit:contain}
.help-no-win{border:1px solid #ffa64866;border-radius:10px;padding:10px;font-size:12px;color:#ffd57a;text-align:center}
.help-disclaimer{font-size:10px;text-align:center;margin-bottom:0}
@media(max-width:600px){.help-steps{grid-template-columns:1fr}#help-dialog{padding:18px}.help-card{padding:12px}.help-duel img{height:85px}.help-reels{max-width:210px;margin:12px auto}}
.win-popup .win-detail{display:flex;flex-wrap:wrap;justify-content:center;gap:.25cqw;max-height:4cqw;overflow:auto;pointer-events:auto}
.win-popup .win-mini-record{display:inline-flex;align-items:center;gap:.3cqw;padding:.2cqw .35cqw;border-radius:.35cqw;font: .85cqw/1.1 Rajdhani,sans-serif;letter-spacing:0;background:#10243c;white-space:nowrap;flex:0 0 auto}
.win-mini-record img{width:1.8cqw;height:1.8cqw;object-fit:contain;background:#dae6f3;border-radius:.2cqw}
.win-mini-record.blue{color:#44cbff;border-color:#44cbff88}.win-mini-record.orange{color:#ff9b38;border-color:#ff9b3888}
.win-mini-record b{font-size:1cqw}
.header-icon#open-help{width:44px;height:44px;flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:25px;border-radius:10px}
@media(max-width:900px){header{grid-template-columns:minmax(0,1fr) repeat(4,44px);gap:6px}header #open-help{grid-column:5}}
@media(max-width:360px){header .profile-chip #account{display:none}}
body.fullscreen-active dialog#lines-dialog .line{min-height:48px;padding:4px}
body.fullscreen-active dialog#lines-dialog .line svg{height:24px}
body.fullscreen-active dialog#lines-dialog .line span{font-size:11px}
@media(max-height:500px){dialog#lines-dialog{padding:6px 10px}}
@media(max-width:650px){dialog#lines-dialog .line-header span{display:none}}
dialog#lines-dialog #close-lines{min-height:28px;padding:4px 8px}
/* Machine-integrated selection tray replaces the controls while open. */
#battle-stage dialog#lines-dialog{position:absolute;inset:78% auto auto 2%;width:96%;height:19%;max-height:none;margin:0;padding:6px 10px;border:2px solid #55dcff;border-radius:12px;background:linear-gradient(150deg,#193b5c,#07172c 55%,#143656);box-shadow:inset 0 0 0 2px #092038,inset 0 0 14px #36bfff55,0 0 12px #36bfff77;z-index:6;overflow:hidden}
#battle-stage dialog#lines-dialog .line-header{margin:0 32px 4px 0;height:22px}
#battle-stage dialog#lines-dialog .line-header h2{font-size:clamp(8px,1cqw,14px);color:#ffe286;text-shadow:0 0 6px #39caff}
#battle-stage dialog#lines-dialog .line-header span{display:none}
#battle-stage dialog#lines-dialog .actions{top:5px;right:36px}
#battle-stage dialog#lines-dialog #auto-pick{background:linear-gradient(#ffe394,#eaa52b);color:#2b1a03;border:1px solid #ffefb3;min-height:22px;padding:3px 8px;font-size:clamp(8px,.8cqw,11px)}
#battle-stage dialog#lines-dialog .lines{height:calc(100% - 26px);grid-template-columns:repeat(20,minmax(0,1fr));gap:4px;padding:0;overflow:hidden}
#battle-stage dialog#lines-dialog .line{min-height:0;padding:2px 4px;border-radius:6px;box-shadow:inset 0 0 7px #4bccff22}
#battle-stage dialog#lines-dialog .line svg{height:clamp(12px,2cqw,28px)}
#battle-stage dialog#lines-dialog .line span{font-size:clamp(9px,.9cqw,13px)}
#battle-stage dialog#lines-dialog #close-lines{padding:2px 6px;min-height:20px;font-size:11px}
@media(max-width:850px){
 #battle-stage dialog#lines-dialog .lines{grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2px}
 #battle-stage dialog#lines-dialog .line{padding:0 2px}
 #battle-stage dialog#lines-dialog .line svg{height:12px}
 #battle-stage dialog#lines-dialog .line span{font-size:9px;line-height:1}
}
@media(orientation:portrait) and (max-width:600px){
 #battle-stage dialog#lines-dialog{top:75%;height:24%;left:2%;width:96%;padding:2px 5px;}
 #battle-stage dialog#lines-dialog .line-header{height:12px;margin-bottom:1px}
 #battle-stage dialog#lines-dialog .line-header h2{font-size:8px}
 #battle-stage dialog#lines-dialog .actions{top:2px;right:26px}
 #battle-stage dialog#lines-dialog #auto-pick{min-height:12px;font-size:7px;padding:1px 4px}
 #battle-stage dialog#lines-dialog #close-lines{min-height:12px;font-size:8px;padding:0 4px}
 #battle-stage dialog#lines-dialog .lines{height:calc(100% - 13px);grid-template-columns:repeat(10,minmax(0,1fr));gap:2px}
 #battle-stage dialog#lines-dialog .line svg{height:10px}
 #battle-stage dialog#lines-dialog .line span{font-size:8px}
 #battle-stage dialog#lines-dialog .line{display:grid;grid-template-rows:minmax(0,1fr) 8px;align-items:center;padding:0 2px;overflow:hidden}
 #battle-stage dialog#lines-dialog .line svg{height:100%;min-height:0}
 #battle-stage dialog#lines-dialog .line span{display:block;line-height:8px}
}

/* Machine-matched selection console; preserve the existing all-20 layout. */
#battle-stage dialog#lines-dialog{
 border-color:#81eaff;border-radius:3px 18px 3px 18px;
 background:linear-gradient(115deg,#345879 0%,#091a30 12%,#061025 50%,#102942 88%,#345879 100%);
 box-shadow:inset 0 0 0 2px #020b1c,inset 0 0 0 4px #315375,inset 0 6px 12px #71dfff24,0 0 0 2px #071329,0 0 0 3px #426582,0 0 18px #22bfff77;
}
#battle-stage dialog#lines-dialog::before,
#battle-stage dialog#lines-dialog::after{
 content:'';position:absolute;pointer-events:none;left:10%;right:10%;height:2px;
 background:linear-gradient(90deg,transparent,#45d8ff 15%,#d6fbff 35%,#ffcb57 48%,#fff0a3 52%,#45d8ff 85%,transparent);
 box-shadow:0 0 8px #43cdff;top:0;
}
#battle-stage dialog#lines-dialog::after{top:auto;bottom:0;left:25%;right:25%}
#battle-stage dialog#lines-dialog .line-header h2{letter-spacing:.07em;color:#d8f8ff;text-shadow:0 0 8px #32caff}
#battle-stage dialog#lines-dialog .line{
 background:linear-gradient(160deg,#183e5d,#08182e);border:1px solid #3e799c;
 box-shadow:inset 0 1px 0 #94e5ff55,inset 0 -2px 4px #0009;
 color:#b7eaff;
}
#battle-stage dialog#lines-dialog .line.blue-owned{background:linear-gradient(145deg,#12618a,#10374f);border-color:#60dfff;box-shadow:inset 0 0 9px #2bc5ff66,0 0 4px #28c9ff66;color:#e0faff}
#battle-stage dialog#lines-dialog .line.orange-owned{background:linear-gradient(145deg,#854414,#402416);border-color:#ffb44e;box-shadow:inset 0 0 9px #ffa02c55,0 0 4px #ff9c3866;color:#fff0d4}
#battle-stage dialog#lines-dialog .line:focus-visible{outline:2px solid #fff2a6;outline-offset:-3px}
#battle-stage dialog#lines-dialog #auto-pick{border-radius:3px 8px 3px 8px;letter-spacing:.02em;box-shadow:inset 0 1px 0 #fff6ce,0 0 8px #ffb52c44}
#battle-stage dialog#lines-dialog #close-lines{background:#0b2138;border-color:#5e99b9;border-radius:4px;color:#bdeeff}
