:root{color-scheme:dark;--cream:#fff8e8;--paper:#f1e7cb;--ink:#423a2d;--gold:#e6c884;--scene-height:100svh}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#393328;color:var(--cream);font:15px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{cursor:default}button i{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#arcade{height:100svh;position:relative;isolation:isolate}.room-scroll{height:100%;width:100%;overflow:auto hidden;scrollbar-width:none;overscroll-behavior-x:contain}.room-scroll::-webkit-scrollbar{display:none}.room-scene{width:max(100vw,calc(100svh * 1.4055));height:max(100svh,calc(100vw / 1.4055));top:min(0px,calc((100svh - 100vw / 1.4055) / 2));position:relative;transform-origin:50% 50%;transition:transform .85s cubic-bezier(.2,.7,.15,1),filter .6s;isolation:isolate}.room-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;pointer-events:none}.machines{position:absolute;inset:0}.machine{position:absolute;border:0;background:transparent;color:var(--cream);padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.machine-label{position:absolute;left:50%;top:38%;transform:translate(-50%,7px);opacity:0;white-space:nowrap;padding:8px 15px;background:#302a20eb;border:1px solid #cbb58470;box-shadow:0 4px 24px #18120c55;transition:opacity .2s,transform .2s;text-align:center;font-size:13px;pointer-events:none}.machine-label small{display:block;color:#e8d9b5;font-size:10px;letter-spacing:.06em}.machine:hover .machine-label,.machine:focus-visible .machine-label{opacity:1;transform:translate(-50%,0)}.machine:focus-visible{outline:2px solid #ffe6ae;outline-offset:3px}.room-invitation{position:absolute;bottom:max(5.4vh,44px);left:50%;transform:translateX(-50%);margin:0;display:flex;flex-direction:column;align-items:center;gap:11px;pointer-events:none;width:max-content;max-width:calc(100% - 32px);text-align:center;color:#fff8e8;text-shadow:0 1px 9px #211a13,0 1px 3px #211a13;font-size:15px;letter-spacing:.04em;transition:opacity .25s}.room-invitation>i{font-size:28px}.room-invitation small{display:none;font-size:11px;color:#f1e4c9}.room-tools{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));right:max(25px,env(safe-area-inset-right));display:flex;align-items:center;gap:17px}.quiet-button,.languages button{border:0;background:#211c1626;color:var(--cream);text-shadow:0 1px 6px #20160f;padding:9px 7px;min-width:36px;min-height:44px}.quiet-button{font-size:20px;display:grid;place-items:center}.languages{display:flex;gap:5px}.languages button{font-size:12px;line-height:1.5;position:relative}.languages button[aria-pressed=true]::after{content:'';position:absolute;bottom:5px;left:9px;right:9px;height:1px;background:var(--gold)}.quiet-button:hover,.languages button:hover{background:#211c165c}.look{position:absolute;top:50%;display:none;align-items:center;justify-content:center;width:40px;height:64px;color:var(--cream);background:#221d1759;border:1px solid #f9e9bd33;border-radius:2px}.look-left{left:14px}.look-right{right:14px}.look:disabled{opacity:0;pointer-events:none}dialog{padding:0;border:0;color:var(--ink);box-shadow:0 20px 90px #17110d55}dialog::backdrop{background:#16110b4d;backdrop-filter:blur(1px)}.cabinet-dialog{background:var(--paper);width:min(390px,calc(100vw - 32px));max-height:calc(100svh - 40px);margin:auto 5vw 10vh auto;overflow:auto;transform:rotate(-.6deg)}.cabinet-note{padding:36px 30px 26px}.close-button{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:36px;height:36px;border:0;background:transparent;color:inherit;font-size:19px}.note-kicker{font-size:10px;letter-spacing:.15em;color:#766a53;margin:0 0 16px;text-transform:uppercase}h1{font-size:27px;line-height:1.3;letter-spacing:-.05em;margin:0;padding-right:3px}h2{font-size:24px;line-height:1.4;margin:0 0 24px}.original-name{font:11px/1.5 monospace;letter-spacing:.05em;color:#786d58;margin:9px 0 24px}.availability{font-size:11px;font-weight:700;color:#49603e;margin:0}.game-description{font-size:13px;line-height:1.8;margin:10px 0 24px}.play-button{width:100%;border:1px solid #514633;background:#514633;color:#fff4d7;display:flex;align-items:center;justify-content:space-between;padding:13px 17px;font-size:14px}.play-button:hover{background:#3d3427}.play-button[hidden]{display:none}.coin-note{font-size:10px;color:#84765b;margin:12px 0 0}.help-dialog{background:var(--paper);padding:38px 30px;width:min(430px,calc(100vw - 32px));max-height:calc(100svh - 48px);font-size:14px}.help-dialog p{margin-bottom:20px}.approaching .room-scene{transform:scale(1.3);filter:brightness(.86)}.approaching .room-invitation,.approaching .room-tools,.approaching .look{opacity:0;pointer-events:none}.play-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;background:#161610;color:var(--cream)}.play-dialog[open]{display:flex;flex-direction:column}.play-top{height:52px;min-height:52px;display:flex;justify-content:space-between;align-items:center;padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));border-bottom:1px solid #d8c59326;background:#24231c;gap:12px}.play-top>span{font:11px/1.5 monospace;letter-spacing:.07em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-top button{border:0;color:var(--cream);background:transparent;font-size:12px;min-height:44px;display:flex;align-items:center;gap:8px;white-space:nowrap}#player-mount{flex:1;min-height:0}#player-mount iframe{width:100%;height:100%;border:0;display:block}.room-error .room-image{display:none}.room-error .machines{position:relative;display:flex;flex-wrap:wrap;padding:80px 24px;gap:20px}.room-error .machine{position:relative!important;left:auto!important;top:auto!important;width:220px!important;height:100px!important;background:#514633}.room-error .machine-label{opacity:1;top:20%;background:none;box-shadow:none;border:0}.room-error .room-scene{width:100%;height:100%;overflow:auto}
@media(max-aspect-ratio:1.2){.room-invitation{bottom:100px;gap:7px;font-size:14px}.room-invitation small{display:block}.room-tools{right:18px;bottom:max(15px,env(safe-area-inset-bottom));gap:10px}.look{display:flex}.cabinet-dialog{margin:auto auto max(30px,env(safe-area-inset-bottom))}.cabinet-note{padding:30px 26px 24px}}
@media(max-height:500px){.room-invitation{bottom:20px;font-size:12px;gap:0;left:30%}.room-invitation>i{display:none}.room-tools{bottom:7px}.cabinet-dialog{margin:auto 5vw auto auto}.cabinet-note{padding:26px 25px 20px}.game-description{margin:8px 0 14px}.original-name{margin-bottom:12px}.play-top{height:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.play-dialog.overlay-playing .play-top{display:none}.play-dialog.overlay-playing{height:100vh;height:100dvh}
/* Avoid selection when a thumb starts on the iframe's surrounding chrome. */
.play-top,.play-top *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;touch-action:manipulation}
