@import url('https://fonts.googleapis.com/css2?family=DotGothic16&family=Noto+Sans+JP:wght@400;600;800;900&display=swap');
:root{--ink:#173c35;--paper:#f5f1e7;--red:#ef4b35;--mint:#b9e8b1;--yellow:#ffe577}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;background-image:radial-gradient(#173c3515 .8px,transparent .8px);background-size:8px 8px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border-radius:0;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #ef4b35;outline-offset:4px}button:disabled{opacity:.4;cursor:default}.cabinet{max-width:540px;margin:auto;padding:24px 20px 20px}.masthead{display:flex;align-items:center;justify-content:space-between;padding-bottom:17px;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit;font-size:24px;font-weight:900;line-height:1}.brand-icon{background:var(--ink);color:var(--paper);padding:8px 7px;font-size:25px;box-shadow:3px 3px 0 #b4c4af}.brand small{display:block;letter-spacing:.6px;font-size:7px;margin-top:7px}.header-right{display:flex;gap:12px;align-items:center}.open{font-family:monospace;font-size:10px;font-weight:bold}.open i,.machine-foot i{display:inline-block;width:6px;height:6px;background:#52b66b;margin-right:5px}.icon-button{border:1px solid #173c3540;background:transparent;color:var(--ink);font-family:monospace;font-size:11px;min-width:40px;min-height:34px}.title-row{display:flex;align-items:center;justify-content:space-between;padding:23px 0 20px}.eyebrow{font-size:9px;letter-spacing:1.5px;font-family:monospace;font-weight:bold;margin:0 0 8px}h1{font-weight:900;letter-spacing:-1.6px;font-size:32px;margin:0;line-height:1.3}h1 span{color:var(--red)}.edition{border:1px solid var(--ink);font-family:monospace;font-size:8px;line-height:1.5;padding:5px 7px;transform:rotate(5deg)}.edition b{color:var(--red)}.machine{border:3px solid var(--ink);background:var(--ink);box-shadow:7px 7px 0 #173c3525;overflow:hidden}.scoreboard{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;color:var(--paper);min-height:90px}.hud-label{font-size:10px;letter-spacing:2px;color:#b9d3b7}.scoreboard strong{display:block;color:var(--yellow);font-family:'DotGothic16',monospace;font-size:30px;line-height:1.25;margin-top:3px;font-weight:400;text-shadow:2px 2px #0006}.scoreboard strong span{font-size:15px;margin-left:5px}.scoreboard .icon-button{border-color:#ffffff30;color:var(--paper);font-size:18px}.progress-row{padding:0 16px 9px;display:flex;justify-content:space-between;color:#b9d3b7;font-size:8px;font-family:monospace}.progress-track{height:4px;background:#102d27}.progress-track i{display:block;background:var(--yellow);width:0;height:100%;transition:width .2s}.playfield{position:relative;aspect-ratio:400/560;overflow:hidden;background:#a9c9aa;touch-action:none;user-select:none}canvas#game{display:block;width:100%;height:100%;image-rendering:pixelated}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px 20px;background:linear-gradient(#ecf5dcea,#ecf5dcdd);text-align:center}.hidden{display:none!important}.intro-badge{background:var(--red);color:#fff4d8;padding:6px 12px;font-size:10px;font-weight:800;box-shadow:3px 3px var(--ink);transform:rotate(-3deg)}.intro-art{font-size:65px;line-height:1.2;margin-top:24px;filter:drop-shadow(5px 6px 0 #173c3520)}.overlay h2{font-size:29px;line-height:1.5;letter-spacing:-1px;margin:12px 0;font-weight:900}.overlay h2 em{font-style:normal;color:var(--red)}.overlay>p{font-size:11px;line-height:1.9;margin:0 0 23px}.primary{display:flex;align-items:center;justify-content:center;gap:20px;border:2px solid var(--ink);background:var(--red);color:#fff8e8;min-height:52px;padding:12px 22px;font-size:14px;font-weight:900;box-shadow:4px 4px 0 var(--ink);transition:transform .1s,box-shadow .1s}.primary:active{transform:translate(3px,3px);box-shadow:1px 1px var(--ink)}.intro-note{font-size:8px;margin-top:16px}.controls{display:flex;gap:8px;padding:12px;background:#ecedda}.direction{width:64px;background:#d5ddc7;border:2px solid var(--ink);box-shadow:0 3px var(--ink);font-size:21px;color:var(--ink);min-height:52px}.direction:active{transform:translateY(2px);box-shadow:0 1px var(--ink)}.scan{flex:1;background:var(--yellow);border:2px solid var(--ink);box-shadow:0 3px var(--ink);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center}.scan span{font-family:'DotGothic16',monospace;font-size:20px;letter-spacing:2px}.scan small{font-size:8px;font-weight:bold}.scan:active{background:#fff5a8;transform:translateY(2px);box-shadow:0 1px var(--ink)}.machine-foot{display:flex;justify-content:space-between;padding:9px 12px;font-family:monospace;color:#b9d3b7;font-size:8px}.machine-foot i{width:5px;height:5px}footer{display:flex;justify-content:space-between;gap:15px;padding-top:20px;font-size:8px;color:#607264}footer span:first-child{font-weight:800;white-space:nowrap}.toast{position:absolute;top:20%;left:6%;right:6%;pointer-events:none;text-align:center;font-family:'DotGothic16',monospace;font-size:25px;color:var(--ink);text-shadow:2px 2px #fff7b5;opacity:0;z-index:4;transform:translateY(10px);transition:opacity .12s,transform .12s}.toast.visible{opacity:1;transform:translateY(0)}.result{padding:12px 22px;background:#173c35e8;justify-content:center;gap:12px}.receipt{background:#fffdf0;color:#263b31;width:100%;padding:16px 18px 13px;box-shadow:5px 5px #0003;position:relative;font-family:'DotGothic16',monospace}.receipt:after{content:'';height:7px;position:absolute;bottom:-6px;left:0;right:0;background:linear-gradient(135deg,#fffdf0 25%,transparent 25%) -5px 0,linear-gradient(225deg,#fffdf0 25%,transparent 25%) -5px 0;background-size:10px 10px}.receipt-brand{font-size:24px;font-weight:bold}.receipt p{font-size:9px;margin:5px 0}.receipt-rule{border-top:1px dashed #69766b;margin:10px 0}.receipt h2{font-size:20px;line-height:1.5;margin:8px 0}.receipt h2 span{color:var(--red);overflow-wrap:anywhere}.receipt .rank{font-size:11px;background:var(--yellow);padding:5px}.receipt dl{font-size:10px;margin:8px 0}.receipt dl>div{display:flex;justify-content:space-between;gap:8px;margin:5px 0}.receipt dd{margin:0}.receipt .receipt-joke{margin:12px 0 7px}.barcode{height:22px;width:70%;margin:auto;background:repeating-linear-gradient(90deg,#263b31 0 2px,transparent 2px 4px,#263b31 4px 5px,transparent 5px 8px,#263b31 8px 12px,transparent 12px 14px)}.receipt .receipt-bottom{font-size:7px;margin-top:7px}.result-actions{width:100%}.result-actions>.primary{width:100%;min-height:44px}.result-actions>div{display:flex;gap:8px;margin-top:9px}.secondary{background:transparent;border:1px solid #acc1a8;color:#f5f1e7;flex:1;min-height:35px;font-size:9px}.fever .scoreboard{background:#71422c}.fever .progress-track i{background:var(--red)}@media(min-width:800px){.cabinet{max-width:500px;padding-top:28px}.playfield{max-height:570px}}@media(max-width:380px){.cabinet{padding:12px 10px}h1{font-size:28px}.edition{font-size:7px}.overlay{padding:16px}.overlay h2{font-size:25px}.intro-art{font-size:50px;margin-top:15px}.receipt{padding:10px 14px}.result{gap:10px;padding:10px 18px}.receipt h2{font-size:17px}.receipt-rule{margin:7px 0}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Keep the game and thumb controls inside a phone-sized viewport. */
.cabinet{padding-top:14px}.masthead{padding-bottom:12px}.title-row{padding:15px 0}.playfield{height:clamp(280px,calc(100svh - 390px),560px);aspect-ratio:auto;max-height:none}canvas#game{position:absolute;inset:0;width:100%;height:100%}.intro-art{position:relative;width:76px;height:64px;margin-top:20px;background:#173c35;clip-path:polygon(40% 0,60% 0,60% 8%,70% 8%,70% 20%,80% 20%,80% 32%,90% 32%,90% 45%,100% 45%,100% 88%,90% 88%,90% 100%,10% 100%,10% 88%,0 88%,0 45%,10% 45%,10% 32%,20% 32%,20% 20%,30% 20%,30% 8%,40% 8%)}.intro-art:before{content:'';position:absolute;inset:5px;background:#fff9df;clip-path:inherit}.intro-art i{position:absolute;bottom:4px;left:28px;width:22px;height:27px;background:#264938;border-left:5px solid #427452}.intro-art:after{content:'';position:absolute;width:7px;height:5px;left:20px;top:29px;background:#ded4b8}.toast{font-size:clamp(16px,5vw,23px)}
@media(min-width:800px){.cabinet{padding-top:14px}.playfield{max-height:none}}@media(max-height:760px){.overlay{padding:14px}.intro-art{width:53px;height:44px;margin-top:12px;flex-shrink:0}.intro-art i{left:19px;width:16px;height:19px}.overlay h2{font-size:23px;line-height:1.35;margin:8px 0}.overlay>p{font-size:10px;margin-bottom:12px}.intro-note{margin-top:10px;font-size:7px}.primary{min-height:44px;padding:9px 15px;font-size:12px}.receipt{padding:8px 13px}.receipt-brand{font-size:19px}.receipt h2{font-size:16px;line-height:1.3;margin:5px 0}.receipt p{font-size:8px;margin:3px 0}.receipt dl{font-size:9px;margin:5px 0}.receipt dl>div{margin:3px 0}.receipt-rule{margin:5px 0}.receipt .rank{font-size:9px;padding:3px}.receipt .receipt-joke{margin:7px 0 5px}.barcode{height:14px}.receipt .receipt-bottom{font-size:6px}.result{padding:9px 22px;gap:10px}.result-actions>.primary{min-height:35px}.secondary{min-height:30px}.result-actions>div{margin-top:7px}}@media(max-width:380px){.cabinet{padding-top:10px}.title-row{padding:12px 0}.playfield{height:clamp(280px,calc(100svh - 370px),560px)}}

.overlay{overflow-y:auto;justify-content:safe center}
.scoreboard{gap:8px;padding:10px 12px;min-height:80px;background:linear-gradient(110deg,#223c68,#28305a 60%,#4b2d68)}.scoreboard>div:first-child{flex:1;min-width:0}.scoreboard strong{font-size:clamp(18px,5.5vw,25px);white-space:nowrap}.scoreboard .point-panel{flex:1;min-width:0;border-left:1px solid #ffffff33;padding-left:10px}.point-panel strong{color:#e2abff;font-size:clamp(17px,5vw,24px)}.hud-label{font-size:8px;letter-spacing:1px}.scoreboard .icon-button{min-width:29px}.progress-row{background:#28305a;padding:2px 12px 7px;color:#d0e8ff}.build-bar{display:flex;align-items:center;gap:10px;background:#252748;color:#ffdf75;padding:7px 10px;font:10px 'DotGothic16',monospace}.build-bar b{color:#8ff5f0;white-space:nowrap}.build-bar>span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fever-meter{width:45px;height:7px;background:#ffffff26}.fever-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#85fff0,#ffb3ed,#ffe577)}.basket{display:flex;gap:5px;align-items:center;overflow-x:auto;white-space:nowrap;height:29px;background:#ece6fb;padding:4px 8px;font-size:8px;scrollbar-width:none}.basket span{background:var(--product,#fff7da);border:1px solid #173c3525;padding:3px 5px;color:#233453}.playfield{height:clamp(280px,calc(100svh - 435px),560px)}.machine{border-color:#27374f;box-shadow:7px 7px #b5a8d9}.controls{background:#ebe4f8}.direction{background:#a7e8f1;border-color:#27374f;box-shadow:0 3px #27374f}.scan{background:linear-gradient(110deg,#ffe577,#ffafcb);border-color:#27374f;box-shadow:0 3px #27374f}.scan small{font-size:7px}.machine-foot{background:#27374f}.fever .scoreboard{background:linear-gradient(100deg,#813e6e,#47429d)}.toast{padding:8px 4px;font-size:18px;background:#192c48dc;color:#fff4b2;text-shadow:1px 1px #192c48;top:13%;border:1px solid #ffe57799;box-shadow:3px 3px #0003}.receipt .receipt-items{font-size:8px;line-height:1.6;background:#eee7ff;padding:5px}.receipt .receipt-formula{font-size:7px;color:#71529c}.receipt dd{overflow-wrap:anywhere;text-align:right;max-width:65%}.intro-badge{font-size:9px;background:#8a51b2}.overlay{background:linear-gradient(#e7f8efef,#ece3f6e8)}.result{background:#222541ec}.intro-art{filter:drop-shadow(6px 6px #b7a0e7)}.primary{background:linear-gradient(100deg,#ef4b68,#b751b4)}.receipt h2 span{font-size:19px}.scoreboard #total,.scoreboard #points{overflow:hidden;text-overflow:ellipsis}.set-guide{font-size:8px!important;line-height:1.7!important;color:#71529c;margin:7px 0 12px!important}@media(max-width:380px){.playfield{height:clamp(280px,calc(100svh - 420px),560px)}.point-panel strong{font-size:16px}.scoreboard strong{font-size:18px}}@media(max-height:760px){.receipt h2 span{font-size:16px}.receipt .receipt-items{font-size:7px;padding:3px}.set-guide{font-size:7px!important;margin:4px 0 8px!important}.result{justify-content:flex-start}.intro-art{display:none}.overlay h2{font-size:22px}}
.result .receipt{padding:9px 12px}.result .receipt-brand{font-size:20px}.result .receipt h2{font-size:16px;line-height:1.35;margin:5px 0}.result .receipt h2 span{font-size:16px}.result .receipt p{font-size:7px;margin:3px 0}.result .receipt-rule{margin:6px 0}.result .receipt .rank{font-size:8px;padding:3px}.result .receipt dl{font-size:8px;margin:5px 0}.result .receipt dl>div{margin:3px 0}.result .receipt .receipt-items{font-size:7px;padding:3px}.result .receipt .receipt-formula{font-size:6px}.result .receipt .receipt-joke{margin:7px 0 5px}.result .barcode{height:14px}.result .receipt .receipt-bottom{font-size:6px}.result-actions>.primary{min-height:36px;padding:7px 12px}.result-actions>div{margin-top:7px}.result-actions .secondary{min-height:30px}

/* Phone-first play surface. */
body{background:#14223a;overflow:hidden}.cabinet{width:100%;max-width:520px;height:100dvh;margin:auto;padding:0!important;display:flex;flex-direction:column}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;padding-top:max(8px,env(safe-area-inset-top));color:#e8f4f1;font-size:16px}.mobile-header .icon-button{color:#dcece9;border-color:#547185;font:12px sans-serif;min-height:32px}.machine{display:flex;flex:1;min-height:0;flex-direction:column;border:0;box-shadow:none;background:#14223a}.scoreboard{min-height:74px;padding:9px 14px;background:#21354f}.scoreboard .hud-label{font-size:13px;letter-spacing:0}.scoreboard strong{font-size:24px}.progress-row{padding:0 14px 5px;background:#21354f;font-size:12px;justify-content:flex-end}.progress-row #stage{display:none}.build-bar{padding:7px 14px;font-size:13px;background:#182940}.basket{height:30px;min-height:30px;padding:3px 12px;background:#1b3046}.basket span{font-size:11px;padding:3px 6px}.playfield{flex:1;min-height:0!important;height:auto!important;max-height:none!important;width:100%;position:relative}.lane-hint{position:absolute;bottom:15px;left:0;right:0;text-align:center;color:white;font-size:16px;z-index:1;pointer-events:none}.toast{top:auto;bottom:13%;left:10%;right:10%;font-size:17px;padding:6px;pointer-events:none}.overlay{padding:20px;background:#edf3ecef}.overlay h2{font-size:34px;line-height:1.4}.overlay>p{font-size:15px;line-height:1.8}.intro-badge,.set-guide,.intro-art{display:none!important}.intro-note{font-size:13px;line-height:1.6;margin-top:20px}.primary{font-size:17px;min-height:52px;width:100%}.result{background:#14223af5;padding:14px;gap:16px;justify-content:flex-start}.result .receipt{padding:16px}.result .receipt h2,.result .receipt h2 span{font-size:23px}.result .receipt dl{font-size:13px}.result .receipt dl>div{margin:7px 0}.result .receipt p,.result .receipt .rank{font-size:11px}.result .receipt .receipt-items{font-size:11px}.result .receipt .receipt-formula{font-size:10px}.result .receipt-joke,.result .barcode,.result .receipt-bottom{display:none}.result-actions{padding-bottom:env(safe-area-inset-bottom)}.result-actions .secondary{font-size:14px;min-height:46px}.result-actions>.primary{min-height:48px;font-size:17px}.receipt-brand{font-size:24px!important}canvas#game{touch-action:none}

.playfield{isolation:isolate}.toast{bottom:4%;background:#172b43e8;z-index:3}.settlement{position:absolute;inset:0;z-index:5;overflow:hidden;background:radial-gradient(ellipse,#703e87,#122137 70%);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff5be;pointer-events:none}.settle-content{position:relative;z-index:1;width:94%;padding:25px 8px;border-block:6px double #ffe69c;background:#1d214bba;box-shadow:0 0 40px #ffc96777}.settle-content h2{font-size:27px;text-shadow:3px 3px #602c54;margin:22px 0}.settle-content strong{display:block;font:clamp(21px,7vw,34px) 'DotGothic16',monospace;color:#fff7bc;overflow-wrap:anywhere;text-shadow:2px 3px #9b4d44,0 0 18px #ffcf7d}.settle-content p{font-size:24px;color:#b9ffff;margin:22px 0}.settle-content>span{font-size:17px;letter-spacing:4px}.settle-reels{color:#ffe19a;font:bold 61px 'DotGothic16',monospace;text-shadow:3px 4px #bd4c60,0 0 25px #ffd58b;letter-spacing:5px}.settle-rays{position:absolute;inset:-70%;background:repeating-conic-gradient(from 0deg,#ffe99c21 0 12deg,transparent 12deg 28deg);animation:ray-spin 14s linear infinite}.jackpot-title{color:#fff1a0;font:bold 33px 'DotGothic16',monospace;letter-spacing:3px;text-shadow:3px 3px #a44666,0 0 14px #ffc650;text-align:center;flex-shrink:0;padding-top:5px}.result{background:radial-gradient(ellipse at top,#71386a,#18233e 80%);border:4px solid #e7bf69;box-shadow:inset 0 0 24px #ffcd6f66;gap:10px}.result .receipt{background:linear-gradient(135deg,#fff7c8,#fffdf0 50%,#ffefbd);border:2px solid #edc978;box-shadow:0 0 22px #ffd58c44}.result .receipt h2{font-size:19px}.result .receipt h2 span{display:block;font-size:clamp(24px,7vw,34px);line-height:1.4;color:#d74b60;text-shadow:1px 1px #fff3b0}.result .receipt p,.result .receipt dl{font-size:11px}.result .receipt dl>div{margin:4px 0}.result .receipt .receipt-items{font-size:10px}.result .receipt .receipt-formula{font-size:9px}.result .receipt-brand{font-size:20px!important}.result-actions>.primary{background:linear-gradient(100deg,#f18c5c,#db4b92,#8d69cc);border-color:#ffda7b;box-shadow:3px 3px #aa774d}.audio-credit{display:block;text-align:center;font-size:10px;color:#ddd8ba;margin-top:10px}.celebrating .scoreboard{background:linear-gradient(110deg,#755241,#683c75)}.fever .scoreboard{box-shadow:inset 0 -3px #ffe69a}.celebrating .result{animation:result-arrive .55s ease-out}.paused{z-index:8}#paused{z-index:8}@keyframes ray-spin{to{transform:rotate(360deg)}}@keyframes result-arrive{from{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.settle-rays,.celebrating .result{animation:none}}@media(max-height:700px){.jackpot-title{font-size:25px}.result .receipt h2 span{font-size:24px}.result .receipt{padding:10px}.result .receipt dl{font-size:10px}.result .receipt dl>div{margin:3px 0}.result{padding:10px;gap:8px}}
.music-credit{position:absolute;bottom:max(3px,env(safe-area-inset-bottom));right:8px;z-index:2;font:10px sans-serif;color:#d8e8e2;margin:0}.music-credit a{color:inherit}.cabinet{position:relative}.machine{padding-bottom:max(16px,env(safe-area-inset-bottom))}
.home-mode .scoreboard,.home-mode .progress-row,.home-mode .progress-track,.home-mode .build-bar,.home-mode .basket{display:none}.home-mode .playfield{min-height:0;flex:1}.home-mode #intro{background:radial-gradient(ellipse at 50% 32%,#714d91,#1d2548 68%,#121e31);color:#fff7d8;overflow:auto;padding:28px 24px;justify-content:center}.home-mode #intro:before{content:'';position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 40%,#fff4ad0b 0deg 12deg,transparent 12deg 24deg);pointer-events:none}.home-mode #intro>*{position:relative}.home-mark{color:#172d30;background:#ffd86f;border:3px solid #fff5be;padding:6px 24px;font-weight:900;font-size:23px;transform:rotate(-3deg);box-shadow:4px 4px #a54d71;margin-bottom:22px}.home-kicker{font-size:12px;letter-spacing:3px;color:#ffe8a6}.home-mode #intro h2{font-size:clamp(36px,10vw,52px);font-weight:900;line-height:1.35;margin:15px 0;color:#fff9e5;text-shadow:3px 4px #a63e68}.home-mode #intro h2 em{color:#ffe079}.home-mode #intro>p{font-size:14px;color:#e8e7ef;margin:0 0 18px}.home-best{display:flex;flex-direction:column;gap:4px;margin:4px auto 22px;color:#bdbbcf;font-size:11px}.home-best strong{font:15px 'DotGothic16',monospace;color:#ffeaa4;max-width:300px;overflow-wrap:anywhere}.home-mode .primary{max-width:340px;min-height:60px;background:linear-gradient(100deg,#f35a72,#f09a55);box-shadow:4px 4px #7f436b;border-color:#fff1bb;font-size:16px}.home-mode .intro-note{color:#d4cbd7;font-size:12px;margin-top:20px}.progress-row{justify-content:space-between}.progress-row #level-label{display:inline;color:#ffdf85;font-size:12px;font-weight:bold}.roulette{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle,#725090,#22244b 70%);text-align:center;color:#fff6c7}.roulette-panel{z-index:1;width:100%;padding:10px 22px}.roulette-panel>p{font-size:14px;margin:0;color:#ffde8c;font-weight:bold}.roulette-panel h2{font-size:clamp(25px,7vw,34px);color:#fff4bd;margin:8px 0 16px;text-shadow:3px 4px #a74876}.roulette-rays{position:absolute;inset:-70%;background:repeating-conic-gradient(#fff6b718 0 12deg,transparent 12deg 28deg);animation:ray-spin 14s linear infinite}.roulette-wheel{position:relative;width:min(70vw,270px);aspect-ratio:1;margin:0 auto 18px;display:grid;place-items:center}.roulette-disc{position:absolute;inset:0;border-radius:50%;border:8px solid #ffde8e;box-shadow:0 0 0 5px #a1446b,0 0 28px #ffd88088;transition:transform .12s ease-out;background:conic-gradient(from -22.5deg,#f37379 0 45deg,#f2b95c 45deg 90deg,#7ad9b1 90deg 135deg,#8fc6f1 135deg 180deg,#bba0ef 180deg 225deg,#ed9fcb 225deg 270deg,#f2d273 270deg 315deg,#f1739c 315deg 360deg)}.roulette-disc i{position:absolute;left:50%;top:50%;font-style:normal;font-weight:900;color:#3a3152;font-size:clamp(12px,4vw,17px);transform:translate(-50%,-50%) rotate(calc(var(--n)*45deg)) translateY(-94px) rotate(calc(var(--n)*-45deg))}.roulette-disc i:nth-child(1){--n:0}.roulette-disc i:nth-child(2){--n:1}.roulette-disc i:nth-child(3){--n:2}.roulette-disc i:nth-child(4){--n:3}.roulette-disc i:nth-child(5){--n:4}.roulette-disc i:nth-child(6){--n:5}.roulette-disc i:nth-child(7){--n:6}.roulette-disc i:nth-child(8){--n:7}.roulette-wheel>strong{position:relative;z-index:1;display:grid;place-items:center;width:53%;height:53%;border-radius:50%;background:#192542;border:5px solid #fff2bb;color:#fff5ae;font:clamp(22px,7vw,31px) 'DotGothic16',monospace;box-shadow:0 0 0 4px #b15470}.roulette-pointer{position:absolute;z-index:2;top:-19px;left:50%;transform:translateX(-50%);font-size:31px;color:#fff3bc;text-shadow:2px 3px #a44563}.roulette-panel .primary{max-width:310px;margin:auto;background:#ef6075;color:#fff8db;border-color:#ffe89a;box-shadow:3px 4px #b54d69}.roulette-panel .primary:disabled{opacity:1;background:#f4ce6b;color:#273049}.roulette-panel small{display:block;margin-top:16px;color:#dcd8e9;font-size:12px}.home-link{width:100%;border:0;background:transparent;color:#f6e6b4;min-height:32px;font-size:13px}.result .receipt dl>div{margin:3px 0}.result .receipt{padding:9px 12px}.audio-credit{margin-top:3px}@media(max-height:700px){.home-mode #intro h2{font-size:34px}.home-mark{margin-bottom:10px}.home-best{margin:4px auto 12px}.roulette-wheel{width:min(52vw,205px);margin-bottom:10px}.roulette-disc i{transform:translate(-50%,-50%) rotate(calc(var(--n)*45deg)) translateY(-70px) rotate(calc(var(--n)*-45deg))}.roulette-panel h2{margin:4px 0 9px}.roulette-panel small{margin-top:8px}.home-mode #intro>p{font-size:12px;margin-bottom:10px}}@media(prefers-reduced-motion:reduce){.roulette-rays{animation:none}.roulette-disc{transition:none}}
.home-mode #intro{background:#17223e;justify-content:flex-start;padding:24px 22px 32px;gap:0}.home-mode #intro:before{display:none}.home-mode #intro>canvas#home-scene{position:absolute!important;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}.home-mode #intro h2{font-size:clamp(33px,9vw,46px);line-height:1.25;margin:2px 0 0;text-shadow:3px 4px #802f69,0 0 15px #13223e}.home-mode .home-best{margin-top:auto;margin-bottom:13px;background:#14233ed9;padding:8px 18px;border:1px solid #ffecab55;border-radius:3px}.home-mode #intro .primary{background:linear-gradient(100deg,#ec6d84,#f6ac67);border:2px solid #fff4bc;box-shadow:4px 4px #623854;min-height:54px}.home-mode .intro-note{margin-top:17px;color:#fff0c7;background:#17253ecc;padding:5px 12px;font-size:13px}.music-credit{z-index:3}@media(max-height:650px){.home-mode #intro{padding:14px 18px 22px}.home-mode #intro h2{font-size:31px}.home-mode .home-best{padding:5px 12px;margin-bottom:9px}.home-mode .intro-note{margin-top:10px}}
.home-mode .lane-hint{display:none}

.home-best small{font-size:10px}.result .receipt h2 .result-heading{font-size:19px;color:#173c35;text-shadow:none}.scoreboard strong{overflow-wrap:anywhere}

.scoreboard{min-height:60px;padding:5px 12px}.build-bar{padding:3px 12px}.basket{display:none}.roulette-disc{transition:none}.roulette-wheel>strong{font-weight:bold;text-shadow:0 0 16px #ffe577}.scoreboard #total{color:#fff09a;text-shadow:0 0 12px #ffc06a}
.settlement{perspective:800px}.settle-content{transform-style:preserve-3d;border:5px solid #ffe596;border-radius:14px;box-shadow:0 12px 0 #9b4968,0 22px 0 #392950,0 35px 65px #000a,inset 0 0 45px #d99cff44;transform:rotateX(5deg)}.settle-content strong{position:relative;text-shadow:0 2px #ffb57c,0 4px #b96859,0 6px #844256,0 10px 20px #000a,0 0 28px #ffe799;will-change:transform}.settle-content p{font-weight:900;text-shadow:0 3px #3b7897,0 6px #213763,0 0 20px #91ffff;will-change:transform}.settle-rays{background:repeating-conic-gradient(from 0deg,#ffe99c30 0 8deg,transparent 8deg 22deg);animation-duration:5s}.settle-content:before,.settle-content:after{content:'';position:absolute;inset:-25px;border:3px solid #ffe99388;border-radius:20px;transform:translateZ(-60px);pointer-events:none}.settle-content:after{inset:-45px;border-color:#b1faff55;transform:translateZ(-140px)}@media(prefers-reduced-motion:reduce){.settle-content,.settle-content:before,.settle-content:after{transform:none}}
.cutin-banner{position:absolute;z-index:9;top:calc(max(8px,env(safe-area-inset-top)) + 34px);left:4%;width:92%;height:48px;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;opacity:0;background:linear-gradient(110deg,#192043 0%,#493169 50%,#152a47 100%);border:3px solid #ffe36c;box-shadow:0 3px 0 #cc567b,0 0 16px #ffe58199;color:#fff6a8;font:bold clamp(19px,6vw,29px) 'DotGothic16',monospace;text-shadow:2px 2px #94366b;white-space:nowrap}.home-mode~.cutin-banner{display:none}@media(max-height:650px){.cutin-banner{height:40px;font-size:20px}}
.hold-strip{height:32px;min-height:32px;padding:3px 12px;display:flex;align-items:center;gap:9px;background:#101d31;color:#b9d6e4;font:bold 11px 'DotGothic16',monospace;border-bottom:1px solid #51748b}.holds{display:flex;gap:7px;align-items:center}.hold-ball{display:block;position:relative;width:21px;height:21px;border-radius:50%;border:2px solid #eaf9ff;background:radial-gradient(circle at 30% 25%,#fff,var(--hold) 38%,#15253c 100%);box-shadow:0 2px 0 #060b16,0 0 7px var(--hold)}.hold-ball i{position:absolute;left:4px;top:3px;width:5px;height:3px;background:#ffffffb8;border-radius:50%}.hold-ball.red{border-color:#ffb4b9}.hold-ball.gold{border-color:#fff0b0;box-shadow:0 0 9px #ffcd62}.hold-ball.rainbow{background:conic-gradient(#ff8bac,#ffe576,#8bffbc,#75dfff,#c2a0ff,#ff8bac);border-color:#fff7cb;box-shadow:0 0 12px #fff4b2}#fever-counter{margin-left:auto;color:#ffe280;font-size:12px}.home-mode .hold-strip{display:none}.fever-mode .hold-strip{background:#352046;border-color:#ffe38d}.fever-mode #hold-label{color:#fff09a}.fever-mode .holds{opacity:.35}.fever-mode .scoreboard{background:linear-gradient(110deg,#563552,#263d6d,#265648);box-shadow:inset 0 -3px #ffe190}.fever-demo{position:relative;width:100%;max-width:340px;margin-top:10px;min-height:38px;border:1px solid #d3bfff;background:#241e46ed;color:#ffeab5;font-size:13px;font-weight:bold;box-shadow:2px 3px #10172d}.fever-intro{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;perspective:700px;background:radial-gradient(circle,#5c2c79,#10142b 75%);overflow:hidden;color:#fff3b4;text-align:center}.fever-rays{position:absolute;inset:-100%;background:repeating-conic-gradient(#ffe68a33 0 8deg,#9744b522 8deg 17deg,transparent 17deg 26deg);animation:ray-spin 5s linear infinite}.fever-door{position:absolute;top:0;bottom:0;width:51%;background:repeating-linear-gradient(#1a2131 0 24px,#3b4056 24px 28px);border:4px solid #c3bc96;z-index:2;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.fever-door.left{left:0}.fever-door.right{right:0}.fever-intro-copy{position:relative;z-index:3;width:100%;padding:15px;transform-style:preserve-3d}.fever-intro-copy>span{display:block;font-size:19px;letter-spacing:2px;color:#fffbe0;margin-bottom:17px}.fever-intro-copy>strong{display:block;font:bold clamp(38px,13vw,65px) 'DotGothic16',monospace;line-height:1.3;text-shadow:0 3px #f0a052,0 6px #a44273,0 9px #572052,0 0 35px #ffe580;transition:transform .4s,opacity .3s}.fever-intro-copy>p{font-size:20px;color:#aaffec;text-shadow:0 3px #194d60;margin-top:24px}.fever-intro[data-phase="0"]{background:#090c18}.fever-intro[data-phase="0"] .fever-intro-copy>strong,.fever-intro[data-phase="0"] .fever-intro-copy>p{opacity:0;transform:translateZ(-250px) rotateX(45deg)}.fever-intro[data-phase="1"] .fever-intro-copy>strong{transform:translateZ(-100px) rotateY(20deg);color:#ffdfa4}.fever-intro[data-phase="2"] .fever-door.left,.fever-intro[data-phase="3"] .fever-door.left{transform:translateX(-105%)}.fever-intro[data-phase="2"] .fever-door.right,.fever-intro[data-phase="3"] .fever-door.right{transform:translateX(105%)}.fever-intro[data-phase="2"] .fever-intro-copy>strong{transform:translateZ(80px)}.fever-intro[data-phase="3"] .fever-intro-copy>strong{transform:translateZ(0)}.playfield:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(transparent 0 3px,#02081114 3px 4px);opacity:.45}.result{overflow-y:auto}@media(prefers-reduced-motion:reduce){.fever-rays{animation:none}.fever-door,.fever-intro-copy>strong{transition:none}.fever-intro-copy>strong{transform:none!important}}@media(max-height:650px){.hold-strip{height:26px;min-height:26px}.hold-ball{width:18px;height:18px}.fever-demo{margin-top:6px;min-height:32px}.home-mode .intro-note{margin-top:8px}}
@keyframes hold-breathe{50%{transform:translateY(-2px);box-shadow:0 0 15px var(--hold)}}.hold-ball.red:first-child,.hold-ball.gold:first-child,.hold-ball.rainbow:first-child{animation:hold-breathe .75s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.hold-ball{animation:none!important}}
.final-burst{position:absolute;inset:0;z-index:7;display:grid;place-items:center;text-align:center;overflow:hidden;color:#fff3b2;background:radial-gradient(circle,#a24576dd,#17203ef2 75%);perspective:650px}.final-burst-content{position:relative;width:94%;padding:25px 8px;border-block:6px double #ffe38f;background:#222342c9;box-shadow:0 0 55px #ffde8a88;animation:final-impact 1s cubic-bezier(.12,.85,.25,1)}.final-burst-content>span{display:block;font:bold 28px 'DotGothic16',monospace;color:#fff4c9}.final-burst-content>strong{display:block;margin:24px 0;font:bold clamp(23px,8vw,42px) 'DotGothic16',monospace;overflow-wrap:anywhere;text-shadow:0 3px #f2ad4f,0 6px #ba5467,0 9px #733d66,0 12px 20px #000b,0 0 30px #ffe580}.final-burst-content>p{font-size:14px;color:#b2ffed}.ending-skip{position:absolute;z-index:8;bottom:10px;right:10px;min-width:84px;min-height:38px;border:1px solid #ffeab2;background:#13233de8;color:#fff2ca;font-size:12px}.settle-content{background:#18243bc9}.settle-content p{display:inline-block;max-width:94%;padding:10px 18px;background:linear-gradient(120deg,#254f6d,#37316a);border:3px solid #b7ffff;box-shadow:4px 5px #16233f,8px 10px #0d162d,0 0 22px #7ef3ff66;overflow-wrap:anywhere}.settle-content h2{display:inline-block;padding:5px 12px;border:1px solid #ffe9a2;background:#18263ddb}.settlement[data-step="4"] .settle-rays{opacity:.15}.settlement[data-step="4"] .settle-content p{font-size:21px;background:#26364b;box-shadow:none}.roulette{background:radial-gradient(circle,#725090ed,#22244be8 70%)}.result .receipt{animation:receipt-feed .6s ease-out}@keyframes final-impact{0%{transform:translateZ(-500px) rotateX(35deg);opacity:0}45%{transform:translateZ(85px) rotateX(-5deg);opacity:1}75%{transform:translateZ(-15px)}100%{transform:translateZ(0)}}@keyframes receipt-feed{from{transform:translateY(-70px) scaleY(.7);opacity:0}to{transform:translateY(0) scaleY(1);opacity:1}}@media(prefers-reduced-motion:reduce){.final-burst-content,.result .receipt{animation:none}}
/* Compact race HUD: give the course the screen. */
.racing-ui .mobile-header{position:absolute;right:46px;top:max(5px,env(safe-area-inset-top));z-index:4;padding:0;height:30px}.racing-ui .mobile-header b{display:none}.racing-ui .mobile-header .icon-button{min-height:30px;padding:3px 5px;font-size:10px}.scoreboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px;align-items:center;gap:9px;min-height:46px;padding:5px 10px;padding-top:max(5px,env(safe-area-inset-top));background:#14233a}.scoreboard>strong{margin:0}.scoreboard .point-panel{display:flex;align-items:baseline;gap:4px;margin-right:38px;min-width:0}.point-panel strong{margin:0;color:#8ce6ff}.point-unit{font:13px 'DotGothic16',monospace;color:#b8f1ff;flex-shrink:0}.scoreboard #pause{min-height:30px;padding:0;width:30px}.hold-strip{height:24px;min-height:24px;padding:1px 10px;border-bottom-color:#29465b;gap:10px}.hold-strip #level-label{font-size:10px;color:#b8cadc;white-space:nowrap}.holds{gap:6px;margin-left:auto}.hold-ball{width:17px;height:17px;box-shadow:0 0 4px var(--hold)}#fever-counter{margin-left:0;font-size:10px;white-space:nowrap}.cutin-banner{top:max(5px,env(safe-area-inset-top));left:10px;width:calc(100% - 102px);height:35px;font-size:clamp(16px,5vw,25px);border-width:2px}.machine{padding-bottom:max(12px,env(safe-area-inset-bottom))}.music-credit{font-size:9px;bottom:2px}.fever-intro-copy>span:empty{display:none}.fever-intro-copy>p{font-size:22px}.home-mode .scoreboard,.home-mode .hold-strip{display:none}
.race-start{position:absolute;inset:0;z-index:15;pointer-events:none;display:flex;flex-direction:column;align-items:center;padding-top:25%;background:linear-gradient(#07121c66,transparent 75%);text-align:center}.start-lights{display:flex;gap:16px;padding:15px 22px;background:#101827;border:5px solid #dae8d4;box-shadow:8px 8px 0 #0007;transform:perspective(500px) rotateX(-8deg)}.start-lights i{display:block;width:45px;height:45px;border:4px solid #4e3643;background:#381e2b;box-shadow:inset 0 -8px #0005}.race-start[data-step="0"] i:first-child,.race-start[data-step="1"] i:nth-child(-n+2),.race-start[data-step="2"] i{background:#ff556d;border-color:#ffd2b1;box-shadow:0 0 18px #ff496a,inset 0 -8px #bf284b}.race-start strong{font-size:100px;line-height:1.4;color:#fff6d1;text-shadow:5px 5px #15283c,-3px -3px #15283c;filter:drop-shadow(0 0 10px #ff9b65);font-weight:900}.race-start[data-step="3"]{background:none}.race-start[data-step="3"] i{background:#74ff8d;border-color:#eaffbe;box-shadow:0 0 24px #56ffab,inset 0 -8px #22b585}.race-start[data-step="3"] strong{font-size:clamp(40px,12vw,58px);color:#c4ff99;filter:drop-shadow(0 0 12px #8bffc4)}#paused{z-index:30}@media(prefers-reduced-motion:no-preference){.race-start[data-step="3"] strong{animation:start-launch .65s ease-out both}@keyframes start-launch{0%{transform:perspective(500px) translateZ(150px) rotate(-5deg)}30%{transform:perspective(500px) translateZ(0) rotate(2deg)}100%{transform:translateY(-36px);opacity:0}}}
.header-controls{display:flex;gap:6px;align-items:center}.header-controls .icon-button{min-height:32px;padding:3px 8px;font-size:12px;color:#fff3cf;border-color:#acb4ff70}.scoreboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px}.scoreboard #pause{width:42px;font-size:12px;letter-spacing:0;color:#ffedb6;background:#314365}.scoreboard .point-panel{margin-right:0}.cutin-banner{width:calc(100% - 170px);font-size:clamp(13px,4vw,21px)}#paused{gap:18px;background:linear-gradient(#1b2c4ef5,#453463f5);color:#fff5dc}#paused h2{color:#fff0ac;font-size:36px}#paused button{width:min(260px,90%);min-height:50px}#paused .secondary{background:#263b58;color:#f5edff;border:2px solid #b3c0f1}.home-mode #intro{box-shadow:inset 0 0 0 4px #e8c875,inset 0 0 0 8px #9e598e}.home-mode #intro h2{padding:8px 16px;border:2px solid #ffe8a5;background:linear-gradient(120deg,#49396bdd,#23557cdd);box-shadow:4px 5px #15283dcc;color:#fff6da}.home-mode #intro h2 em{color:#ffe186;text-shadow:3px 3px #a45a76}.home-mode #intro .primary{background:linear-gradient(110deg,#e974a5,#f49472,#edc264);box-shadow:4px 4px #52355e,0 0 18px #ffd67b55}.home-mode .home-best{border:2px solid #e8d59c;background:#1b294ce8;box-shadow:3px 3px #b17d8433}.home-mode .fever-demo{border-color:#a9f7df;color:#e6ffeb;background:#2c4767e8}
#paused{display:grid;place-items:center;gap:0;padding:20px;background:#0c1628e8;backdrop-filter:blur(4px)}#paused .pause-panel{box-sizing:border-box;width:min(100%,310px);max-height:100%;overflow:auto;padding:28px 22px 30px;border:3px solid #d5ceee;background:linear-gradient(145deg,#283c60,#393154);box-shadow:6px 7px 0 #080f20aa;text-align:center}#paused h2{margin:0 0 26px;font-size:30px;line-height:1.3;letter-spacing:.08em;color:#fff1bc}#paused .pause-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}#paused .pause-actions button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:none;width:100%;max-width:none;min-width:0;height:56px;min-height:56px;margin:0;padding:10px 12px;font-size:17px;line-height:1.3;font-weight:900;letter-spacing:.03em;border:2px solid #fff0b8;border-radius:0;box-shadow:3px 4px #111b32;white-space:normal}#paused #resume{background:linear-gradient(110deg,#e46b90,#f09c6b);color:#fffbed}#paused #pause-home{background:#223651;color:#e5eafb;border-color:#93a9cc;font-size:16px}#paused .pause-actions button:active{transform:translate(2px,2px);box-shadow:1px 2px #111b32}#paused .pause-actions button:focus-visible{outline:3px solid #a4ffdd;outline-offset:4px}@media(max-height:520px){#paused{padding:12px}#paused .pause-panel{padding:20px 18px 22px}#paused h2{margin-bottom:18px;font-size:25px}#paused .pause-actions{gap:12px}#paused .pause-actions button{height:48px;min-height:48px}}
