html,body{color:#fff;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#cfe3f2;height:100%;margin:0;font-family:Avenir Next,Avenir,Helvetica Neue,system-ui,sans-serif;overflow:hidden}[hidden]{display:none!important}#view{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;text-shadow:0 1px 6px #00000059;position:fixed;inset:0}#title{top:max(20px, env(safe-area-inset-top));position:absolute;left:24px}#route-name{letter-spacing:.32em;text-transform:uppercase;opacity:.9;font-size:15px}#progress{top:max(20px, env(safe-area-inset-top));text-align:right;font-variant-numeric:tabular-nums;font-size:17px;position:absolute;right:24px}#progress .minor{opacity:.75;margin-top:2px;font-size:13px}#trainer{pointer-events:auto;align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}#trainer-status{opacity:.8}#connect{font:inherit;color:#fff;backdrop-filter:blur(6px);cursor:pointer;background:#28221e59;border:1px solid #ffffff8c;border-radius:999px;padding:6px 12px}#connect:disabled{opacity:.5;cursor:default}#panel{left:24px;right:24px;bottom:max(18px, env(safe-area-inset-bottom));max-width:760px;margin:0 auto;position:absolute}#bar{backdrop-filter:blur(8px);background:#342c288c;border-radius:6px;justify-content:space-around;padding:12px 8px;display:flex}.readout{align-items:baseline;gap:6px;display:flex}.readout span{font-variant-numeric:tabular-nums;font-size:30px}.readout label{opacity:.7;font-size:17px}#profile{width:100%;height:54px;margin-top:8px;display:block}#help{left:24px;bottom:max(150px, calc(env(safe-area-inset-bottom) + 132px));opacity:.7;font-size:12px;position:absolute}#touch{left:24px;right:24px;bottom:max(160px, calc(env(safe-area-inset-bottom) + 142px));pointer-events:none;justify-content:space-between;display:none;position:absolute}#touch button{width:58px;height:58px;font:inherit;color:#fff;backdrop-filter:blur(6px);pointer-events:auto;touch-action:none;background:#28221e59;border:1px solid #ffffff80;border-radius:50%;font-size:26px}@media (pointer:coarse){#touch{display:flex}#help{display:none}}@media (width<=520px){.readout span{font-size:25px}.readout label{font-size:14px}#trainer-status{display:none}}#credits{color:#fffc;text-shadow:0 0 3px #000c;pointer-events:none;font-size:9px;position:fixed;bottom:2px;right:8px}#message{color:#123;pointer-events:none;place-items:center;font-size:16px;display:grid;position:fixed;inset:0}
