body,html{margin:0;height:100%;overflow:hidden;background:#e5e7eb;font-family:system-ui,-apple-system,sans-serif}.map{position:fixed;inset:0}.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{top:env(safe-area-inset-top)}.maplibregl-ctrl-top-left{left:env(safe-area-inset-left)}.maplibregl-ctrl-top-right{right:env(safe-area-inset-right)}.status{top:50%;transform:translate(-50%,-50%);padding:6px 14px;border-radius:999px;background:rgba(15,23,42,.75);font-size:13px}.scrubber,.status{position:fixed;left:50%;color:#fff}.scrubber{bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(640px,calc(100% - 32px));box-sizing:border-box;gap:12px;padding:10px 14px;border-radius:16px;background:rgba(15,23,42,.8);box-shadow:0 8px 24px rgba(0,0,0,.25)}.scrubber,.scrubber button{display:flex;align-items:center}.scrubber button{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#0f172a;justify-content:center;cursor:pointer}.scrubber input{flex:1 1;min-width:0;accent-color:#7dd3fc;cursor:pointer}.scrubber time{flex:none;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.install{position:fixed;left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 56px + 12px);z-index:10;display:flex;align-items:center;gap:6px;padding:8px 16px;border:0;border-radius:999px;background:#0159b0;color:#fff;font:600 14px system-ui,-apple-system,sans-serif;box-shadow:0 4px 14px rgba(1,89,176,.4);cursor:pointer;transform:translateX(-50%);transition:opacity .25s ease-out,transform .25s ease-out;animation:install-in .4s ease-out backwards}.install:hover{background:#014ea0}.install-hidden{opacity:0;transform:translate(-50%,6px);pointer-events:none}@keyframes install-in{0%{opacity:0;transform:translate(-50%,6px)}}@media (prefers-reduced-motion:reduce){.install{transition:opacity .25s ease-out;animation-name:install-fade}.install-hidden{transform:translateX(-50%)}}@keyframes install-fade{0%{opacity:0}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}