/* Match the Maid game's viewport. HUD and controls float above the full street. */
body{display:flow-root;min-height:100svh}
.game{display:block;width:min(420px,calc((100svh - 64px)*7/15));max-width:none;height:auto;aspect-ratio:7/15;margin:16px auto;padding:0;border:1px solid #7d8196;box-shadow:0 12px 80px #0006;isolation:isolate}
.game>.scene{position:absolute;inset:0;min-height:0;border:0;border-radius:0;box-shadow:none}
.game>.stats{position:absolute;z-index:4;top:max(12px,env(safe-area-inset-top));left:16px;right:16px;min-height:44px;padding:0;background:#101427bf;border-radius:5px}
.game>.run-progress{position:absolute;z-index:4;top:calc(max(12px,env(safe-area-inset-top)) + 48px);left:16px;right:90px;height:4px;margin:0}
.game>footer{position:absolute;z-index:4;top:calc(max(12px,env(safe-area-inset-top)) + 48px);right:8px;min-height:44px}
.game>footer button{border:1px solid #ffffff25;border-radius:8px;background:#101427cf;color:#ead8ef}
.game>.scene .scene-label{top:calc(max(12px,env(safe-area-inset-top)) + 52px);padding:4px 7px}
.game>.scene .scene-label>span:last-child{margin-top:3px}
.game>.scene .verdict{top:45%}
.game>.scene .timing-feedback{top:calc(45% + 32px)}
.game>.scene .milestone{top:calc(max(12px,env(safe-area-inset-top)) + 96px)}
.game>.scene .street-caption{bottom:112px}
.game>.scene .chapter{bottom:112px}
.game>.controls{position:absolute;z-index:4;left:16px;right:16px;bottom:max(14px,env(safe-area-inset-bottom))}
.game>.controls .timing-heading{padding:3px 6px;background:#101427cc;border-radius:3px;margin-bottom:8px}
.game>.controls .catch{height:54px;min-height:54px}
.game>.controls .hint,.game>footer>span,.game>.run-progress>span,.game>.run-progress>.route-stops{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){
 html,body{width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
 .game{width:100%;height:100vh;height:100dvh;aspect-ratio:auto;max-width:none;margin:0;border:0;box-shadow:none}
}
