/* Kham-only adaptation. The approved shared Plateau files are reused unchanged. */
#routemap.kham-map #journeyDays{grid-template-columns:repeat(7,minmax(0,1fr))}
#routemap.kham-map #journeyDays button{border-radius:0}
#routemap.kham-map .stop.visit:not(.on) .pt{fill:#f7f4ec;stroke:#30372c}
#routemap.kham-map .gwbody{grid-template-columns:minmax(0,1fr) 280px}
#routemap.kham-map .day-summary{margin-bottom:6px}
@media(min-width:1101px){#routemap.kham-map.big .gmap{height:calc(100vh - 310px);min-height:300px}}
/* No mobile layout refinements are included in this desktop preview. */

/* Essence-only desktop preview: shared files unchanged. */
#routemap.shangri-map #journeyDays{grid-template-columns:repeat(7,minmax(0,1fr))}
#routemap.shangri-map .key{line-height:1.8}
@media(min-width:1101px){
#routemap.shangri-map.big .gwbody{height:calc(100vh - 312px - var(--map-toolbar-extra,0px))}
#routemap.shangri-map.big .mapside{min-height:0!important}
#routemap.shangri-map.big .maps,#routemap.shangri-map.big .mview.on{min-height:0}
#routemap.shangri-map.big .gmap{flex:none!important;height:calc(100vh - 312px - var(--map-toolbar-extra,0px))!important;min-height:0!important}
#routemap.shangri-map.big .listside{height:100%;min-height:0;overflow-y:auto}
#routemap.shangri-map.big .journey-sequence{max-height:188px;overflow-y:auto;padding:12px 20px}
#routemap.shangri-map.big #journeyDays{padding:0}
#routemap.shangri-map.big .map-credit{margin:0;padding-top:8px;padding-bottom:8px}
}
.shangri-alt .av-header{display:flex;justify-content:space-between;align-items:center;gap:24px}
.shangri-alt .alt-expand{padding:9px 14px;background:#f7f4ec;border:1px solid #d7d1c2;color:#24291f;font:12px Inter,Arial,sans-serif;cursor:pointer}
.shangri-alt .av-grid{grid-template-columns:minmax(0,1fr) 300px;height:610px;min-height:0}
.shangri-alt:not(.big) .av-chart{align-self:stretch;display:flex;align-items:center;padding-top:0}
.shangri-alt .av-panel{padding:23px 20px;overflow-y:auto}
.shangri-alt .av-panel h4{font-size:23px;margin-bottom:16px}
.shangri-alt .av-stat{padding:12px 0}
.shangri-alt .av-stat span{display:block;margin:5px 0 0}
.shangri-alt .av-stat .source-status{font-size:11px;line-height:1.55;color:#777e6d;margin:8px 0 0}
.shangri-alt .av-stat strong.unknown{font-size:18px}
.shangri-alt .av-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:18px 0}
.shangri-alt .av-days button{padding:12px 8px}
.shangri-alt.big{position:fixed;inset:14px;z-index:2100;overflow:auto;background:#f7f4ec;border:1px solid #d7d1c2;box-shadow:0 0 0 100vmax #14140fb3;padding:0 20px 12px}
.shangri-alt.big .av-header{position:sticky;top:0;z-index:5;background:#f7f4ec;padding-top:8px;margin:0 0 10px}
.shangri-alt.big .av-header h3{font-size:25px;margin-bottom:4px}
.shangri-alt.big .av-header p{margin:0}
.shangri-alt.big .av-grid{min-height:440px}
.shangri-alt.big .av-days{padding:12px 0;gap:6px}
.shangri-alt.big .av-note{margin:0}
.shangri-alt .alt-expand:focus-visible{outline:2px solid #e4601c;outline-offset:3px}
.shangri-alt.big .av-grid{height:calc(100vh - 320px);min-height:0}
.shangri-alt.big .av-panel{overflow-y:auto}
.shangri-alt.big .av-chart{padding-top:0}
.shangri-alt.big .av-chart svg{max-height:calc(100vh - 320px)}

/* Version02: actual OSM main-road context below the approved tour overlay. */
#routemap.shangri-map .highway-network{fill:none;stroke:#9b8d73;stroke-width:calc(var(--u)*.9px);stroke-linejoin:round;stroke-linecap:round;opacity:.70;pointer-events:none}
#routemap.shangri-map .highway-network .core{stroke-width:calc(var(--u)*1.15px)}
#routemap.shangri-map .highway-badges{pointer-events:none}
#routemap.shangri-map .highway-badge rect{x:calc(var(--u)*-22px);y:calc(var(--u)*-9px);width:calc(var(--u)*44px);height:calc(var(--u)*18px);rx:calc(var(--u)*3px);fill:#f7f4ec;fill-opacity:.96;stroke:#b5ab94;stroke-width:calc(var(--u)*.75px)}
#routemap.shangri-map .highway-badge text{font:600 10px Inter,Arial,sans-serif;font-size:calc(var(--u)*10px);fill:#756f5d;letter-spacing:calc(var(--u)*.35px)}
#routemap.shangri-map .highway-key{display:inline-block;width:22px;border-top:1px solid #9b8d73;vertical-align:middle;margin-right:5px}
#routemap.shangri-map .map-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Route-specific flight context: city-to-city schematic, never a road/terrain track. */
#routemap.shangri-map .flight-link{fill:none;stroke:#7b8276;stroke-width:2.5;stroke-dasharray:3 8;opacity:.65;pointer-events:none}
#routemap.shangri-map .flight-link.active{stroke:#e4601c;stroke-width:4;opacity:1}
#routemap.shangri-map .flight-caption{font:19px Inter,Arial,sans-serif;fill:#7b8276;paint-order:stroke;stroke:#e8e1cf;stroke-width:5}
.fact-note{font:11px/1.5 Inter,Arial,sans-serif;margin:8px 0 0;color:#747768;max-width:215px}

/* Expanded desktop captions retain the normal 11.2px screen-size benchmark.
   Only caption size/halo change; route lines, markers and shared files stay intact. */
@media(min-width:1101px){
#routemap.shangri-map.big .stop .nm{font-size:calc(var(--u)*11.2px);stroke-width:calc(var(--u)*3.4px)}
}

/* Bounded desktop navigation pilot. Existing palette and screen-size captions retained. */
.shangri-map .map-navigation,.shangri-map .map-navigation-hint{display:none}
@media(min-width:1101px){
#routemap.shangri-map .gwhead{gap:12px;align-items:flex-start}
#routemap.shangri-map .gwhead .tabs{margin-right:auto}
#routemap.shangri-map .map-navigation{display:grid;gap:6px;justify-items:end;min-width:332px}
#routemap.shangri-map .map-navigation-buttons{display:flex;align-items:center;gap:4px}
#routemap.shangri-map .map-navigation button{font:500 13px/1 Inter,Arial,sans-serif;color:#252820;background:#f7f4ec;border:1px solid #d5d0c1;min-height:36px;padding:0 11px;cursor:pointer}
#routemap.shangri-map .map-navigation [data-camera=in],#routemap.shangri-map .map-navigation [data-camera=out]{font-size:21px;min-width:36px;padding:0}
#routemap.shangri-map .map-navigation output{font:500 13px Inter,Arial,sans-serif;min-width:34px;text-align:center;color:#666958}
#routemap.shangri-map .map-navigation button:disabled{opacity:1;color:#95998b;background:#eeebe1;border-color:#ddd8ca;cursor:default}
#routemap.shangri-map .map-navigation button:focus-visible,#routemap.shangri-map .gmap:focus-visible{outline:2px solid #e4601c;outline-offset:-3px}
#routemap.shangri-map .mapside{position:relative}
#routemap.shangri-map .map-navigation-hint{display:block;margin:0;padding:0;min-height:19px;font:400 13px/1.4 Inter,Arial,sans-serif;color:#40463a;background:transparent;white-space:nowrap;text-align:right;pointer-events:none}
#routemap.shangri-map .map-navigation-hint.emphasis{color:#252820;font-weight:600}
#routemap.shangri-map .gmap{cursor:grab;user-select:none;--s:1}
#routemap.shangri-map .gmap.is-dragging,#routemap.shangri-map .gmap.is-dragging .stop{cursor:grabbing}
#routemap.shangri-map .stop{pointer-events:visiblePainted}
#routemap.shangri-map .stop .hit{r:calc(var(--u)*16px)}
#routemap.shangri-map .progress-dot{r:calc(var(--u)*4px);stroke-width:calc(var(--u)*1px)}
#routemap.shangri-map .flight-caption{font-size:calc(var(--u)*9.7px)}
#routemap.shangri-map .flight-link{stroke-width:calc(var(--u)*1.5px);stroke-dasharray:calc(var(--u)*2px) calc(var(--u)*6px)}
}
