/* A tactile handset and cabinet, rather than a generic game popup. */
:root{--green:#bdd283}body{background:#101614;background-image:radial-gradient(#bdd28306 1px,transparent 1px);background-size:5px 5px}.eyebrow,.fine,.meta,#filters,footer{font-family:monospace}.hero h1{font-size:clamp(50px,6vw,78px)}.card{border-radius:6px;border-color:#39423b;background:#1a211d}.art{height:180px;background:#20291f;box-shadow:inset 0 0 20px #0005}.game-preview{width:100%;height:100%;object-fit:cover;aspect-ratio:5/3;border-radius:0;image-rendering:pixelated}.art::before{z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#00000016 3px 4px)}.favorite{z-index:2;background:#101614a8;border-radius:50%;font-size:20px;top:8px;right:8px}.console{border:2px solid #83917d;box-shadow:10px 14px 0 #070c0a,0 0 100px #bad3830a;transition:transform .15s}.console:hover{transform:rotate(4deg)}.console-controls{border-top:1px solid #929d84;margin-top:15px}.primary{font-family:monospace}.device-brand{display:flex;justify-content:space-between;align-items:center;font:bold 10px monospace;letter-spacing:2px;color:#bbc3b3;margin-bottom:18px}.speaker{width:60px;height:9px;border-radius:7px;background:repeating-linear-gradient(90deg,#080e13 0 3px,#34404a 3px 5px);box-shadow:inset 0 2px 3px #0008}.device-footer{display:flex;justify-content:space-between;font:bold 9px monospace;letter-spacing:2px;color:#a4b0b4;margin-top:16px}.device-footer span{font-size:7px;letter-spacing:1px}dialog{max-width:490px;border-radius:36px 36px 60px 60px;background:linear-gradient(100deg,#29333f,#17212d 25%,#1c2632 75%,#343e48);border:3px solid #4a5663;border-bottom:8px solid #101922;padding:22px 24px;box-shadow:inset 0 0 0 2px #101921,0 30px 100px #0009;max-height:97dvh}.player-head{align-items:center}.player-head h2{font-size:22px;margin:2px 0 14px;letter-spacing:0;font-family:monospace}.player-head small{font-size:8px;letter-spacing:3px;color:#93a598}.player-head button{color:#bac3bf}.game-options{font:10px monospace;gap:10px;margin-bottom:10px}.game-options select{padding:7px;background:#17222d;color:#ced5c4;border:1px solid #4b5661;font-size:10px}.scorebar{font-family:monospace;margin-bottom:12px;gap:8px}.scorebar b{font-size:16px;color:#c6daa1}.scorebar button{border-color:#53606d;border-radius:15px;font-size:10px;padding:7px 10px;min-height:34px}.screen-bezel{padding:9px 10px 12px;background:#0b141b;border:2px solid #53616b;border-radius:16px 16px 20px 20px;box-shadow:inset 0 3px 6px #000b,0 2px #89939735}#device-era{font:8px monospace;color:#8a9d8f;letter-spacing:2px;margin:0 0 8px;text-align:center}.stage{width:100%;max-width:min(100%,calc(97dvh - 340px));margin:auto;isolation:isolate}.stage::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#0a1a1420 3px 4px);z-index:1;box-shadow:inset 0 0 18px #10220d35}.stage canvas{border-radius:2px;background:#a5b87b}.stage #start-game{z-index:2;border:2px solid #35482b;border-radius:0;background:#a8bc7c;color:#2c4027;box-shadow:0 0 0 5px #a8bc7cd9;padding:12px 14px;font:bold 13px monospace}.game-detail{font:9px monospace;margin:9px 0;color:#bac99d;min-height:12px}#message{font:12px/1.5 monospace;margin:7px 0;color:#d0dbb5}#instructions{font:10px/1.6 monospace;color:#b2bdb4;margin:7px 0}#touch{display:grid!important;grid-template-columns:1fr;justify-items:center;gap:1px;margin:10px auto 0;max-width:250px}#touch[hidden]{display:none!important}#touch div{display:flex;justify-content:center;gap:8px}#touch button{font:13px monospace;width:64px;height:39px;min-height:39px;border:1px solid #677380;border-bottom:4px solid #101720;border-radius:50% 50% 40% 40%;background:linear-gradient(#536170,#303f4d);box-shadow:0 2px 2px #0006;color:#eff0df;margin:1px;display:inline-flex;align-items:center;justify-content:center;gap:8px}#touch strong{font:17px monospace;color:#f1f1df}#touch button:active{transform:translateY(2px);border-bottom-width:2px;background:#718475}#touch-help{font:8px/1.6 monospace;letter-spacing:.5px;color:#9eacaa;text-align:center;margin:8px 0 0}[data-cabinet=arcade]{border-radius:12px;background:linear-gradient(100deg,#35302b,#1b2026 25%,#1c2126 75%,#41382f);border-color:#645846}[data-cabinet=arcade] .device-brand{color:#e9bc7d}[data-cabinet=arcade] .screen-bezel{border-radius:25px;background:#080c13;border-color:#433c38}[data-cabinet=arcade] .stage::after{box-shadow:inset 0 0 24px #0007;background:repeating-linear-gradient(0deg,transparent 0 2px,#0003 2px 3px)}[data-cabinet=arcade] .stage #start-game{background:#0b1020;color:#f3d783;border-color:#dcc271;box-shadow:0 0 0 5px #0b1020d9}[data-cabinet=arcade] #touch strong{display:none}[data-cabinet=arcade] #touch button{border-radius:12px;background:linear-gradient(#636269,#35353e)}[data-cabinet=arcade] #touch button[data-key=" "]{border-radius:50%;background:linear-gradient(#ca725f,#934839)}@media(max-width:600px){dialog{width:calc(100% - 12px);padding:15px 17px;border-radius:26px 26px 45px 45px}.device-brand{margin-bottom:10px;font-size:9px}.player-head h2{font-size:21px;margin-bottom:9px}.game-options{margin-bottom:8px}.stage{max-width:min(100%,calc(97dvh - 365px))}.screen-bezel{padding:6px 7px 8px}.game-detail{margin:6px 0}#message{margin:5px 0}#instructions{font-size:10px}#touch{margin-top:5px}#touch button{height:38px;min-height:38px}.device-footer{margin-top:10px}.art{height:145px}.hero h1{font-size:56px}#filters button{padding:10px 12px}.section-title{display:block}#count{display:block;margin-bottom:20px}}@media(max-height:740px) and (min-width:601px){#touch{display:flex!important;max-width:none;gap:5px}#touch div{gap:5px}#touch button{width:48px;height:35px;min-height:35px}#touch strong{font-size:13px}.device-brand{margin-bottom:9px}.device-footer{margin-top:9px}.stage{max-width:min(100%,calc(97dvh - 320px))}}@media(max-height:650px){#instructions{max-height:34px;overflow:auto}.device-footer{display:none}.stage{max-width:min(100%,calc(97dvh - 300px))}}@media(prefers-reduced-motion:reduce){.console{transition:none}.console:hover{transform:rotate(8deg)}}
[data-cabinet=pocket] .stage::after{background-image:radial-gradient(#31422a20 .65px,transparent .8px);background-size:4px 4px}
@media(min-width:800px){dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) 230px;column-gap:24px;row-gap:4px;max-width:800px;border-radius:30px 30px 50px 50px}.device-brand,.player-head,.device-footer{grid-column:1 / -1}.device-brand{grid-row:1;margin-bottom:4px}.player-head{grid-row:2}.game-options{grid-column:2;grid-row:3;display:block}.game-options label{display:block;margin-bottom:6px}.game-options select{max-width:100%;width:100%}.scorebar{grid-column:1;grid-row:3;align-self:end}.screen-bezel{grid-column:1;grid-row:4 / 10;align-self:start}.stage{max-width:100%}.game-detail{grid-column:2;grid-row:4;align-self:end}#message{grid-column:2;grid-row:5;align-self:center}#instructions{grid-column:2;grid-row:6;align-self:start;font-size:11px}#touch{grid-column:2;grid-row:7;display:grid!important;margin:0;align-self:start}#touch div{gap:4px}#touch button{width:58px;height:39px}#touch-help{grid-column:2;grid-row:8}.device-footer{grid-row:10}}@media(max-width:799px){.stage{max-width:min(100%,calc(97dvh - 455px))}}
