.PachinkoGame { --vlt-cyan: #7affff; --vlt-pink: #ff73da; --vlt-gold: #ffe0a0; }
.PachinkoGame .VLTCabinet { max-width: 1000px; padding: .75rem 1rem; border-radius: 1.2rem; border: 1px solid #85dce88a; background: radial-gradient(ellipse at 20% 10%, #133c5677, transparent 60%), radial-gradient(ellipse at 90% 80%, #65194966, transparent 65%), #050d1b; box-shadow: inset 0 0 0 5px #82e7ff0d, 0 20px 60px #0009, 0 0 35px #33dfff15; }
.PachinkoGame .VLTMarquee h1 { font: 900 italic clamp(1.6rem, 5vw, 3.2rem)/1.1 system-ui, sans-serif; letter-spacing: -.06em; color: #e9ffff; text-shadow: 0 2px #477ca1, 0 0 25px #30ecff88, 2px 4px #231335; }
.PachinkoGame .VLTEyebrow { color: #8bdbe3; }
.PachinkoGame .VLTTagline { color: #baa7cd; margin: .2rem 0 .5rem; }
.PachinkoGame .VLTMeters { max-width: 660px; background: linear-gradient(90deg, #112b3a, #2e1537); border: 1px solid #b1f5ff33; }
.PachinkoBoard { position: relative; width: min(100%, 64vh, 660px); aspect-ratio: 1; margin: auto; isolation: isolate; }
.PachinkoBoard canvas, .PachinkoFallback { display: block; position: absolute; inset: 0; width: 100%; height: 100%; }
.PachinkoFallback { background: radial-gradient(ellipse at 50% 35%, #143552, #0b0d20); border: 2px solid #6dceef; border-radius: .5rem; }
.PachinkoLoading { position: absolute; inset: 40% 0 auto; text-align: center; color: #aeeaff; font: .8rem system-ui; }
.PachinkoPockets { position: absolute; left: 8.333%; right: 8.333%; top: 89%; display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); gap: 2px; }
.PachinkoPocket { min-width: 0; text-align: center; color: #bbfaff; font: 800 clamp(.45rem, 1.5vw, .8rem)/1.5 system-ui; border-radius: 3px; padding-block: .15rem; background: #113542; border-bottom: 2px solid #46c7d9; }
.PachinkoPocket:first-child, .PachinkoPocket:last-child { color: #fff0b9; background: #5f321d; border-color: #ffb34f; }
.PachinkoPocket.Landed { color: #06131b; background: #b8ffff; box-shadow: 0 0 18px #85ffff; border-color: #fff; }
.PachinkoGame .VLTReadout { min-height: 66px; padding: .25rem 0; }
.PachinkoGame .VLTWinAmount { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.PachinkoGame .VLTForm { max-width: 660px; }
.PachinkoGame .VLTSpin { color: #071625; border-color: #efffff; background: linear-gradient(170deg, #edffff, #66eeff 48%, #31b3e7 50%, #a3f5ff); box-shadow: 0 4px #265b82, 0 0 25px #4adfff66; }
.PachinkoReceipt { margin: 0; color: #bcd6e2; font-size: .75rem; }
@media (prefers-reduced-motion: no-preference) {
    .PachinkoBoard.Jackpot { animation: PachinkoJackpot 2.5s ease-out; }
    @keyframes PachinkoJackpot { 0%, 25%, 50% { filter: drop-shadow(0 0 24px #ffc063); } 15%, 40%, 100% { filter: drop-shadow(0 0 6px #ff73da); } }
}
@media (min-width: 850px) and (max-height: 850px) {
    .PachinkoGame .VLTCabinet { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .65fr); gap: .5rem 1rem; align-items: center; }
    .PachinkoGame .VLTMarquee { grid-column: 1 / -1; }
    .PachinkoGame .VLTMeters { grid-column: 1; width: 100%; box-sizing: border-box; }
    .PachinkoBoard { grid-column: 1; grid-row: 3 / 7; width: min(100%, 65vh); }
    .PachinkoGame .VLTReadout { grid-column: 2; grid-row: 3; }
    .PachinkoGame .VLTForm { grid-column: 2; grid-row: 4; }
    .PachinkoGame .VLTWins { grid-column: 2; grid-row: 5; }
    .PachinkoGame .VLTMarquee h1 { font-size: 2rem; }
}
@media (max-width: 520px) {
    .PachinkoGame .VLTCabinet { padding: .6rem .4rem; }
    .PachinkoBoard { width: 100%; }
    .PachinkoPockets { gap: 1px; }
    .PachinkoGame .VLTResult { font-size: .75rem; }
}
