*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101614;color:#f6ead0;font-family:system-ui,-apple-system,sans-serif}body{display:grid;place-items:center;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;font:inherit;border:1px solid #c79c5655;background:#1a211df2;border-radius:10px;padding:10px 15px;font-weight:700;min-height:44px}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #fee199;outline-offset:3px}button:hover{border-color:#d7b16a}#stage{position:relative;height:100%;width:min(100%,56.25vh);width:min(100%,56.25dvh);overflow:hidden;background:#1b221a;box-shadow:0 0 90px #000}#game{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.hud{position:absolute;left:0;right:0;top:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;padding:calc(env(safe-area-inset-top) + 10px) 8px 18px;background:linear-gradient(#08110df2,#08110d80,transparent);pointer-events:none}#stats{font-weight:850;font-size:clamp(11px,2.5vh,17px);text-align:center;text-shadow:0 2px 5px #000;width:100%}.controls{display:flex;gap:5px;position:absolute;top:calc(env(safe-area-inset-top) + 44px);right:10px;pointer-events:auto}.controls button{font-size:11px;min-height:36px;padding:7px 9px;background:#102019b8}.foot{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:18px 8px calc(env(safe-area-inset-bottom) + 16px);background:linear-gradient(transparent,#07120cea);pointer-events:none;font-size:clamp(10px,1.8vh,13px);font-weight:750}#record{display:block;font-size:10px;color:#dbc7a2;min-height:12px;margin-top:4px}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#05110ed1;backdrop-filter:blur(5px)}[hidden]{display:none!important}.panel{width:100%;max-width:390px;text-align:center;border:1px solid #bf984b69;border-radius:22px;padding:28px 18px;background:radial-gradient(ellipse at top,#324336e6,#102018f5 65%);box-shadow:0 18px 60px #0008}.eyebrow{font-size:9px;letter-spacing:2px;color:#ceaa64}h1{font-size:clamp(24px,5.8vw,37px);letter-spacing:-1px;margin:13px 0 0;color:#ffe0a0;text-shadow:0 2px 0 #503718}h2{font-size:30px}.subtitle{font-size:19px;color:#d2b46b;margin:2px 0 25px}.panel p{line-height:1.55;font-size:15px}.gesture{font-size:13px;line-height:1.6;margin:22px 0;color:#ecd5a8}.panel button{display:block;width:100%;margin:10px 0}.primary{border:0;background:linear-gradient(120deg,#f3d17d,#c99745);color:#172014;padding:15px;font-size:16px}.panel a{display:block;margin:15px 0;color:#dbbd7d;font-size:12px}.panel small,.keyhint{font-size:11px!important;color:#acb1a1}@media(max-height:620px){.panel{padding:14px}.gesture{margin:12px 0}.subtitle{margin-bottom:8px}.panel p{margin:10px 0}.panel a{margin:9px 0}.panel small{display:none}}
/* Keep the 1080 × 1920 simulation in one uniform scale, including short screens. */
#stage{height:min(100dvh,177.7778vw);width:min(100vw,56.25dvh);aspect-ratio:9/16}
#objective{display:block;width:100%;font-size:clamp(9px,1.5vh,12px);font-weight:850;letter-spacing:.2px;color:#ffe0a0;text-align:center;text-shadow:0 2px 5px #000}
.controls{top:calc(env(safe-area-inset-top) + 62px)}
.room-intro{position:absolute;top:112px;left:7%;right:7%;padding:13px 16px;background:#0c1b17df;border:1px solid #b3975270;border-radius:12px;text-align:center;pointer-events:none;box-shadow:0 4px 24px #0006}
.room-intro b{display:block;color:#f8d691;font-size:13px}.room-intro span{display:block;color:#eee2c9;font-size:12px;line-height:1.5;margin-top:5px}
.locations{display:flex;gap:5px;margin:14px 0}.locations button{width:auto;flex:1;padding:8px 3px;font-size:10px}
.overlay{overflow:auto}.result{background:#05110e91;backdrop-filter:blur(2px)}.result h2{font-size:25px;color:#ffe0a0}
.panel{max-height:100%;overflow:auto}
@media(pointer:coarse){.keyhint{display:none}}@media(max-height:500px){.overlay{padding:10px}.panel{padding:12px 10px}.panel h1{font-size:20px;margin-top:6px}.panel h2{font-size:22px;margin:5px 0}.panel .subtitle{font-size:15px;margin-bottom:8px}.panel p{font-size:11px;line-height:1.35}.gesture{font-size:10px;line-height:1.4;margin:10px 0}.primary{padding:10px;font-size:12px}.panel a{font-size:10px;margin:7px 0}.room-intro{top:75px;padding:7px}.room-intro span{font-size:9px}.controls{top:38px}.locations{margin:5px 0}.hud{padding-top:6px}.keyhint{display:none}}
