[hidden]{display:none!important}#arcade-main{max-width:1440px;padding:130px 4vw 70px;margin:auto}.arcade-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:36px}.arcade-heading h1{font-size:clamp(24px,4vw,52px);line-height:1.5;margin:16px 0 0}.arcade-heading p{color:#91a7bc}.room-toolbar,.room-controls,.player-toolbar,.play-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#071426;padding:16px 20px;border:1px solid #183a54}.room-toolbar{border-radius:12px 12px 0 0}.room-toolbar span{font-size:12px;color:#ffcf25}.room-toolbar button,.player-toolbar button,.room-touch button,.touch-controls button{background:#0c2440;color:#eaf7ff;border:1px solid #236183;padding:13px 16px;border-radius:5px;font:10px 'Pixel',monospace;cursor:pointer}#room{width:100%;height:min(66vh,720px);min-height:350px;display:block;touch-action:none;background:#020815;outline-offset:-5px}.room-controls{flex-wrap:wrap}.room-controls p,.instructions,.control-note{font-size:13px;line-height:1.9;color:#9db6ca}.room-touch{display:flex;gap:7px}.room-touch button{min-height:44px}.cabinet-select{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.cabinet-select button{text-align:left;background:linear-gradient(135deg,#0a223e,#020815);border:1px solid #174064;color:#f3f7ff;min-height:170px;padding:24px;cursor:pointer;border-radius:8px}.cabinet-select small{color:#1bdcf4;display:block;font:9px 'Pixel',monospace;line-height:1.8}.cabinet-select strong{display:block;font:14px 'Pixel',monospace;line-height:1.8;margin:20px 0 12px}.cabinet-select span{font:14px/1.6 system-ui;color:#9cb4c7}.player-toolbar{flex-wrap:wrap}.player-toolbar h2{font-size:14px!important;margin:0;line-height:1.7}.player-toolbar>div{display:flex;gap:8px}.arcade-hud{display:flex;justify-content:space-around;gap:10px;flex-wrap:wrap;padding:18px;background:#020815;border:1px solid #183a54;color:#ffcf25;font:10px 'Pixel',monospace;line-height:1.5}.player-screen{position:relative;background:#020815;overflow:hidden;border:1px solid #183a54}#screen{width:100%;max-height:68vh;aspect-ratio:8/5;object-fit:contain;display:block;touch-action:none;outline-offset:-5px}#overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(#02081588,#020815e8);backdrop-filter:blur(3px)}#overlay h3{font-size:clamp(18px,3vw,34px);line-height:1.6}#overlay p{max-width:540px;line-height:1.8;color:#bbd0e3}#overlay-tag{color:#1bdcf4!important;font-size:10px}.play-footer{font-size:12px;color:#a5bfd0;min-height:54px}.touch-controls{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:20px 0}.touch-controls button{min-width:65px;min-height:52px;touch-action:none;user-select:none}.touch-controls button:active,.room-touch button:active{background:#1bdcf4;color:#020815}.control-note{text-align:center;font-size:11px}button:disabled{opacity:.45;cursor:default}#screen:focus-visible,#room:focus-visible{outline:3px solid #ffcf25}@media(max-width:800px){.arcade-heading{display:block}.cabinet-select{grid-template-columns:1fr 1fr}.cabinet-select button{padding:18px}.room-controls{padding:12px}.player-toolbar{padding:12px}.player-toolbar h2{order:-1;width:100%}.arcade-hud{font-size:8px;padding:12px}#arcade-main{padding-top:110px}#screen{max-height:none}.player-toolbar button{font-size:8px;padding:12px}.play-footer{font-size:11px;flex-wrap:wrap}#overlay{padding:14px}#overlay h3{margin:8px}#overlay p{font-size:12px;margin:8px}.room-toolbar span{font-size:10px}}@media(max-width:460px){.cabinet-select{grid-template-columns:1fr}.cabinet-select button{min-height:130px}.room-touch button{padding:12px}.arcade-heading h1{font-size:25px}.touch-controls button{min-width:52px;padding:12px;font-size:9px}.player-screen{min-height:260px}#screen{min-height:260px}.player-toolbar>div{gap:5px}.arcade-hud{justify-content:space-between}}
.cabinet-select{grid-template-columns:repeat(5,1fr)}@media(max-width:1200px){.cabinet-select{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.cabinet-select{grid-template-columns:1fr 1fr}}@media(max-width:460px){.cabinet-select{grid-template-columns:1fr}}

.cabinet-select{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.cabinet-select button{border-top:3px solid var(--game-color,#1bdcf4)}.cabinet-select small{color:var(--game-color,#1bdcf4)}.cabinet-select button:hover{transform:translateY(-3px);border-color:var(--game-color,#1bdcf4)}
/* A full-window arcade, with native fullscreen available after a user gesture. */
body.arcade-app{overflow:hidden;background:#211927;color:#fff3d5}.arcade-appbar{height:48px;display:flex;align-items:center;gap:12px;padding:0 18px;background:#302033;border-bottom:3px solid #e8b555;box-sizing:border-box}.arcade-appbar>a{margin-right:auto;color:#ffe3a0;text-decoration:none;font:11px Pixel,monospace}.arcade-appbar strong{font:12px Pixel,monospace;margin-right:auto;color:#ffda68}.arcade-appbar button,.dialog-heading button{color:#fff0c9;background:#31618a;border:2px solid #e1bc71;border-radius:4px;padding:8px 12px;font:10px Pixel,monospace;cursor:pointer}#fullscreen-status{position:absolute;top:52px;right:15px;z-index:20;max-width:330px;background:#302033}#fullscreen-status:empty{display:none}#arcade-main{padding:0;margin:0;max-width:none;height:calc(100dvh - 48px)}.arcade-heading,.arcade-app footer,.control-note{display:none}#room-view{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}#room{height:100%;min-height:0;width:100%}.room-toolbar{border-radius:0;padding:8px 18px;background:#372436;border-color:#755342}.room-controls{padding:8px 18px;background:#302033;border-color:#755342;flex-wrap:nowrap}.room-controls p{margin:0}.room-touch button{padding:10px 14px}.room-toolbar button,.player-toolbar button,.room-touch button,.touch-controls button{background:#31577b;border-color:#b79562;color:#fff1cb}.room-toolbar span{color:#f7cc72}#play-view{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto}.player-toolbar{padding:8px 16px;background:#302033;border-color:#755342}.player-toolbar h2{order:0;width:auto}.player-toolbar button{padding:10px;font-size:9px}.arcade-hud{padding:10px;background:#211c2b;border-color:#755342}.player-screen{min-height:0;border-color:#755342;background:#151a25}#screen{width:100%;height:100%;max-height:none;min-height:0;aspect-ratio:auto}.play-footer{padding:8px 16px;min-height:0;background:#302033;border-color:#755342}.touch-controls{margin:0;padding:5px;gap:5px;background:#211c2b;display:flex}.touch-controls button{min-width:48px;min-height:38px;padding:7px;font-size:8px}dialog{background:#261e2d;color:#fff2da;border:3px solid #caa15d;border-radius:12px;width:min(1120px,94vw);max-height:90dvh;box-sizing:border-box;padding:22px}dialog::backdrop{background:#05060cba;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-heading h2{font:18px/1.6 Pixel,monospace}.cabinet-select button{background:linear-gradient(145deg,#35304b,#211e30)}#controls-dialog{width:min(650px,94vw)}.instructions{color:#e9d9be}#overlay{background:linear-gradient(#11121c88,#191422ed)}#overlay-tag{color:#f3ce78!important}@media(max-width:700px){.arcade-appbar{padding:0 8px;gap:7px}.arcade-appbar strong{font-size:8px}.arcade-appbar button{font-size:8px;padding:9px 7px}.player-toolbar{gap:6px;padding:6px}.player-toolbar h2{font-size:10px!important;max-width:35%}.player-toolbar>div{gap:4px}.player-toolbar button{padding:9px 6px;font-size:7px}.room-controls p{display:none}.room-touch{width:100%;justify-content:center}.room-toolbar span{font:10px/1.5 system-ui}.room-toolbar{padding:7px 10px}.arcade-hud{font-size:7px;gap:5px;padding:8px}.touch-controls button{min-height:42px;flex:1 0 46px;max-width:90px;font-size:7px}.play-footer{font-size:10px;padding:6px 9px}.dialog-heading h2{font-size:13px}dialog{padding:14px}.cabinet-select{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
@media(max-width:700px){.touch-controls button{min-width:64px;flex-basis:64px;padding:6px 4px;font-size:7px;line-height:1.5}.player-toolbar h2{max-width:46%}}
.character-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.character-options button{display:flex;flex-direction:column;gap:12px;align-items:center;padding:14px;background:#dcebf0;color:#183e54;border:3px solid transparent}.character-options button[aria-pressed=true]{border-color:#efb745}.character-options img{width:100%;aspect-ratio:1;object-fit:cover}.character-options span{font:14px/1.5 system-ui}.room-toolbar{flex-wrap:wrap}.room-toolbar #room-status{flex:1 1 240px}@media(max-width:650px){.character-options{gap:6px}.character-options button{padding:5px}.character-options span{font-size:11px}.room-toolbar button{font-size:9px;padding:9px}.room-toolbar #room-status{font-size:10px}.room-toolbar #look{display:none}}
.cabinet-select button[data-maintenance="true"]{border-color:#a96a55;background:linear-gradient(135deg,#352528,#181824)}.cabinet-select button[data-maintenance="true"] small{color:#ffad89}.cabinet-select button[data-maintenance="true"]:focus-visible{outline:3px solid #ffad89;outline-offset:3px}

/* Keep the game usable when a phone browser cannot enter native fullscreen. */
body.arcade-focus #arcade-main{height:100dvh;height:100svh;height:100dvh}
.arcade-focus .arcade-appbar{position:fixed;top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);z-index:40;height:48px;padding:4px 8px;background:transparent;border:0}
.arcade-focus .arcade-appbar>a,.arcade-focus .arcade-appbar>strong,.arcade-focus #show-games,.arcade-focus #fullscreen-status{display:none}
.arcade-focus #fullscreen{min-height:40px;min-width:120px;font:600 12px system-ui,sans-serif}
.arcade-focus #play-view{grid-template-rows:auto auto minmax(0,1fr) auto}
.arcade-focus .player-toolbar{min-height:48px;padding:4px 140px 4px 8px;justify-content:flex-start;gap:4px}
.arcade-focus #back-room,.arcade-focus #game-name,.arcade-focus #show-controls,.arcade-focus #sound,.arcade-focus .play-footer{display:none}
.arcade-focus .player-toolbar>div{margin-left:0;gap:6px}
.arcade-focus .player-toolbar button{min-height:40px;font:600 12px system-ui,sans-serif;padding:6px 10px}
.arcade-focus .arcade-hud{padding:5px 8px}
.arcade-focus .touch-controls{padding-bottom:max(5px,env(safe-area-inset-bottom));flex-wrap:wrap}
.arcade-focus .touch-controls button{min-height:44px}
.arcade-focus #room-view{padding-top:48px;box-sizing:border-box}
