:root{color-scheme:light;font-family:Inter Tight,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #edf4ee;--bg-accent: #d9e9d2;--panel: rgba(252, 255, 250, .78);--panel-border: rgba(43, 74, 48, .14);--text: #142018;--muted: #5d6c61;--primary: #0d8b62;--primary-strong: #0a6d4d;--shadow: 0 30px 80px rgba(28, 48, 32, .16)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at top left,rgba(13,139,98,.16),transparent 24rem),radial-gradient(circle at bottom right,rgba(240,199,92,.18),transparent 30rem),linear-gradient(180deg,var(--bg),#f6f8f1)}button,input,select{font:inherit}button{border:0;cursor:pointer}.page-shell{position:relative;height:100vh;overflow:hidden;--speed-widget-top: 20px;--speed-widget-right: 32px;--speed-limit-size: 6.8rem;--current-speed-size: 4.54rem;--current-speed-half-size: 2.27rem;--current-speed-corner-inset: .8rem;--current-speed-y-offset: .36rem;--current-speed-border: .32rem}.map-shell,.map-canvas{position:absolute;inset:0;width:100%;height:100%}.map-canvas{touch-action:none}.map-search-scrim{position:absolute;inset:0;z-index:1;background:#0a140e75;pointer-events:none}.map-canvas .maplibregl-map,.map-canvas .maplibregl-canvas-container,.map-canvas .maplibregl-canvas{width:100%;height:100%}.map-canvas .maplibregl-ctrl-group{border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #12221626}.map-canvas .maplibregl-ctrl button{width:38px;height:38px}.map-canvas .maplibregl-popup-content{padding:0;overflow:hidden;border-radius:18px;background:#fffffff5;box-shadow:0 18px 40px #1222162e}.map-canvas .maplibregl-popup-tip{border-top-color:#fffffff5}.map-canvas .app-map-popup .maplibregl-popup-tip{display:none}.map-canvas .app-map-popup .maplibregl-popup-content{border-radius:10px;background:#fff;box-shadow:0 10px 28px #14181c38}.glass-panel,.status-card{position:absolute;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow)}.search-panel{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));z-index:2;width:min(32.8rem,calc(100vw - max(20px,env(safe-area-inset-left)) - 6.25rem));max-height:calc(100dvh - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)) - 1rem);display:grid;grid-template-rows:auto auto auto auto;align-content:start;min-height:0;padding:0;border-radius:0;background:transparent;border:0;box-shadow:none;overflow:visible}.search-panel--expanded{border-radius:18px;background:#fff;box-shadow:0 12px 30px #12221633;overflow:hidden}.search-panel--directions{top:0;left:0;bottom:0;width:min(35.5rem,calc(100vw - 1rem));max-height:100dvh;grid-template-rows:auto minmax(0,auto) auto auto;padding:max(12px,env(safe-area-inset-top)) 1.25rem max(16px,env(safe-area-inset-bottom));border-radius:0 20px 20px 0;background:#fff;border-right:1px solid rgba(20,32,24,.08);box-shadow:14px 0 32px #12221629;overflow:auto;overscroll-behavior:contain}.current-speed-widget{position:absolute;top:var(--speed-widget-top);right:var(--speed-widget-right);z-index:3;width:6.8rem;height:6.8rem;display:inline-grid;place-items:center;padding:0;border:.48rem solid #2fa7ef;border-radius:50%;color:var(--text);background:#fffffff5;box-shadow:0 0 0 .34rem #ffffffeb,0 18px 42px #12221633;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;touch-action:manipulation}.current-speed-widget span{display:grid;justify-items:center;line-height:1}.current-speed-widget strong{font-size:2.75rem;font-weight:800;line-height:.88;letter-spacing:0}.current-speed-widget small{color:#343b49;font-size:1.05rem;font-weight:800;line-height:1}.current-speed-widget--pending,.current-speed-widget--unsupported,.current-speed-widget--denied,.current-speed-widget--error{color:var(--muted);border-color:#5d6c6157}.current-speed-widget--over-limit{color:#8f1d1d;border-color:#ef4444;animation:current-speed-over-limit-pulse .76s ease-in-out infinite alternate}.current-speed-widget--over-limit small{color:#8f1d1d}@keyframes current-speed-over-limit-pulse{0%{background:#fffffff5;box-shadow:0 0 0 .34rem #ffffffeb,0 18px 42px #12221633}to{background:#ffd6d6fa;box-shadow:0 0 0 .34rem #ffebebf0,0 0 22px #ef44447a,0 18px 42px #12221633}}.current-speed-limit-widget{position:absolute;top:var(--speed-widget-top);right:calc(var(--speed-widget-right) + 7.8rem);z-index:3;width:6.8rem;height:6.8rem;display:inline-grid;place-items:center;pointer-events:none}.current-speed-limit-widget__sign{width:6.8rem;height:6.8rem;border-width:.48rem;box-shadow:0 0 0 .34rem #ffffffeb,0 18px 42px #12221633}.current-speed-limit-widget__sign .traffic-alert-sign__speed{font-size:2.75rem}.road-level-widget{position:absolute;top:calc(var(--speed-widget-top) + 7.9rem);right:var(--speed-widget-right);z-index:3;width:min(21rem,calc(100vw - 2rem));display:grid;gap:.42rem;padding:.8rem .9rem;border:1px solid rgba(20,32,24,.12);border-left:.34rem solid #64748b;border-radius:.8rem;color:#121821;background:#fffffff0;box-shadow:0 14px 34px #1222162b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.road-level-widget--elevated{border-left-color:#2563eb}.road-level-widget--surface{border-left-color:#0d8b62}.road-level-widget--tunnel{border-left-color:#7c3aed}.road-level-widget--low_confidence,.road-level-widget--collecting{border-left-color:#d97706}.road-level-widget--error{border-left-color:#dc2626}.road-level-widget__status{display:flex;align-items:center;gap:.42rem;color:#536171;font-size:.78rem;font-weight:800;text-transform:uppercase}.road-level-widget__dot{width:.55rem;height:.55rem;border-radius:999px;background:#64748b}.road-level-widget--matched .road-level-widget__dot{background:#16a34a}.road-level-widget--matching .road-level-widget__dot,.road-level-widget--collecting .road-level-widget__dot{background:#d97706}.road-level-widget--error .road-level-widget__dot{background:#dc2626}.road-level-widget strong{font-size:1.05rem;line-height:1.16}.road-level-widget__road{color:#263241;font-size:.96rem;font-weight:700;line-height:1.25}.road-level-widget small{color:#5f6b79}.road-level-widget__details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.36rem;margin:.18rem 0 0}.road-level-widget__details div{min-width:0;padding:.42rem;border-radius:.48rem;background:#f3f5f7}.road-level-widget__details dt{color:#66717d;font-size:.68rem;font-weight:800;text-transform:uppercase}.road-level-widget__details dd{margin:.08rem 0 0;overflow:hidden;color:#121821;font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.page-shell--has-speed-limit .current-speed-limit-widget{right:var(--speed-widget-right);width:var(--speed-limit-size);height:var(--speed-limit-size);z-index:5}.page-shell--has-speed-limit .current-speed-limit-widget__sign{width:var(--speed-limit-size);height:var(--speed-limit-size)}.page-shell--has-speed-limit .current-speed-widget{top:calc(var(--speed-widget-top) + var(--speed-limit-size) - var(--current-speed-half-size) - var(--current-speed-corner-inset) + var(--current-speed-y-offset));right:calc(var(--speed-widget-right) - var(--current-speed-half-size) + var(--current-speed-corner-inset));z-index:6;width:var(--current-speed-size);height:var(--current-speed-size);border-width:var(--current-speed-border);box-shadow:0 0 0 .12rem #fffffff5,0 8px 20px #1222163d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-shell--has-speed-limit .current-speed-widget strong{font-size:1.72rem;line-height:.88}.page-shell--has-speed-limit .current-speed-widget small{font-size:.76rem;line-height:1}.traffic-alert-panel{position:absolute;top:8.45rem;right:20px;z-index:3;width:min(10.5rem,calc(100vw - 2.5rem));display:grid;gap:.55rem;justify-items:end;pointer-events:none}.page-shell--has-speed-limit .traffic-alert-panel{top:calc(var(--speed-widget-top) + var(--speed-limit-size) + var(--current-speed-half-size) - var(--current-speed-corner-inset) + var(--current-speed-y-offset) + .9rem)}.navigation-guidance-row{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));z-index:5;display:flex;align-items:flex-start;gap:.75rem;max-width:calc(100vw - 2.5rem);pointer-events:none}.navigation-guidance-row .navigation-guidance{position:static;top:auto;left:auto;flex:0 1 auto}.lane-direction-panel{display:grid;gap:.55rem;width:min(24rem,calc(100vw - 2.5rem));justify-items:start;pointer-events:none}.lane-direction-card{display:grid;gap:.35rem;justify-items:center;width:max-content;max-width:100%;color:#101820;text-shadow:0 1px 0 rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.9)}.lane-direction-card__sign{display:block;width:auto;max-width:100%;height:clamp(6.4rem,8vw,7.4rem);max-height:none;filter:drop-shadow(0 10px 20px rgba(18,34,22,.28))}.traffic-alert-card{display:grid;grid-template-columns:1fr;gap:.28rem;justify-items:center;align-items:start;width:max-content;max-width:100%;min-height:0;padding:0;color:#101820;background:transparent;box-shadow:none;text-shadow:0 1px 0 rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.9)}.traffic-alert-card--active{background:transparent}.traffic-alert-card__icon{width:3.1rem;height:3.1rem;display:inline-grid;place-items:center;filter:drop-shadow(0 8px 16px rgba(18,34,22,.24))}.traffic-alert-card--traffic_signal .traffic-alert-card__icon,.traffic-alert-card--congestion .traffic-alert-card__icon,.traffic-alert-card--incident .traffic-alert-card__icon{border-color:#ef4444}.traffic-alert-card__distance{font-size:.96rem;font-weight:900;line-height:1;white-space:nowrap}.traffic-alert-card__content{min-width:0;display:grid;gap:.08rem;line-height:1.05}.traffic-alert-card__content strong{font-size:1.45rem;font-weight:900;line-height:1}.traffic-alert-card__content span,.traffic-alert-card__content small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.traffic-alert-card__content span{font-size:.94rem;font-weight:800}.traffic-alert-card__content small{color:#ffffffb8;font-size:.76rem;font-weight:600}.navigation-guidance{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));z-index:4;width:fit-content;min-width:min(23rem,calc(100vw - 2.5rem));max-width:min(34rem,calc(100vw - 2.5rem));color:#fff;overflow:hidden;border-radius:22px;background:#06746e;filter:drop-shadow(0 18px 36px rgba(18,34,22,.22));pointer-events:none}.navigation-guidance__primary{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:.9rem;align-items:center;min-height:6rem;padding:.95rem 1.15rem;background:transparent}.navigation-guidance__icon{position:relative;width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center}.navigation-guidance__icon svg{width:100%;height:100%}.navigation-guidance__icon-path--secondary{opacity:.38}.navigation-guidance__icon-badge{position:absolute;right:-.2rem;bottom:-.25rem;min-width:1.45rem;height:1.45rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff;color:#06746e;box-shadow:0 0 0 2px #06746e;font-size:.88rem;font-weight:850;line-height:1}.navigation-guidance__icon--roundabout .navigation-guidance__icon-badge{inset:50% auto auto 50%;transform:translate(-50%,-50%);min-width:1.25rem;height:1.25rem;background:#06746e;color:#fff;box-shadow:0 0 0 2px #fff;font-size:.78rem}.navigation-guidance__content{min-width:0;display:grid;gap:.18rem}.navigation-guidance__content strong{font-size:1.65rem;font-weight:760;line-height:1.14;overflow-wrap:anywhere;white-space:normal}.navigation-guidance__content span{font-size:1.05rem;font-weight:700;opacity:.9}.navigation-guidance__next{width:100%;max-width:none;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;padding:.62rem .95rem;border-top:1px solid rgba(255,255,255,.16);background:#05615d}.navigation-guidance__next span{font-size:.95rem;font-weight:700;opacity:.82}.navigation-guidance__next strong{font-size:.96rem;line-height:1.2;overflow-wrap:anywhere;white-space:normal}.navigation-trip-bar{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));z-index:4;width:min(34rem,calc(100vw - 2.5rem));display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem;align-items:center;padding:1rem;border-radius:24px;background:#fffffff5;border:1px solid rgba(43,74,48,.1);box-shadow:0 22px 56px #12221638;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.navigation-trip-bar__summary{min-width:0;display:grid;gap:.08rem}.navigation-trip-bar__summary strong{color:#dc2626;font-size:1.75rem;font-weight:800;line-height:1}.navigation-trip-bar__summary span{overflow:hidden;color:var(--muted);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.navigation-trip-bar__button{width:3.2rem;height:3.2rem;color:var(--text);background:#f1f5f2}.navigation-trip-bar__exit{min-width:5.4rem;padding:.9rem 1.1rem;border-radius:999px;color:#fff;background:#dc2626;font-weight:800}.navigation-trip-bar__speed{grid-column:1 / -1;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.45rem .75rem;align-items:center}.navigation-trip-bar__speed span{color:var(--muted);font-size:.92rem;font-weight:700}.navigation-trip-bar__speed output{color:var(--text);font-size:1rem;font-weight:800;white-space:nowrap}.navigation-trip-bar__speed .navigation-simulator__speed-slider{grid-column:auto}.navigation-trip-bar__progress{grid-column:1 / -1;width:100%;height:.34rem;overflow:hidden;border:0;border-radius:999px;background:#0d8b621f;appearance:none}.navigation-trip-bar__progress::-webkit-progress-bar{background:#0d8b621f}.navigation-trip-bar__progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,var(--primary),#20304f)}.navigation-trip-bar__progress::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,var(--primary),#20304f)}.search-panel__feedback,.search-results__item span,.search-selection__eyebrow,.search-selection>span,.route-step span{color:var(--muted)}.search-panel__bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:0;align-items:center;min-height:4rem;padding:0 .18rem 0 1rem;border-radius:18px;background:#fffffff7;box-shadow:0 8px 22px #1222162e;overflow:hidden}.search-panel__bar--directions{grid-template-columns:minmax(0,1fr) auto auto;min-height:4rem;padding:0 .22rem 0 1rem;border-radius:16px;background:#f4f4f4;box-shadow:none}.search-panel--expanded .search-panel__bar{border-radius:18px 18px 0 0;background:#fff;box-shadow:none;border-bottom:1px solid rgba(32,32,32,.08)}.search-panel__bar input{min-width:0;height:100%;padding:0 .82rem;border:0;border-radius:0;color:#202124;background:transparent;box-shadow:none;font-size:1rem;font-weight:600}.search-panel__bar input::placeholder{color:#6f6f6f;opacity:1}.search-panel__bar input:focus{border:0;box-shadow:none}.search-panel__pin{width:2rem;height:2rem;display:inline-grid;place-items:center;color:#ff4438}.search-panel__pin svg{width:100%;height:100%}.search-panel__icon-action{width:3.2rem;height:3.2rem;display:inline-grid;place-items:center;padding:0;color:#505050;background:transparent;border-left:1px solid rgba(32,32,32,.1);border-radius:0;transition:color .16s ease,background .16s ease}.search-panel__icon-action svg{width:1.55rem;height:1.55rem}.search-panel__icon-action:hover{color:#1f64ff;background:#1f64ff12}.search-panel__icon-action--close:hover{color:#505050;background:#2020200f}.search-panel__feedback{margin-top:.75rem;padding:.8rem .9rem;border-radius:16px;background:#eef9f6;border:1px solid rgba(13,139,98,.1)}.search-panel__feedback--error{color:#a8382c;background:#fff4f2;border-color:#a8382c2e}.search-panel__action{min-width:4rem;padding:.95rem 1rem;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-strong))}.search-results{display:grid;gap:0;margin:0;padding:0;list-style:none;max-height:min(62dvh,41rem);overflow:auto;overscroll-behavior:contain;background:#fff}.search-results__item{width:100%;display:grid;gap:.2rem;padding:.78rem 1.05rem;min-width:0;text-align:left;border-radius:0;border:0;background:transparent;transition:background .16s ease}.search-results__item:hover{background:#f5f7f8}.search-results__item strong,.search-results__item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-results__item strong{color:#222;font-size:1rem;font-weight:700;line-height:1.2}.search-results__item span{font-size:.92rem;line-height:1.25}.search-selection{display:grid;gap:.3rem;margin:0;padding:.9rem 1.05rem 1rem;border-radius:0 0 18px 18px;border:0;background:#fff}.search-selection__eyebrow{display:flex;flex-wrap:wrap;gap:.4rem .75rem;font-size:.86rem}.directions-panel{display:grid;gap:.82rem;min-height:0;margin-top:1rem;padding:0;border-radius:0;border:0;background:transparent;overflow:visible;overscroll-behavior:contain}.directions-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.directions-picker{position:relative;display:grid;gap:.6rem;padding:0 2.75rem 0 0}.directions-picker__line{position:absolute;left:.72rem;top:1.7rem;bottom:3.65rem;width:2px;border-radius:999px;background:#d6dadd}.directions-picker__swap{position:absolute;top:50%;right:0;z-index:2;transform:translateY(-50%);width:2.45rem;height:2.45rem;color:#4f5357;background:#f8f8f8;border-color:#20202014}.place-field{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.62rem;align-items:center;min-width:0;min-height:3.35rem;padding:.42rem .64rem;border-radius:9px;background:#f4f4f4;border:1px solid transparent}.place-field--dragging{opacity:.78;transform:scale(.992)}.place-field--drop-before:before,.place-field--drop-after:after{content:"";position:absolute;left:2.45rem;right:.7rem;height:3px;border-radius:999px;background:#1a73e8;box-shadow:0 4px 16px #1a73e838}.place-field--drop-before:before{top:-.45rem}.place-field--drop-after:after{bottom:-.45rem}.place-field input{min-width:0;padding:0;border:0;color:#111;background:transparent;box-shadow:none;font-size:1rem;font-weight:600}.place-field input:focus{border:0;box-shadow:none}.place-field__badge{width:1.2rem;height:1.2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;font-size:.62rem;font-weight:700}.place-field--origin .place-field__badge{background:#ff4438}.place-field--destination .place-field__badge{background:#4b4b4b}.place-field--stop .place-field__badge{background:#8e6b12}.place-field__action{width:2.12rem;height:2.12rem;color:#4f5357;background:#fff;border-color:#20202014}.place-field__actions{display:inline-flex;align-items:center;flex:0 0 auto;gap:.3rem}.place-field__drag-handle{cursor:grab;color:var(--muted)}.place-field__drag-handle:active{cursor:grabbing}.directions-picker__add{padding:.48rem .62rem;color:#7a7a7a;background:transparent;border-radius:999px;font-weight:600}.directions-picker__footer{grid-column:1 / -1;display:flex;justify-content:space-between;gap:1rem;margin-left:2.25rem}.directions-picker__reset{padding:.48rem .62rem;color:#7a7a7a;background:transparent;border-radius:999px;font-weight:600}.directions-modes{display:flex;flex-wrap:nowrap;gap:.5rem;order:-1;min-width:0;overflow-x:auto;padding:.08rem 0 .1rem;scrollbar-width:none}.directions-modes::-webkit-scrollbar{display:none}.directions-modes .chip{min-width:2.85rem;height:2.85rem;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:.34rem;padding:0 .66rem;color:#4f5357;background:transparent;border:0;font-weight:600}.directions-modes .chip--active{color:#fff;background:#246bfd}.directions-mode__icon{width:1.38rem;height:1.38rem;display:inline-grid;place-items:center}.directions-mode__icon svg{width:100%;height:100%}.directions-mode__label{font-size:.92rem;font-weight:600}.route-summary{display:grid;grid-template-columns:auto auto;justify-content:start;gap:.7rem;margin-inline:-1.35rem;padding:1rem 1.35rem;border-top:1px solid rgba(32,32,32,.08);border-bottom:1px solid rgba(32,32,32,.08)}.route-summary__item{min-width:0;display:inline-flex;align-items:center;padding:0;border-radius:999px;background:transparent;border:0}.route-summary__item strong{font-size:1rem;line-height:1.1;white-space:nowrap}.navigation-simulator{display:grid;gap:.65rem;padding:.75rem;border-radius:18px;background:#ffffffc7;border:1px solid rgba(43,74,48,.08)}.navigation-simulator__status{display:flex;align-items:center;justify-content:space-between;gap:.5rem .85rem;flex-wrap:wrap}.navigation-simulator__status strong{font-size:.94rem;line-height:1.2}.navigation-simulator__status span,.navigation-simulator__speed span{color:var(--muted);font-size:.86rem}.navigation-simulator__controls{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.45rem}.navigation-simulator__button{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-strong));border-color:#0d8b6233}.navigation-simulator__button:disabled{color:var(--muted);background:#ffffffb8}.navigation-simulator__speed{min-width:0;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:space-between;gap:.35rem .75rem}.navigation-simulator__speed output{color:var(--text);font-size:.95rem;font-weight:700;line-height:1.1;white-space:nowrap}.navigation-simulator__speed-slider{grid-column:1 / -1;width:100%;min-width:0;height:1.6rem;padding:0;border:0;border-radius:999px;background:transparent;outline:none;box-shadow:none;cursor:pointer;appearance:none;--speed-progress: 15%}.navigation-simulator__speed-slider:focus{border:0;box-shadow:none}.navigation-simulator__speed-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #0d8b6229,0 4px 12px #1222162e}.navigation-simulator__speed-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px #0d8b6229,0 4px 12px #1222162e}.navigation-simulator__speed-slider::-webkit-slider-runnable-track{height:.48rem;border-radius:999px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary) var(--speed-progress),rgba(13,139,98,.14) var(--speed-progress),rgba(13,139,98,.14) 100%)}.navigation-simulator__speed-slider::-webkit-slider-thumb{width:1.25rem;height:1.25rem;margin-top:-.39rem;border:3px solid white;border-radius:999px;background:var(--primary);box-shadow:0 4px 12px #1222162e;appearance:none}.navigation-simulator__speed-slider::-moz-range-track{height:.48rem;border-radius:999px;background:#0d8b6224}.navigation-simulator__speed-slider::-moz-range-progress{height:.48rem;border-radius:999px;background:var(--primary)}.navigation-simulator__speed-slider::-moz-range-thumb{width:1.25rem;height:1.25rem;border:3px solid white;border-radius:999px;background:var(--primary);box-shadow:0 4px 12px #1222162e}.navigation-simulator__progress{width:100%;height:.45rem;overflow:hidden;border:0;border-radius:999px;background:#0d8b621f;appearance:none}.navigation-simulator__progress::-webkit-progress-bar{background:#0d8b621f}.navigation-simulator__progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,var(--primary),#20304f)}.navigation-simulator__progress::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,var(--primary),#20304f)}.route-steps{display:grid;gap:.6rem;max-height:min(40vh,28rem);margin:0;padding:0;list-style:none;overflow:auto}.route-step{display:grid;gap:.24rem;padding:.75rem .85rem;border-radius:16px;background:#ffffffc7;border:1px solid rgba(43,74,48,.08)}.route-step strong{font-size:.95rem;line-height:1.4}.map-popup{display:grid;gap:.45rem;min-width:15rem;padding:.9rem 1rem}.map-popup--place{gap:0;width:min(22.5rem,calc(100vw - 2rem));min-width:min(22.5rem,calc(100vw - 2rem));padding:0}.map-popup--place .map-popup__content{display:grid;gap:.34rem;padding:1.05rem 1.25rem .95rem}.map-popup__meta,.map-popup__description{color:var(--muted);font-size:.9rem}.map-popup--place .map-popup__description{color:#858585;font-size:.96rem;line-height:1.35}.map-popup__title{font-size:1rem;line-height:1.35}.map-popup--place .map-popup__title{color:#171717;font-size:1.02rem;font-weight:800;line-height:1.25}.map-popup__actions{display:flex;justify-content:flex-end;margin-top:.1rem}.map-popup--place .map-popup__actions{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid rgba(32,32,32,.1)}.map-popup__action{width:2.6rem;height:2.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-strong));box-shadow:0 10px 22px #0d8b623d}.map-popup--place .map-popup__action{width:auto;height:4.5rem;gap:.58rem;padding:0 .7rem;border-radius:0;color:#111;background:#fff;box-shadow:none;font-size:.98rem;font-weight:800}.map-popup--place .map-popup__action+.map-popup__action{border-left:1px solid rgba(32,32,32,.08)}.map-popup--place .map-popup__action:hover{background:#f5f6f7}.map-popup__action svg,.icon-button svg{width:1.1rem;height:1.1rem}.map-popup--place .map-popup__action svg{width:1.35rem;height:1.35rem}.search-marker{width:38px;height:38px;display:inline-grid;place-items:center;color:#ff4438;transform:translateY(-19px);filter:drop-shadow(0 9px 18px rgba(94,16,12,.28))}.search-marker svg{width:100%;height:100%}.route-marker{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:3px solid white;color:#fff;font-size:.86rem;font-weight:700;transform:translateY(-18px);box-shadow:0 12px 28px #12221638}.route-marker--origin{background:#0d8b62}.route-marker--destination{background:#20304f}.route-marker--stop{background:#8e6b12}.navigation-simulation-marker{position:absolute;top:0;left:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:3px solid white;border-radius:999px;color:#fff;background:linear-gradient(135deg,#d93b34,#20304f);box-shadow:0 14px 34px #12221647;pointer-events:none;transform-origin:center;transition:none;will-change:transform;contain:layout paint;backface-visibility:hidden}.navigation-simulation-marker__icon{width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center}.navigation-simulation-marker__icon svg{width:100%;height:100%}.traffic-alert-marker{position:relative;width:11rem;height:11rem;display:block;padding:0;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 10px 18px rgba(18,34,22,.22));pointer-events:none}.traffic-alert-marker__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.traffic-alert-marker__connector-line{stroke:#ef4444;stroke-width:4;stroke-linecap:round}.traffic-alert-marker__anchor-dot{fill:#ef4444;stroke:#fff;stroke-width:5}.traffic-alert-marker__sign{pointer-events:auto;cursor:pointer}.traffic-alert-marker__speed-text{fill:#141821;font-size:32px;font-weight:900}.traffic-alert-marker__warning-text{fill:#141821;font-size:34px;font-weight:900}.traffic-alert-sign{position:relative;display:inline-grid;place-items:center;border:.32rem solid #ef4444;border-radius:999px;color:#141821;background:#fff;font-weight:900;line-height:1}.map-popup__traffic-icon.traffic-alert-sign{width:3rem;height:3rem}.traffic-alert-sign--image{border:0;border-radius:0;color:inherit;background:transparent;overflow:visible}.traffic-alert-sign__image{display:block;width:100%;height:100%;object-fit:contain}.traffic-alert-sign__speed{font-size:1.35rem;font-weight:900}.traffic-alert-sign__traffic-light{width:.86rem;height:1.82rem;display:grid;grid-template-rows:repeat(3,1fr);gap:.14rem;padding:.16rem;border-radius:999px;background:#202633}.traffic-alert-sign__traffic-light i{display:block;border-radius:999px}.traffic-alert-sign__traffic-light i:nth-child(1){background:#ef4444}.traffic-alert-sign__traffic-light i:nth-child(2){background:#facc15}.traffic-alert-sign__traffic-light i:nth-child(3){background:#22c55e}.traffic-alert-sign__camera{position:relative;width:1.7rem;height:1.08rem;border-radius:.18rem;background:#202633}.traffic-alert-sign__camera:before{content:"";position:absolute;top:-.34rem;left:.32rem;width:.78rem;height:.42rem;border-radius:.16rem .16rem 0 0;background:#202633}.traffic-alert-sign__camera:after{content:"";position:absolute;left:50%;top:50%;width:.5rem;height:.5rem;border:.12rem solid white;border-radius:999px;transform:translate(-50%,-50%)}.traffic-alert-sign__camera i{position:absolute;right:-.46rem;top:.28rem;width:0;height:0;border-top:.25rem solid transparent;border-bottom:.25rem solid transparent;border-left:.52rem solid #202633}.traffic-alert-sign__camera-badge{position:absolute;right:-.18rem;bottom:-.05rem;display:grid;place-items:center;width:42%;height:32%;filter:drop-shadow(0 2px 3px rgba(17,24,39,.28))}.traffic-alert-sign__camera--badge{width:1.05rem;height:.72rem;border-radius:.14rem;box-shadow:0 0 0 2px #fff}.traffic-alert-sign__camera--badge:before{top:-.22rem;left:.22rem;width:.48rem;height:.26rem;border-radius:.12rem .12rem 0 0}.traffic-alert-sign__camera--badge:after{width:.32rem;height:.32rem;border-width:.08rem}.traffic-alert-sign__camera--badge i{right:-.3rem;top:.18rem;border-top-width:.16rem;border-bottom-width:.16rem;border-left-width:.34rem}.traffic-alert-sign--no_stopping{overflow:hidden;border-color:#ef4444;background:#1f73d1}.traffic-alert-sign__no-stopping:before,.traffic-alert-sign__no-stopping:after{content:"";position:absolute;left:50%;top:50%;width:2.55rem;height:.24rem;border-radius:999px;background:#ef4444;transform-origin:center}.traffic-alert-sign__no-stopping:before{transform:translate(-50%,-50%) rotate(45deg)}.traffic-alert-sign__no-stopping:after{transform:translate(-50%,-50%) rotate(-45deg)}.traffic-alert-sign--congestion,.traffic-alert-sign--incident{border-radius:.38rem;color:#141821;background:#facc15;clip-path:polygon(50% 4%,96% 92%,4% 92%)}.traffic-alert-sign__warning{padding-top:.35rem;font-size:1.45rem}.traffic-alert-sign.traffic-alert-sign--image{border:0;border-radius:0;color:inherit;background:transparent;clip-path:none;overflow:visible}input{width:100%;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(43,74,48,.12);background:#ffffffd1;outline:none;transition:border-color .16s ease,box-shadow .16s ease}input:focus{border-color:#0d8b62b3;box-shadow:0 0 0 4px #0d8b621f}.primary-button,.secondary-button,.chip,.icon-button{border-radius:999px;transition:transform .16s ease,background .16s ease,color .16s ease,opacity .16s ease}.primary-button,.secondary-button,.chip{padding:.9rem 1.1rem}.primary-button{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-strong))}.secondary-button{color:var(--text);background:#ffffffb8}.chip{padding:.62rem .9rem;color:var(--muted);background:#ffffffb3;border:1px solid rgba(43,74,48,.08)}.chip--active{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-strong))}.icon-button{width:2.35rem;height:2.35rem;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text);background:#fffc;border:1px solid rgba(43,74,48,.1)}.icon-button--ghost{background:#ffffff8f}.icon-button:hover,.chip:hover,.search-panel__action:hover,.map-popup__action:hover{transform:translateY(-1px)}.directions-picker__swap:hover{transform:translateY(calc(-50% - 1px))}.directions-picker__swap:disabled{transform:translateY(-50%)}.icon-button:disabled,.chip:disabled,.search-panel__action:disabled{opacity:.45;cursor:not-allowed;transform:none}.status-card{top:112px;left:20px;display:grid;gap:.3rem;max-width:min(28rem,calc(100vw - 2rem));padding:.85rem 1rem;border-radius:18px}.status-card--error{border-color:#a8382c2e;background:#fff8f7d9}@media(max-width:1024px){.search-panel{width:min(32.8rem,calc(100vw - 6rem))}.search-panel--directions{width:min(35rem,calc(100vw - 1rem))}.search-results{max-height:min(38dvh,21rem)}.route-steps{max-height:min(34dvh,22rem)}.navigation-guidance{left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));width:auto;min-width:0;max-width:none}.navigation-trip-bar{width:min(31rem,calc(100vw - 2rem))}}@media(max-width:900px)and (orientation:landscape){.search-panel{top:10px;left:10px;width:min(31rem,calc(100vw - 6rem));max-height:calc(100dvh - 20px);padding:0}.search-panel--directions{top:0;left:0;bottom:0;width:min(31rem,calc(62vw - 1rem));max-height:100dvh;padding:.7rem .9rem;border-radius:0 18px 18px 0}.search-results{max-height:min(48dvh,16rem)}.directions-panel{gap:.55rem;padding:0}.directions-picker{gap:.45rem;padding-right:2.85rem}.place-field{min-height:2.85rem;padding-block:.35rem}.route-steps{max-height:min(28dvh,12rem)}.navigation-guidance{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));width:auto;min-width:0;max-width:none}.navigation-guidance__primary{min-height:4.8rem;padding:.7rem .85rem;border-radius:18px}.navigation-guidance__content strong{font-size:1.24rem}.navigation-trip-bar{left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));width:min(27rem,calc(62vw - 1rem));padding:.75rem;border-radius:20px}.navigation-trip-bar__speed{grid-template-columns:auto auto minmax(8rem,1fr)}}@media(max-width:720px){.page-shell{--speed-widget-top: 5.2rem;--speed-widget-right: 30px;--speed-limit-size: 5.7rem;--current-speed-size: 3.8rem;--current-speed-half-size: 1.9rem;--current-speed-corner-inset: .65rem;--current-speed-y-offset: .3rem;--current-speed-border: .28rem}.search-panel{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));width:auto;max-height:min(58dvh,calc(100dvh - 1.5rem));padding:0}.search-panel--directions{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));width:auto;max-height:min(78dvh,calc(100dvh - 1.5rem));padding:.78rem;border-radius:20px;background:#fff;box-shadow:0 -14px 42px #12221633}.current-speed-widget{top:5.2rem;right:24px;width:5.7rem;height:5.7rem;border-width:.4rem}.current-speed-widget strong{font-size:2.25rem}.current-speed-widget small{font-size:.9rem}.current-speed-limit-widget{top:5.2rem;right:calc(24px + 6.5rem);width:5.7rem;height:5.7rem}.current-speed-limit-widget__sign{width:5.7rem;height:5.7rem;border-width:.4rem}.current-speed-limit-widget__sign .traffic-alert-sign__speed{font-size:2.25rem}.traffic-alert-panel{top:11.4rem;right:12px;width:min(9.5rem,calc(100vw - 1.5rem));gap:.45rem}.road-level-widget{top:11.4rem;right:12px;width:min(18.5rem,calc(100vw - 1.5rem));padding:.72rem}.road-level-widget__details{grid-template-columns:repeat(2,minmax(0,1fr))}.navigation-guidance-row{top:max(10px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));display:grid;gap:.55rem;max-width:none}.navigation-guidance-row .navigation-guidance,.navigation-guidance-row .lane-direction-panel{width:100%;min-width:0;max-width:none}.lane-direction-card__sign{width:auto;max-width:100%;height:5.35rem;max-height:none}.navigation-guidance{top:max(12px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));width:auto;border-radius:19px}.navigation-guidance__primary{grid-template-columns:2.45rem minmax(0,1fr);gap:.65rem;min-height:5.35rem;padding:.82rem .95rem}.navigation-guidance__icon{width:2.35rem;height:2.35rem}.navigation-guidance__content strong{font-size:1.28rem;white-space:normal}.navigation-guidance__content span{font-size:.95rem}.navigation-guidance__next{padding:.52rem .78rem}.page-shell--navigation-active{--speed-widget-top: calc(max(12px, env(safe-area-inset-top)) + 8.45rem) ;--speed-widget-right: calc(max(12px, env(safe-area-inset-right)) + 18px) ;--speed-limit-size: 4.9rem;--current-speed-size: 3.28rem;--current-speed-half-size: 1.64rem;--current-speed-corner-inset: .55rem;--current-speed-y-offset: .26rem;--current-speed-border: .24rem}.page-shell--navigation-active .current-speed-widget{top:var(--speed-widget-top);right:var(--speed-widget-right);z-index:6;width:4.9rem;height:4.9rem;border-width:.34rem}.page-shell--navigation-active .current-speed-widget strong{font-size:1.95rem}.page-shell--navigation-active .current-speed-widget small{font-size:.78rem}.page-shell--navigation-active .current-speed-limit-widget{top:calc(var(--speed-widget-top) + 5.55rem);right:var(--speed-widget-right);z-index:5;width:4.9rem;height:4.9rem}.page-shell--navigation-active .current-speed-limit-widget__sign{width:4.9rem;height:4.9rem;border-width:.34rem}.page-shell--navigation-active .current-speed-limit-widget__sign .traffic-alert-sign__speed{font-size:1.95rem}.page-shell--navigation-active .traffic-alert-panel{top:calc(var(--speed-widget-top) + 5.6rem);right:var(--speed-widget-right);z-index:5;width:4.9rem}.page-shell--navigation-active.page-shell--has-speed-limit .current-speed-limit-widget{top:var(--speed-widget-top);right:var(--speed-widget-right);z-index:5;width:var(--speed-limit-size);height:var(--speed-limit-size)}.page-shell--navigation-active.page-shell--has-speed-limit .current-speed-limit-widget__sign{width:var(--speed-limit-size);height:var(--speed-limit-size)}.page-shell--navigation-active.page-shell--has-speed-limit .current-speed-widget{top:calc(var(--speed-widget-top) + var(--speed-limit-size) - var(--current-speed-half-size) - var(--current-speed-corner-inset) + var(--current-speed-y-offset));right:calc(var(--speed-widget-right) - var(--current-speed-half-size) + var(--current-speed-corner-inset));z-index:7;width:var(--current-speed-size);height:var(--current-speed-size);border-width:var(--current-speed-border)}.page-shell--navigation-active.page-shell--has-speed-limit .current-speed-widget strong{font-size:1.36rem}.page-shell--navigation-active.page-shell--has-speed-limit .current-speed-widget small{font-size:.64rem}.page-shell--navigation-active.page-shell--has-speed-limit .traffic-alert-panel{top:calc(var(--speed-widget-top) + var(--speed-limit-size) + var(--current-speed-half-size) - var(--current-speed-corner-inset) + var(--current-speed-y-offset) + .95rem)}.page-shell--navigation-active .traffic-alert-card{width:4.9rem;grid-template-columns:1fr;gap:.22rem;justify-items:center;min-height:0;padding:0}.page-shell--navigation-active .traffic-alert-card__distance{max-width:100%;overflow:hidden;font-size:.82rem;text-overflow:ellipsis}.navigation-trip-bar{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:auto;grid-template-columns:minmax(0,1fr) auto auto;gap:.62rem;padding:.82rem;border-radius:22px}.navigation-trip-bar__summary strong{font-size:1.48rem}.navigation-trip-bar__summary span{font-size:.92rem}.navigation-trip-bar__button{width:2.95rem;height:2.95rem}.navigation-trip-bar__exit{min-width:4.8rem;padding:.82rem .95rem}.navigation-trip-bar__speed{grid-template-columns:auto auto;gap:.34rem .6rem}.navigation-trip-bar__speed .navigation-simulator__speed-slider{grid-column:1 / -1}.traffic-alert-card{grid-template-columns:1fr;min-height:0;padding:0}.traffic-alert-card__icon{width:2.65rem;height:2.65rem;font-size:.66rem}.traffic-alert-card__content strong{font-size:1.2rem}.traffic-alert-card__distance{font-size:.88rem}.search-panel__bar{grid-template-columns:auto minmax(0,1fr) auto auto;min-height:3.75rem;padding-left:.78rem;border-radius:18px}.search-panel__bar--directions{grid-template-columns:minmax(0,1fr) auto auto;min-height:3.45rem;border-radius:15px}.search-panel__bar input{padding-inline:.66rem;font-size:.96rem}.search-panel__pin{width:1.85rem;height:1.85rem}.search-panel__icon-action{width:2.75rem;height:2.75rem}.search-panel__icon-action svg{width:1.65rem;height:1.65rem}.search-results{max-height:min(42dvh,20rem)}.search-results__item{padding:.78rem .85rem}.directions-panel{gap:.6rem;margin-top:.9rem;padding:0;border-radius:0}.directions-picker{gap:.48rem;padding-right:2.35rem}.directions-picker__swap{right:.35rem}.directions-picker__add{margin-left:0}.directions-picker__footer{margin-left:1.85rem}.place-field__actions{gap:.25rem}.place-field{grid-template-columns:1.35rem minmax(0,1fr) auto;gap:.48rem;min-height:2.9rem;padding:.34rem .48rem;border-radius:10px}.place-field__badge{width:1.35rem;height:1.35rem;font-size:.68rem}.place-field__action{width:2rem;height:2rem}.directions-modes{gap:.35rem;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.1rem}.directions-modes .chip{flex:0 0 auto;height:2.75rem;min-width:2.75rem;padding:0 .62rem}.route-summary{gap:.4rem;margin-inline:-1rem;padding:.85rem 1rem}.route-summary__item{padding:0}.navigation-simulator__controls{grid-template-columns:auto auto minmax(7rem,1fr)}.navigation-simulator__speed{grid-template-columns:auto auto;gap:.25rem}.route-steps{max-height:min(28dvh,16rem);gap:.48rem}.route-step{padding:.68rem .75rem;border-radius:14px}.status-card{left:12px;right:12px;width:auto}.status-card{top:auto;bottom:12px}}@media(max-width:420px){.page-shell--navigation-active{--speed-widget-right: calc(max(12px, env(safe-area-inset-right)) + 18px) ;--speed-limit-size: 4.65rem;--current-speed-size: 3.1rem;--current-speed-half-size: 1.55rem;--current-speed-corner-inset: .5rem;--current-speed-y-offset: .22rem;--current-speed-border: .22rem}.search-panel{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));padding:0}.search-panel--directions{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));padding:.68rem}.navigation-guidance{left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right))}.navigation-guidance__primary{min-height:5rem;padding:.72rem .8rem}.navigation-guidance__content strong{font-size:1.14rem}.page-shell--navigation-active .current-speed-widget,.page-shell--navigation-active .current-speed-limit-widget{right:var(--speed-widget-right);width:4.65rem;height:4.65rem}.page-shell--navigation-active .current-speed-widget strong,.page-shell--navigation-active .current-speed-limit-widget__sign .traffic-alert-sign__speed{font-size:1.78rem}.page-shell--navigation-active .current-speed-limit-widget{top:calc(var(--speed-widget-top) + 5.3rem)}.page-shell--navigation-active .current-speed-limit-widget__sign{width:4.65rem;height:4.65rem}.page-shell--navigation-active .traffic-alert-panel{top:calc(var(--speed-widget-top) + 5.35rem);right:var(--speed-widget-right);width:4.65rem}.page-shell--navigation-active .traffic-alert-card{width:4.65rem}.navigation-trip-bar{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));padding:.7rem}.navigation-trip-bar__summary strong{font-size:1.32rem}.navigation-trip-bar__button{width:2.75rem;height:2.75rem}.navigation-trip-bar__exit{min-width:4.35rem;padding-inline:.78rem}.search-panel__bar{min-height:3.45rem;padding-left:.62rem}.search-panel__bar--directions{min-height:3.22rem}.search-panel__bar input{padding-inline:.5rem;font-size:.9rem}.search-panel__pin{width:1.7rem;height:1.7rem}.search-panel__icon-action{width:2.48rem;height:2.48rem}.search-panel__icon-action svg{width:1.34rem;height:1.34rem}.directions-panel{padding:0}.directions-picker{padding-right:2.35rem}.place-field{gap:.38rem;padding-inline:.42rem}.place-field__actions{gap:.15rem}.place-field__action{width:1.85rem;height:1.85rem}.directions-picker__add{padding:.55rem .7rem}.directions-picker__footer{margin-left:1.85rem}.navigation-simulator__controls{grid-template-columns:auto auto minmax(0,1fr)}}
