:root{--background:#07110a;--background-accent:#14321e;--surface:#11271a;--surface-strong:#173521;--surface-soft:#102616e6;--text:#f4f8f1;--muted:#dfebdbb3;--border:#bce2bf29;--accent:#22853a;--accent-strong:#49bb61;--shadow:0 34px 90px #00000052;--top-nav-height:3.25rem}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:linear-gradient(180deg, var(--background) 0%, var(--background-accent) 100%);color:var(--text);font-family:var(--font-body,"Inter"), "Segoe UI", sans-serif;overflow-x:hidden}button,input{font:inherit}.explorer-shell{width:100vw;height:100dvh;min-height:100svh;position:relative;overflow:hidden}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;direction:ltr;font-family:Material Symbols Outlined,Material Icons,sans-serif;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.top-nav{z-index:50;height:var(--top-nav-height);min-height:var(--top-nav-height);background:#fdfdfd;border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:inset 0 1px #fffc,0 12px 32px #2d2f2f0a}.top-nav__leading{align-items:center;gap:.85rem;min-width:0;display:flex}.top-nav__back{color:#2d2f2f;cursor:pointer;background:#fff;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:.45rem;padding:.42rem .78rem;font-size:.88rem;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.top-nav__back:hover{background:#f4f4f5;border-color:#0f172a1f}.top-nav__brand{font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;letter-spacing:-.04em;color:#166534;white-space:nowrap;font-size:1.2rem;font-weight:800}.top-nav__brand-link{text-decoration:none}.top-nav__links{align-items:center;gap:2rem;display:flex}.top-nav__link{font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;letter-spacing:-.02em;color:#71717a;cursor:pointer;border-radius:.5rem;padding:.25rem .75rem;font-size:.95rem;font-weight:800;text-decoration:none;transition:background .15s,color .15s}.top-nav__link:hover{color:#3f3f46;background:#f4f4f5}.top-nav__link--active{color:#166534}.top-nav__link--active:hover{color:#166534;background:0 0}.top-nav__actions{align-items:center;gap:.5rem;display:flex}.top-nav__actions--links{gap:.65rem}.top-nav__icon-btn{color:#2d2f2f;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;transition:background .15s;display:inline-flex;transform:scale(.95)}.top-nav__icon-btn:hover{background:#f4f4f5}.top-nav__icon-btn:active{transform:scale(.9)}.map-panel{background:#b8d3e4;position:fixed;inset:0;overflow:hidden}.map-overlay{z-index:50;pointer-events:none;position:fixed;inset:0}.map-prompt-anchor{z-index:10;pointer-events:none;justify-content:center;display:flex;position:absolute;top:1.1rem;left:0;right:0}.map-prompt{pointer-events:none;white-space:nowrap;background:#fffffff5;border:1.5px solid #22853a38;border-radius:999px;align-items:center;gap:.6rem;max-width:min(46rem,100vw - 1rem);padding:.65rem 1.15rem .65rem .85rem;animation:2.4s ease-in-out infinite map-prompt-pulse;display:flex;box-shadow:0 2px 12px #00000014,0 0 0 4px #22853a14}.map-prompt__icon{color:#fff;background:#16a34a;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.map-prompt__text{font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;color:#1a1a1a;letter-spacing:-.01em;font-size:.92rem;font-weight:700}.map-prompt__action{color:#0f766e;letter-spacing:.01em;cursor:pointer;pointer-events:auto;background:#effcff;border:1px solid #0891b229;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .7rem;font-size:.72rem;font-weight:800;transition:background .18s,transform .18s,opacity .18s;display:inline-flex}.map-prompt__action:hover{background:#dff7fb;transform:translateY(-1px)}.map-prompt__action:disabled{cursor:default;opacity:.7;transform:none}.map-prompt__step{color:#15803d;letter-spacing:.04em;background:#f0fdf4;border-radius:999px;align-items:center;padding:.15rem .52rem;font-size:.68rem;font-weight:800;display:inline-flex}@keyframes map-prompt-pulse{0%,to{box-shadow:0 2px 12px #00000014,0 0 0 4px #22853a14}50%{box-shadow:0 2px 12px #00000014,0 0 0 8px #22853a24}}.map-overlay-tint{z-index:0;pointer-events:auto;background:#0277bd47;position:absolute;inset:0}.map-overlay .top-nav{z-index:2;pointer-events:auto;position:absolute;top:0;left:0;right:0}.map-top-group{z-index:1;pointer-events:none;position:absolute;top:0;left:0;right:0}.map-weather{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);pointer-events:none;background:#fffffff2;border:1px solid #0f172a14;border-radius:1rem;max-width:min(24rem,100vw - 1.8rem);padding:.85rem 1rem;transition:top .28s;position:absolute;top:.9rem;left:.9rem;box-shadow:0 18px 36px #0f172a1f,inset 0 1px #ffffffe6}.map-top-group--with-nav .map-weather{top:calc(var(--top-nav-height) + .9rem)}.map-weather__row{align-items:flex-start;gap:.8rem;display:flex}.map-weather__icon{color:#0369a1;background:#e0f2fe;border-radius:999px;flex:none;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.map-weather__body{min-width:0}.map-weather__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#0369a1;margin:0;font-size:.68rem;font-weight:800}.map-weather__headline{flex-wrap:wrap;align-items:baseline;gap:.55rem;margin-top:.12rem;display:flex}.map-weather__temperature{font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;letter-spacing:-.03em;color:#0f172a;font-size:1.45rem;font-weight:800}.map-weather__condition{color:#334155;font-size:.9rem;font-weight:700}.map-weather__meta{color:#475569;margin:.28rem 0 0;font-size:.78rem;font-weight:500;line-height:1.45}.map-stride-mark{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);pointer-events:none;background:#fffffff0;border:1px solid #0f172a14;border-radius:1rem;width:clamp(8.78rem,14.63vw,11.7rem);padding:.5rem .58rem;transition:top .28s;position:absolute;top:.9rem;right:.9rem;box-shadow:0 18px 36px #0f172a1f,inset 0 1px #ffffffe6}.map-top-group--with-nav .map-stride-mark{top:calc(var(--top-nav-height) + .9rem)}.map-stride-mark__image{width:100%;height:auto;display:block}.map-legend{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff0;border:1px solid #0f172a14;border-radius:1rem;max-width:min(20rem,100vw - 1.8rem);padding:.82rem .95rem;transition:top .28s;position:absolute;top:7.8rem;left:.9rem;box-shadow:0 18px 36px #0f172a1f,inset 0 1px #ffffffe6}.map-top-group--with-nav .map-legend{top:calc(var(--top-nav-height) + 7.8rem)}.map-legend__title{color:#0f172a;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .55rem;font-size:.68rem;font-weight:800}.map-legend__items{flex-wrap:wrap;gap:.48rem .8rem;display:flex}.map-legend__item{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.map-legend__label{color:#334155;font-size:.76rem;font-weight:700;line-height:1.3}.map-legend__line{border-top-style:solid;border-top-width:3px;border-radius:999px;flex:none;width:1.65rem;height:0;display:inline-flex}.map-legend__line--walking{border-top-color:#f59e0b}.map-legend__line--biking{border-top-color:#0f766e}.map-legend__line--driving{border-top-color:#2563eb}.map-legend__marker,.map-legend__station,.map-legend__destination-pin{flex:none;justify-content:center;align-items:center;display:inline-flex}.map-legend__marker{border:2px solid #fff;border-radius:999px;width:.92rem;height:.92rem;box-shadow:0 3px 10px #0f172a1f}.map-legend__marker--start{background:#16a34a}.map-legend__station{background:#2563eb;border:2px solid #fff;width:.8rem;height:.8rem;transform:rotate(45deg);box-shadow:0 3px 10px #0f172a1f}.map-legend__destination-pin{background:linear-gradient(#ef4444 0%,#dc2626 100%);border-radius:999px 999px 999px 0;width:.95rem;height:.95rem;position:relative;transform:rotate(-45deg);box-shadow:0 3px 10px #0f172a29}.map-legend__destination-pin:after{content:"";background:#fff;border-radius:999px;position:absolute;inset:.22rem}.route-settings-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;background:#0f172a29;border:0;position:fixed;inset:0}.route-settings-anchor{left:calc(env(safe-area-inset-left) + .9rem);bottom:calc(env(safe-area-inset-bottom) + .9rem);z-index:81;pointer-events:none;display:flex;position:absolute}.route-settings-button{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#0f172a;cursor:pointer;pointer-events:auto;background:#fffffff5;border:1px solid #0f172a1a;border-radius:1rem;align-items:center;gap:.72rem;min-width:0;padding:.78rem .92rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:inline-flex;box-shadow:0 18px 36px #0f172a24,inset 0 1px #ffffffeb}.route-settings-button:hover{transform:translateY(-1px);box-shadow:0 20px 40px #0f172a29,inset 0 1px #ffffffeb}.route-settings-button--active{border-color:#0e749040}.route-settings-button__icon{color:#0f766e;background:linear-gradient(135deg,#e0f2fe 0%,#cffafe 100%);border-radius:999px;flex:none;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;display:inline-flex}.route-settings-button__body{flex-direction:column;min-width:0;display:flex}.route-settings-button__label{letter-spacing:.08em;text-transform:uppercase;color:#0f766e;font-size:.64rem;font-weight:800}.route-settings-button__value{color:#0f172a;margin-top:.1rem;font-size:.92rem;font-weight:700}.route-settings-overlay{width:min(22rem,100vw - 1.8rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);pointer-events:auto;background:#fffffffa;border:1px solid #0f172a17;border-radius:1.15rem;padding:1rem;overflow:auto;box-shadow:0 28px 60px #0f172a33,inset 0 1px #fffffff2}.route-settings-modal{z-index:81;padding:calc(env(safe-area-inset-top) + 1rem) .9rem calc(env(safe-area-inset-bottom) + 1rem) .9rem;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.route-settings-overlay__header{flex-direction:column;gap:.25rem;display:flex}.route-settings-overlay__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#0f766e;margin:0;font-size:.68rem;font-weight:800}.route-settings-overlay__title{font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;letter-spacing:-.03em;color:#0f172a;margin:0;font-size:1.15rem;font-weight:800}.route-settings-overlay__copy{color:#475569;margin:0;font-size:.82rem;line-height:1.45}.route-settings-options{flex-direction:column;gap:.55rem;margin-top:.9rem;display:flex}.route-settings-option{width:100%;color:inherit;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #94a3b833;border-radius:.95rem;justify-content:space-between;align-items:center;gap:.9rem;padding:.82rem .86rem;transition:border-color .2s,background .2s,transform .2s;display:flex}.route-settings-option:hover{border-color:#0e749038;transform:translateY(-1px)}.route-settings-option--selected{background:linear-gradient(#ecfeff 0%,#f8fafc 100%);border-color:#0e749047}.route-settings-option__text{flex-direction:column;gap:.14rem;min-width:0;display:flex}.route-settings-option__title{color:#0f172a;font-size:.92rem;font-weight:700}.route-settings-option__meta{color:#64748b;font-size:.76rem;line-height:1.45}.route-settings-option__indicator{background:#fff;border:2px solid #0e749047;border-radius:999px;flex:none;width:1rem;height:1rem;display:inline-flex}.route-settings-option--selected .route-settings-option__indicator{background:radial-gradient(circle,#0f766e 0 42%,#0000 45%);border-color:#0f766e}.route-dashboard{z-index:1;pointer-events:auto;width:clamp(22rem,24vw,24.5rem);min-width:20rem;padding-top:var(--top-nav-height);background:#f6f6f6;border-radius:1rem 0 0;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-20px 0 40px #00000008}.route-dashboard__inner{min-height:0;padding:1.4rem;padding-bottom:max(1.1rem, env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:1rem;display:flex;overflow:auto}.route-dashboard__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.route-dashboard__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#176a21;margin:0 0 .35rem;font-size:.74rem;font-weight:800}.route-dashboard__title{font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;letter-spacing:-.025em;color:#2d2f2f;align-items:center;margin:0;font-size:1.55rem;font-weight:800;line-height:1.15;display:flex}.route-dashboard__subtitle{color:#5a5c5c;margin:.35rem 0 0;font-size:.92rem;font-weight:500}.route-dashboard__icon-badge{color:#005c15;background:#9df197;border-radius:9999px;justify-content:center;align-items:center;padding:.65rem;display:flex}.route-dashboard__mode-icon{width:1.45rem;height:1.45rem}.route-dashboard__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.route-dashboard__card{aspect-ratio:1/.8;background:#fff;border-radius:.5rem;flex-direction:column;justify-content:space-between;padding:1rem;display:flex;box-shadow:0 1px 2px #0000000d}.route-dashboard__card--wide{aspect-ratio:auto;grid-column:span 2/span 2}.route-dashboard__card-value{font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;color:#2d2f2f;font-size:1.45rem;font-weight:800;display:block}.route-dashboard__card-value--medium{font-size:1.2rem}.route-dashboard__card-label{color:#5a5c5c;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.route-dashboard__card-row{align-items:center;gap:.75rem;display:flex}.route-dashboard__card-note{color:#5a5c5c;margin:.85rem 0 0;font-size:.8rem;font-style:italic;font-weight:500;line-height:1.5}.route-dashboard__tips{padding-top:.25rem}.route-dashboard__tips-title{font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;color:#2d2f2f;align-items:center;gap:.5rem;margin:0 0 .85rem;font-size:1rem;font-weight:800;display:flex}.route-dashboard__tips-list{flex-direction:column;gap:.65rem;display:flex}.route-dashboard__tip{border-radius:.5rem;gap:.85rem;padding:.85rem .9rem;display:flex}.route-dashboard__tip p{color:#2d2f2f;margin:0;font-size:.82rem;font-weight:500;line-height:1.45}.route-dashboard__tip--primary{background:#9df1974d}.route-dashboard__tip--secondary{background:#afd5ff4d}.route-dashboard__actions{bottom:calc(env(safe-area-inset-bottom) + .15rem);background:linear-gradient(#f6f6f600 0%,#f6f6f6f5 32%,#f6f6f6 100%);justify-content:stretch;margin-top:auto;padding-top:.85rem;padding-bottom:.2rem;display:flex;position:sticky}.route-dashboard__button{color:#d1ffc8;width:100%;min-width:0;font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;cursor:pointer;background:#176a21;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.75rem;padding:.95rem 1.25rem;font-size:1rem;font-weight:800;text-decoration:none;transition:transform .15s;display:flex;box-shadow:0 20px 40px #176a2133}.route-dashboard__button:hover{transform:scale(1.02)}.route-dashboard__button:active{transform:scale(.95)}.route-dashboard__button:disabled{cursor:default;opacity:.72;transform:none}.text-primary{color:#176a21}.text-secondary{color:#005f99}.text-tertiary{color:#006760}.route-dashboard__status{color:#57534e;margin:0;font-size:.88rem;font-weight:600}.route-dashboard__error{color:#b91c1c;margin:0;font-size:.88rem;font-weight:600}.name-editor,.name-editor__form{gap:.45rem;display:grid}.name-editor__label{letter-spacing:.05em;text-transform:uppercase;color:#4b5563;font-size:.78rem;font-weight:800}.name-editor__row{gap:.6rem;display:flex}.name-editor__input{color:#111827;background:#fffffff0;border:1px solid #1118271a;border-radius:.95rem;outline:none;flex:auto;min-width:0;padding:.75rem .9rem}.name-editor__input:focus{border-color:#176a2173;box-shadow:0 0 0 4px #176a211a}.name-editor__button{color:#d1ffc8;cursor:pointer;background:#176a21;border:none;border-radius:.95rem;padding:.75rem 1rem;font-weight:800}.name-editor__button:disabled{cursor:default;opacity:.55}.name-editor__hint{color:#6b7280;margin:0;font-size:.82rem}.name-editor--compact .name-editor__row{gap:.45rem}.name-editor--compact .name-editor__input,.name-editor--compact .name-editor__button{padding-top:.65rem;padding-bottom:.65rem}.panel-loading{background:radial-gradient(circle at 50% 38%,#2979ff24,#0000 26%),radial-gradient(circle at top,#1a237e1a,#0000 42%),linear-gradient(#fff 0%,#f4f7ff 100%);position:absolute;inset:0}.loading-globe{z-index:12;place-items:center;display:grid}.loading-globe--overlay{z-index:13}.loading-globe__chart-shell{aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 30px 70px #00000061);width:min(30rem,100vw - 3rem);position:relative}.loading-globe__chart-shell:before{content:"";filter:blur(28px);background:radial-gradient(circle,#67f48b24,#0000 64%);border-radius:50%;position:absolute;inset:14%}.loading-globe__chart{pointer-events:none;width:100%;height:100%;position:relative}.loading-globe__label{left:50%;bottom:max(2rem, env(safe-area-inset-bottom));box-shadow:var(--shadow);color:#1a237e;letter-spacing:.08em;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #c9efcf1f;border-radius:999px;align-items:center;gap:.45rem;margin:0;padding:.5rem .95rem;font-size:.78rem;font-weight:800;display:inline-flex;position:absolute;transform:translate(-50%)}.loading-globe__label-spinner{border:2px solid #2979ff33;border-top-color:#2979ff;border-radius:50%;width:.8rem;height:.8rem;animation:.9s linear infinite loading-globe-spin}.loading-globe__label-primary{color:#2979ff}.loading-globe__label-city{color:#1a237e}@keyframes loading-globe-spin{to{transform:rotate(360deg)}}.toronto-map{filter:saturate(.9)contrast(.98);background:#b8d3e4;width:100%;height:100%;position:absolute;inset:0}.toronto-map .esri-view-root,.toronto-map .esri-view-surface{background:0 0}.toronto-map .esri-ui-bottom-right{bottom:.85rem;right:.85rem}.toronto-map .esri-attribution{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:.8rem;box-shadow:0 12px 34px #07110a1f;background:#ffffffe0!important}.toronto-map .esri-attribution,.toronto-map .esri-attribution a,.toronto-map .esri-attribution__sources,.toronto-map .esri-attribution__powered-by{color:#22404d}.map-panel__notice{z-index:20;width:min(25rem,100% - 2.5rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff9edf0;border:1px solid #a3522024;border-radius:1.2rem;padding:1rem 1.05rem;position:absolute;top:1.25rem;left:1.25rem}.map-panel__notice-eyebrow{color:#a16207;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .28rem;font-size:.7rem;font-weight:800}.map-panel__notice-copy{color:#7c2d12;margin:0;font-size:.92rem;font-weight:600;line-height:1.45}.tray-anchor{z-index:60;width:min(44rem,100% - 1.25rem);padding:0 0 env(safe-area-inset-bottom);pointer-events:none;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.tray-motion-shell{pointer-events:auto;width:100%}.glass-dark{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0f2c17f0 0%,#0c2213fa 100%);border:1px solid #c7ebca14}.route-tray{border-radius:1.8rem 1.8rem 0 0;padding:.75rem 1rem .9rem}.route-tray__header{justify-content:flex-end;margin-bottom:.45rem;display:flex}.route-tray__row{align-items:center;gap:.9rem;display:flex}.route-tray__reset{color:#e8f2e5eb;letter-spacing:.02em;cursor:pointer;background:#ffffff0f;border:1px solid #dfebdb24;border-radius:999px;padding:.34rem .82rem;font-size:.72rem;font-weight:800;transition:background .15s,border-color .15s,color .15s,opacity .15s}.route-tray__reset:hover{background:#ffffff1f;border-color:#dfebdb42}.route-tray__reset:active{background:#ffffff2e}.route-tray__reset:disabled{cursor:default;opacity:.4}.route-stops{flex-direction:column;flex:none;gap:.55rem;width:12rem;min-width:0;display:flex}.route-stop{align-items:center;gap:.6rem;min-width:0;display:flex}.route-stop--active{background:#4ade801a;border-radius:.6rem;margin:-.35rem -.5rem;padding:.35rem .5rem;animation:2s ease-in-out infinite route-stop-glow}@keyframes route-stop-glow{0%,to{background:#4ade8014}50%{background:#4ade802e}}.route-stop--active .route-stop__value{color:#4ade80}.route-stop__icon{flex:none;justify-content:center;align-items:center;width:1.05rem;height:1.05rem;display:inline-flex}.route-stop__icon--from{color:#4ade80}.route-stop__icon--to{color:#60a5fa}.route-stop__label{color:#d9e7d680;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .05rem;font-size:.62rem;font-weight:800}.route-stop__value{color:var(--text);-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:.92rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.address-loading-bar{vertical-align:middle;align-items:center;gap:.42rem;width:min(100%,7.4rem);display:inline-flex}.address-loading-bar--title{width:min(100%,10rem)}.address-loading-bar__track{background:#e8f2e529;border-radius:999px;flex:auto;height:.42rem;position:relative;overflow:hidden}.address-loading-bar__fill{border-radius:inherit;background:linear-gradient(90deg,#9de18433 0%,#9de184f2 50%,#60a5fa4d 100%);width:46%;animation:1.05s ease-in-out infinite address-loading-sweep;position:absolute;inset:0}.address-loading-bar__spinner{border:2px solid #9de184;border-color:#9de184 #60a5fa #9de1843d #9de1843d;border-radius:50%;flex:none;width:.72rem;height:.72rem;animation:.8s linear infinite address-loading-spin}@keyframes address-loading-sweep{0%{transform:translate(-115%)}50%{transform:translate(70%)}to{transform:translate(215%)}}@keyframes address-loading-spin{to{transform:rotate(360deg)}}.route-primary{background:linear-gradient(#10431bfa 0%,#0e3917fa 100%);border:1px solid #62b16a2e;border-radius:1.25rem;flex:1;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.65rem .8rem;display:flex}.route-primary--error{background:linear-gradient(#541a1af5 0%,#391212fa 100%);border-color:#ffa6a633}.route-primary__content{align-items:center;gap:.72rem;min-width:0;display:flex}.route-primary__body{min-width:0}.route-primary__badge-icon{color:#eff8ed;background:linear-gradient(#1f8c39 0%,#176f2d 100%);border-radius:.9rem;flex:none;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex;box-shadow:inset 0 1px #ffffff1f}.route-primary__title-row{align-items:center;gap:.4rem;margin-bottom:.12rem;display:flex}.route-primary__title-row h2{font-family:var(--font-headline,"Manrope"), "Segoe UI", sans-serif;letter-spacing:-.03em;white-space:nowrap;margin:0;font-size:1.15rem;line-height:1}.route-pill{color:#194925;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#9de184;border-radius:999px;justify-content:center;align-items:center;padding:.12rem .45rem;font-size:.58rem;font-weight:900;display:inline-flex}.route-primary__meta{color:#e8f2e599;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.82rem;font-weight:500;overflow:hidden}.route-primary__detail{color:#e8f2e5c7;white-space:nowrap;text-overflow:ellipsis;margin:.18rem 0 0;font-size:.72rem;line-height:1.35;overflow:hidden}.route-primary__button{color:#1a6c2d;cursor:pointer;white-space:nowrap;background:#f5f4ee;border:0;border-radius:999px;flex:none;padding:.62rem 1.3rem;font-size:.95rem;font-weight:800}.route-primary__button:disabled{cursor:default;opacity:.45}.route-secondary{flex-direction:column;flex:none;gap:.42rem;display:flex}.route-secondary__option{color:var(--text);white-space:nowrap;cursor:pointer;background:#ffffff12;border:1px solid #dfebdb1a;border-radius:.9rem;justify-content:center;align-items:center;gap:.42rem;padding:.46rem .8rem;font-size:.88rem;font-weight:700;transition:background .15s,border-color .15s;display:flex}.route-secondary__option:hover{background:#ffffff21;border-color:#dfebdb38}.route-secondary__option:active{background:#ffffff2e}.route-secondary__option:disabled{cursor:default;opacity:.42}.icon{width:1.25rem;height:1.25rem;display:inline-block}.icon--small{width:1.1rem;height:1.1rem}.icon--medium{width:1.6rem;height:1.6rem}@media (min-width:760px){.tray-anchor{width:min(44rem,100% - 2.5rem);padding-bottom:env(safe-area-inset-bottom)}.route-tray{padding:.85rem 1.05rem 1rem}.route-stops{width:11rem}}@media (max-width:640px){.map-top-group{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #0f172a14;border-radius:1rem;flex-direction:column;display:flex;position:absolute;top:.7rem;left:.7rem;right:.7rem;overflow:hidden;box-shadow:0 18px 36px #0f172a1f,inset 0 1px #ffffffe6}.map-top-group--with-nav{top:calc(var(--top-nav-height) + .7rem)}.map-weather{max-width:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;padding:.75rem .85rem;position:static}.map-top-group--with-nav .map-weather{top:auto}.map-weather__row{gap:.65rem}.map-weather__icon{width:2.2rem;height:2.2rem}.map-weather__temperature{font-size:1.25rem}.map-weather__condition{font-size:.82rem}.map-weather__meta{font-size:.74rem}.map-stride-mark{display:none}.map-legend{max-width:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-top:1px solid #0f172a14;border-radius:0;padding:.72rem .85rem;position:static}.map-top-group--with-nav .map-legend{top:auto}.map-legend__items{gap:.42rem .65rem}.map-legend__label{font-size:.72rem}.route-settings-anchor{left:auto;right:calc(env(safe-area-inset-right) + .7rem);top:9.5rem;bottom:auto}.route-settings-button{border-radius:999px;gap:0;padding:.55rem}.route-settings-button__icon{width:2rem;height:2rem}.route-settings-button__body{display:none}.route-settings-overlay{width:min(20rem,100vw - 1.4rem);padding:.9rem}.route-settings-overlay__title{font-size:1.02rem}.route-settings-overlay__copy{font-size:.76rem}.route-settings-option{padding:.74rem .76rem}.route-settings-option__title{font-size:.86rem}.route-settings-option__meta{font-size:.72rem}.map-prompt-anchor{top:.75rem}.map-prompt{white-space:normal;flex-wrap:wrap;justify-content:center;gap:.45rem;max-width:calc(100vw - 1.2rem);padding:.5rem .9rem .5rem .65rem}.map-prompt__icon{width:1.65rem;height:1.65rem}.map-prompt__icon svg{width:16px;height:16px}.map-prompt__text{font-size:.8rem}.map-prompt__action{justify-content:center;width:100%;padding:.32rem .56rem;font-size:.65rem}.map-prompt__step{padding:.12rem .4rem;font-size:.6rem}.route-dashboard{width:100%;min-width:0}.route-dashboard__inner{gap:.85rem;padding:1.1rem}.route-dashboard__title{font-size:1.35rem}.route-dashboard__subtitle{font-size:.88rem}.route-dashboard__grid{gap:.75rem}.name-editor__row{grid-template-columns:1fr;display:grid}.route-dashboard__card{aspect-ratio:auto;min-height:8.75rem}.route-dashboard__tips-title{font-size:.96rem}.route-dashboard__actions{justify-content:stretch}.route-dashboard__button{width:100%}.tray-anchor{width:100%;padding-bottom:env(safe-area-inset-bottom);left:0;transform:none}.route-tray{border-radius:0;padding:.6rem .85rem .75rem}.route-tray__header{margin-bottom:.3rem}.route-tray__row{flex-direction:column;align-items:stretch;gap:.6rem}.route-tray__reset{padding:.3rem .68rem;font-size:.64rem}.route-stops{flex-direction:row;gap:.65rem;width:100%}.route-stop{flex:1;min-width:0}.route-stop__value{font-size:.78rem}.address-loading-bar{width:min(100%,6rem)}.address-loading-bar--title{width:min(100%,7.25rem)}.route-primary{width:100%}.route-primary__title-row h2{font-size:1rem}.route-primary__meta{font-size:.78rem}.route-primary__button{padding:.52rem 1rem;font-size:.85rem}.route-secondary{flex-direction:row;gap:.5rem}.route-secondary__option{flex:1;font-size:.78rem}}@media (max-height:560px) and (min-width:700px){.tray-anchor{width:calc(100% - .9rem);padding-bottom:env(safe-area-inset-bottom)}.route-tray{border-radius:1.3rem 1.3rem 0 0;padding:.5rem .65rem .55rem}.route-tray__handle{display:none}}
