/* Navigation icons are local Lucide SVGs: fixed geometry across iOS and Android. */
.ui-icon{display:inline-block;flex:none;width:22px;height:22px;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;pointer-events:none}
.icon-route{--icon:url('./icons/route.svg')}.icon-compass{--icon:url('./icons/compass.svg')}.icon-play{--icon:url('./icons/play.svg')}.icon-settings{--icon:url('./icons/sliders-horizontal.svg')}.icon-home{--icon:url('./icons/rotate-ccw.svg')}.icon-lookout{--icon:url('./icons/binoculars.svg')}
header{left:24px;right:24px}.header-actions{display:flex;gap:6px;align-items:center}.header-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;height:44px;padding:0 12px;border:1px solid #e3e5cd4a;border-radius:11px;background:#173a3ddb;color:#f1edd7;font-size:12px;white-space:nowrap}.header-actions .ui-icon{width:18px;height:18px}.header-actions .settings-top{width:auto;border-radius:11px}.header-actions #ppc-entry-button{display:flex!important;background:#e9d499;color:#274c40;border-color:#ffefd2}.header-actions button:hover{filter:brightness(1.13)}
.main-dock #guided-start>span{display:inline-block!important;color:#254a40}.main-dock .ui-icon{width:25px;height:25px;color:#e6d091}.main-dock button[aria-expanded=true] .ui-icon{color:#244335}
/* The title and weather share one horizontal inset. Weather never starts hidden. */
.title{left:24px}.home-weather,.home-weather[data-collapsed=true]{right:24px!important;top:104px!important;left:auto!important}.home-weather{border-radius:12px}.weather-top #weather-details-toggle{min-height:46px}.weather-top #weather-collapse{width:44px}.home-weather #weather-temp{font-size:26px}
.lookout-action{display:flex;align-items:center;gap:12px;padding:15px!important;margin:4px 0 18px;background:#e9d59b!important;border:1px solid #fff0c0!important;border-radius:12px;color:#284b3e!important;min-height:66px}.lookout-action>span:nth-child(2){flex:1}.lookout-action b{display:block;font-size:16px}.lookout-action small{display:block;font-size:11px;margin-top:5px;color:#526b56}.lookout-action .ui-icon{width:26px;height:26px}.lookout-action:hover{background:#f4dfa4!important}
/* During a detour there is only one route-resume bar, not competing primary menus. */
body[data-guided-away=true] .main-dock{display:none!important}
#resume-bar{position:fixed;z-index:25;bottom:calc(34px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(410px,calc(100% - 28px));display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border:1px solid #d1daba5c;border-radius:15px;background:#173a3df5;box-shadow:0 6px 24px #112d352e}
#resume-bar[hidden]{display:none!important}#resume-bar>div{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}#resume-route{font-size:12px;color:#efe5bc;font-weight:600}#resume-position{font-size:10px;color:#bdcec1}
#resume-bar #guided-resume{position:static;transform:none;width:auto;min-width:0;min-height:46px;height:46px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;padding:0 12px;border-radius:10px;background:#ebd395;color:#254a40;box-shadow:none;touch-action:manipulation}#resume-bar #guided-resume[hidden]{display:none}#resume-bar .ui-icon{width:18px;height:18px}#end-saved-trip{min-height:46px;min-width:56px;padding:0 10px;color:#c7d4c7;border:1px solid #bacbb443;border-radius:10px;font-size:12px}
body[data-guided-away=true] .explorer-sheet,body[data-guided-away=true] .detail-card{bottom:calc(148px + env(safe-area-inset-bottom));max-height:calc(100dvh - 246px)}
.coverage-note{position:fixed;bottom:106px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.16em;color:#d6dfd4;z-index:2;pointer-events:none;white-space:nowrap}body[data-map-focus=true] .coverage-note,body[data-sheet-open=true] .coverage-note,body[data-detail-open=true] .coverage-note{display:none}.map-hint{display:none}
body[data-lookout=true][data-guided-away=true] #walk-pad{bottom:155px}
@media(max-width:700px){
 header{left:20px;right:20px;top:calc(12px + env(safe-area-inset-top));gap:8px}.brand{gap:6px}.brand img{width:25px;height:25px}.brand b{font-size:14px;letter-spacing:0;white-space:nowrap}.header-actions{gap:5px}.header-actions button{min-height:44px;height:44px;padding:0 8px;font-size:11px;gap:4px}.header-actions .settings-top{width:44px;padding:0}.settings-label{display:none}.header-actions .ui-icon{width:17px;height:17px}
 .title{left:20px;right:20px;top:calc(82px + env(safe-area-inset-top))}.title h1{font-size:25px}.metrics{margin-top:22px}.home-weather{left:20px!important;right:20px!important;top:calc(207px + env(safe-area-inset-top))!important;width:auto;padding:4px 7px 4px 12px}.home-weather[data-collapsed=true]{left:20px!important;right:auto!important;top:calc(207px + env(safe-area-inset-top))!important}.weather-top small{font-size:10px}.weather-top b{font-size:12px}.home-weather #weather-temp{font-size:27px}.weather-top #weather-details-toggle{gap:10px}.weather-top i{color:#546b56}
 .main-dock{width:calc(100% - 28px);max-width:410px;bottom:calc(28px + env(safe-area-inset-bottom))}.main-dock button{min-height:60px;font-size:12px;gap:4px}.main-dock .ui-icon{width:24px;height:24px;min-height:24px}.main-dock #guided-start{gap:4px}
 .coverage-note{bottom:calc(108px + env(safe-area-inset-bottom));font-size:9px}.lookout-action b{font-size:15px}#resume-bar{bottom:calc(30px + env(safe-area-inset-bottom));padding:10px}#resume-position{font-size:10px}body[data-guided-away=true] .detail-card,body[data-guided-away=true] .explorer-sheet{bottom:calc(145px + env(safe-area-inset-bottom));max-height:calc(100dvh - 235px)}
 .journey-heading{grid-template-columns:minmax(0,1fr) 48px 44px}.journey-heading button{min-height:44px}.guided-row button{min-height:44px;padding:0 7px;font-size:11px}#guided-help{width:44px}.guided-row{min-height:44px}
}
@media(max-width:360px){header{left:16px;right:16px;flex-wrap:wrap}.brand{width:100%;justify-content:center}.header-actions{width:100%;justify-content:center}.title{top:calc(128px + env(safe-area-inset-top))}.title h1{font-size:23px}.home-weather,.home-weather[data-collapsed=true]{top:calc(250px + env(safe-area-inset-top))!important}.metrics{margin-top:16px}.metrics div>span{font-size:9px}}
@media(max-height:600px) and (min-width:701px){.home-weather{top:90px!important}.coverage-note{display:none}}
/* Stable geometry matters more than an entrance slide for a scrollable location card. */
.detail-card{animation:none}
body[data-guided-away=true] #local-views{bottom:calc(148px + env(safe-area-inset-bottom))}
body[data-lookout=true][data-guided-away=true] #local-views{top:calc(145px + env(safe-area-inset-top));bottom:auto;max-width:calc(100% - 28px)}
/* Daylight: retain contrast behind controls without tinting the whole landscape. */
body:before{background:linear-gradient(180deg,#12374526,transparent 18%),linear-gradient(0deg,#133c4652,transparent 20%)}
body[data-map-focus=true]:before,body[data-lookout=true]:before{background:linear-gradient(180deg,#12374518,transparent 14%),linear-gradient(0deg,#133c4630,transparent 16%)}
.title,.brand{ text-shadow:0 1px 5px #163f5966 }
@media(max-width:700px){
 .title{right:155px}.title h1{font-size:23px;letter-spacing:.025em;white-space:nowrap}.title .eyebrow{font-size:7px;letter-spacing:.13em;white-space:nowrap}.metrics{gap:16px;margin-top:20px}.metrics b{font-size:18px}.metrics div>span{white-space:nowrap}
 .home-weather,.home-weather[data-collapsed=true]{left:auto!important;right:20px!important;top:calc(107px + env(safe-area-inset-top))!important}
 .home-weather{width:122px;padding:6px 3px 6px 10px;border-radius:14px;background:#f2efdcf2}
 .weather-top{align-items:center;gap:0}.weather-top #weather-details-toggle{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:58px}.home-weather #weather-temp{font-size:27px;line-height:1.1}.weather-top b{font-size:10px}.weather-top i{margin-left:1px}.weather-top #weather-brief{display:none}.weather-top #weather-collapse{width:44px;min-width:44px;padding:0}
 #weather-details{position:absolute;right:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 40px));padding:14px;background:#f2efdc;border:1px solid #ffffff8a;border-radius:14px;box-shadow:0 5px 20px #183d4320}
 .home-weather[data-collapsed=true]{width:auto;padding:0}
}
@media(max-width:360px){.title{right:143px}.title h1{font-size:20px}.home-weather,.home-weather[data-collapsed=true]{top:calc(153px + env(safe-area-inset-top))!important;right:16px!important}.home-weather{width:115px}.metrics{gap:12px}}
/* One compact section switch, using the same entry in the route picker. */
.section-switch{display:flex;gap:4px;pointer-events:auto;margin:0 0 14px;width:max-content;padding:3px;border:1px solid #f2ecd25c;border-radius:24px;background:#173e46c9;text-shadow:none}
.section-switch a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:20px;color:#f0ecd5;font-size:12px;letter-spacing:.03em}
.section-switch a[aria-current=page]{background:#e9d499;color:#274c40;font-weight:600}.section-switch a:hover{filter:brightness(1.12)}
.title .section-switch{margin-bottom:12px}.title~.home-weather,.title~.home-weather[data-collapsed=true]{top:162px!important}
@media(max-width:700px){.title .section-switch{margin-bottom:10px}.section-switch a{min-height:38px;padding:0 12px;font-size:11px}.title~.home-weather,.title~.home-weather[data-collapsed=true]{top:calc(161px + env(safe-area-inset-top))!important}.title .eyebrow{letter-spacing:.08em}}
@media(max-width:360px){.title~.home-weather,.title~.home-weather[data-collapsed=true]{top:calc(207px + env(safe-area-inset-top))!important}}
/* Route explanation extends the existing journey sheet; no alternate page or renderer. */
.route-chapters{display:none;padding:8px 0 2px;border-top:1px solid #bfd1bc30}
#explorer-sheet[data-journey-expanded=true] .route-chapters{display:block}
.chapter-intro{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#f1e7bf;margin-bottom:8px}.chapter-intro span{font-size:10px;color:#b8cdbd}
.chapter-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 0 6px;scrollbar-width:thin}
.chapter-tabs button{flex:none;border:1px solid #c5d2b844;border-radius:7px;padding:8px 10px;min-height:44px;color:#e5e9d6;font-size:12px;background:#234a45}
.chapter-tabs button[aria-pressed=true]{background:#ebd395;color:#254a40;border-color:#ebd395}
.chapter-reading{padding:6px 0}.chapter-name{font-size:14px;color:#f1e7bf}.chapter-metrics{font-size:12px;font-variant-numeric:tabular-nums;color:#e6ce92;margin:4px 0}.chapter-description{font-size:12px;line-height:1.7;margin:4px 0;color:#d0ddcf}
.chapter-pause-option{display:flex;align-items:center;gap:6px;font-size:11px;color:#b8cdbd;min-height:32px}.chapter-pause-option input{width:16px;height:16px;accent-color:#ebd395}
.chapter-lesson{padding:10px 12px;margin:8px 0;background:#304f43;border:1px solid #e8d08a68;border-radius:9px}.chapter-lesson[hidden]{display:none}.chapter-lesson>div{display:flex;justify-content:space-between;align-items:center}.chapter-lesson strong{font-size:14px;color:#f2df9e}.chapter-lesson p{font-size:12px;line-height:1.7;color:#e0e5d2;margin:3px 0 8px}.chapter-lesson .lesson-skip{width:36px;min-height:36px;padding:0;color:#d1dbc7}.chapter-lesson .lesson-continue{width:100%;min-height:40px;color:#254a40;background:#ebd395;border-radius:7px;font-size:12px}
body:not([data-section='1']) .journey-heading{grid-template-columns:minmax(0,1fr) 82px 44px}body:not([data-section='1']) #journey-profile{font-size:12px;white-space:nowrap}
body:not([data-section='1'])[data-sheet-mode=journey] #profile-canvas{touch-action:none}
@media(max-width:700px){body:not([data-section='1'])[data-sheet-mode=journey] #explorer-sheet[data-journey-expanded=true]{max-height:min(64dvh,calc(100dvh - 180px));overflow-y:auto}.chapter-reading{padding:3px 0}.chapter-description{line-height:1.6}.chapter-tabs button{font-size:11px;padding:7px 9px}body:not([data-section='1'])[data-sheet-mode=journey] .profile-top{display:flex;padding:2px 0}body:not([data-section='1'])[data-sheet-mode=journey] #cursor-info{font-size:11px}body:not([data-section='1'])[data-sheet-mode=journey] #profile-toggle{display:none}body:not([data-section='1'])[data-sheet-mode=journey] #profile-canvas{height:64px}.chapter-lesson p{max-height:80px;overflow:auto}}
@media(min-width:701px){body:not([data-section='1'])[data-sheet-mode=journey] #explorer-sheet[data-journey-expanded=true]{left:auto;right:24px;transform:none;width:390px;max-height:calc(100dvh - 120px);bottom:30px}}
@media(max-width:700px){body:not([data-section='1'])[data-sheet-mode=journey] #explorer-sheet[data-journey-expanded=true]{max-height:56dvh}.chapter-intro{margin-bottom:4px}.chapter-reading{padding:0}.chapter-description{font-size:11px;margin-bottom:2px}.chapter-pause-option{min-height:28px}.chapter-name{font-size:13px}}

/* Route decisions: strengthen the existing guide without adding another panel. */
.chapter-focus{display:block;width:100%;min-height:36px;text-align:left;background:transparent;border:0;border-bottom:1px solid #ffffff24;border-radius:0;color:#f1d79c;font:inherit;font-size:12px;padding:7px 0;margin:2px 0 7px;cursor:pointer}.chapter-focus:hover{color:#fff0c9}.chapter-focus:focus-visible{outline:2px solid #e7cb89;outline-offset:2px}.chapter-onward{font-size:11px;line-height:1.65;color:#c6d7cf;margin:5px 0 8px}.chapter-onward::before{content:'之后 · ';color:#ead29a}.chapter-metrics{font-variant-numeric:tabular-nums}
@media(max-width:700px){.chapter-focus{min-height:36px;margin-bottom:5px}.chapter-onward{font-size:11px;line-height:1.55;margin:3px 0 5px}.chapter-description{margin-top:4px}}

.journey-reading{display:contents}
body:not([data-section='1'])[data-sheet-mode=journey] #explorer-sheet[data-journey-expanded=true]{height:min(680px,calc(100dvh - 120px));overflow:hidden}
body:not([data-section='1']) #explorer-sheet[data-journey-expanded=true] #journey-pane:not([hidden]){display:flex;flex-direction:column;height:100%;min-height:0}
#explorer-sheet[data-journey-expanded=true] .journey-reading{display:block;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#explorer-sheet[data-journey-expanded=true] .journey-heading,#explorer-sheet[data-journey-expanded=true] .tour,#explorer-sheet[data-journey-expanded=true] .guided-row{flex-shrink:0}
body:not([data-section='1'])[data-sheet-mode=journey] .profile-top{padding:5px 0}
@media(min-width:701px){body:not([data-section='1'])[data-sheet-mode=journey] #profile-canvas{height:110px}}
@media(max-width:700px){body:not([data-section='1'])[data-sheet-mode=journey] #explorer-sheet[data-journey-expanded=true]{height:56dvh}}

.chapter-lesson p{max-height:none;overflow:visible}
