.screen-wrap canvas{z-index:0;position:relative}.game-background-motion{z-index:1;object-fit:cover;pointer-events:none;mix-blend-mode:screen;filter:saturate(.9)contrast(1.12)brightness(.62);width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.game-background-motion.is-playing{opacity:.08;animation:24s ease-in-out infinite alternate hex-ambient-drift}.game-background-motion.is-menu{opacity:.2;animation:30s ease-in-out infinite alternate hex-ambient-drift}.game-background-vignette{z-index:2;pointer-events:none;background:radial-gradient(#0505091f 0%,#05050914 46%,#05050905 80%);position:absolute;inset:0}.screen-wrap .scanlines{z-index:3}@media (prefers-reduced-motion:reduce){.game-background-motion{display:none}}@keyframes hex-ambient-drift{0%{transform:scale(1.01)translate(-.3%)}to{transform:scale(1.035)translate(.3%)}}.arcade-page[data-reduced-motion=true] .game-background-motion{animation:none}.game-scene-source{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.arcade-page[data-game-state]{--hex-blue:#087cff;--hex-pink:#ff2a9d;--hex-violet:#756cff;--hex-gold:#ffd36a;--hex-jade:#63f5c8}.arcade-page[data-game-state]:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 8%,#756cff1a,#0000 34rem),repeating-linear-gradient(60deg,#ffffff03 0 1px,#0000 1px 10px),repeating-linear-gradient(-60deg,#ff2a9d03 0 1px,#0000 1px 10px);position:fixed;inset:0}.arcade-page[data-game-state=playing] .machine-status i,.arcade-page[data-game-state=hurry] .machine-status i{animation:.9s steps(2,end) infinite hex-heartbeat}.arcade-page[data-game-state=hurry] .machine-status i{background:#ff4a66;box-shadow:0 0 14px #ff4a66}.arcade-page[data-game-state=paused] .machine-status i{background:var(--hex-gold);box-shadow:0 0 14px var(--hex-gold)}.cabinet{overflow:hidden}.cabinet-crown{isolation:isolate;position:relative;overflow:hidden}.cabinet-crown:before{content:"";z-index:-1;filter:blur(8px);background:radial-gradient(circle,#ff2a9d2e,#087cff14 45%,#0000 72%);border-radius:999px;position:absolute;inset:3px 14%}.cabinet-crown:after{content:"";background:linear-gradient(90deg,#0000,#ffffff29,#0000);width:22%;animation:7s ease-in-out infinite hex-marquee-sweep;position:absolute;top:0;bottom:0;left:-28%;transform:skew(-22deg)}.hex-data-rail{background:#02030a;border:1px solid #756cff61;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 clamp(2px,.8vw,10px) clamp(7px,1vw,12px);display:grid;box-shadow:inset 0 0 18px #000,0 0 16px #ff2a9d1a}.hex-data-rail>span{background:linear-gradient(#121027f0,#03040cfa);border-right:1px solid #ffffff0b;min-width:0;padding:6px clamp(7px,1vw,14px) 7px}.hex-data-rail>span:last-child{border-right:0}.hex-data-rail small,.hex-data-rail b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.hex-data-rail small{color:#8a7aa5;letter-spacing:.16em;font-size:clamp(8px,.75vw,10px);font-weight:900}.hex-data-rail b{color:#fff5fc;letter-spacing:.08em;text-shadow:0 0 10px #ff2a9d7a;margin-top:2px;font-size:clamp(10px,1vw,14px)}.screen-bezel{position:relative}.screen-bezel:after{content:"BLACK HEART SIGNAL";z-index:5;color:#ffccecb8;letter-spacing:.12em;pointer-events:none;background:#03030ab8;border:1px solid #ff2a9d3d;padding:3px 6px;font-size:clamp(7px,.62vw,9px);font-weight:900;position:absolute;bottom:clamp(8px,1.1vw,14px);right:clamp(9px,1.4vw,18px)}.control-deck{background:linear-gradient(#140d23db,#03030afa),repeating-linear-gradient(90deg,#0000 0 11px,#ffffff04 12px);border-radius:0 0 18px 18px}.dpad button,.action-controls button,.mini-controls button{transition:transform .1s,filter .14s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.dpad button:after,.action-controls button:after,.mini-controls button:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff2b,#0000);height:34%;position:absolute;inset:1px 9% auto}.dpad button:hover,.action-controls button:hover,.mini-controls button:hover{filter:brightness(1.13)saturate(1.08)}.dpad button:active,.action-controls button:active,.mini-controls button:active{transform:translateY(3px)scale(.985)}.action-controls button small{letter-spacing:.12em;margin-top:3px;font-size:clamp(8px,.8vw,11px);font-weight:1000;display:block}.action-controls .bubble{box-shadow:0 0 0 4px #ffffff0d,0 0 0 6px #0000008c,inset 0 -9px #0000004d,0 0 30px #ff2a9d47,0 7px 19px #000}.action-controls .jump{box-shadow:0 0 0 4px #ffffff0d,0 0 0 6px #0000008c,inset 0 -9px #0000004d,0 0 30px #087cff4d,0 7px 19px #000}.arcade-page[data-game-state=hurry] .cabinet{box-shadow:0 0 0 2px #010207,0 0 0 4px #ff4a669e,0 24px 70px #000,0 0 70px #ff2a583d}@keyframes hex-marquee-sweep{0%,66%{opacity:0;left:-28%}73%{opacity:.82}88%{opacity:.4;left:110%}to{opacity:0;left:110%}}@keyframes hex-heartbeat{50%{opacity:.42}}@media (width<=660px){.hex-data-rail{grid-template-columns:1fr}.hex-data-rail>span{border-bottom:1px solid #ffffff0a;border-right:0}.hex-data-rail>span:last-child{border-bottom:0}}@media (prefers-reduced-motion:reduce){.cabinet-crown:after,.arcade-page[data-game-state=playing] .machine-status i,.arcade-page[data-game-state=hurry] .machine-status i{animation:none}}.cabinet{width:min(1320px,max(520px,133.33svh - 599.984px),100%);min-width:0}.screen-bezel{width:min(100%,max(180px,133.33svh - 625.984px));margin-inline:auto}.play-readout{min-height:42px;color:var(--hex-jade);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 8px 8px;font-size:12px;line-height:1.4;display:flex}.play-readout strong{color:var(--hex-gold);font-variant-numeric:tabular-nums;white-space:nowrap}.combo-readout{flex:220px}.dpad button{width:88px;height:88px}.action-controls{--action-size:124px;grid-template-columns:var(--action-size) var(--action-size);align-items:start;gap:12px;display:grid}.action-controls button{width:var(--action-size);height:var(--action-size)}.action-controls .jump{margin-top:calc(var(--action-size) * .4)}.mini-controls button{min-height:48px}.control-deck{gap:16px}.dpad,.action-controls{gap:12px}.dpad button[data-held],.action-controls button[data-held]{filter:brightness(1.18);border-color:var(--shine);transform:translateY(2px)scale(.97)}.mini-controls button[aria-pressed=true]{border-color:var(--hex-jade);color:var(--hex-jade)}.mini-controls button:disabled{opacity:.42;box-shadow:none;cursor:default;filter:none;transform:none}@media (hover:none){.dpad button:hover,.action-controls button:hover,.mini-controls button:hover{filter:none}}@media (width<=700px){.cabinet{width:100%}.top-rail .machine-status{display:none}.arcade-page{padding-inline:max(6px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-right))}.hex-data-rail{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);margin-bottom:4px}.hex-data-rail>span{border-bottom:0;padding:4px 6px}.hex-data-rail>span:last-child{display:none}.hex-data-rail small{font-size:8px}.hex-data-rail b{letter-spacing:.02em;font-size:10px}.play-readout{gap:2px 8px;min-height:44px;padding:4px 6px 6px;font-size:11px}.combo-readout{flex-basis:100%;min-height:28px;line-height:1.25}.screen-bezel{width:min(100%,133.33svh - 499.321px);margin-inline:auto}.control-deck{gap:12px 8px;padding:12px 2px 8px}.dpad,.action-controls{gap:8px}.control-deck{grid-template-columns:auto auto;justify-content:space-between}.dpad button{width:clamp(60px,17vw,76px);height:clamp(72px,20vw,88px)}.action-controls{--action-size:clamp(76px,22vw,104px);gap:8px}.mini-controls{gap:8px}.mini-controls button{min-height:48px;padding:6px 3px;font-size:10px}.action-controls button small{font-size:9px}.screen-bezel:after{display:none}}@media (width<=350px){.cabinet{padding-inline:2px}}@media (orientation:landscape) and (height<=500px){.cabinet{width:100%}.hex-data-rail{grid-template-columns:1fr 1fr;margin:0 0 2px}.hex-data-rail>span:last-child{display:none}.hex-data-rail>span{padding:2px 6px}.hex-data-rail small{display:none}.play-readout{flex-wrap:nowrap;min-height:28px;padding:2px 6px;font-size:11px}.combo-readout{flex-basis:auto;min-height:0;font-size:10px}.play-layout{grid-template-columns:minmax(76px,1fr) minmax(0,min(64vw,133.33svh - 175.996px)) minmax(106px,1fr);gap:4px 10px}.screen-bezel{width:100%}.dpad{grid-template-columns:1fr;gap:10px;width:auto}.dpad button{width:68px;height:64px}.action-controls{--action-size:clamp(78px,26svh,104px);width:calc(var(--action-size) + 20px);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.action-controls .jump{align-self:flex-end;margin-top:0}.mini-controls{gap:8px;padding-top:2px}.mini-controls button{min-height:44px;padding:4px;font-size:10px}}@media (prefers-reduced-motion:reduce){.dpad button[data-held],.action-controls button[data-held]{transform:none}}.arcade-page[data-reduced-motion=true] .cabinet-crown:after,.arcade-page[data-reduced-motion=true] .machine-status i{animation:none}.arcade-page[data-reduced-motion=true] button{transition:none}.pause-summary{z-index:5;border:1px solid var(--hex-pink);color:var(--shine);text-align:center;pointer-events:none;background:#050509f7;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:clamp(11px,2.9vw,16px);line-height:1.25;display:flex;position:absolute;inset:6px}.pause-summary strong{color:var(--hex-jade);letter-spacing:.1em;font-family:Georgia,serif;font-size:clamp(20px,5vw,32px)}@media (orientation:landscape) and (height<=500px){.pause-summary{gap:5px;font-size:11px}.pause-summary strong{font-size:20px}}.arcade-page[data-horizontal=true]{--game-width:100dvw;--game-height:100dvh;--screen-reserve:168px;--safe-top:env(safe-area-inset-top);--safe-right:env(safe-area-inset-right);--safe-bottom:env(safe-area-inset-bottom);--safe-left:env(safe-area-inset-left);--usable-width:calc(var(--game-width) - var(--safe-left) - var(--safe-right) - 28px);--board-width:min(calc(var(--usable-width) - 320px),calc((var(--game-height) - var(--screen-reserve) - var(--safe-top) - var(--safe-bottom))*1.33333));width:var(--game-width);height:var(--game-height);min-height:0;padding:max(4px,var(--safe-top)) max(6px,var(--safe-right)) max(4px,var(--safe-bottom)) max(6px,var(--safe-left));justify-content:center;position:fixed;inset:0 auto auto 0;overflow:hidden}.arcade-page[data-horizontal=true] .top-rail{padding-bottom:4px}.arcade-page[data-horizontal=true] .cabinet{width:100%;min-width:0;max-width:none;padding:0 4px 4px}.arcade-page[data-horizontal=true] .cabinet-crown{height:34px}.arcade-page[data-horizontal=true] .hex-data-rail{display:none}.arcade-page[data-horizontal=true] .play-readout{flex-wrap:nowrap;min-height:24px;padding:2px 6px;font-size:11px}.arcade-page[data-horizontal=true] .combo-readout{flex-basis:auto;min-height:0;font-size:11px;line-height:1.2}.arcade-page[data-horizontal=true] .play-layout{grid-template-columns:minmax(190px,1fr) minmax(0,var(--board-width)) minmax(110px,1fr);grid-template-rows:auto 44px;align-items:center;gap:4px 6px;display:grid}.arcade-page[data-horizontal=true] .screen-bezel{grid-area:1/2;width:100%;margin:0;padding:4px}.arcade-page[data-horizontal=true] .control-deck{display:contents}.arcade-page[data-horizontal=true] .control-deck:before{display:none}.arcade-page[data-horizontal=true] .dpad{flex-direction:row;grid-area:1/1;place-self:end center;gap:10px;width:auto;margin-bottom:18px;display:flex}.arcade-page[data-horizontal=true] .dpad button{flex-direction:column;gap:3px;width:88px;height:88px}.arcade-page[data-horizontal=true] .action-controls{--action-size:104px;width:calc(var(--action-size) + 18px);flex-direction:column;grid-area:1/3;justify-self:center;align-items:flex-start;gap:8px;display:flex}.arcade-page[data-horizontal=true] .action-controls .jump{align-self:flex-end;margin:0}.arcade-page[data-horizontal=true] .action-controls button{width:var(--action-size);height:var(--action-size)}.arcade-page[data-horizontal=true] .mini-controls{grid-area:2/1/auto/4;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0}.arcade-page[data-horizontal=true] .mini-controls button{min-height:44px;padding:4px;font-size:10px}.arcade-page[data-horizontal=true] .machine-footer{display:none}.arcade-page[data-horizontal=true] .pause-summary{gap:6px;font-size:13px}@media (height<=600px),(orientation:portrait){.arcade-page[data-horizontal=true]{--screen-reserve:94px;--board-width:min(calc(var(--usable-width) - 282px),calc((var(--game-height) - var(--screen-reserve) - var(--safe-top) - var(--safe-bottom))*1.33333))}.arcade-page[data-horizontal=true] .play-layout{grid-template-columns:minmax(154px,1fr) minmax(0,var(--board-width)) minmax(110px,1fr)}.arcade-page[data-horizontal=true] .top-rail,.arcade-page[data-horizontal=true] .cabinet-crown{display:none}.arcade-page[data-horizontal=true] .dpad button{width:72px;height:72px}.arcade-page[data-horizontal=true] .action-controls{--action-size:88px}.arcade-page[data-horizontal=true] .screen-bezel:after{display:none}}@media (orientation:portrait){.arcade-page[data-horizontal=true]{--game-width:100dvh;--game-height:100dvw;--safe-top:env(safe-area-inset-right);--safe-right:env(safe-area-inset-bottom);--safe-bottom:env(safe-area-inset-left);--safe-left:env(safe-area-inset-top);transform-origin:0 0;left:100dvw;transform:rotate(90deg)}}.arcade-page[data-horizontal=true] .dpad small{letter-spacing:.08em;font-size:10px;line-height:1}
