.navcard[hidden],.navtools[hidden]{display:none}.navcard{position:absolute;z-index:1100;top:64px;left:22px;width:min(440px,calc(100% - 44px));background:#174b3b;color:white;border-radius:18px;box-shadow:0 6px 26px #133b3038;overflow:hidden}.navhead{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #ffffff26;font-size:12px;font-weight:700;letter-spacing:.08em}.navhead button{background:#ffffff17;border:1px solid #ffffff40;color:white;min-height:36px;padding:8px 10px;font-size:12px}.turnbody{display:flex;gap:20px;padding:20px}.navarrow{width:70px;min-width:70px;align-self:center}.navarrow svg{display:block;width:100%;height:70px}.turncopy{min-width:0}.turncopy h2{font-size:27px;line-height:1.12;letter-spacing:-.7px;margin:5px 0 8px;color:white;overflow-wrap:anywhere}#navdistance{font-size:17px;font-weight:650;color:#cce7bc}#navroad{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.navthen{font-size:13px;background:#ffffff0d;padding:10px 20px}.navthen:empty{display:none}.navfoot{display:flex;gap:16px;align-items:center;font-size:13px;padding:12px 20px}.navfoot progress{height:6px;width:100px;margin-left:auto;accent-color:#d2e6b3}.navtools{display:flex;gap:7px;padding:0 12px 12px}.navtools button{flex:1;font-size:13px;padding:11px 5px;min-height:44px}.navcard[data-state="uncertain"],.navcard[data-state="offroute"],.navcard[data-state="start"]{background:#71541c}.navcard[data-state="arrived"]{background:#174b3b}details{margin:16px 0}summary{cursor:pointer;font-weight:650}.step-row{width:100%;text-align:left;margin:5px 0;font-size:13px}#directions{padding-left:24px}.row input{min-width:0}.tabs button{min-width:0}.mapwrap{isolation:isolate}
@media(max-width:700px){.mapwrap{height:52dvh;min-height:360px}.navcard{top:10px;left:10px;width:calc(100% - 20px);max-width:420px}.maplabel{display:none}.navhead{padding:8px 14px}.turnbody{padding:13px 16px;gap:12px}.navarrow{width:54px;min-width:54px}.navarrow svg{height:54px}.turncopy h2{font-size:23px}#navroad{font-size:13px}.navthen{padding:7px 16px}.navfoot{padding:9px 16px}.guiding .mapwrap{position:sticky;top:0;height:60dvh;z-index:10}.guiding aside{padding-top:18px}.navtools{padding-bottom:10px}.tabs button{font-size:12px}.guiding .maplabel{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root{--green:#174b3b;--ink:#163a34;--muted:#6c7977;--soft:#edf3ee;--border:#e3e9e5;--sheet:56dvh;--nav:72px;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font:16px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#e5ece2}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:#fff;border:1px solid var(--border);border-radius:14px;min-height:48px;padding:12px 16px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:9px;touch-action:manipulation}button:hover{background:var(--soft)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e5aa39;outline-offset:3px}[hidden]{display:none!important}svg{width:23px;height:23px;display:block;flex:none}[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}header{position:fixed;top:max(18px,env(safe-area-inset-top));left:24px;right:24px;z-index:1000;display:flex;align-items:center;justify-content:space-between;pointer-events:none}header>*{pointer-events:auto}h1{margin:0;background:white;border-radius:32px;padding:10px 20px;font-size:29px;letter-spacing:-1.2px;box-shadow:0 3px 16px #16413215;display:flex;align-items:center;gap:4px}.brand-dot{width:7px;height:7px;background:#83a379;border-radius:50%;align-self:flex-end;margin-bottom:10px}h2{font-size:29px;letter-spacing:-1px;line-height:1.15;margin:0 0 18px;font-weight:750}h3{font-size:18px;letter-spacing:-.3px;margin:22px 0 10px}p{color:var(--muted);margin:8px 0 20px}a{color:var(--green)}.icon-button{padding:0;width:48px;height:48px;border:0;flex:none;box-shadow:0 3px 14px #173e3018;border-radius:50%}main{height:100dvh}.mapwrap{position:absolute;inset:0;min-height:0;height:100%;isolation:isolate}#map{height:100%;width:100%;background:#e5ece2}.map-controls{position:absolute;right:24px;bottom:40px;display:flex;gap:10px;z-index:800}.leaflet-top{top:90px}.leaflet-left{left:auto;right:24px}.leaflet-control-zoom{border:0!important;box-shadow:0 2px 10px #173e3018!important}.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important;color:var(--green)!important}.leaflet-control-attribution{font-size:10px!important}aside{position:absolute;left:24px;top:100px;bottom:24px;width:390px;background:#fff;border-radius:24px;box-shadow:0 8px 40px #123b3022;z-index:900;display:flex;flex-direction:column;overflow:hidden}.sheet-scroll{overflow-y:auto;overscroll-behavior:contain;padding:24px 24px 12px;flex:1;min-height:0;scrollbar-width:thin}.sheet-handle{display:none}.tabs{display:flex;justify-content:space-around;gap:0;margin:0;border-top:1px solid var(--border);padding:7px 8px 10px;background:#fff;flex-shrink:0}.tabs button{position:relative;min-width:0;flex:1;flex-direction:column;gap:4px;border:0;border-radius:0;font-size:13px;padding:4px 2px;color:var(--muted);background:white;min-height:52px}.tabs button.active{color:var(--green);background:white;border:0}.tabs button.active:after{content:'';position:absolute;bottom:-5px;height:3px;width:26px;border-radius:3px;background:var(--green)}.tabs svg{width:22px;height:22px}.row{display:flex;gap:10px;margin:12px 0}.row>*{flex:1;min-width:0}.quick button{background:var(--soft);border:0;min-height:54px}.wide{width:100%;margin:6px 0}.primary{background:var(--green);color:#fff;border-color:var(--green);min-height:54px}.primary:hover{background:#22634d}.secondary{background:var(--soft);border-color:var(--soft)}.text-button{background:transparent;border:0;padding:8px 0;min-height:44px;color:var(--green);font-size:14px;flex-shrink:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:23px;margin:0}.section-heading h3{margin:0}.section-heading .icon-button{box-shadow:none;background:transparent;width:32px}.section-heading{margin-bottom:12px}.searchbox{display:flex;align-items:center;gap:9px;border:1px solid #d9e1df;border-radius:15px;background:#f5f7f6;padding-left:14px;min-height:54px}.searchbox input{border:0;min-width:0;padding:14px 0;background:transparent;font-size:15px;outline-offset:-2px}.searchbox button{border:0;padding:10px;min-width:40px;min-height:50px;background:transparent}.searchbox>span svg{width:21px}input,textarea,select{width:100%;padding:13px;border:1px solid #cdd9d3;border-radius:12px;background:#fff;font-size:16px}label{display:block;font-size:14px;font-weight:650;margin:16px 0 7px}.destination-row{width:100%;text-align:left;display:flex;justify-content:flex-start;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:14px 0;gap:13px;min-height:76px}.destination-row>span:nth-child(2){flex:1;min-width:0}.destination-row strong{display:block;font-size:16px;line-height:1.3}.destination-row small{display:block;font-weight:400;color:var(--muted);font-size:13px;line-height:1.35;margin-top:3px}.destination-row>span:last-child svg{width:18px}.place-icon{background:var(--soft);border-radius:13px;width:44px;height:46px}.demo-row{border:0;background:var(--soft);border-radius:14px;padding:13px;margin-top:18px}.demo-row>span:first-child svg{width:32px;height:32px}.demo-row small{font-size:14px}.pilot-note{font-size:11px;text-align:center;color:var(--muted);padding:18px 0 4px;display:flex;align-items:center;justify-content:center;gap:6px}.legend-dot{height:6px;width:6px;background:#168063;border-radius:50%}.filters{display:flex;gap:6px;overflow-x:auto;margin:12px 0}.filters button{font-size:13px;min-height:40px;padding:8px 12px;border-radius:24px}.filters .selected{background:var(--green);color:#fff;border-color:var(--green)}.muted{color:var(--muted);font-size:14px}.empty{padding:25px 8px;color:var(--muted);text-align:center;font-size:15px}.endpoints{background:#f3f6f4;border-radius:15px;margin:15px 0 4px;overflow:hidden}.endpoints button{width:100%;border:0;background:none;border-radius:0;text-align:left;justify-content:flex-start;gap:12px;font-size:15px;padding:14px;min-height:58px}.endpoints button+button{border-top:1px solid #fff}.endpoints button>span:nth-child(2){flex:1}.endpoints svg{width:16px;height:16px;color:#7c8a84}.pin-letter{width:26px;height:26px;border-radius:50%;background:#415bd6;color:white;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:none}.route-options{margin:0 0 10px}.route-options button{border:0;font-size:14px;padding:9px 5px}.route-options svg{width:18px}.metric{font-size:42px;line-height:1.1;font-weight:750;letter-spacing:-1.5px;margin:20px 0 3px}#eta{margin-bottom:20px}details{border-top:1px solid var(--border);padding-top:17px;margin:17px 0 10px}summary{cursor:pointer;font-weight:650;font-size:15px;min-height:44px}.step-row{font-size:14px;padding:12px 10px;text-align:left;line-height:1.4}.status.inline{font-size:13px;color:#586b61;margin:8px 0 14px;line-height:1.5}.status.inline:empty{display:none}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:min(440px,calc(100% - 32px));z-index:1600;background:var(--green);color:white;border-radius:14px;padding:13px 18px;box-shadow:0 4px 24px #123b3030;font-size:14px;pointer-events:none}.toast:empty{display:none}.check{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:400}.check input{width:22px;height:22px;accent-color:var(--green)}#triplist button{width:100%;text-align:left;margin:6px 0}.back{margin-bottom:10px}.saved-entry{display:flex;gap:6px;border-bottom:1px solid var(--border);align-items:center}.saved-entry .destination-row{border:0;flex:1;min-width:0}.saved-entry .remove{border:0;padding:8px;width:40px;min-width:40px;background:transparent;color:var(--muted)}.saved-entry .remove svg{width:18px}#saveMapPoint{margin-top:20px}#maphint{position:absolute;z-index:1000;top:90px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:13px 18px;border-radius:14px;max-width:calc(100% - 32px);font-size:14px;text-align:center;box-shadow:0 3px 18px #173e3020}#maperror{position:absolute;z-index:900;top:90px;right:20px;max-width:260px;background:#fff5dc;padding:12px;border-radius:14px;font-size:13px;display:none}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}dialog{border:0;border-radius:22px;padding:26px;width:calc(100% - 32px);max-width:390px;box-shadow:0 10px 60px #0003}dialog::backdrop{background:#153b3255}.navcard{left:438px;top:24px;width:min(430px,calc(100% - 530px));z-index:1000}.navcard[hidden]{display:none}.navcard:not([hidden])~#maperror{top:360px}.navhead button{min-height:44px}.navcard h2{margin:5px 0 8px}.navtools button{font-size:13px}.navfoot progress{min-width:50px}.navthen{line-height:1.4}.nav-preview .navcard{display:none}.guiding aside{display:none}.guiding header{display:none}.guiding .navcard{left:24px;top:24px;width:min(440px,calc(100% - 48px))}.guiding .leaflet-top{top:24px}.guiding .map-controls{bottom:40px}.guiding .mapwrap{height:100%;position:absolute;inset:0}.guiding .toast{bottom:28px}
@media(max-width:700px){header{left:16px;right:16px;top:max(14px,env(safe-area-inset-top))}h1{font-size:26px;padding:10px 18px}h2{font-size:28px}aside{left:0;right:0;top:auto;bottom:0;width:100%;height:calc(var(--sheet) + var(--safe));max-height:calc(100dvh - 80px);border-radius:25px 25px 0 0;transition:height .2s ease;box-shadow:0 -4px 28px #123b3014}.sheet-scroll{padding:2px 22px 8px}.sheet-handle{display:flex;background:white;border:0;min-height:26px;height:26px;border-radius:0;padding:0;flex-shrink:0}.sheet-handle span{height:5px;width:44px;background:#d1d7d3;border-radius:9px}.tabs{padding:7px 12px calc(10px + var(--safe));min-height:var(--nav)}.tabs button{font-size:12px}.expanded aside{height:calc(88dvh + var(--safe))}.map-picking aside{height:calc(190px + var(--safe))}.map-picking .sheet-scroll{overflow:hidden}.map-picking section>*:not(.section-heading):not(.endpoints){display:none!important}.map-picking .pilot-note{display:none}.map-picking .tabs{display:none}.map-picking #maphint{top:80px;font-size:13px;width:max-content;max-width:calc(100% - 32px)}.map-controls{right:16px;bottom:calc(var(--sheet) + var(--safe) + 16px);flex-direction:column;gap:8px}.expanded .map-controls{display:none}.map-picking .map-controls{bottom:calc(210px + var(--safe))}.leaflet-control-zoom{display:none}.leaflet-control-attribution{max-width:100%;font-size:9px!important}.leaflet-bottom{bottom:calc(var(--sheet) + var(--safe))}.expanded .leaflet-bottom{display:none}.map-picking .leaflet-bottom{bottom:calc(190px + var(--safe))}.toast{bottom:calc(var(--sheet) + var(--safe) + 12px);width:max-content;max-width:calc(100% - 32px)}.expanded .toast{bottom:calc(var(--nav) + var(--safe) + 12px)}.guiding .mapwrap{position:absolute;height:100dvh;min-height:0}.guiding .navcard{top:max(12px,env(safe-area-inset-top));left:12px;width:calc(100% - 24px);max-width:none}.guiding .leaflet-bottom{bottom:0;display:block}.guiding .map-controls{display:flex;bottom:calc(25px + var(--safe))}.guiding .navthen{font-size:13px}.turncopy h2{font-size:24px}.guiding .toast{bottom:calc(25px + var(--safe))}.section-heading h2{font-size:22px}.searchbox input{font-size:16px}.searchbox{gap:7px}.quick{margin:10px 0}.quick button{min-height:50px}h3{margin:19px 0 8px}.destination-row{min-height:70px;padding:12px 0}.demo-row{padding:12px;margin-top:14px}.pilot-note{padding-top:14px}#maperror{top:80px;right:16px;max-width:calc(100% - 32px)}}
@media(max-width:370px){.sheet-scroll{padding-left:16px;padding-right:16px}.searchbox input{font-size:15px}.destination-row strong{font-size:15px}.quick button{font-size:15px}.turnbody{padding:12px;gap:10px}.navtools button{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.endpoint-marker span{display:flex;align-items:center;justify-content:center;background:#415bd6;color:#fff;font-weight:750;font-size:17px;width:32px;height:32px;border:3px solid white;border-radius:50% 50% 50% 5px;box-shadow:0 2px 6px #26365344}.endpoint-marker{background:transparent;border:0}
/* Leaflet owns the SVG viewport dimensions; UI icon sizing must not affect it. */
#map svg{width:auto;height:auto}
#plan:has(#routeReady:not([hidden])){display:flex;flex-direction:column}#plan:has(#routeReady:not([hidden])) .route-options{order:4}#plan:has(#routeReady:not([hidden])) #pathstatus{order:5}
@media(max-width:700px){:root{--sheet:68dvh}.sheet-scroll h2{margin-bottom:12px}.sheet-scroll h3{margin-top:16px}.quick{margin:8px 0}.demo-row{margin-top:10px}.pilot-note{padding-top:10px}.sheet-scroll .section-heading h2{margin:0}.metric{margin-top:14px}#eta{margin-bottom:14px}}
.pick-cancel{display:none;position:absolute;z-index:1000;right:24px;top:155px;background:white;box-shadow:0 3px 14px #173e3020}.map-picking .pick-cancel{display:flex}@media(max-width:700px){.pick-cancel{top:140px;right:16px;font-size:13px;min-height:44px}}

.navtools button{color:#174b3b;background:white}.navtools button:hover{background:#edf3ee}
/* Location and transport controls extend the existing mobile visual system. */
.gps-chip{position:fixed;z-index:1000;top:80px;right:24px;left:auto;min-height:40px;padding:9px 13px;border:0;border-radius:24px;box-shadow:0 2px 14px #153b301c;font-size:12px;gap:8px}.gps-dot{width:9px;height:9px;border-radius:50%;background:#8a9baf;flex:none;display:inline-block}.gps-chip[data-state="live"] .gps-dot{background:#2375d5;box-shadow:0 0 0 4px #2375d519}.gps-chip[data-state="requesting"] .gps-dot,.gps-chip[data-state="stale"] .gps-dot,.gps-chip[data-state="approximate"] .gps-dot{background:#c28b24}.gps-chip[data-state="denied"] .gps-dot{background:#ad5548}.location-action{width:100%;text-align:left;justify-content:flex-start;padding:10px 0;border:0;background:white;margin:-4px 0 12px;gap:12px}.location-action>span:nth-child(2){flex:1}.location-action strong{display:block;font-size:15px;color:#216dc1}.location-action small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:2px}.location-action>span:first-child{color:#2375d5}.location-action>span:last-child svg{width:16px}.travel-modes{display:flex;border-bottom:1px solid var(--border);margin:2px 0 14px;gap:5px}.travel-modes button{flex:1;min-width:0;padding:10px 5px;min-height:46px;font-size:13px;border:0;border-radius:12px 12px 0 0;position:relative;background:white;color:var(--muted)}.travel-modes button[aria-pressed="true"]{color:var(--green);background:var(--soft)}.travel-modes button[aria-pressed="true"]:after{content:'';position:absolute;bottom:0;left:18%;right:18%;height:3px;background:var(--green);border-radius:3px}#journeyOrigin{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--border);padding:8px 0 14px;margin-bottom:10px}#journeyOrigin>span:nth-child(2){flex:1;min-width:0}#journeyOrigin strong{display:block;font-size:15px}#journeyOrigin small{display:block;font-size:12px;color:var(--muted)}#journeyOrigin .gps-dot{background:#2375d5}#transferHelp{font-size:14px;background:#edf3ee;border-radius:12px;padding:14px;margin:10px 0}#transferHelp p{margin:5px 0 0;font-size:13px}#transferHelp button{padding-bottom:0}.leg-heading{display:flex;align-items:center;gap:11px;margin:18px 0 12px}.leg-heading h3{margin:0!important;font-size:18px}.leg-heading small{color:var(--muted);font-size:13px}.leg-number{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--green);color:white;font-weight:700;font-size:13px;flex:none}.road-summary{font-size:24px;font-weight:750;letter-spacing:-.5px;margin:12px 0}.road-summary:empty{display:none}.button-link{display:flex;align-items:center;justify-content:center;text-align:center;padding:15px 12px;border-radius:14px;text-decoration:none;font-size:15px;font-weight:650;min-height:54px}.provider-note{font-size:12px;line-height:1.5;margin:12px 0}.road-credit{font-size:11px;color:var(--muted);margin-top:10px}#roadDirections{padding-left:24px;font-size:14px}#roadDirections li{padding:10px 0;border-bottom:1px solid var(--border)}#roadLeg{margin-bottom:20px}body[data-journey="mixed"] #routeReady{border-top:1px solid var(--border);padding-top:4px}body[data-journey="drive"] .leg-number{display:none}body[data-journey="drive"] #plan .route-options{order:4}body[data-journey="mixed"] #swapRoute{display:none}.leaflet-top{top:140px}.guiding .gps-chip{display:none}.map-picking .gps-chip{display:none}.expanded .gps-chip{display:none}#gpsDialog p{font-size:14px;line-height:1.6}#gpsDetails{overflow-wrap:anywhere;color:var(--green);font-weight:600}#cartTransition{font-size:12px;margin-top:0}#plan:has(#routeReady:not([hidden])) #roadLeg{order:0}#plan:has(#routeReady:not([hidden])) #routeReady{order:1}
@media(max-width:700px){.gps-chip{top:78px;left:16px;right:auto;font-size:11px;min-height:36px;padding:8px 12px}.location-action{margin-bottom:9px;min-height:48px;padding:4px 0}.location-action small{font-size:11px}.location-action strong{font-size:14px}.sheet-scroll{padding-left:20px;padding-right:20px}#explore h3{margin-top:12px}.destination-row{min-height:63px;padding:9px 0}.demo-row{min-height:60px;padding:10px;margin-top:8px}.place-icon{height:40px;width:40px}.travel-modes{margin-bottom:10px}.map-picking #maphint{top:80px}.map-picking:has(#saved:not([hidden])) aside{display:none}.map-picking:has(#saved:not([hidden])) .leaflet-bottom{bottom:0}.guiding .leaflet-top{top:24px}}

/* Cart-first discovery, using the existing destination row and bottom sheet. */
.popular-hint{font-size:12px;color:var(--muted);margin:0 0 7px;line-height:1.4}
.cart-advice{background:#f5f3e9;border-left:3px solid #a28a42;padding:14px;border-radius:0 12px 12px 0;margin:12px 0;font-size:14px;line-height:1.45}
.cart-advice strong{display:block;font-size:15px}.cart-advice p{margin:6px 0 10px}.cart-advice .text-button{display:block;text-align:left}.cart-advice .secondary{background:white;font-size:14px}
#plan:has(#routeReady:not([hidden])) #cartAdvice{order:2}
#searchStatus{font-size:12px;line-height:1.4}#searchStatus:empty{display:none}

.destination-entry{display:flex;align-items:center;border-bottom:1px solid var(--border);gap:5px}.destination-entry .destination-row{flex:1;min-width:0;border:0}.destination-entry .destination-row>span:last-child{display:none}.place-details{border:0;background:transparent;min-width:44px;width:44px;min-height:48px;padding:10px;color:var(--muted)}.place-details svg{width:19px;height:19px}

.arrival-note{font-size:13px;line-height:1.5;padding:10px 12px;background:#f5f3e9;border-radius:10px;margin:0 0 14px}

.endpoint-detail{display:block;color:var(--muted);font-size:12px;font-weight:400;line-height:1.4;margin-top:3px}

@media(max-width:700px){.map-picking aside{height:calc(235px + var(--safe))}.map-picking .leaflet-bottom{bottom:calc(235px + var(--safe))}.map-picking .map-controls{bottom:calc(255px + var(--safe))}}
/* Map-first phone layout: compact dock, explicit full-map mode, labeled squares. */
.sheet-toolbar{display:flex;align-items:center;justify-content:space-between;flex:none;padding:0 18px;border-bottom:1px solid var(--border);min-height:44px;background:white}
.sheet-toolbar #showMap{gap:7px;font-size:13px;margin-left:auto}.sheet-toolbar #showMap svg{width:17px;height:17px}
.sheet-handle b{font-size:12px;font-weight:600}.square-heading{margin:12px 0 7px;gap:8px}.square-heading h3{font-size:17px;margin:0!important}.square-heading .text-button{min-height:36px;font-size:12px}
.square-shortcuts{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:1px 1px 9px;scrollbar-width:thin;overscroll-behavior-x:contain}
.square-choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;flex:0 0 148px;min-height:70px;padding:10px 12px;text-align:left;background:var(--soft);border:0;border-radius:12px;scroll-snap-align:start}
.square-choice strong{font-size:14px;line-height:1.2}.square-choice small{font-size:11px;color:var(--muted);font-weight:400}.square-shortcuts+.location-action{margin-top:12px}
.square-marker{background:none;border:0}.square-label{background:#fff;border:2px solid #174b3b;border-radius:10px;padding:4px 6px;box-shadow:0 2px 8px #123b3033;text-align:center;color:var(--ink);line-height:1.15;white-space:nowrap;cursor:pointer}
.square-label strong{font-size:12px;display:block;font-weight:750;letter-spacing:-.2px}.square-label small{font-size:10px;display:block;color:#557468;margin-top:2px}.square-marker:focus{outline:3px solid #e5aa39;outline-offset:3px}
.map-return{position:fixed;z-index:1200;left:50%;transform:translateX(-50%);bottom:calc(18px + var(--safe));padding:13px 22px;box-shadow:0 4px 24px #123b3033;background:white;white-space:nowrap}
.full-map #sheet{display:none}.full-map .map-controls{display:flex;bottom:calc(86px + var(--safe))}.full-map .leaflet-bottom{bottom:0;display:block}.full-map .gps-chip{display:flex}.full-map .toast{bottom:calc(85px + var(--safe))}.guiding .square-marker,.map-picking .square-marker{display:none}
button,.square-marker{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea{user-select:text;-webkit-user-select:text}
@media(max-width:700px){
 :root{--sheet:40dvh;--dock-height:40dvh}
 aside{height:calc(var(--sheet) + var(--safe));min-height:300px}.expanded aside{height:calc(88dvh + var(--safe));min-height:0}
 .sheet-toolbar{padding:0 16px;min-height:40px}.sheet-handle{display:flex;gap:8px;min-height:40px;height:40px;touch-action:none;padding:0 8px 0 0}.sheet-handle span{width:24px;height:4px}.sheet-toolbar #showMap{min-height:40px;padding:6px 0}
 .sheet-scroll{padding-top:10px}.sheet-scroll #explore>h2{font-size:22px;margin-bottom:10px}.sheet-scroll #explore .square-heading{margin-top:7px;margin-bottom:4px}.square-heading h3{font-size:16px}
 .map-controls{bottom:calc(var(--dock-height) + 16px)}.leaflet-bottom{bottom:var(--dock-height)}.toast{bottom:calc(var(--dock-height) + 12px)}
 .map-picking aside{height:calc(235px + var(--safe));min-height:0}.map-picking .sheet-toolbar{min-height:32px}.map-picking .sheet-handle{min-height:32px;height:32px}.map-picking #showMap{display:none}.map-picking .sheet-scroll{padding-top:0}
 .full-map .map-controls{bottom:calc(86px + var(--safe))}.full-map .leaflet-bottom{bottom:0}.guiding .leaflet-bottom{bottom:0}.guiding .map-controls{bottom:calc(25px + var(--safe))}
}
@media(max-width:700px) and (max-height:600px){aside{min-height:230px}.map-return{bottom:10px}.gps-chip{top:68px}}
@media(max-width:700px){
 body:not(.expanded) #explore>h2{display:none}
 body:not(.expanded) .sheet-scroll{padding-top:6px}
 body:not(.expanded) .square-choice{min-height:62px;padding:8px 10px}
 body:not(.expanded) .square-shortcuts{padding-bottom:5px}
 body:not(.full-map) .square-label small{display:none}
}

@media(max-width:700px){body:not(.full-map) .square-label{padding:3px 6px}body:not(.full-map) .square-label strong{font-size:11px}}
/* Two-tap map planning and a GPS-free drive preview. */
.map-shortcuts{position:absolute;z-index:800;top:130px;left:24px;display:flex;gap:8px}.map-shortcuts button{min-height:44px;font-size:13px;padding:10px 13px;box-shadow:0 3px 16px #123b3024}.map-shortcuts svg{width:18px;height:18px}
@media(min-width:701px){.map-shortcuts{left:438px;top:85px}}
.map-picking .map-shortcuts,.guiding .map-shortcuts,.expanded .map-shortcuts,.guiding #showPlaces{display:none!important}
.pick-actions{display:none;position:absolute;z-index:1000;bottom:calc(24px + var(--safe));left:50%;transform:translateX(-50%);gap:10px;white-space:nowrap}.pick-actions button{box-shadow:0 3px 14px #173e3028;background:white;font-size:14px;min-height:48px}
.map-picking .pick-actions{display:flex}.map-picking:not(.pair-picking) .pick-actions{bottom:calc(250px + var(--safe))}
.pair-picking #sheet{display:none}.pair-picking .leaflet-bottom{bottom:0;display:block}.pair-picking .map-controls{bottom:calc(90px + var(--safe));display:flex}.pair-picking #maphint{top:84px;max-width:calc(100% - 32px);width:max-content;font-size:14px;font-weight:650}
.route-launch{display:flex;gap:8px;margin-top:12px}.route-launch button{flex:1;min-width:0;font-size:14px;padding:12px 7px;min-height:50px}.route-launch svg{width:18px;height:18px}
.preview-hint{font-size:12px;line-height:1.4;margin:3px 0 10px;color:#557468}
.route-ready #plan>.section-heading{order:-3}.route-ready #plan #routeReady{order:-2!important}.route-ready #plan>.endpoints{order:-1}.route-ready #summary{font-size:32px;margin:4px 0}.route-ready #eta{font-size:13px;margin-bottom:6px}
.route-ready #routeReady details{margin:8px 0 0;padding-top:8px}.route-ready #routeReady details summary{min-height:32px;font-size:13px}.route-ready #routeReady .arrival-note{font-size:12px;margin-bottom:5px}
.navdock{position:absolute;z-index:1100;left:24px;bottom:calc(24px + var(--safe));width:min(440px,calc(100% - 48px));background:#fff;border-radius:20px;box-shadow:0 5px 30px #123b3033;overflow:hidden;color:var(--ink)}
.navdock .navfoot{position:relative;display:flex;align-items:center;padding:14px 18px 16px;gap:12px}.navfoot>div{display:flex;gap:10px;align-items:baseline;flex:1}.navfoot strong{font-size:23px;font-weight:750;letter-spacing:-.5px}.navfoot #navremaining{font-size:12px;color:#687b72}.navfoot #navpercent{font-size:12px;color:#687b72}.navfoot progress{position:absolute;bottom:0;left:18px;right:18px;width:calc(100% - 36px);height:4px;accent-color:#168063;border:0}
.demo-controls{display:flex;padding:12px 12px 0;gap:6px}.demo-controls button{font-size:13px;min-height:44px;flex:1;padding:9px 5px;background:#eff4f0;border:0}.demo-controls button:first-child{background:var(--green);color:#fff}
.navdock .navtools{padding:10px 12px 12px;gap:6px}.navdock .navtools button{border:0;background:#f6f7f6;font-size:12px}.navdock #endnav{color:#a14437;background:#fff0ec}
.preview-offer{padding:0 16px 14px}.preview-offer button{min-height:44px;background:white;color:var(--green);width:100%;font-size:14px}.preview-offer small{display:block;text-align:center;margin-top:6px;font-size:11px;color:#ffedcd}
.nav-position{background:transparent;border:0;display:grid;place-items:center}.nav-position span{display:block;width:38px;height:38px;background:#267add;border:4px solid #fff;border-radius:50%;box-shadow:0 2px 10px #123b3055;position:relative}.nav-position span:after{content:'';position:absolute;inset:6px 7px;background:white;clip-path:polygon(50% 0,100% 100%,50% 75%,0 100%)}
.demo-mode .nav-position span{background:#2778d4}.navcard .navhead{font-size:11px;letter-spacing:.07em}.guiding .navcard{top:16px}.guiding .navthen{border-top:1px solid #ffffff20}.guiding .map-controls{display:none}.guiding .toast{display:none}.navdock .navtools[hidden],.demo-controls[hidden]{display:none}
@media(max-width:700px){
 .map-shortcuts{top:126px;left:16px;right:16px;gap:7px}.map-shortcuts button{padding:9px 11px;min-height:44px;font-size:12px;gap:6px}.map-shortcuts svg{width:16px;height:16px}
 .route-ready:not(.expanded):not(.full-map) #sheet{height:min(52dvh,430px);min-height:300px}
 .navdock{left:12px;bottom:calc(14px + var(--safe));width:calc(100% - 24px);border-radius:18px}.guiding .navcard{top:max(12px,env(safe-area-inset-top))}.guiding .turnbody{padding:14px 16px;gap:16px}.guiding .navhead{padding:5px 14px}.guiding .turncopy h2{font-size:25px;line-height:1.1}.guiding .navarrow{width:53px;min-width:53px}.guiding .navthen{font-size:12px;padding:9px 16px}.guiding #navroad{font-size:14px;line-height:1.35}.navdock .navfoot{padding:11px 16px 13px}.navdock .navfoot strong{font-size:22px}
}
@media(max-height:600px){.guiding .navthen{display:none}.guiding .turnbody{padding:10px 14px}.guiding .turncopy h2{font-size:22px}.navdock .navfoot{padding:8px 14px 10px}.demo-controls{padding-top:8px}.navdock .navtools{padding-top:6px;padding-bottom:8px}}

.route-ready:not(.map-picking) .map-shortcuts{display:none}

.route-ready .square-marker{display:none}

/* A shareable, user-started introduction to the same guidance used on a ride. */
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;color:var(--ink)}
.demo-dialog{max-width:440px;padding:28px;background:#fffefa}
.demo-brand{display:flex;align-items:center;gap:11px;margin-bottom:24px;font-size:21px;font-weight:750;letter-spacing:-.5px}
.demo-brand img{border-radius:10px;flex:none}.demo-eyebrow{display:block;margin-top:2px;font-size:9px;letter-spacing:1.4px;color:#698175;font-weight:650}
.demo-dialog h2{font-size:34px;letter-spacing:-1.3px;margin-bottom:12px}.demo-dialog>p{font-size:14px;line-height:1.55}
.demo-ticket{display:flex;align-items:center;gap:13px;padding:17px 14px;background:#edf3e9;border:1px solid #e0e9d9;border-radius:16px;margin:20px 0 12px}
.demo-ticket>span{color:#47815a}.demo-ticket strong{display:block;font-size:15px}.demo-ticket small{display:block;font-size:12px;color:#637766;margin-top:3px}
.demo-dialog .demo-note{font-size:12px;color:#46664d;margin:0 0 15px;text-align:center}
.demo-secondary{display:flex;gap:8px;margin:6px 0 14px}.demo-secondary button{flex:1;padding:10px 6px;font-size:13px;background:transparent}.demo-secondary svg{width:18px;height:18px}
.demo-dialog .demo-tip{font-size:12px;margin:0;color:#66766c}.demo-message{font-size:12px;line-height:1.4;color:#306347;margin:12px 0 0}.demo-message:empty{display:none}.demo-link{font-size:13px;margin-top:10px}
.navdock .demo-message{padding:0 16px 12px;margin:0}.navdock .demo-link{width:calc(100% - 32px);margin:0 16px 12px}
.install-steps{padding-left:22px}.install-steps li{padding-left:5px;margin:18px 0}.install-steps strong,.install-steps span{display:block}.install-steps span{font-size:14px;line-height:1.5;color:var(--muted);margin-top:4px}
@media(max-width:370px),(max-height:680px){.demo-dialog{padding:22px}.demo-brand{margin-bottom:17px}.demo-dialog h2{font-size:29px}.demo-dialog>p{font-size:13px}.demo-ticket{padding:12px;margin:15px 0 10px}.demo-secondary{margin-bottom:10px}}
