html,body,#app{overscroll-behavior:none;background:#9fb6cc;height:100%;margin:0;overflow:hidden}html{-webkit-text-size-adjust:100%}body{color:#111;font:13px/1.4 system-ui,-apple-system,sans-serif}#app{position:relative}canvas{touch-action:none;-webkit-user-select:none;user-select:none;display:block}.overlay{pointer-events:none;position:absolute;inset:0}.overlay>*{pointer-events:auto}.notice{top:calc(68px + env(safe-area-inset-top));box-sizing:border-box;background:#ffffffeb;border-radius:8px;width:max-content;max-width:min(560px,100vw - 32px);padding:12px 16px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #00000040}.notice code{white-space:nowrap;background:#eee;border-radius:3px;padding:0 3px}.notice-dismissible{padding-right:48px}.notice-close{color:#444;cursor:pointer;background:0 0;border:0;width:44px;height:44px;font-size:22px;line-height:44px;position:absolute;top:0;right:0}.notice a{color:#0b57d0}.city-toggle{left:calc(12px + env(safe-area-inset-left));top:calc(12px + env(safe-area-inset-top));color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0009;border:0;border-radius:22px;min-width:44px;min-height:44px;padding:0 14px;font:600 14px/1 system-ui,-apple-system,sans-serif;position:absolute}.city-toggle.is-on{background:#146e3cd9}.city-toggle:focus-visible{outline-offset:2px;outline:3px solid #fff}.help{left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));color:#fff;box-sizing:border-box;max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));background:#0000008c;border-radius:8px;padding:0 10px 6px;font-size:12px;position:absolute}.help.is-collapsed{background:0 0;padding:0}.help-toggle{color:#fff;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;min-width:44px;min-height:44px;margin:0 -10px;padding:0 12px;font:600 12px/44px system-ui,-apple-system,sans-serif;display:block}.help.is-collapsed .help-toggle{background:#0000008c;border-radius:22px;margin:0;padding:0 16px}.help-body[hidden]{display:none}.attribution{right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);color:#222;background:#fffc;max-width:60%;padding:3px 8px;font-size:11px;position:absolute}.attribution-brand{font-weight:600}.req-counter{right:calc(12px + env(safe-area-inset-right));top:calc(12px + env(safe-area-inset-top));color:#fff;font-variant-numeric:tabular-nums;background:#0000008c;border-radius:6px;padding:4px 8px;font-size:11px;position:absolute}@media (max-width:600px){.help{max-width:calc(100vw - 24px - 112px - env(safe-area-inset-left) - env(safe-area-inset-right));bottom:calc(40px + env(safe-area-inset-bottom));font-size:11px}.attribution{max-width:100%;font-size:9px;left:0}}.top-left-bar{left:calc(12px + env(safe-area-inset-left));top:calc(12px + env(safe-area-inset-top));z-index:2;gap:6px;display:flex;position:absolute}.top-left-bar .city-toggle{position:static}.bar-btn,.ghost-toggle{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0009;border:0;border-radius:22px;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 14px;font:600 14px/1 system-ui,-apple-system,sans-serif;display:inline-flex}.bar-btn svg{flex:none}.bar-btn[hidden]{display:none}.bar-settings{width:44px;padding:0}@media (max-width:440px){.top-left-bar{gap:5px}.overlay .drive-hud{max-width:calc(100vw - 216px - env(safe-area-inset-left) - env(safe-area-inset-right));padding:5px 10px 6px}.drive-speedo{font-size:26px}.drive-label{font-size:11px;line-height:1.25}}.bar-btn.is-on,.ghost-toggle.is-on{background:#5a78aad9}.bar-btn:focus-visible,.ghost-toggle:focus-visible{outline-offset:2px;outline:3px solid #fff}.drive-hud{right:calc(12px + env(safe-area-inset-right));top:calc(12px + env(safe-area-inset-top));color:#fff;text-align:right;max-width:min(320px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));box-sizing:border-box;pointer-events:none;background:#0000008c;border-radius:10px;padding:6px 12px 7px;position:absolute}.drive-hud[hidden]{display:none}.overlay:has(.req-counter) .drive-hud{top:calc(64px + env(safe-area-inset-top))}.drive-speedo{font-variant-numeric:tabular-nums;font:700 30px/1 system-ui,-apple-system,sans-serif}.drive-unit{opacity:.8;margin-left:4px;font-size:13px;font-weight:600}.drive-label{opacity:.9;margin-top:2px;font-size:12px}.drive-hud.is-scraping{box-shadow:0 0 0 2px #ff783ce6}.drive-deadend{box-sizing:border-box;color:#fff;text-align:center;background:#141414d1;border-radius:10px;width:max-content;max-width:calc(100vw - 32px);padding:14px 18px;position:absolute;top:32%;left:50%;transform:translate(-50%,-50%)}.drive-deadend[hidden]{display:none}.drive-deadend-title{font:700 18px/1.2 system-ui,-apple-system,sans-serif}.drive-deadend-text{opacity:.9;margin:4px 0 10px}.drive-deadend-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.drive-btn{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#286ebee6;border:0;border-radius:22px;min-width:44px;min-height:44px;padding:0 14px;font:600 14px/1 system-ui,-apple-system,sans-serif}.drive-btn[hidden]{display:none}.drive-btn-secondary{background:#ffffff2e}.drive-btn:focus-visible{outline-offset:2px;outline:3px solid #fff}.has-touch-drive .help{display:none}.touch-drive,.touch-drive *{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.touch-drive{pointer-events:none;position:absolute;inset:0}.touch-drive[hidden]{display:none}.touch-drive>*{pointer-events:auto}.touch-steer{left:calc(14px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));box-sizing:border-box;background:#00000059;border:2px solid #ffffff59;border-radius:42px;width:min(44vw,240px);height:84px;position:absolute}.touch-steer.is-active{background:#00000080}.touch-steer-track{background:#ffffff59;border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:20px;right:20px}.touch-steer-knob{background:#ffffffd9;border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px;position:absolute;top:50%;left:50%;box-shadow:0 2px 6px #00000059}.touch-steer-hint{text-align:center;color:#fff;opacity:.8;text-shadow:0 1px 2px #000;font-size:10px;position:absolute;bottom:-16px;left:0;right:0}.touch-pedals{right:calc(14px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));align-items:flex-end;gap:12px;display:flex;position:absolute}.touch-pedal{box-sizing:border-box;letter-spacing:.06em;color:#fff;text-shadow:0 1px 2px #0009;border:2px solid #ffffff73;border-radius:14px;justify-content:center;align-items:center;font:700 12px/1 system-ui,-apple-system,sans-serif;display:flex}.touch-brake{background:#aa28288c;width:76px;height:76px}.touch-gas{background:#1e8c468c;width:76px;height:116px}.touch-pedal.is-active{filter:brightness(1.5);transform:scale(.96)}.touch-buttons{right:calc(14px + env(safe-area-inset-right));bottom:calc(150px + env(safe-area-inset-bottom));gap:8px;display:flex;position:absolute}.touch-btn{background:#0009}.touch-free-only{right:calc(14px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));position:absolute}.touch-free-only[hidden]{display:none}@media (max-width:600px){.touch-free-only{bottom:calc(40px + env(safe-area-inset-bottom))}}@media (max-height:460px){.touch-buttons{bottom:calc(18px + env(safe-area-inset-bottom));right:calc(190px + env(safe-area-inset-right));flex-direction:column}.touch-gas{height:100px}.drive-hud{top:calc(12px + env(safe-area-inset-top));text-align:center;left:50%;right:auto;transform:translate(-50%)}}.sheet-backdrop{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));box-sizing:border-box;background:#080c1273;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sheet-backdrop[hidden]{display:none}.sheet-backdrop.sheet-right{justify-content:flex-end;align-items:stretch}.sheet{box-sizing:border-box;color:#eef1f5;background:#14181ff5;border-radius:16px;flex-direction:column;width:min(520px,100%);max-height:100%;animation:.18s ease-out sheet-in;display:flex;box-shadow:0 12px 40px #00000073}.sheet-right .sheet{width:min(360px,100%)}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.sheet,.caption-toast.is-in{animation:none}}.sheet-head{align-items:flex-start;gap:8px;padding:14px 6px 8px 18px;display:flex}.sheet-titles{flex:1;min-width:0}.sheet-title{letter-spacing:-.01em;margin:0;font:700 18px/1.25 system-ui,-apple-system,sans-serif}.sheet-subtitle{opacity:.72;margin:4px 0 0;font-size:13px}.sheet-close{width:44px;height:44px;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:22px;flex:none;font-size:26px;line-height:44px}.sheet-close:hover{background:#ffffff14}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 12px 14px;overflow-y:auto}.sheet button:focus-visible,.sheet input:focus-visible{outline-offset:1px;outline:3px solid #8fb4ff}.picker-group h3,.settings-section h3{letter-spacing:.08em;text-transform:uppercase;opacity:.6;margin:12px 6px 6px;font:700 11px/1.2 system-ui,-apple-system,sans-serif}.picker-item{width:100%;min-height:56px;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:3px;margin:0 0 6px;padding:10px 14px;display:flex}.picker-item:hover{background:#ffffff1a}.picker-item:active{transform:scale(.99)}.picker-item-title{font:600 15px/1.25 system-ui,-apple-system,sans-serif}.picker-item-desc{opacity:.72;font-size:13px;line-height:1.35}.picker-item.is-selected{background:#5a78aa47;border-color:#8fb4ffb3}.picker-item.is-selected .picker-item-title:after{content:"last drive";vertical-align:1px;letter-spacing:.04em;text-transform:uppercase;color:#cfe0ff;background:#8fb4ff40;border-radius:6px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700}.picker-item[data-start=free-look],.picker-item-action{border-style:dashed}.goto .picker-item.is-selected .picker-item-title:after{content:"last place"}.settings-action{color:#fff;cursor:pointer;touch-action:manipulation;background:#4f7fd6;border:0;border-radius:20px;min-width:64px;min-height:40px;padding:0 16px;font:600 14px/1 system-ui,-apple-system,sans-serif}.help-stats{opacity:.6}.settings-section{padding:0 2px}.settings-row{border-bottom:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-height:48px;padding:4px 6px;display:flex}.settings-label{font-size:14px;font-weight:500}.settings-hint{opacity:.6;flex-basis:100%;margin-top:-4px;font-size:12px}.settings-slider{opacity:.9;flex:100%;align-items:center;gap:8px;font-size:12px;display:flex}.settings-slider input{accent-color:#8fb4ff;touch-action:pan-x;flex:1;min-width:0;height:44px;margin:0}.settings-segmented{background:#ffffff14;border-radius:12px;padding:2px;display:inline-flex}.settings-segmented button{min-width:44px;min-height:40px;color:inherit;cursor:pointer;touch-action:manipulation;opacity:.75;background:0 0;border:0;border-radius:10px;padding:0 12px;font:600 13px/1 system-ui,-apple-system,sans-serif}.settings-segmented button.is-on{color:#14181f;opacity:1;background:#eef1f5}.settings-switch{appearance:none;cursor:pointer;background:#ffffff38;border-radius:14px;flex:none;width:46px;height:28px;margin:8px 0;transition:background .15s;position:relative}.settings-switch:before{content:"";position:absolute;inset:-8px -2px}.settings-switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0006}.settings-switch:checked{background:#4f7fd6}.settings-switch:checked:after{transform:translate(18px)}.settings-footer{opacity:.6;margin:12px 6px 0;font-size:12px;line-height:1.5}.minimap{--mm:168px;right:calc(12px + env(safe-area-inset-right));bottom:calc(32px + env(safe-area-inset-bottom));width:var(--mm);height:var(--mm);z-index:1;background:#e8e4da;border:2px solid #ffffffd9;border-radius:14px;transition:width .18s,height .18s;position:absolute;overflow:hidden;box-shadow:0 2px 10px #00000059}.minimap[hidden],.minimap-show[hidden]{display:none}.minimap.is-expanded{width:min(440px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));height:min(440px,100vh - 120px)}.minimap-canvas{cursor:zoom-in;touch-action:manipulation;width:100%;height:100%}.minimap.is-expanded .minimap-canvas{cursor:zoom-out}.minimap-btn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:44px;height:44px;padding:0;position:absolute;top:0}.minimap-btn:before{content:"";background:#14181fb8;border-radius:50%;position:absolute;inset:7px}.minimap-orient{right:0}.minimap-hide{left:0}.minimap-btn>span{color:#fff;flex-direction:column;justify-content:center;align-items:center;font:800 11px/1 system-ui,-apple-system,sans-serif;display:flex;position:absolute;inset:0}.minimap-hide>span{font-size:18px}.minimap-n{transform:rotate(var(--north,0deg))}.minimap-n i{border:4px solid #0000;border-top:0;border-bottom:6px solid #ff5a4e;width:0;height:0;margin-bottom:1px}.minimap-orient.is-heading:before{background:#1a73e8e6}.minimap-show{right:calc(12px + env(safe-area-inset-right));bottom:calc(32px + env(safe-area-inset-bottom));color:#fff;cursor:pointer;touch-action:manipulation;background:#0009;border:0;border-radius:22px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute}.has-touch-drive .minimap,.has-touch-drive .minimap-show{right:auto;left:calc(14px + env(safe-area-inset-left));bottom:calc(130px + env(safe-area-inset-bottom))}.has-touch-drive .minimap{--mm:min(150px, calc(100vw - 238px))}.touch-ui .minimap{--mm:140px}.has-panel .minimap,.has-panel .minimap-show{bottom:calc(var(--panel-h,0px) + 20px + env(safe-area-inset-bottom))}.has-panel .help{display:none}.has-panel .bottom-dock{bottom:calc(var(--panel-h,0px) + 20px + env(safe-area-inset-bottom))}@media (max-height:460px){.minimap,.minimap-show,.has-touch-drive .minimap,.has-touch-drive .minimap-show,.touch-ui .minimap,.touch-ui .minimap-show{left:auto;right:calc(12px + env(safe-area-inset-right));bottom:auto;top:calc(12px + env(safe-area-inset-top))}.touch-ui .minimap,.has-touch-drive .minimap{--mm:128px}.has-panel .minimap,.has-panel .minimap-show{bottom:auto}.minimap.is-expanded{height:calc(100vh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:min(440px,55vw)}}.caption-toast{left:50%;top:calc(12px + env(safe-area-inset-top));z-index:3;width:min(460px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));box-sizing:border-box;color:#eef1f5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14181fdb;border-left:4px solid #ff6a2b;border-radius:12px;padding:10px 44px 10px 14px;position:absolute;transform:translate(-50%);box-shadow:0 4px 18px #00000059}.caption-toast[hidden]{display:none}.caption-toast.is-in{animation:.35s ease-out caption-in}@keyframes caption-in{0%{opacity:0;transform:translate(-50%,-8px)}}.caption-kicker{letter-spacing:.1em;text-transform:uppercase;color:#ffb08a;font:700 10px/1.2 system-ui,-apple-system,sans-serif}.caption-title{margin-top:2px;font:700 15px/1.25 system-ui,-apple-system,sans-serif}.caption-text{margin:4px 0 0;font-size:13px;line-height:1.4}.caption-sources{opacity:.55;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:10.5px;overflow:hidden}.caption-close{color:#fff;cursor:pointer;opacity:.8;touch-action:manipulation;background:0 0;border:0;width:44px;height:44px;font-size:22px;line-height:44px;position:absolute;top:0;right:0}@media (max-width:1060px){.caption-toast{top:calc(68px + env(safe-area-inset-top))}.has-touch-drive .caption-toast,.touch-ui .caption-toast{top:calc(94px + env(safe-area-inset-top))}}@media (max-width:600px),(max-height:460px){.caption-text{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.caption-toast{cursor:pointer;padding:8px 44px 9px 12px}.caption-toast.is-open .caption-text{-webkit-line-clamp:unset;line-clamp:none}.caption-toast:not(.is-open) .caption-sources{display:none}}.caption-more{color:#ffb08a;margin-top:3px;font-size:11px;font-weight:600;display:none}@media (max-width:600px),(max-height:460px){.caption-toast:not(.is-open) .caption-more{display:block}}@media (max-height:460px){.caption-toast,.has-touch-drive .caption-toast,.touch-ui .caption-toast{left:calc(12px + env(safe-area-inset-left));top:calc(64px + env(safe-area-inset-top));width:min(310px,50vw - 24px);max-height:calc(100vh - 184px);overflow:hidden;transform:none}.caption-toast.is-in{animation:none}.caption-text{font-size:12px}}.mode-panel{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:2;width:min(560px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));box-sizing:border-box;color:#eef1f5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14181fe0;border-radius:16px;position:absolute;transform:translate(-50%);box-shadow:0 6px 24px #00000059}.mode-panel[hidden]{display:none}.mode-btn{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffff24;border:0;border-radius:22px;flex:none;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 14px;font:600 14px/1 system-ui,-apple-system,sans-serif;display:inline-flex}.mode-btn-primary{background:#4f7fd6}.mode-btn-icon{width:44px;padding:0}.mode-btn:focus-visible{outline-offset:2px;outline:3px solid #fff}.viewpoint-panel{align-items:center;gap:12px;padding:10px 8px 10px 16px;display:flex}.viewpoint-close{background:0 0}.mode-panel-info{flex:1;min-width:0}.mode-panel-kicker{letter-spacing:.08em;text-transform:uppercase;color:#a9c4ff;font:700 10px/1.2 system-ui,-apple-system,sans-serif}.mode-panel-title{margin-top:3px;font:700 15px/1.25 system-ui,-apple-system,sans-serif}.mode-panel-sub{opacity:.8;margin-top:1px;font-size:13px}.mode-panel-sub[hidden],.mode-panel-link[hidden]{display:none}.mode-panel-link{color:#a9c4ff;margin-top:2px;padding:4px 0;font-size:13px;font-weight:600;display:inline-block}.minimap-grow{top:auto;bottom:0;right:0}@media (max-height:460px){.mode-panel{width:min(520px, calc(100vw - 24px - 150px - env(safe-area-inset-left) - env(safe-area-inset-right)));left:calc(12px + env(safe-area-inset-left));bottom:calc(10px + env(safe-area-inset-bottom));transform:none}.mode-panel-kicker{display:none}}.bottom-dock{left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));z-index:2;max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute}.bottom-dock>*{pointer-events:auto}.bottom-dock .help{max-width:none;position:static}.era-toggle{color:#eef1f5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14181fd1;border-radius:16px;flex-direction:column;align-items:stretch;gap:3px;padding:4px 4px 5px;display:flex;box-shadow:0 2px 10px #0000004d}.era-seg{gap:2px;display:flex}.era-seg button{min-width:64px;min-height:44px;color:inherit;font-variant-numeric:tabular-nums;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;opacity:.7;background:0 0;border:0;border-radius:12px;flex:1 1 0;padding:0 14px;font:700 16px/1 system-ui,-apple-system,sans-serif}.era-seg button:hover{opacity:1;background:#ffffff14}.era-seg button.is-on{color:#14181f;opacity:1;background:#eef1f5}.era-seg button:focus-visible{outline-offset:1px;outline:3px solid #8fb4ff}.era-hint{opacity:.78;text-align:center;white-space:nowrap;padding:0 6px;font-size:11px;line-height:1.25}@media (max-width:600px){.bottom-dock{bottom:calc(40px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px - 156px - env(safe-area-inset-left) - env(safe-area-inset-right))}.bottom-dock .help{font-size:11px}.era-hint{white-space:normal;font-size:10.5px}}@media (max-height:460px){.bottom-dock{bottom:calc(12px + env(safe-area-inset-bottom))}}.has-touch-drive .bottom-dock{display:none}html.embed,html.embed body,html.embed #app{overscroll-behavior:auto}.embed-hint{z-index:1;color:#fff;white-space:nowrap;background:#14181f9e;border-radius:18px;padding:8px 14px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none!important}.embed-hint[hidden],.bottom-dock[hidden]{display:none}.is-embed .bottom-dock{bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}@media (max-width:600px){.is-embed .bottom-dock{bottom:calc(34px + env(safe-area-inset-bottom))}}
