@font-face{font-family:Nunito;src:url(/fonts/Nunito-700-latin-ext.woff2) format("woff2");font-weight:700;font-display:swap}*{box-sizing:border-box}body{margin:0;background:#f7d6e7;color:#6b3a52;font:700 16px/1.4 Nunito,system-ui,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible,canvas:focus-visible{outline:3px solid #9369ba;outline-offset:3px}[hidden]{display:none!important}#runner{height:100dvh;display:flex;flex-direction:column;overflow:hidden}header{flex:none}main{position:relative;flex:1;min-height:0}canvas{width:100%;height:100%;display:block;touch-action:none}.runner-hud{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:12px;padding:10px 15px;border:2px solid #6b3a52;border-radius:20px;background:#fff8eff0}.runner-hud progress{width:100%;min-width:40px;accent-color:#e963a4}.runner-hud b,.runner-hud span{white-space:nowrap;font-size:14px}.runner-cue{position:absolute;left:12px;right:12px;top:67px;text-align:center;text-shadow:0 1px white}.runner-controls{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;display:flex;justify-content:center;gap:8px}.runner-controls button{height:55px;min-width:55px;flex:1;max-width:100px;border:3px solid #6b3a52;border-radius:20px;background:#fff4e7;color:#6b3a52;box-shadow:0 4px #6b3a5230;touch-action:manipulation}.runner-controls button:active{transform:translateY(3px)}.runner-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#6b3a5250;padding:18px;overflow:auto}.runner-overlay>div{max-width:430px;padding:24px;background:#fff8ef;border:3px solid #6b3a52;border-radius:28px;text-align:center;box-shadow:0 9px 35px #6b3a5240}.runner-overlay h1{margin:0;font-size:28px}.runner-overlay p{margin:15px 0}.runner-overlay [data-detail]{font-size:14px}.runner-overlay [data-best]{font-size:13px}.runner-overlay button{min-height:48px;width:100%}@media(max-height:500px){.runner-overlay>div{padding:12px;max-width:650px}.runner-overlay h1{font-size:22px}.runner-overlay p{margin:8px 0}.runner-controls button{height:44px}.runner-cue{top:50px}}main:has(.runner-overlay:not([hidden])) .runner-controls,main:has(.runner-overlay:not([hidden])) .runner-cue{visibility:hidden}
