/* Map-first workspace. All navigation and directory controls remain real app controls. */
body.map-first{height:100dvh;overflow:hidden;background:#dce7da}
.map-first>header{position:fixed;z-index:650;top:12px;left:16px;right:16px;height:66px;min-height:66px;border-radius:20px;padding:12px 18px;box-shadow:0 6px 24px #123d3822;gap:8px;flex-wrap:nowrap}
.map-first .brand{font-size:23px}.map-first .brand small{font-size:8px}.map-first .brand svg{width:38px;height:38px}
.map-first .layout{display:block;height:100dvh}.map-first .maparea{position:absolute;inset:0;height:100dvh;min-height:0}
.map-first aside{position:absolute;z-index:550;left:16px;top:90px;bottom:22px;width:390px;border-radius:22px;box-shadow:0 8px 36px #123d3828;overflow:auto;overscroll-behavior:contain;scroll-padding-top:80px}
.map-first nav{position:sticky;top:0;padding:10px;background:var(--paper);border-bottom:1px solid #dde5d9;z-index:5}.map-first nav button{border-radius:12px;padding:9px 5px}
.map-first .panel{padding:18px 18px 28px}.map-first h1{font-size:30px;margin:6px 0 16px}.map-first h2{font-size:20px;line-height:1.3;overflow-wrap:anywhere}.map-first .box{padding:14px;margin:14px 0;border-radius:16px}.map-first .origin-card{border:0;margin:0;padding:8px 0}
.map-first #sheetToggle{display:none}.map-first #mapHint{top:94px;left:426px;right:auto;max-width:calc(100% - 500px);padding:10px 15px}
.map-first .leaflet-top{top:94px;left:auto;right:16px}.map-first .maplabel{left:auto;right:16px;bottom:28px}.map-first #mapLocate{position:absolute;z-index:500;right:16px;top:184px;border-radius:14px;font-size:28px;width:46px;padding:0;box-shadow:0 4px 18px #123d3822}
.map-first #destCoords{font-size:11px;margin:6px 0}.map-first #destination>.eyebrow{font-size:9px}.map-first #destName{margin-bottom:8px}.map-first #destinationOptions{margin-top:12px;padding-bottom:0}.map-first #destinationOptions button{font-size:12px;margin:8px 4px 0 0}.map-first #destination>p.help:last-child{font-size:11px;margin-bottom:0}
.map-first #travelMode{width:110px}.map-first #walkRoute{flex:1}.map-first #destination .check{font-size:12px;margin:0}.map-first .route-actions{display:flex;gap:8px;flex-wrap:wrap}.map-first #navStart{flex:1;background:#d2ed97;color:#123d38;border-color:#a5c86c;font-size:16px}.map-first #voiceTest{font-size:12px}.map-first #routeConditions,.map-first #routeOrigin{font-size:12px;color:var(--muted)}.map-first #routePanel{border:2px solid #b6ce98;background:#fbfff5}.map-first #routePanel>p:last-child{font-size:11px}
.map-first #navigationOptions .box{border:0;padding:4px 0;background:none}.map-first #navigationOptions h3{display:none}.map-first #notice{font-size:12px}.map-first #notice:empty{display:none}
.map-first #navHud{top:16px;left:16px;right:16px;max-width:520px;margin:auto;padding:18px;border-radius:24px;max-height:calc(100dvh - 110px);overflow:auto}.turn-banner{display:flex;gap:16px;align-items:center}.turn-banner>div{flex:1;min-width:0}#navArrow{font-size:58px;line-height:1;width:62px;text-align:center;color:#d2ed97}#navDistance{font-size:36px!important;line-height:1.1}.map-first #navInstruction{font-size:22px}.journey-stats{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #ffffff33;margin-top:14px;padding-top:12px;font-weight:650}#navEta{white-space:nowrap}.nav-actions{margin-top:10px}.map-first #voiceHudStatus{font-size:11px;flex-basis:100%;color:#dce8d7}.map-first #navStopHud{background:#fce8e3;color:#762a24;border-color:#e4b5a8}.map-first.nav-focus .leaflet-top{top:auto;bottom:80px;right:12px}.map-first.nav-focus #mapLocate{display:none}.map-first.nav-focus #navFocus{display:none}
@media(max-width:760px){
 .map-first>header{top:8px;left:8px;right:8px;min-height:58px;height:auto;padding:9px 10px;border-radius:16px;gap:5px}.map-first .brand{font-size:18px;gap:6px}.map-first .brand small{font-size:6px;letter-spacing:.7px}.map-first .brand svg{width:30px;height:30px}.map-first .header-tools{gap:5px;flex:0 1 auto;min-width:0}.map-first #language{width:88px;max-width:100%;font-size:12px;padding:6px}.map-first #settingsOpen{font-size:10px;max-width:72px;padding:6px;min-height:42px}
 .map-first aside{left:0;right:0;top:auto;bottom:0;width:auto;height:53dvh;max-height:calc(100dvh - 80px);border-radius:24px 24px 0 0;scroll-padding-top:120px;padding-bottom:env(safe-area-inset-bottom);transition:height .18s ease}.map-first.sheet-expanded aside{height:calc(100dvh - 80px)}
 .map-first #sheetToggle{display:block;width:100%;height:30px;min-height:30px;border:0;border-radius:0;background:var(--paper);font-size:10px;padding:4px 14px;color:#566957;position:sticky;top:0;z-index:6}.map-first #sheetToggle::before{content:'';display:inline-block;width:26px;height:3px;background:#8ca18e;border-radius:4px;margin-right:8px;vertical-align:middle}.map-first #sheetToggle[data-english]::after{display:inline;margin-left:6px;font-size:9px}.map-first nav{top:30px;flex-wrap:nowrap;padding:7px 10px;gap:5px}.map-first nav button{min-width:0;font-size:11px;padding:7px 4px;flex:1 1 0}.map-first .panel{padding:14px 16px 24px}.map-first h1{font-size:27px;margin:4px 0 12px}.map-first .eyebrow{font-size:9px}.map-first #searchForm label{margin-top:0}.map-first #searchForm input{padding:12px 10px}.map-first #searchButton{padding:12px}
 .map-first #mapHint{top:80px;left:12px;right:65px;max-width:none;font-size:11px;padding:8px 12px}.map-first .leaflet-top{top:82px;right:10px}.map-first #mapLocate{right:10px;top:166px}.map-first .leaflet-control-attribution{font-size:9px}.map-first .leaflet-bottom{bottom:53dvh}.map-first.sheet-expanded .leaflet-bottom{bottom:calc(100dvh - 80px)}.map-first.nav-focus .leaflet-bottom{bottom:0}
 .map-first #navHud{top:max(12px,env(safe-area-inset-top));left:10px;right:10px;padding:15px}.map-first #navDistance{font-size:32px!important}.map-first #navInstruction{font-size:20px}.map-first #navArrow{font-size:48px;width:48px}.map-first #navHud button{flex:1 1 28%;font-size:11px}.map-first #navHudStatus{font-size:11px}.map-first .nav-actions{gap:6px}.map-first #navHud p{overflow-wrap:anywhere}.map-first #navHud #voiceHudStatus{margin:0}.map-first #navFocus{bottom:calc(53dvh + 15px)}
}
@media(max-width:350px){.map-first .brand>span{font-size:16px}.map-first .brand small{display:none}.map-first .brand svg{width:26px;height:26px}.map-first #language{width:76px}.map-first #settingsOpen{max-width:65px}.map-first #navHud h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.map-first aside{transition:none}}
