#primary-reading-surface[hidden]{display:none!important}
#primary-reading-surface .primary-reading-body>[hidden]{display:none!important}
#primary-reading-surface{position:absolute;inset:12px 12px 64px auto;width:min(360px,40%);z-index:15;display:flex;flex-direction:column;pointer-events:auto;background:#fffdfa;color:#17372f;border:1px solid #dce5dc;border-radius:16px;box-shadow:0 8px 32px #17372f26;overflow:hidden}
/* 追鯨 / 追花 / 採果 的選擇頁只要包住選項，不要拉到月份拉桿上。 */
#primary-reading-surface[data-reading-kind="topic-picker"]{bottom:auto;height:auto;max-height:calc(100% - 210px)}
.primary-reading-tools{display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid #dce5dc;background:#fffdfa;flex:none}
.primary-reading-tools button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #dce5dc;border-radius:10px;background:#edf1eb;color:#17372f;font:inherit}
.primary-reading-tools .primary-reading-fullscreen{margin-left:auto;display:grid;place-items:center;padding:8px}
.primary-reading-fullscreen svg{width:18px;height:18px;display:block}
.primary-reading-tools .primary-reading-minimize{display:grid;place-items:center;padding:8px}
.primary-reading-minimize svg,.primary-reading-reopen svg{width:18px;height:18px;display:block}
.primary-reading-reopen{position:absolute;right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:18;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #dce5dc;border-radius:10px;background:#fffdfa;color:#17372f;box-shadow:0 4px 16px #17372f26;cursor:pointer;pointer-events:auto;touch-action:manipulation}
.primary-reading-reopen[hidden]{display:none!important}
.primary-reading-reopen:hover{background:#edf1eb}
.primary-reading-reopen:focus-visible,.primary-reading-minimize:focus-visible{outline:2px solid #23745a;outline-offset:2px}
.primary-reading-tools .map-overlay-drag-handle{position:static;flex:none;width:24px;min-width:24px;min-height:36px;height:36px;margin:0;padding:0;border:0;background:transparent;cursor:grab;touch-action:none}
.primary-reading-tools .map-overlay-drag-handle svg{width:12px;height:18px}
.map-cluster-menu.map-overlay-movable .map-cluster-menu-head{cursor:grab;touch-action:none}
.map-cluster-menu.is-dragging{cursor:grabbing;user-select:none}
#primary-reading-surface.map-overlay-movable{cursor:grab}
#primary-reading-surface.is-dragging{cursor:grabbing;user-select:none}
#primary-reading-surface>.map-overlay-resize-handle{position:absolute;right:2px;bottom:2px;display:block}
.primary-reading-fullscreen .icon-exit,.primary-reading-fullscreen[aria-pressed="true"] .icon-enter{display:none}
.primary-reading-fullscreen[aria-pressed="true"] .icon-exit{display:block}
.primary-reading-tools button:last-child{font-size:24px}
.primary-reading-tools button:nth-child(2){display:none}
.primary-reading-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.primary-journey-actions{display:none}
.primary-journey-actions[hidden]{display:none!important}
.primary-reading-body>[data-primary-reading]{position:static!important;inset:auto!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;transform:none!important;filter:none!important;backdrop-filter:none!important;margin:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;overflow:visible!important;pointer-events:auto!important}
.primary-reading-body iframe{pointer-events:auto}
.primary-reading-body .map-topic-copy{overflow:visible;max-height:none}
.primary-reading-body .map-overlay-drag-handle,.primary-reading-body .map-overlay-resize-handle,.primary-reading-body .map-float-close,.primary-reading-body .map-wildlife-close,.primary-reading-body .mobile-reading-tools,.primary-reading-body .mobile-selector-toggle{display:none!important}
.primary-reading-body .map-float-grip{cursor:auto;touch-action:pan-y}
.primary-reading-body>.map-float{
  position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;
  width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;min-width:0!important;
  display:flex!important;flex-direction:column!important;gap:8px;padding:0 0 12px;
  background:#14241f!important;color:#f6f3ec!important;overflow:visible!important;
}
.primary-reading-body .map-float-media:not([hidden]){
  display:block!important;position:relative;flex:none;width:100%;max-height:none!important;overflow:hidden;border-radius:0;background:#1c3a32;
}
/* Wheel over a photo belongs to the reading page. A photo frame is a scroll
   container (overflow hidden) with nothing to scroll; overscroll containment
   there swallowed the wheel instead of chaining to .primary-reading-body. */
.primary-reading-body .map-float-media,.primary-reading-body .map-float-photo,.primary-reading-body .map-wildlife-photo{overscroll-behavior:auto!important}
.primary-reading-body .map-float-media iframe:not([hidden]),
.primary-reading-body .map-float-player .live-player-media{
  display:block!important;width:100%!important;height:min(42vh,320px)!important;max-height:min(46vh,360px)!important;
  object-fit:cover!important;aspect-ratio:16/9;border:0;background:#000;
}
/* Still photographs keep their entire composition, including portrait subjects
   and panoramas. Cap tall images for reading; contain adds space rather than
   cropping. This applies to original JPGs and Manifest derivatives alike.
   Video players retain their existing frame above. */
.primary-reading-body .map-float-media img.map-float-photo:not([hidden]){
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:min(60vh,440px)!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}
.primary-reading-body .map-float-head{position:static;background:transparent;padding:10px 12px 0}
.primary-reading-body .map-float-summary,
.primary-reading-body .map-float-status,
.primary-reading-body .map-float-hint,
.primary-reading-body .map-float-credit{padding:0 12px}
.primary-reading-body .map-float .map-overlay-resize-handle,.primary-reading-body .map-float .map-overlay-drag-handle,.primary-reading-body .map-float .map-float-close{display:none!important}
.primary-reading-body button,.primary-reading-body a{min-height:44px}
.primary-reading-body .map-topic-selector{display:block!important;padding:16px}
.primary-reading-body .map-topic-options{max-height:none!important}
.primary-reading-body .state-explorer{padding:16px}
.map-float-host.is-stacked:has(#primary-reading-surface){inset:0!important;width:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important}
.map-route-legend,.map-crossing-legend{max-width:min(520px,calc(100% - 16px))!important;max-height:none!important;overflow:visible!important}
.journey-thread{max-height:60px;overflow:auto}
.journey-thread:has(details[open]){max-height:130px}
@media(max-width:760px){
 /* Map, then the tool row under it, then the place sheet. The sheet is tall
    enough to show the photo or film the way the Busselton window does. */
 .map-explore > .map-wrap{order:0;flex:1 1 auto;min-height:200px;height:auto!important}
 .map-explore > .map-dock{order:1;flex:0 0 auto;position:relative;z-index:4;overflow:visible}
 .map-explore > #primary-reading-surface{order:2}
 #primary-reading-surface{position:relative;inset:auto;width:auto;height:auto;max-height:min(62dvh,560px);min-height:280px;margin:0 8px 8px;flex:0 1 auto;z-index:5;border-radius:20px}
 #primary-reading-surface{inset:auto!important;width:auto!important;height:auto!important;max-width:none!important;max-height:min(62dvh,560px)!important;cursor:auto!important}
 #primary-reading-surface>.map-overlay-resize-handle,.primary-reading-tools .map-overlay-drag-handle{display:none!important}
 #primary-reading-surface[data-reading-kind="topic-picker"]{min-height:0;max-height:none}
 /* The introduction and the map share the available height equally, including
    CSS/native fullscreen. The menu returns when the introduction is closed. */
 .map-explore:has(>#primary-reading-surface:not([hidden]))>.map-dock,
 .map-explore:has(>#primary-reading-surface:not([hidden]))>.map-folded-windows,
 .map-explore:has(>#primary-reading-surface:not([hidden]))>.journey-thread{display:none!important}
 .map-explore:has(>#primary-reading-surface:not([hidden]))>.map-wrap{flex:0 0 50%;height:50%!important;min-height:0;margin:0;box-sizing:border-box}
 .map-explore:has(>#primary-reading-surface:not([hidden]))>#primary-reading-surface{flex:0 0 50%;height:50%!important;max-height:50%!important;min-height:0;margin:0;width:100%!important;box-sizing:border-box}
 .map-explore:has(>#primary-reading-surface:not([hidden])) :is(.map-help,.map-wildlife-key,.map-harvest-map-key,.map-route-legend,.map-crossing-legend,.map-seasonal-scrubber){display:none!important}
 /* Keep the half-sheet flex slot while full uses a fixed overlay, or map-explore
    collapses (absolute/fixed child leaves the flow) and the sheet jumps mid-page. */
 .primary-reading-spacer{display:none;flex:0 0 50%;height:50%;min-height:0;width:100%;pointer-events:none;visibility:hidden}
 .map-explore:has(>#primary-reading-surface[data-reading-size=full]:not([hidden]))>.primary-reading-spacer{display:block;order:2}
 /* 100vh is the fallback only. In iOS Safari 100vh is the viewport with the
    toolbar hidden, so a 100vh sheet runs under the bottom toolbar and its last
    buttons can never scroll into view. 100dvh is the visible area. */
 .map-explore:has(>#primary-reading-surface:not([hidden]))>#primary-reading-surface[data-reading-size=full]{
   position:fixed!important;inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
   width:100%!important;height:100vh!important;height:100dvh!important;max-height:none!important;min-height:0!important;
   margin:0!important;flex:none!important;z-index:120!important;border-radius:0!important;box-sizing:border-box;
   border:0!important;box-shadow:none!important;background:#fffdfa;
 }
 .map-explore:has(>#primary-reading-surface[data-reading-size=full]:not([hidden]))>#primary-reading-surface[data-reading-size=full] .primary-reading-tools{
   position:sticky;top:0;z-index:2;padding-top:max(8px, env(safe-area-inset-top, 0px));
 }
 .map-explore:has(>#primary-reading-surface[data-reading-size=full]:not([hidden]))>#primary-reading-surface[data-reading-size=full] .primary-reading-body{
   flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
   padding-bottom:max(16px, env(safe-area-inset-bottom, 0px));
 }
 .primary-journey-actions:not([hidden]){display:block;flex:none;padding:6px 8px;border-bottom:1px solid #dce5dc;background:#fffdfa}
 .primary-journey-actions .journey-panel-actions{display:flex;flex-wrap:nowrap;gap:6px;margin:0;min-width:0}
 .primary-journey-actions :is(.story-route-previous,.story-route-onward,.story-route-stops){display:block;flex:1 1 0;width:0;min-width:0;max-width:100%;min-height:44px;padding:8px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .primary-reading-tools button:nth-child(2){display:block}
 .primary-reading-body{font-size:16px;line-height:1.65;touch-action:pan-y}
 .primary-reading-body .map-wildlife-copy{font-size:16px;line-height:1.7}
 .primary-reading-body>.map-float{position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;width:100%!important;height:auto!important}
 .primary-reading-body .map-float .map-overlay-resize-handle{display:none!important}
 .primary-reading-body .map-float .map-float-grip{cursor:auto;touch-action:pan-y}
 .primary-reading-body .map-wildlife-photo img,.primary-reading-body .map-wildlife-film{width:100%!important;height:min(42vh,280px)!important;object-fit:cover!important}
 .primary-reading-body .map-topic-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}
 .primary-reading-body .map-topic-options .map-topic-option{align-items:flex-start;gap:8px;width:100%;max-width:100%;min-width:0;height:auto;overflow:visible;white-space:normal;box-sizing:border-box}
 .primary-reading-body .topic-option-copy{flex:1 1 0;min-width:0;max-width:100%;overflow:visible}.primary-reading-body .topic-option-copy b{display:block;min-width:0;max-width:100%;overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:anywhere;line-height:1.35}
 .map-dock .map-layer-front,.map-dock .exploration-intents{flex-wrap:wrap}
 .map-dock .exploration-intents{flex:1 1 100%;gap:6px}
 .map-dock .exploration-intents>button{flex:1 1 auto;min-width:4.5em;padding:6px 8px;white-space:nowrap}
 .map-dock .exploration-intents>button[data-exploration-intent=journey]{flex:1 1 auto;min-width:4.5em}
 .map-explore:has(#primary-reading-surface:not([hidden])) #map-layers{position:relative!important;inset:auto!important;z-index:auto}
 /* Downward, over the map only. z-index stays under the sheet (5). */
 .has-intent-menu #map-layer-chapters.is-open{top:calc(100% + 8px)!important;bottom:auto!important;left:0!important;right:0!important;z-index:4!important;max-height:min(48dvh,400px)!important}
 /* Without a reading sheet, the dock sits below the map. Open into the map so
    the choices remain visible instead of being clipped by the next section. */
 .map-explore:not(:has(#primary-reading-surface:not([hidden]))) .has-intent-menu #map-layer-chapters.is-open{top:auto!important;bottom:calc(100% + 8px)!important;max-height:min(70dvh,640px)!important}
 .map-explore:has(#primary-reading-surface:not([hidden])) .has-intent-menu #map-layer-chapters.is-open{position:absolute!important;inset:calc(100% + 8px) 0 auto 0!important;max-height:min(30dvh,240px)!important}
 .map-explore:has(.map-seasonal-scrubber:not([hidden])):has(#primary-reading-surface:not([hidden])) .has-intent-menu #map-layer-chapters.is-open{max-height:min(24dvh,200px)!important}
 .has-primary-reading .map-wildlife-key,.has-primary-reading .map-harvest-map-key{position:absolute!important;inset:auto 8px 8px 8px!important;width:auto!important;max-width:none!important;max-height:54px;overflow:auto;z-index:7!important}
 body:has(#primary-reading-surface[data-reading-size=full]:not([hidden])) .map-wildlife-key,body:has(#primary-reading-surface[data-reading-size=full]:not([hidden])) .map-harvest-map-key{display:none!important}
}

/* A topic card is compact while it floats over the map, but once it is moved
   into the shared reading surface the photo is editorial content. Cancel the
   later topic-design 180/280px cap here without changing the compact card. */
#primary-reading-surface .primary-reading-body .map-topic-panel .map-wildlife-photo>img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}

/* Preserve the full Hunter Valley panorama rather than enlarging a narrow
   centre crop to the standard photo height. */
#primary-reading-surface .map-float-photo[src$="/nsw-pokolbin.jpg"]{
  height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;
}

@media(max-width:760px){#map-float-host:has(#primary-reading-surface:not([hidden])){z-index:80!important}}
@media(min-width:761px){.is-map-fullscreen #primary-reading-surface{top:64px}}
.primary-reading-body [data-primary-close]{display:none!important}.primary-reading-body .state-explorer ul{grid-template-columns:1fr}.primary-reading-body .state-explorer [data-cross-back]{display:none!important}

/* Phone reading overlay: lock the page under a fixed sheet (not map CSS fullscreen). */
html.is-reading-fullscreen{overflow:hidden!important}
body.is-reading-scroll-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden}
html.is-reading-fullscreen .nav{z-index:110}
/* Folded readers share the bottom dock; the list opens upward like nearby. */
.map-dock{position:relative}
.map-folded-windows{position:relative;flex:none;pointer-events:auto;z-index:25;color:#17372f}
.map-folded-windows[hidden]{display:none!important}
/* Reserve the toolbar slot. The control stays in map coordinates outside
   the dock so hiding the toolbar cannot hide or inert folded readers. */
.map-folded-anchor{display:inline-block;flex:0 0 44px;width:44px;height:40px;pointer-events:none}
.map-folded-anchor[hidden]{display:none!important}
.map-explore>.map-folded-windows,body>.map-folded-windows{position:absolute;z-index:120;inset:auto;display:inline-block;width:44px;max-width:44px}
.map-explore>.map-folded-windows>.map-cluster-options,body>.map-folded-windows>.map-cluster-options{left:0;right:auto}

.map-folded-windows>summary{position:relative;box-sizing:border-box;list-style:none;cursor:pointer;width:44px;height:40px;min-height:40px;display:grid;place-items:center;border:0;border-radius:10px;background:#edf1eb;color:#174f42;box-shadow:none;touch-action:manipulation;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}
.map-fold-icon{display:block;width:18px;height:18px;flex:none}
.map-folded-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;box-sizing:border-box;min-width:18px;height:18px;padding:0 3px;border:2px solid #fffdfa;border-radius:999px;background:#174f42;color:#fffdfa;font-size:9px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}
.map-folded-windows>summary:hover{background:#edf1eb;border-color:#99b2a4;box-shadow:0 2px 6px #17372f12}
.map-folded-windows[open]>summary{background:#174f42;color:#fffdfa;border-color:#174f42}
.map-folded-windows>summary:focus-visible,.map-float-minimize:focus-visible{outline:2px solid #23745a;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.map-folded-windows>summary{transition:none}}
.map-folded-windows>summary::-webkit-details-marker{display:none}
.map-folded-windows>.map-cluster-options{position:absolute;bottom:calc(100% + 8px);right:0;width:min(330px,calc(100vw - 32px));max-height:min(50vh,420px);overflow:auto;border:1px solid #dce5dc;border-radius:14px;background:#fffdfa;box-shadow:0 8px 32px #17372f26;padding:6px}
.map-folded-windows:not([open])>.map-cluster-options{display:none}
.map-folded-windows .map-cluster-option{display:flex;align-items:center;gap:10px;width:100%;min-height:58px;border:0;border-radius:10px;background:transparent;color:inherit;padding:7px;text-align:left;cursor:pointer}
.map-folded-windows .map-cluster-option:hover{background:#edf1eb}
.map-folded-windows img{width:64px;height:44px;object-fit:cover;border-radius:7px;flex:none}
.map-float[hidden],.folded-reader-storage[hidden]{display:none!important}
.primary-reading-body .map-float-minimize,.primary-reading-body .map-float-fullscreen{display:none!important}
/* Keep film frames at their native ratio in the shared phone reader. */
#primary-reading-surface .map-float-media iframe:not([hidden]),#primary-reading-surface .map-float-player .live-player-media{height:auto!important;max-height:none!important;min-height:0!important;aspect-ratio:16/9}
#primary-reading-surface .map-float-player .live-player-media iframe{position:absolute;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto}
@media(min-width:761px){
 .map-float{box-sizing:border-box;height:min(480px,calc(100% - 16px));container:place-window / size;min-width:0;min-height:0}
 .map-float-head{flex:none;display:flex;gap:6px;align-items:center}
 .map-float-head .map-float-grip{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .map-float-head :is(.map-float-fullscreen,.map-float-minimize){flex:none;border:0;border-radius:8px;background:#edf1eb;color:#17372f;min-width:32px;min-height:32px;cursor:pointer}
 .map-float>.map-overlay-resize-handle{position:absolute;right:2px;bottom:2px;z-index:5}
 .map-float-media{flex:none;max-height:none!important;min-height:0;overflow:hidden}
 .map-float-media iframe{height:auto!important;max-height:none!important;min-height:0!important;aspect-ratio:16/9}
 .map-float-player .live-player-media{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9}
 .map-float-player .live-player-media iframe{position:absolute;inset:0;width:100%;height:100%!important;aspect-ratio:auto}
 .map-float[data-live-playing]>.map-float-media{flex:1 0 auto;min-height:100px;display:flex;flex-direction:column}
 .map-float[data-live-playing] .map-float-player{flex:1 0 auto;min-height:0;display:flex;flex-direction:column}
 .map-float[data-live-playing] .live-player{flex:1 0 auto;min-height:0;display:flex;flex-direction:column}
 /* Never squash a playing LIVE below 16:9: YouTube will not play or offer fullscreen in a strip. */
 .map-float[data-live-playing] .live-player-media{flex:1 0 auto;min-height:0;aspect-ratio:16/9}
 .map-float[data-live-playing]>.map-float-media .map-float-credit{flex:none}
 @container place-window (max-height:320px){
  .map-float[data-live-playing]>:is(.map-float-beats,.map-float-live,.map-float-summary,.map-float-status,.map-float-hint,.map-float-day-plan,.map-float-explore,.map-float-harvest,.map-float-source),.map-float[data-live-playing] :is(.map-float-credit,.live-player-meta){display:none!important}
 }
}
@media(min-width:761px){
 @container place-window (max-height:320px){
  .map-float[data-live-playing]>:not(.map-float-head):not(.map-float-media):not(.map-overlay-resize-handle):not(.map-overlay-resize-edge){display:none!important}
  .map-float[data-live-playing]>.map-float-media{min-height:0}
  .map-float[data-live-playing] :is(.map-float-media,.map-float-player,.live-player,.live-player-media){flex-shrink:1}
 }
}
.map-dock:has(.map-folded-windows[open]){z-index:30!important}

/* Keep normal and fullscreen docks at the same compact, border-box size. */
@media(min-width:761px){
 .map-explore>.map-dock{box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:rgba(255,253,250,.98);border-top:1px solid rgba(20,35,29,.08)}
 .map-explore>.map-dock .map-layers{display:flex;flex:1 1 auto;align-items:center;gap:8px;min-width:0;margin:0;padding:0;background:transparent;border:0}
 .map-explore>.map-dock .map-layer-front{align-items:center;gap:6px}
 .map-explore>.map-dock .map-layer-front>button,.map-explore>.map-dock .map-folded-windows>summary{box-sizing:border-box;height:40px;min-height:40px;padding:6px 12px;line-height:1.2}
 .map-explore>.map-dock .map-layer-front>.map-fullscreen-toggle{width:40px;min-width:40px;padding:0}
 .map-explore>.map-dock .map-folded-windows>summary{padding:0}
 .map-explore>.map-dock .exploration-intents{align-items:stretch;gap:6px;min-width:0;max-width:1000px}
 .map-explore>.map-dock .exploration-intents>button[data-exploration-intent]{box-sizing:border-box;flex:1 1 0;min-width:0;min-height:64px;height:64px;padding:8px 12px;font-size:15px;line-height:1.25;gap:3px}
 .map-explore>.map-dock .exploration-intents>button small{max-width:100%;font-size:11px;line-height:1.35}
 .map-explore>.map-dock .exploration-entry-teaser{display:none}
 .map-explore>.map-dock .exploration-journey-split{box-sizing:border-box;flex:0 0 92px;height:64px}
 .map-explore>.map-dock .exploration-journey-split>button{box-sizing:border-box;flex:1 1 0;min-height:0;padding:4px 8px;font-size:13px;line-height:1.2}
 .map-explore>.map-dock .exploration-journey-split>.journey-story-continue{font-size:12px}
 .map-explore>.map-dock .map-controls{order:2;position:static;inset:auto;flex:0 0 auto;width:auto;max-width:none;margin:0;padding:0;gap:6px;flex-wrap:nowrap;background:transparent;box-shadow:none;backdrop-filter:none}
 .map-explore>.map-dock .map-controls button{box-sizing:border-box;width:40px;min-width:40px;height:40px;font-size:18px}
 .map-explore>.journey-thread :is(button,summary){box-sizing:border-box;min-height:32px;padding:5px 9px;line-height:1.25}
}
@media(min-width:761px) and (max-width:1100px){
 .map-explore>.map-dock .map-layer-front{flex:1 1 100%}
 .map-explore>.map-dock .exploration-intents{flex:1 1 100%}
}
.map-folded-windows{display:inline-block;width:44px;max-width:44px}
.map-folded-windows .map-cluster-option-thumb{width:64px;height:44px;flex:0 0 64px}

/* Match the neighbouring circular close control on dark Place windows. */
.map-float-head .map-float-minimize{display:grid;place-items:center;box-sizing:border-box;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#14231d;cursor:pointer}
@media(min-width:761px){.map-float-head .map-float-minimize{border-radius:50%;background:rgba(255,255,255,.92);color:#14231d}}
.map-float-head .map-float-minimize:hover{background:#fffdfa}

/* Match the original right-side reader; independent windows remain resizable. */
@media (min-width:761px){.map-float{box-sizing:border-box;width:min(408px,42%);min-width:220px}}
.map-cluster-filters{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px;color:var(--ink,#174f44);font-size:12px}
.map-cluster-filters[hidden],.map-cluster-option[hidden]{display:none!important}
.map-cluster-filters input,.map-cluster-filters select{box-sizing:border-box;min-width:0;max-width:100%;border:1px solid #d7ded8;border-radius:8px;background:#faf9f4;color:inherit;padding:7px;font:inherit}
.map-cluster-filters input{flex:1 1 130px}.map-cluster-filters select{flex:1 1 100px}
.map-cluster-list-note,.map-cluster-list-count{width:100%;margin:0;line-height:1.5}

/* Place frames resize directly at their edges; retain keyboard access without a cut-corner icon. */
.map-float>.map-overlay-resize-handle{position:absolute;width:1px!important;height:1px!important;padding:0!important;border:0!important;clip-path:inset(50%);opacity:0;pointer-events:none}
.map-float>.map-overlay-resize-handle::before,.map-float>.map-overlay-resize-handle::after{content:none!important}
.map-float:has(>.map-overlay-resize-handle:focus-visible){outline:2px solid #b8956c;outline-offset:-3px}
.map-float,.map-float-media{scrollbar-width:thin;scrollbar-color:#9aada344 transparent}
.map-float::-webkit-scrollbar,.map-float-media::-webkit-scrollbar{width:6px;height:6px}
.map-float::-webkit-scrollbar-track,.map-float-media::-webkit-scrollbar-track{background:transparent}
.map-float::-webkit-scrollbar-thumb,.map-float-media::-webkit-scrollbar-thumb{background:#9aada344;border-radius:8px}
.map-float::-webkit-scrollbar-button,.map-float-media::-webkit-scrollbar-button{display:none;width:0;height:0}
.map-float:hover,.map-float-media:hover{scrollbar-color:#9aada377 transparent}

@media(min-width:761px){.map-wrap:has(.map-float:not([hidden])) .map-arrival{right:auto;width:fit-content;max-width:calc(100% - min(408px,42%) - 36px)}}

/* Footprints stay in chronological order; only overflow needs a disclosure. */
@media(min-width:761px){
 .map-explore>.journey-thread{overflow:visible;max-height:none;min-width:0;align-items:center}
 .map-explore>.journey-thread .journey-inline-context{display:none}
 .journey-footprints{display:flex;flex:1 1 0;align-items:center;gap:6px;min-width:0;position:relative}
 .journey-footprint-label{flex:none;font-size:11px;color:#527368;margin-right:2px}
 .journey-footprint-buttons{display:flex;flex:1 1 0;align-items:center;gap:6px;min-width:0;padding:0;margin:0;list-style:none;overflow:hidden}
 .journey-footprint-buttons>li{flex:none;max-width:200px;min-width:0}
 .map-explore>.journey-thread .journey-footprint-button{display:flex;align-items:center;gap:6px;max-width:200px;min-height:32px;padding:5px 9px;border:1px solid #dce5dc;border-radius:8px;background:#f2f5ef;color:#17372f;font-size:11px;font-weight:600;text-align:left}
 .journey-footprint-index{flex:none;opacity:.72}.journey-footprint-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .map-explore>.journey-thread .journey-footprint-button[aria-current=step]{background:#174f44;border-color:#174f44;color:#fffdfa}
 .map-explore>.journey-thread .journey-footprints .journey-trail{flex:none;margin:0}
 .map-explore>.journey-thread .journey-footprints .journey-trail[hidden]{display:none}
 .map-explore>.journey-thread .journey-footprints .journey-trail-list{position:absolute;left:0;bottom:calc(100% + 8px);width:min(350px,calc(100vw - 48px));max-width:none;max-height:min(42vh,320px);overflow:auto;box-sizing:border-box;margin:0;padding:8px;box-shadow:0 10px 24px #17372f22;z-index:20}
 .map-explore>.journey-thread .journey-trail-list .journey-footprint-button{max-width:none;width:100%}
}
@media(max-width:760px){.journey-footprints{display:none!important}}

@media(min-width:761px){.map-explore>.journey-thread .journey-footprints :is(button,summary){box-sizing:border-box;min-height:24px;height:24px;padding:3px 7px;border-radius:6px;font-size:11px;line-height:1.2}}

@media(max-width:760px){.map-explore>.journey-thread:not(:has(.journey-route-ribbon:not([hidden]))){display:none!important}}

/* Keep picker controls fixed while its list uses the adjustable remaining height. */
.map-cluster-menu{display:flex;flex-direction:column;overflow:hidden}
.map-cluster-menu[hidden]{display:none!important}
.map-cluster-menu>.map-cluster-menu-head,.map-cluster-menu>.map-cluster-filters{flex:none}
.map-cluster-menu>.map-cluster-options{flex:1 1 auto;min-height:0;align-content:start;grid-auto-rows:max-content;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin}
.map-cluster-menu>.map-picker-height-edge{position:absolute;left:12px;right:12px;height:7px;z-index:8;cursor:ns-resize;touch-action:none}
.map-cluster-menu>.map-picker-height-edge.is-top{top:0}.map-cluster-menu>.map-picker-height-edge.is-bottom{bottom:0}
.map-cluster-menu>.map-picker-height-handle{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);opacity:0;pointer-events:none}
.map-cluster-menu:has(>.map-picker-height-handle:focus-visible){outline:2px solid #23745a;outline-offset:-3px}

/* Invisible resize hit strips stay at the perimeter, keeping readers and
   controls unobstructed visually while preserving pointer resize cursors. */
.map-overlay-resize-edge{position:absolute;z-index:10;display:block;touch-action:none;user-select:none;background:transparent!important}
.map-overlay-resize-edge:hover,.map-overlay-resize-edge:active,.map-overlay-resize-edge:focus,.is-resizing>.map-overlay-resize-edge{background:transparent!important;box-shadow:none!important}
.resize-n,.resize-s{left:22px;right:22px;height:12px;cursor:ns-resize}
.resize-n{top:0}.resize-s{bottom:0}
.resize-w,.resize-e{top:22px;bottom:22px;width:12px;cursor:ew-resize}
.resize-w{left:0}.resize-e{right:0}
.resize-nw,.resize-ne,.resize-sw,.resize-se{width:22px;height:22px}
.resize-nw,.resize-ne{top:0}.resize-sw,.resize-se{bottom:0}
.resize-nw,.resize-sw{left:0}.resize-ne,.resize-se{right:0}
.resize-nw,.resize-se{cursor:nwse-resize}.resize-ne,.resize-sw{cursor:nesw-resize}
.primary-reading-body .map-overlay-resize-edge,.is-stacked .map-overlay-resize-edge{display:none!important}
@media(pointer:coarse){.resize-n,.resize-s{height:18px}.resize-w,.resize-e{width:18px}}
@media(max-width:760px){:not(.map-overlay-mobile-resize)>.map-overlay-resize-edge{display:none!important}}

/* #695: one compact row; names scroll rather than lose their ending. */
.map-float-head{gap:2px;align-items:center;flex-wrap:nowrap}
.map-float-head .map-float-grip{flex:1;min-width:0;white-space:nowrap;overflow-x:auto;overflow-y:hidden;text-overflow:clip;scrollbar-width:none;touch-action:pan-x;cursor:grab;user-select:none;-webkit-user-select:none;line-height:1.25;outline-offset:-2px}
.map-float-grip::-webkit-scrollbar{display:none}
.map-float-head :is(.map-float-fullscreen,.map-float-minimize,.map-float-close){box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center}
.map-float-full-name{margin:0;font-size:12px;line-height:1.4;opacity:.75;user-select:text;-webkit-user-select:text}
.map-float-full-name[hidden]{display:none}

.primary-reading-body .map-float .map-float-grip{touch-action:pan-x;cursor:auto}
.map-float-grip{overscroll-behavior-x:contain}

/* #697: two compact name lines inside the unchanged 44px toolbar row. */
.map-float-head .map-float-grip{display:flex;flex-direction:column;justify-content:center;gap:2px;height:36px;padding-inline:8px;box-sizing:border-box;font-size:14px;line-height:18px;border-radius:8px}
.map-float-name-zh,.map-float-name-en{display:block;flex:none;width:max-content;min-width:max-content;margin-inline:auto;white-space:nowrap}
.map-float-name-zh{color:#f5c579;font-weight:700;letter-spacing:.02em}
.map-float-name-en{color:#d2ddd5;font-size:11px;line-height:13px;font-weight:500;opacity:1}
.map-float-head .map-float-grip:focus-visible{outline:2px solid #f5c579;background:rgba(245,197,121,.08)}
.map-float-name-en[hidden]{display:none}
.map-float-head{height:44px;min-height:44px;box-sizing:border-box}.primary-reading-body .map-float-head{padding-top:0}
