.mapbox-directions-origin input[type=text],.mapbox-directions-destination input[type=text]{box-shadow:none!important}.mapboxgl-ctrl-directions .mapbox-directions-origin,.mapboxgl-ctrl-directions .mapbox-directions-destination{min-height:28px!important;height:32px!important;padding:0 4px!important;display:flex!important;align-items:center!important;border-radius:8px!important;box-sizing:border-box!important}.mapboxgl-ctrl-directions .mapbox-directions-origin input,.mapboxgl-ctrl-directions .mapbox-directions-destination input{height:26px!important;min-height:0!important;max-height:26px!important;font-size:13px!important;font-weight:700!important;padding:0 6px!important;border-radius:6px!important;margin:0!important;box-sizing:border-box!important;flex:1 1 0%!important;align-self:center!important;border:0!important;background:transparent!important;color:var(--text-strong)!important;outline:none!important}.mapboxgl-ctrl-geocoder{background:#fffffff0!important;border:1px solid rgba(203,213,225,.84)!important;border-radius:22px!important;box-shadow:var(--shadow-strong)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;display:flex!important;align-items:center!important;gap:8px!important;min-height:32px!important;height:38px!important;padding:0 8px!important;position:static!important;top:unset!important;left:unset!important;z-index:7!important;width:100%!important;box-sizing:border-box!important}.mapboxgl-ctrl-geocoder input[type=text]{width:100%!important;border:0!important;background:transparent!important;color:var(--text-strong)!important;font:inherit!important;font-size:13px!important;font-weight:700!important;outline:none!important;padding-left:28px!important;height:26px!important;min-height:0!important;max-height:26px!important;margin:0!important;box-sizing:border-box!important;border-radius:6px!important}.mapboxgl-ctrl-geocoder .geocoder-icon-search{display:flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;margin-right:2px!important;color:#64748b!important;opacity:.85!important;flex-shrink:0!important;left:4px!important;top:50%!important;transform:translateY(-50%)!important;position:absolute!important;background:none!important}.mapboxgl-ctrl-geocoder button{background:none!important;border:none!important;color:#64748b!important;font-size:20px!important;opacity:.85!important;cursor:pointer!important;margin-left:4px!important}.mapboxgl-ctrl-directions .mapbox-directions-origin,.mapboxgl-ctrl-directions .mapbox-directions-destination{min-height:28px!important;height:32px!important;padding:0 4px!important}.mapboxgl-ctrl-directions .mapbox-directions-origin,.mapboxgl-ctrl-directions .mapbox-directions-destination{min-height:36px!important;height:40px!important;padding:0 8px!important}.mapboxgl-ctrl-directions .mapbox-directions-origin,.mapboxgl-ctrl-directions .mapbox-directions-destination{flex-direction:row!important;justify-content:flex-start!important;gap:0!important;min-height:44px!important;height:48px!important;box-sizing:border-box!important}.mapbox-directions-origin input,.mapbox-directions-destination input{flex:1 1 0%!important;min-width:0!important;height:38px!important;margin:0!important;padding:0 8px!important;box-sizing:border-box!important;display:block!important;align-self:center!important}.mapboxgl-ctrl-directions .mapbox-form-label{align-self:center!important;margin-right:6px!important;min-width:24px!important;text-align:left!important;font-size:13px!important;padding-left:2px!important}.mapboxgl-ctrl-directions{background:#fffffff0!important;border:1px solid rgba(203,213,225,.84)!important;border-radius:22px!important;box-shadow:var(--shadow-strong)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;padding:0!important;max-width:min(360px,calc(100vw - 24px))!important;width:min(360px,calc(100vw - 24px))!important;overflow:hidden!important}.mapboxgl-ctrl-directions .mapbox-directions-component{background:transparent!important;border-radius:22px!important;box-shadow:none!important}.mapboxgl-ctrl-directions .mapbox-directions-origin,.mapboxgl-ctrl-directions .mapbox-directions-destination{background:transparent!important;border-bottom:1px solid rgba(203,213,225,.12)!important;min-height:48px!important;padding:0 12px!important;display:flex!important;align-items:center!important}.mapboxgl-ctrl-directions .mapbox-form-label{font-family:inherit!important;font-weight:700!important;color:#64748b!important;background:none!important;position:static!important;width:auto!important;height:auto!important;line-height:1.2!important;margin-right:8px!important;padding:0!important}.mapbox-directions-origin input,.mapbox-directions-destination input{font-family:inherit!important;font-size:15px!important;font-weight:700!important;color:var(--text-strong)!important;background:transparent!important;border:0!important;outline:none!important;width:100%!important;padding:10px 0!important}.mapbox-directions-origin input::placeholder,.mapbox-directions-destination input::placeholder{color:#475569b3!important}.mapbox-directions-profile{background:#ffffffd1!important;border-radius:18px!important;margin:10px 12px 0!important;padding:8px 0!important;display:flex!important;gap:8px!important;overflow-x:auto!important;scrollbar-width:none!important}.mapbox-directions-profile::-webkit-scrollbar{display:none!important}.mapbox-directions-profile label{min-width:78px!important;text-align:center!important;font-family:inherit!important;font-size:13px!important;font-weight:600!important;color:#64748b!important;border-radius:999px!important;padding:9px 12px!important;background:#f8fafcf5!important;border:1px solid rgba(203,213,225,.18)!important;cursor:pointer!important;transition:background .18s,color .18s}.mapbox-directions-profile label:hover,.mapbox-directions-profile input[type=radio]:checked+label{background:var(--accent)!important;color:#fff!important;border-color:var(--accent-strong)!important}.mapbox-directions-route-summary{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;column-gap:10px!important;color:var(--text-strong)!important;background:#f1f5f9d1!important;border-bottom:1px solid rgba(203,213,225,.78)!important;border-radius:0!important;padding:10px 12px 8px!important;box-shadow:none!important;font-size:14px!important;font-weight:700!important}.mapbox-directions-instructions{background:#fffffff0!important;border-radius:0 0 22px 22px!important;padding:0 0 8px!important;box-shadow:none!important;max-height:220px!important;overflow-y:auto!important}.mapbox-directions-step{border-bottom:1px solid rgba(226,232,240,.9)!important;padding:9px 12px!important;background:#ffffff6b!important;color:var(--text-muted)!important;font-size:13px!important;font-weight:600!important}.mapbox-directions-step:nth-child(odd){background:#f8fafcb8!important}.mapbox-directions-step:last-child{border-bottom:0!important}.mapbox-directions-step-maneuver{line-height:1.35!important}.mapbox-directions-step-distance{color:#0f766e!important;font-weight:700!important}.mapboxgl-ctrl-geocoder input[type=text]{width:100%!important;border:0!important;background:transparent!important;color:var(--text-strong)!important;font:inherit!important;font-size:15px!important;font-weight:700!important;outline:none!important;padding-left:36px!important}.mapboxgl-ctrl-geocoder input[type=text]::placeholder{color:#475569b3!important}.mapboxgl-ctrl-geocoder .geocoder-icon-search{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;margin-right:2px!important;color:#64748b!important;opacity:.85!important;flex-shrink:0!important;left:8px!important;top:50%!important;transform:translateY(-50%)!important;position:absolute!important;background:none!important}.mapboxgl-ctrl-geocoder button{background:none!important;border:none!important;color:#64748b!important;font-size:24px!important;opacity:.85!important;cursor:pointer!important;margin-left:4px!important}body{--surface-radius: 18px;--surface-radius-lg: 22px;--shadow-soft: 0 14px 26px rgba(15, 23, 42, .12);--shadow-strong: 0 18px 34px rgba(15, 23, 42, .16);--accent: #14b8a6;--accent-strong: #0f766e;--position: #0284c7;--success: #0f766e;--warning: #b45309;--surface: rgba(255, 255, 255, .94);--surface-subtle: rgba(255, 255, 255, .9);--nav-surface: rgba(15, 23, 42, .9);--nav-surface-muted: rgba(30, 41, 59, .9);--nav-border: rgba(203, 213, 225, .16);--text-strong: #0f172a;--text-muted: #475569;margin:0;padding:0;font-family:Manrope,Segoe UI,Aptos,Open Sans,sans-serif;background:radial-gradient(circle at top left,rgba(20,184,166,.1),transparent 24%),linear-gradient(180deg,#eef4f8,#f7fafc);--bottom-safe-offset: 14px}#app{min-height:100vh}[hidden]{display:none!important}#map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%}.browse-search-shell{position:absolute;top:16px;left:12px;z-index:7;width:min(360px,calc(100vw - 24px))}.browse-search-shell__bar,.browse-search-selection{background:#fffffff0;border:1px solid rgba(203,213,225,.84);border-radius:22px;box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.browse-search-shell__bar{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 12px 0 8px}.browse-search-shell__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:2px;color:#64748b;opacity:.85;flex-shrink:0}.browse-search-shell__input{width:100%;border:0;background:transparent;color:var(--text-strong);font:inherit;font-size:15px;font-weight:700;outline:none}.browse-search-shell__input::placeholder{color:#475569b3}.browse-search-shell__clear{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;background:none!important;color:transparent!important;flex:none!important}.browse-search-results{margin-top:10px;display:grid;gap:8px;padding:8px;background:#fffffff0;border:1px solid rgba(203,213,225,.84);border-radius:22px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.browse-search-results__item{width:100%;border:0;border-radius:16px;background:#f8fafcf5;padding:12px 14px;text-align:left}.browse-search-results__title{font-size:14px;font-weight:700;color:var(--text-strong)}.browse-search-results__detail{margin-top:4px;font-size:12px;line-height:1.35;color:var(--text-muted)}.browse-search-selection{margin-top:10px;padding:14px 16px 16px}.browse-search-selection__eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#64748b}.browse-search-selection__title{margin-top:6px;font-size:16px;font-weight:800;color:var(--text-strong)}.browse-search-selection__detail{margin-top:6px;font-size:13px;line-height:1.4;color:var(--text-muted)}.browse-search-selection__actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.browse-search-selection__actions button{min-height:44px;border:0;border-radius:14px;padding:10px 14px;font:inherit;font-size:14px;font-weight:700}.browse-search-selection__actions button:first-child{background:var(--accent);color:#fff}body[data-workflow-stage=route-preview] .browse-search-shell,body[data-workflow-stage=navigating] .browse-search-shell{display:none!important}.trip-guidance-shell{position:absolute;top:16px;left:50%;z-index:6;width:min(430px,calc(100vw - 28px));padding:10px 13px 11px;border-radius:20px;background:var(--nav-surface);color:#f8fafc;border:1px solid var(--nav-border);box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translate(-50%)}.trip-guidance-shell[hidden],.trip-banner[hidden],.trip-action-bar[hidden]{display:none!important}.trip-guidance-shell[data-state=active]{background:var(--nav-surface)}.trip-guidance-shell[data-state=warning]{background:#5c2b0eeb;border-color:#fbbf2433}.trip-guidance-shell[data-state=success]{background:#0a5246eb;border-color:#6ee7b733}.trip-guidance-shell__eyebrow-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.trip-guidance-shell__eyebrow,.trip-guidance-shell__progress{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.trip-guidance-shell__eyebrow{background:#14b8a629;color:#ccfbf1}.trip-guidance-shell[data-state=warning] .trip-guidance-shell__eyebrow{background:#fbbf2429;color:#fde68a}.trip-guidance-shell[data-state=success] .trip-guidance-shell__eyebrow{background:#6ee7b724;color:#d1fae5}.trip-guidance-shell__progress{background:#e2e8f024;color:#f8fafce0}.trip-guidance-shell__maneuver{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;margin-top:10px}.trip-guidance-shell__maneuver.is-hidden{display:none}.trip-guidance-shell__maneuver-copy{min-width:0}.trip-guidance-shell__maneuver-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(180deg,#14b8a629,#0284c73d);border:1px solid rgba(191,219,254,.22);display:inline-flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;line-height:1;box-shadow:inset 0 1px #ffffff2e}.trip-guidance-shell[data-state=warning] .trip-guidance-shell__maneuver-icon{background:linear-gradient(180deg,#fbbf2433,#d977063d);border-color:#fde68a38}.trip-guidance-shell[data-state=success] .trip-guidance-shell__maneuver-icon{background:linear-gradient(180deg,#6ee7b72e,#0596693d);border-color:#d1fae533}.trip-guidance-shell__maneuver-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ccfbf1f0}.trip-guidance-shell[data-state=warning] .trip-guidance-shell__maneuver-label{color:#fde68a}.trip-guidance-shell[data-state=success] .trip-guidance-shell__maneuver-label{color:#d1fae5}.trip-guidance-shell__primary{margin-top:4px;font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.1;color:#f8fafc}.trip-guidance-shell__primary--idle{margin-top:14px}.trip-guidance-shell__detail{margin-top:6px;font-size:12px;line-height:1.35;color:#e2e8f0d1}.trip-banner{position:absolute;left:50%;bottom:calc(var(--bottom-safe-offset) + 110px);z-index:6;width:min(430px,calc(100vw - 28px));padding:11px 13px;border-radius:20px;background:var(--nav-surface-muted);color:#f8fafc;border:1px solid var(--nav-border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translate(-50%);pointer-events:none}.trip-banner--success{background:#082f49c7}.trip-banner--warning{background:#78350fcc}.trip-banner[data-tone=neutral]{background:#0f172ab8}.trip-banner__title{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#bae6fdf0}.trip-banner__detail{margin-top:4px;font-size:13px;line-height:1.35;color:#f8fafce6}.trip-banner__maneuver{display:flex;align-items:center;gap:12px;margin-bottom:8px}.trip-banner__maneuver.is-hidden,.route-trip__maneuver.is-hidden{display:none}.trip-banner__maneuver-icon{width:54px;height:54px;border-radius:16px;background:#f8fafc1f;display:inline-flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;line-height:1}.trip-banner__maneuver-label{font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.trip-action-bar{position:absolute;left:50%;bottom:var(--bottom-safe-offset);z-index:6;width:min(430px,calc(100vw - 28px));min-height:72px;border:1px solid var(--nav-border);border-radius:20px;padding:10px 12px 10px 16px;background:var(--nav-surface);color:#f8fafc;box-shadow:var(--shadow-strong);display:flex;align-items:center;justify-content:space-between;gap:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%)}.trip-action-bar--active{background:var(--nav-surface)}.trip-action-bar[data-stage=route-preview]{width:min(520px,calc(100vw - 28px));min-height:64px;padding:10px 12px 10px 14px}.trip-action-bar[data-stage=route-preview] .trip-action-bar__detail{display:none}.trip-action-bar[data-stage=route-preview] .trip-action-bar__meta{flex:1 1 auto;min-width:0}.trip-action-bar[data-stage=route-preview] .trip-action-bar__state{font-size:11px;letter-spacing:.12em;color:#e2e8f0c7}.trip-action-bar[data-stage=route-preview] .trip-secondary-action{min-width:0;padding:0 14px;background:transparent;border-color:#94a3b838;color:#e2e8f0db}.trip-action-bar[data-stage=route-preview] .trip-primary-action{min-width:164px}.trip-voice-toggle{flex:0 0 auto;min-width:56px;height:48px;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:0 12px;background:#0f172aa3;color:#f8fafcf0;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 1px #ffffff0f}.trip-voice-toggle.is-muted{color:#94a3b8f5;background:#0f172a70}.trip-voice-toggle__icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;position:relative}.trip-voice-toggle__icon .icon-mic{display:block}.trip-voice-toggle__icon .icon-mic-mute,.trip-voice-toggle.is-muted .trip-voice-toggle__icon .icon-mic{display:none}.trip-voice-toggle.is-muted .trip-voice-toggle__icon .icon-mic-mute{display:block}.trip-voice-toggle__label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.trip-recenter-button{flex:0 0 auto;width:48px;height:48px;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:0;background:#0f172aa3;color:#f8fafcf0;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffff0f}.trip-secondary-action{flex:0 0 auto;height:48px;border:1px solid rgba(248,250,252,.14);border-radius:16px;padding:0 14px;background:#0f172a8f;color:#e2e8f0f0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.trip-action-bar__meta{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-width:48px;margin-right:8px}.trip-action-bar__state{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#bae6fdf5;margin:0 0 2px;line-height:1.1;min-height:14px;min-width:40px;text-align:left}.trip-action-bar__progress{font-size:10px;font-weight:700;color:#fff;background:#14b8a62e;border-radius:999px;padding:1px 8px;margin:0;letter-spacing:.08em;min-width:32px;text-align:left}.trip-action-bar__detail{margin-top:6px;font-size:12px;line-height:1.3;color:#e2e8f0d6}.trip-primary-action{flex:0 0 auto;min-width:90px;height:34px;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:0 6px;background:#1e293bd1;color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.02em;box-shadow:inset 0 1px #ffffff0f}.trip-primary-action--active{background:#5b2121f0;border-color:#f8717124;color:#fef2f2}.trip-primary-action__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:#ffffff14}.trip-primary-action__icon--start{width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #ffffff;border-radius:0;background:transparent;margin-left:4px}.trip-primary-action__icon--stop{width:16px;height:16px;border-radius:4px;background:currentColor}.trip-primary-action__label{white-space:nowrap;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.panel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;opacity:0;visibility:hidden;pointer-events:none;background:#0f172a2e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .18s ease,visibility .18s ease}.panel-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}.action-hub{position:absolute;right:14px;bottom:14px;z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.action-hub__quick{min-width:52px;min-height:52px;border:0;border-radius:999px;padding:0;background:#0f172ae0;color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 16px 32px #0f172a2e}.action-hub__quick .action-dock__icon{width:30px;height:30px;background:#f8fafc24}body.navigation-active .action-hub{opacity:.2}body.navigation-active .action-hub:hover,body.navigation-active .action-hub:focus-within{opacity:1}body.navigation-active .mapboxgl-ctrl-directions{width:min(92px,calc(100vw - 28px));min-width:92px;border-radius:999px;overflow:hidden;background:#0f172ad6;border-color:#0f172a4d;box-shadow:0 18px 34px #0f172a33}body.navigation-active .mapbox-directions-component,body.navigation-active .mapbox-directions-component-keyline{background:transparent}body.navigation-active .mapbox-directions-origin,body.navigation-active .mapbox-directions-destination,body.navigation-active .mapbox-directions-profile,body.navigation-active .directions-icon-reverse,body.navigation-active .mapbox-directions-instructions{display:none!important}body.navigation-active .mapboxgl-ctrl-top-left{z-index:6}body.panel-open .action-hub{opacity:0;pointer-events:none;transform:translateY(8px)}.action-hub__trigger{min-width:58px;min-height:58px;border:0;border-radius:999px;padding:0;background:linear-gradient(145deg,#0f172afa,#1e293beb);color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 18px 34px #0f172a3d}.action-hub__icon{display:inline-grid;gap:5px}.action-hub__icon span{width:18px;height:2px;border-radius:999px;background:#f8fafc;transition:transform .18s ease,opacity .18s ease}.action-hub__trigger.is-open .action-hub__icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}.action-hub__trigger.is-open .action-hub__icon span:nth-child(2){opacity:0}.action-hub__trigger.is-open .action-hub__icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.action-dock{display:grid;gap:8px;justify-items:end;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.96);transform-origin:bottom right;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.action-dock.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.action-dock__button{min-width:52px;min-height:52px;border:0;border-radius:999px;padding:8px;background:#0f172ad6;color:#f8fafc;font-size:12px;font-weight:700;box-shadow:0 16px 32px #0f172a2e;display:inline-flex;align-items:center;justify-content:center;gap:10px}.action-dock__button--ghost{background:#0f172aa3;color:#dbe4f0}.action-dock__icon{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#f8fafc24;font-size:13px;font-weight:800;text-transform:uppercase}.action-dock__icon svg{width:16px;height:16px;fill:currentColor}.action-dock__label{display:none;white-space:nowrap}.action-dock.is-open .action-dock__button{min-width:132px;justify-content:flex-start;padding-inline:10px 14px}.action-dock.is-open .action-dock__label{display:inline}body.navigation-active .action-hub__quick--location,body.navigation-active #action-dock,body.navigation-active #toggle-action-dock{display:none!important}.floating-drawer{position:absolute;top:62px;right:14px;bottom:calc(var(--bottom-safe-offset) + 112px);z-index:7;width:min(340px,calc(100vw - 28px));padding:14px;border-radius:var(--surface-radius-lg);background:var(--surface);color:var(--text-strong);box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.floating-drawer__handle{display:none;width:44px;height:5px;border-radius:999px;margin:0 auto 12px;background:#64748b4d}.floating-drawer.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}body.panel-open .trip-banner{opacity:0}.floating-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.floating-drawer__eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin-bottom:6px}.floating-drawer__title{font-size:18px;font-weight:700;line-height:1.2}.floating-drawer__close{min-height:34px;border:0;border-radius:999px;padding:6px 10px;background:#94a3b82e;color:#334155;font-size:12px;font-weight:700}.floating-drawer__body{margin-top:14px}.floating-drawer__hint{margin:12px 0 0;font-size:12px;line-height:1.45;color:#64748b}.info-panel__grid{display:grid;gap:10px}.info-panel__card{border-radius:16px;padding:12px 14px;background:#f1f5f9e6;border:1px solid rgba(203,213,225,.72)}.info-panel__label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#64748b}.info-panel__value{margin-top:6px;font-size:14px;line-height:1.4;color:var(--text-strong)}.travel-preferences__title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#334155}.travel-preferences__field,.travel-preferences__check{display:flex;align-items:center;justify-content:center;gap:18px;background:#0f172aad!important}.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.mode-switch--travel{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.mode-switch__button{min-height:44px;border:1px solid rgba(203,213,225,.82);border-radius:14px;background:#f8fafce6;color:var(--text-muted);font-size:13px;font-weight:700;padding:10px 12px}.mode-switch__button.is-active{background:#0f766e1f;color:var(--accent-strong);border-color:#0f766e47}.mode-switch__description{margin-top:10px;font-size:13px;line-height:1.45;color:var(--text-muted)}.travel-preferences__field select{width:132px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff}.travel-preferences__check{margin-top:12px;justify-content:flex-start}.travel-preferences__actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}.travel-preferences__actions--compact{margin-top:10px}.travel-preferences__actions button{min-height:44px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;font-size:14px;padding:10px 14px}.travel-preferences__actions .travel-preferences__secondary{background:#e2e8f0;color:#0f172a}.travel-avatar-marker{position:relative;width:48px;height:52px;pointer-events:none}.travel-avatar-marker__shadow{position:absolute;left:10px;right:10px;bottom:8px;height:12px;border-radius:999px;background:#0f172a38;filter:blur(7px);transform:scale(.94)}.travel-avatar-marker__halo{position:absolute;top:4px;right:8px;bottom:10px;left:8px;border-radius:999px;background:#0284c714;border:1px solid rgba(2,132,199,.08)}.travel-avatar-marker__body{position:absolute;left:11px;right:11px;top:5px;bottom:10px;border-radius:999px;background:linear-gradient(180deg,#7dd3fc 0%,var(--position) 54%,#0369a1 100%);border:2px solid rgba(239,246,255,.92);box-shadow:0 8px 14px #0f172a24,inset 0 1px #ffffff52}.travel-avatar-marker__core,.travel-avatar-marker__pointer,.travel-avatar-marker__mark{position:absolute}.travel-avatar-marker__core{top:8px;left:50%;width:14px;height:14px;transform:translate(-50%);border-radius:999px;background:#eff6ff3d}.travel-avatar-marker__pointer{top:-2px;left:50%;width:14px;height:12px;transform:translate(-50%);background:linear-gradient(180deg,#e0f2fe,#7dd3fc);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:4px 4px 2px 2px}.travel-avatar-marker__mark{top:15px;left:50%;width:4px;height:14px;transform:translate(-50%);border-radius:999px;background:#eff6fff0}.travel-preferences__actions button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.travel-preferences__check input:disabled+span,.travel-preferences__check:has(input:disabled) span{opacity:.55}.route-summary__details{font-size:14px;line-height:1.45;color:var(--text-muted)}.route-sheet__section{margin-top:14px;padding:12px;border-radius:18px;background:#f8fafcbd;border:1px solid rgba(226,232,240,.82)}.route-sheet__section--summary{margin-top:0}.route-sheet__section--status{background:#f1f5f9e6}body[data-workflow-stage=browse] #route-status-section,body[data-workflow-stage=destination-selected] #route-status-section{display:none}body[data-workflow-stage=browse] .mapboxgl-ctrl-directions,body[data-workflow-stage=destination-selected] .mapboxgl-ctrl-directions{display:none!important}body[data-workflow-stage=navigating] #route-destination-section,body[data-workflow-stage=navigating] #route-summary .route-summary__advanced,body[data-workflow-stage=navigating] #route-summary-section .route-summary__meta,body[data-workflow-stage=route-preview] #voice-guidance,body[data-workflow-stage=navigating] #voice-guidance{display:none}body[data-workflow-stage=browse] #route-summary-title{color:#0f172a}body[data-workflow-stage=destination-selected] #route-summary-title,body[data-workflow-stage=route-preview] #route-summary-title{color:var(--accent-strong)}.route-summary__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.route-trip{margin-top:10px;padding:12px;border-radius:16px;background:#ffffff8f;border:1px solid rgba(203,213,225,.72)}.route-trip--active{background:#ecfdf5eb;border-color:#10b98147}.route-trip__meta{display:flex;flex-wrap:wrap;gap:8px}.route-trip__guidance{margin-top:10px;font-size:13px;line-height:1.45;color:#334155}.route-trip__maneuver{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:14px;background:#0f172a0f}.route-trip__maneuver-icon{width:42px;height:42px;border-radius:12px;background:#0f766e1f;color:var(--accent-strong);display:inline-flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;line-height:1}.route-trip__maneuver-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0f172a}.route-summary__section{margin-top:16px}.route-summary__section-title{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#64748b}.route-summary__advanced{margin-top:14px;border-top:1px solid rgba(203,213,225,.72);padding-top:12px}.route-summary__advanced summary{cursor:pointer;list-style:none;font-size:13px;font-weight:700;color:#334155}.route-summary__advanced summary::-webkit-details-marker{display:none}.route-summary__advanced[open] summary{margin-bottom:12px}.route-summary__pill{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:#94a3b82e;color:#0f172a;font-size:12px;font-weight:700}.route-summary__pill--success{background:#22c55e2e;color:var(--success)}.route-summary__pill--warning{background:#f973162e;color:var(--warning)}.route-summary__pill--neutral,.route-summary__pill--muted{background:#94a3b82e}.reports-list{max-height:min(48vh,420px);overflow-y:auto}.card{font-size:13px;margin-bottom:10px;padding:12px;border-radius:16px;background:#f8fafceb;border:1px solid rgba(226,232,240,.9)}.card-header{font-weight:700;padding:8px 10px;border-radius:12px}.no-route{background-color:#e2e8f0;color:#c1121f}.obstacle-found{background-color:#64748b;color:#fff}.route-found{background-color:#16a34a;color:#fff}.card-details{padding:10px 2px 0;color:var(--text-muted);line-height:1.45}.mapboxgl-ctrl-directions{max-width:min(340px,calc(100vw - 28px));overflow:hidden;border-radius:var(--surface-radius-lg);box-shadow:var(--shadow-strong);background:#0f172ae6;border:1px solid rgba(148,163,184,.14)}.mapboxgl-ctrl-directions .mapbox-directions-component{background:transparent}.mapboxgl-ctrl-directions .mapbox-directions-origin,.mapboxgl-ctrl-directions .mapbox-directions-destination{min-height:48px;background:transparent;border-bottom:1px solid rgba(148,163,184,.12)}.mapboxgl-ctrl-directions .mapbox-form-label{font-family:inherit;font-weight:700;color:#e2e8f0c7}.mapbox-directions-origin input,.mapbox-directions-destination input{font-family:inherit;font-size:14px;font-weight:600;color:#f8fafc;letter-spacing:-.01em;background:transparent}.mapbox-directions-origin input::placeholder,.mapbox-directions-destination input::placeholder{color:#cbd5e185}body.navigation-active .mapboxgl-ctrl-top-left{margin-top:118px}body.navigation-active .mapboxgl-ctrl-directions .mapbox-directions-origin,body.navigation-active .mapboxgl-ctrl-directions .mapbox-directions-destination,body.navigation-active .mapboxgl-ctrl-directions .mapbox-directions-profile{display:none!important}body.navigation-active .mapboxgl-ctrl-directions .mapbox-directions-component-keyline>div:first-child{display:none!important}body.navigation-active .mapboxgl-ctrl-directions .mapbox-directions-component-keyline{min-height:0;padding:0}body.navigation-active .mapboxgl-ctrl-directions{border-radius:22px;background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mapbox-directions-component{border-radius:18px}.directions-control-instructions:empty{display:none}.directions-control-instructions{position:relative;margin-top:0;background:var(--surface-subtle);border-radius:0 0 var(--surface-radius-lg) var(--surface-radius-lg);overflow:hidden auto;color:var(--text-strong);max-height:min(24vh,240px);border-top:1px solid rgba(203,213,225,.82);box-shadow:none}.directions-control-instructions.is-hidden{display:none}.directions-control-instructions .directions-control-directions{background:transparent;border-radius:0;box-shadow:none;overflow:clip}.directions-control-instructions .mapbox-directions-route-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:10px;color:var(--text-strong);background:#f1f5f9d1;border-bottom:1px solid rgba(203,213,225,.78);border-radius:0;padding:10px 12px 8px;box-shadow:none}.directions-control-instructions .mapbox-directions-routes{display:inline-flex;align-items:center;gap:6px;margin:0}.directions-control-instructions input[name=routes]{position:absolute;opacity:0;pointer-events:none}.directions-control-instructions .mapbox-directions-route{min-width:26px;min-height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#cbd5e1d1;color:#334155;font-size:12px;font-weight:700}.directions-control-instructions input[name=routes]:checked+.mapbox-directions-route{background:#0f766e29;color:#0f766e}.directions-control-instructions .mapbox-directions-route-summary h1{margin:0;font-size:14px;font-weight:800;letter-spacing:.01em}.directions-control-instructions .mapbox-directions-route-summary>span{justify-self:end;color:var(--text-muted);font-weight:700}.directions-control-instructions .mapbox-directions-route-summary h1,.directions-control-instructions .mapbox-directions-route-summary span,.directions-control-instructions .mapbox-directions-step-maneuver,.directions-control-instructions .mapbox-directions-step-distance{color:var(--text-muted);font-size:12px}.directions-control-instructions .mapbox-directions-step{border-bottom:1px solid rgba(226,232,240,.9);padding:9px 12px;background:#ffffff6b;color:var(--text-muted)}.directions-control-instructions .mapbox-directions-step:nth-child(odd){background:#f8fafcb8}.directions-control-instructions .mapbox-directions-step *{color:inherit}.directions-control-instructions .mapbox-directions-step:last-child{border-bottom:0}.mapbox-directions-origin,.mapbox-directions-destination{min-height:44px}.mapbox-directions-profile{overflow-x:auto;scrollbar-width:none;padding:10px 12px 12px;background:#0f172af0}.mapbox-directions-profile::-webkit-scrollbar{display:none}.mapbox-directions-profile label{min-width:78px;text-align:center;font-family:inherit;font-size:12px;font-weight:600;color:#e2e8f0bd;border-radius:999px;padding:9px 12px;background:#ffffff0a;border:1px solid rgba(148,163,184,.14)}.mapbox-directions-profile input:checked+label{background:#14b8a624;color:#f8fafc;border-color:#14b8a62e}.mapboxgl-ctrl-directions .mapbox-directions-step-maneuver{line-height:1.35}.mapboxgl-ctrl-directions .mapbox-directions-step-distance{color:#0f766e;font-weight:700}.notification{position:fixed;top:20px;right:20px;background-color:#0f172ae6;color:#fff;padding:12px 14px;border-radius:12px;z-index:1000;pointer-events:none;opacity:0;transition:opacity .3s}.notification.show{opacity:1}@media (max-width: 900px){.trip-guidance-shell{top:12px;width:calc(100vw - 24px)}.floating-drawer{top:auto;right:12px;left:12px;bottom:calc(var(--bottom-safe-offset) + 110px);width:auto}.action-hub{right:12px;bottom:12px}.trip-banner{bottom:calc(var(--bottom-safe-offset) + 78px);width:calc(100vw - 24px)}.trip-action-bar{width:calc(100vw - 24px);bottom:12px}.action-dock{width:auto}.action-dock.is-open .action-dock__button{width:min(172px,calc(100vw - 24px))}.mapboxgl-ctrl-directions{max-width:none;width:calc(100vw - 24px)}}@media (max-width: 640px){.trip-guidance-shell{padding:11px 12px 12px;border-radius:22px}.trip-guidance-shell__maneuver{grid-template-columns:54px minmax(0,1fr);gap:10px}.trip-guidance-shell__maneuver-icon{width:54px;height:54px;border-radius:18px;font-size:32px}.trip-guidance-shell__primary{font-size:18px}.floating-drawer{bottom:calc(var(--bottom-safe-offset) + 116px);padding:12px 14px 18px;border-radius:22px 22px 16px 16px;box-shadow:0 -8px 44px #0f172a38;transform:translateY(18px);max-height:min(58vh,460px);overflow-y:auto}.floating-drawer__handle{display:block}.travel-preferences__field{flex-direction:column;align-items:stretch}.travel-preferences__field select{width:100%;min-height:44px}.mapboxgl-ctrl-directions{width:calc(100vw - 24px)}.directions-control-instructions{max-height:min(20vh,180px)}.mapbox-directions-component-keyline{padding-left:0;padding-right:0}.mapbox-directions-origin input,.mapbox-directions-destination input{font-size:14px}.mapbox-directions-profile label{min-width:72px;text-align:center;font-size:12px;padding:8px 10px}.action-dock__button{min-height:42px;padding:9px 12px;font-size:12px}.action-hub__trigger{min-width:52px;min-height:52px}.trip-action-bar{min-height:72px;padding:10px 10px 10px 14px;border-radius:22px}.trip-action-bar__detail{font-size:12px}.trip-primary-action{min-width:142px;height:48px;padding:0 14px 0 12px;font-size:12px;border-radius:16px}.trip-voice-toggle{min-width:52px;padding:0 10px}.trip-voice-toggle__label{display:none}.trip-secondary-action{padding:0 12px;font-size:10px}.trip-banner{bottom:calc(var(--bottom-safe-offset) + 82px)}.notification{top:auto;right:12px;left:12px;bottom:calc(var(--bottom-safe-offset) + 132px)}body.panel-open .notification{bottom:calc(var(--bottom-safe-offset) + 236px)}body.navigation-active .notification{bottom:calc(var(--bottom-safe-offset) + 156px)}body.navigation-active.panel-open .notification{bottom:calc(var(--bottom-safe-offset) + 248px)}}
