@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/press-start-2p-latin-400-normal.woff2)format("woff2")}.cabwrap{box-sizing:border-box;aspect-ratio:552/484;justify-content:center;align-items:center;width:100%;min-width:0;height:auto;min-height:0;max-height:100%;padding:10px;display:flex;position:relative;container-type:size}.cab{aspect-ratio:552/484;flex:none;width:min(100cqw,114.05cqh);height:auto;position:relative}.cab .slot{background:var(--screen);z-index:3;border-radius:2.275%/2.796%;justify-content:center;align-items:center;width:71.13%;height:65.99%;display:flex;position:absolute;top:18.91%;left:13.82%;overflow:hidden}.cab svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.cab img.mark{object-fit:contain;pointer-events:none;z-index:4;position:absolute}.bleed{box-sizing:border-box;background:var(--screen);justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.bleed .holder{flex:none;line-height:0;display:block;position:relative;overflow:hidden}.bleed canvas.game{touch-action:none;display:block}.cab .slot .holder{flex:none;line-height:0;display:block;position:relative;overflow:hidden}.holder canvas.game{position:absolute;top:0;left:0}.cab canvas.game{image-rendering:pixelated}.slot{background:var(--screen);z-index:3;border-radius:2.275%/2.796%;justify-content:center;align-items:center;width:71.13%;height:65.99%;display:flex;position:absolute;top:18.91%;left:13.82%;overflow:hidden}.slot .holder{flex:none;line-height:0;display:block;position:relative;overflow:hidden}.ov{z-index:3;text-align:center;color:var(--arcade-text);background:linear-gradient(#050c01f6,#050c01fe);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:22px;display:flex;position:absolute;inset:0;overflow:auto}.ov.clear{pointer-events:none;background:0 0}.ov.clear [data-screen-buttons]{pointer-events:auto;gap:10px;display:flex;position:absolute;bottom:10px;right:10px}.ov.clear button{pointer-events:auto;opacity:.85}.ov.clear button:hover,.ov.clear button:focus-visible{opacity:1}.ov>*{flex:none;max-width:100%;position:relative}.ov.reveal{animation:.42s steps(6,end) both pixelin}.ov h4{letter-spacing:0;color:var(--lime);text-shadow:3px 3px #000000bf;margin:0;font-family:"Press Start 2P",IBM Plex Mono,ui-monospace,monospace;font-size:clamp(13px,3.4vw,22px);font-weight:400;line-height:1.5}.ov h4.blink{animation:1.1s step-end infinite blinkarc}.ov p{color:var(--arcade-muted);max-width:34ch;margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(12px,2.6vw,14px)}[data-screen-lines]{flex-direction:column;align-items:center;gap:14px;display:flex}.ov .big{color:var(--arcade-text);letter-spacing:.02em;text-shadow:4px 4px #000c;margin:0;font-family:"Press Start 2P",IBM Plex Mono,ui-monospace,monospace;font-size:clamp(22px,6.5vw,40px);font-weight:400}.ov .row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.ov .menu{flex-direction:column;gap:10px;width:min(260px,100%);display:flex}.ov .menu button{width:100%}.ov button{cursor:pointer;background:var(--lime);color:#12210a;border:2px solid var(--lime);border-radius:0;min-width:44px;min-height:44px;padding:13px 16px;font-family:"Press Start 2P",IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:400;line-height:1.6;transition:transform 60ms steps(2,end);box-shadow:4px 4px #000c}.ov button:active{transform:translate(2px,2px);box-shadow:2px 2px #000c}.ov button.ghost{color:var(--arcade-text);border-color:var(--arcade-muted);background:0 0;box-shadow:4px 4px #0009}.ov input:not([type=checkbox]):not([type=radio]){text-align:center;letter-spacing:0;text-transform:uppercase;width:min(280px,100%);min-height:44px;color:var(--lime);border:2px solid var(--arcade-muted);background:#0a1305;border-radius:0;padding:12px;font-family:"Press Start 2P",IBM Plex Mono,ui-monospace,monospace;font-size:16px}.ov input:focus{outline:2px solid var(--lime);outline-offset:1px}.ov .err{color:var(--warn-text);background:var(--warn-bg);border:2px solid var(--warn-rule);border-radius:0;padding:7px 10px;font-family:"Press Start 2P",IBM Plex Mono,monospace;font-size:9px;line-height:1.6}.ov .hint{letter-spacing:.14em;text-transform:uppercase;color:var(--arcade-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px}.ov .rank{color:var(--arcade-text);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px}.ov table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:min(320px,100%);font-family:"Press Start 2P",IBM Plex Mono,monospace;font-size:9.5px}.ov td{border-bottom:1px solid var(--arcade-rule);text-align:left;padding:4px 0}.ov td.r{text-align:right}.ov tr.you td{color:var(--lime);font-weight:600}@keyframes pixelin{0%{opacity:0}to{opacity:1}}@keyframes blinkarc{0%,55%{opacity:1}56%,to{opacity:.15}}@keyframes sp{to{transform:rotate(360deg)}}.ov .spinner{border:2px solid var(--arcade-rule);border-top-color:var(--lime);border-radius:50%;width:26px;height:26px;animation:1s linear infinite sp}@keyframes hintpulse{0%,60%{opacity:1}61%,to{opacity:.45}}.swipehint{pointer-events:none;z-index:2;justify-content:center;display:flex;position:absolute;bottom:16%;left:0;right:0}.swipehint span{color:var(--lime);border:2px solid var(--arcade-rule);background:#050c01db;padding:9px 12px;font-family:"Press Start 2P",IBM Plex Mono,monospace;font-size:9px;line-height:1.6;animation:1.6s steps(2,end) infinite hintpulse}.stage-col,.cab,.bleed{--lime:#b3ff00;--cab-body:#2a5800;--cab-dark:#060d02;--arcade-bg:#0b0f0a;--arcade-rule:#26301f;--arcade-text:#e6efe0;--arcade-muted:#7e8c78;--screen:#050c01;--warn-bg:#3a1414;--warn-rule:#6b2020;--warn-text:#ffc9c9}.cab .slot canvas{image-rendering:pixelated;touch-action:none;display:block}@media (prefers-reduced-motion:reduce){.ov h4,.ov .big,.ov button,.swipehint span{transition:none!important;animation:none!important}.ov .spinner{animation-duration:3s}}.ov[hidden],[data-screen-lines][hidden]{display:none}.stage-col{flex-direction:column;align-items:center;gap:8px;width:100%;min-width:0;height:100%;min-height:0;display:flex}.stage-col>.cabwrap,.stage-col>.bleed{flex:auto;min-height:0}.pad{touch-action:none;flex:none;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);gap:6px;width:min(100%,320px);padding:6px 0 2px;display:none}.pad-up{grid-area:1/2}.pad-left{grid-area:2/1}.pad-down{grid-area:2/2}.pad-right{grid-area:2/3}.pad-btn{border:2px solid var(--arcade-rule);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#050c01db;border-radius:8px;min-height:52px;position:relative}.pad-btn:before{content:"";width:0;height:0;margin:auto;position:absolute;inset:0}.pad-up:before{border-left:9px solid #0000;border-right:9px solid #0000;border-bottom:12px solid var(--lime)}.pad-down:before{border-left:9px solid #0000;border-right:9px solid #0000;border-top:12px solid var(--lime)}.pad-left:before{border-top:9px solid #0000;border-bottom:9px solid #0000;border-right:12px solid var(--lime)}.pad-right:before{border-top:9px solid #0000;border-bottom:9px solid #0000;border-left:12px solid var(--lime)}.pad-btn:active{background:#b3ff002e}.pad-menu{color:var(--lime);letter-spacing:0;grid-area:1/1;font-family:"Press Start 2P",IBM Plex Mono,ui-monospace,monospace;font-size:9px}@media (pointer:coarse){.pad{display:grid}.ov.clear [data-screen-buttons]{display:none}}.ov [data-screen-form]{text-align:left;width:min(100%,320px);margin:6px auto 0}.ov [data-screen-form][hidden]{display:none}.ov [data-arcade-entry]{flex-direction:column;gap:6px;margin:0;display:flex}.ov [data-arcade-entry] input[type=text],.ov [data-arcade-entry] input[type=email]{box-sizing:border-box;border:2px solid var(--arcade-rule);width:100%;color:var(--arcade-text);background:#050c01e6;padding:7px 8px;font-family:inherit;font-size:11px}.ov [data-arcade-entry] input:focus-visible{outline:2px solid var(--lime);outline-offset:1px}.ov [data-arcade-entry] .field{min-width:0}.ov [data-arcade-entry] [data-arcade-entry-error]{color:#ff8b8b;flex:none;margin:0;font-size:10px;line-height:1.35}.ov [data-arcade-entry] [data-arcade-entry-outcome]{color:var(--lime);flex:none;margin:0;font-size:10px;line-height:1.35}.ov [data-arcade-entry] label{color:var(--arcade-muted);font-size:10px;line-height:1.35}
