:root{--landscape-ink:#596b65;--landscape-river:#789f9d;--landscape-fall:#ad8775;--landscape-soft:#eaf0e9;--landscape-rule:color-mix(in srgb,var(--landscape-ink) 25%,var(--paper))}
[data-theme=dark]{--landscape-ink:#b0c6bd;--landscape-river:#9dbfbe;--landscape-fall:#cba38e;--landscape-soft:#253630}
#terrain-map[data-scale=overall] [data-sample-echo-density]{opacity:.24}
.landscape-region{fill:var(--landscape-color);fill-opacity:.12;stroke:var(--landscape-color);stroke-opacity:.21;stroke-width:1;vector-effect:non-scaling-stroke}
.landscape-motif-group{--landscape-color:var(--landscape-fall)}
.landscape-motif-group.is-river{--landscape-color:var(--landscape-river)}
.landscape-waterway{fill:none;stroke:var(--landscape-color);stroke-width:1.35;stroke-opacity:.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.landscape-waterway.is-major{stroke-width:1.7;stroke-opacity:.72}
.landscape-waterway.is-tentative{stroke-dasharray:3 5}
.landscape-region-group.is-receding,.landscape-motif-group.is-receding{opacity:.2}
.landscape-region-group.is-thread-related .landscape-region{fill-opacity:.16}
.landscape-motif-group.is-thread-related .landscape-waterway{stroke-opacity:.85}
.terrain-landscape-marker{cursor:pointer;outline:none;color:var(--landscape-ink)}
.landscape-target{fill:var(--paper);fill-opacity:0;stroke:none;pointer-events:visibleFill}
.landscape-landmark-symbol,.landscape-junction-sign{fill:none;stroke:var(--landscape-ink);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.landscape-motif-dot,.landscape-junction-dot{fill:var(--paper);stroke:var(--landscape-ink);stroke-width:1.2}
.landscape-landmark-symbol,.landscape-junction-sign,.landscape-motif-dot,.landscape-junction-dot{pointer-events:none}
.landscape-label{fill:var(--landscape-ink);font:400 10px 'DM Sans',Arial,sans-serif;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.landscape-label-leader{fill:none;stroke:var(--landscape-ink);stroke-opacity:.25;stroke-width:.6;pointer-events:none}
.terrain-landscape-region-label .landscape-label{font-size:11px;font-style:italic;letter-spacing:.01em;fill:color-mix(in srgb,var(--landscape-ink) 75%,var(--paper))}
.terrain-landscape-marker.is-receding{opacity:.25}
.terrain-landscape-marker.is-current .landscape-target,.terrain-landscape-marker:hover .landscape-target,.terrain-landscape-marker:focus-visible .landscape-target{fill-opacity:.8;stroke:var(--landscape-ink);stroke-width:1}
.terrain-landscape-marker.is-current .landscape-motif-dot{fill:var(--landscape-ink)}
#terrain-map[data-landscape-detail=text] [data-semantic-landscape]{opacity:.38}
#terrain-map[data-thread-active=true][data-landscape-detail=text] [data-book]{opacity:1}
#terrain-map[data-thread-active=true][data-landscape-detail=text] .terrain-trail[data-course=episodes],#terrain-map[data-thread-active=true][data-landscape-detail=text] .terrain-episode{opacity:.33}
.legend-region{height:12px!important;background:#88aa9130;border:1px solid #88aa9170;border-radius:40%}
.legend-waterway{height:0!important;border-top:2px solid var(--landscape-river);border-radius:50%}
.landscape-layer-controls{display:flex;flex-wrap:wrap;gap:8px 15px;border:0;border-top:1px solid var(--rule);padding:10px 0 0;margin:12px 0;color:var(--muted)}
.landscape-layer-controls legend{float:left;width:100%;font-size:10px;padding:0 0 8px;color:var(--landscape-ink)}
.landscape-layer-controls label{display:flex;align-items:center;gap:5px;min-height:32px;cursor:pointer}
.landscape-layer-controls input{accent-color:var(--landscape-ink)}
.landscape-browser{border-top:1px solid var(--rule);padding-top:8px;margin:8px 0}
.landscape-browser>summary{padding:8px 0;color:var(--landscape-ink)}
.landscape-browser-group>p{font-weight:500;color:var(--landscape-ink)}
.landscape-browser-group button{display:block;width:100%;border:0;border-bottom:1px solid var(--rule);padding:12px 0;background:none;color:var(--ink);font:400 12px/1.6 'DM Sans',Arial,sans-serif;text-align:left;cursor:pointer}
.landscape-browser-group button span{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:4px}
.landscape-preview-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}
.landscape-preview-heading .selection-address{margin-bottom:10px}
.landscape-preview-heading button{flex:none;border:0;background:none;color:var(--muted);font-size:23px;width:36px;height:36px;cursor:pointer;margin-top:-10px;margin-right:-8px}
.landscape-preview .selection-context{margin:0 0 14px}
.landscape-source{max-height:26dvh;overflow:auto;overscroll-behavior:contain;padding-right:4px;margin-bottom:14px;font-size:16px;line-height:1.85}
.landscape-source mark{background:var(--landscape-soft);text-decoration:underline;text-decoration-color:var(--landscape-ink);text-underline-offset:3px}
.landscape-preview .episode-description{font-size:12px;line-height:1.85;margin:12px 0}
.landscape-preview .selection-review{margin-bottom:10px;font-size:10px}
.landscape-preview .echo-evidence{font-size:10px;color:var(--muted);line-height:1.8;margin:8px 0;overflow-wrap:anywhere}
.landscape-preview .echo-evidence a{color:var(--landscape-ink);text-underline-offset:3px}
.landscape-preview-actions,.landscape-junction-links{display:flex;flex-wrap:wrap;gap:7px 15px;border-top:1px solid var(--rule);margin-top:14px;padding-top:10px}
.landscape-preview .terrain-action{font:400 11px/1.65 'DM Sans',Arial,sans-serif;color:var(--landscape-ink);cursor:pointer;min-height:32px;text-decoration:none}
.landscape-junction-links>p{flex-basis:100%;margin:0!important}
.landscape-members{margin-top:16px;font-size:10px;color:var(--muted)}
.landscape-members>summary{cursor:pointer;padding:6px 0}
.landscape-members .terrain-action{display:block;width:100%;text-align:left}
.landscape-members [aria-current=true]{font-weight:500;text-decoration:underline;text-underline-offset:3px}
.landscape-return-origin{position:absolute;z-index:3;left:28px;bottom:64px;padding:4px 6px;background:var(--paper);border-radius:4px;color:var(--landscape-ink);font:10px/1.7 'DM Sans',Arial,sans-serif;text-underline-offset:3px;max-width:calc(100% - 150px)}
.landscape-return-origin:focus-visible{outline:2px solid var(--landscape-ink);outline-offset:3px}
.landscape:has(.terrain-method[open]) .landscape-return-origin{visibility:hidden}
.landscape-preview :focus-visible,.landscape-browser :focus-visible,.landscape-layer-controls :focus-visible{outline:2px solid var(--landscape-ink);outline-offset:3px}
html[data-terrain-arriving] [data-semantic-landscape],html[data-terrain-arriving] [data-landscape-controls],html[data-terrain-arriving] #terrain-selection:has([data-landscape-preview]){opacity:var(--terrain-reveal,0)}
.word.landscape-support{background:var(--landscape-soft);text-decoration:underline;text-decoration-color:var(--landscape-ink);text-underline-offset:4px;text-decoration-thickness:1px;border-radius:2px}
@media(max-width:760px){#terrain-selection:has([data-landscape-preview]){top:112px;max-height:58dvh}.landscape-preview-heading button{width:44px;height:44px}.landscape-source{font-size:15px;max-height:19dvh}.landscape-preview .terrain-action{min-height:40px}.landscape-layer-controls{gap:6px 10px}.landscape-return-origin{left:18px;bottom:58px;font-size:9px}}
@media(prefers-reduced-motion:reduce){[data-semantic-landscape],[data-landscape-controls]{transition:none;animation:none}}
@media print{.reader-landscape-journey{display:none!important}}

/* The reader keeps the semantic journey quiet beside its native text. */
.reader-landscape-journey{position:fixed;z-index:26;right:22px;bottom:150px;max-width:220px;padding:10px 12px;border:1px solid var(--landscape-rule);border-radius:5px;background:var(--paper);color:var(--ink);font:11px/1.7 'DM Sans',Arial,sans-serif}
.reader-landscape-journey>[data-landscape-title]{display:block;color:var(--muted);font-size:10px}
.reader-landscape-journey nav{display:flex;flex-wrap:wrap;gap:4px 12px}
.reader-landscape-journey a{display:inline-flex;align-items:center;min-height:30px;color:var(--landscape-ink);text-underline-offset:3px}
.reader-landscape-journey a:focus-visible{outline:2px solid var(--landscape-ink);outline-offset:3px}
@media(max-width:640px){.reader-landscape-journey{left:16px;right:16px;bottom:124px;max-width:none}.reader-landscape-journey nav{justify-content:space-between}.reader-landscape-journey a{min-height:34px}}
