/* The story is a sequence of book pages, not a separate reading drawer. */
.experience{grid-template-columns:39% 61%;grid-template-rows:88px minmax(0,1fr) 80px 38px;min-height:620px}.story-caption{display:flex;flex-direction:column;align-self:stretch;justify-content:center;min-height:0;overflow:hidden;padding:28px 25px 22px 0}.story-caption h1{font-size:clamp(27px,2.8vw,43px);line-height:1.65;white-space:pre-line}.is-reading .story-caption h1{font-size:clamp(25px,2.45vw,36px);margin-bottom:5px}.is-reading .eyebrow{margin-bottom:15px}.is-reading #teaser{font-size:11px;letter-spacing:.12em;margin:0 0 22px;color:var(--gold)}.story-text{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bca57460 transparent;max-height:330px;min-height:0;padding:0 14px 0 0;font-size:15px;line-height:2.15;letter-spacing:.015em}.story-text:empty{display:none}.story-text p{margin:0}.story-text:focus-visible{outline:none;box-shadow:inset 2px 0 0 #c7ac7755}.annotation{display:inline;padding:0;color:inherit;font:inherit;border-bottom:1px dotted #c7ac77;line-height:inherit;text-align:left;border-radius:0}.annotation:hover{color:#e8c983}.annotation sup{font:10px Georgia;position:relative;top:-.3em;color:var(--gold);margin:0 2px;white-space:nowrap}.annotation.seen sup{opacity:.4}.icon-button{font-size:17px;padding:7px;color:var(--gold)}header nav{gap:19px}.header-caption{margin-right:20px;font-size:10px}.read-button[hidden],.scene-tools button[hidden],[hidden]{display:none!important}.scene-tools{bottom:20px}.subfooter{gap:15px}#loadStatus{margin-left:auto;font-size:9px}#retry{color:var(--gold);text-decoration:underline}.paper-camera{overflow:hidden}.paper-scenery{pointer-events:none}.paper-hinge{transform-style:preserve-3d}.paper-cutout img{filter:drop-shadow(1px 2px 0 #decfaf) drop-shadow(1px 5px 2px #18241d33)}
.note-sheet{inset:auto 0 0;width:min(700px,100%);height:auto;max-height:78dvh;margin:0 auto;border:1px solid #bdaa76;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -30px 100px #0005}.note-sheet .dialog-head{padding:15px 28px}.note-sheet .dialog-head button{height:36px;width:36px}.note-content{padding:5px 32px 32px}.note-content h2{font-size:24px;font-weight:400;line-height:1.5;margin:18px 0}.note-content>p{font-size:14px;line-height:2}.note-content #noteSource{font:11px/1.7 Georgia,var(--serif);color:#7a6949;border-left:2px solid #ae975f;padding-left:12px}.note-content a{color:#6c5c38;font-size:12px}#noteKind{font-family:Georgia,var(--serif);letter-spacing:.1em;color:#75613c}.setting-row{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:25px 0;border-top:1px solid #6653;border-bottom:1px solid #6653;font-size:16px}.setting-row small{display:block;font-size:12px;color:#72786f;line-height:1.8;margin-top:8px}.setting-row input{width:23px;height:23px;accent-color:#405247}.kind-legend{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;margin-top:20px}.kind-legend p{font:11px/1.5 Georgia,var(--serif);display:flex;align-items:center;gap:12px}.kind-legend span{font-size:19px;color:#907644}.place-photo{margin:-32px -45px 30px}.place-photo img{width:100%;height:310px;object-fit:cover;display:block}.place-photo figcaption{padding:6px 14px;font:9px/1.7 Arial,sans-serif;background:#ded8ca;color:#596158}.place-photo figcaption a{color:inherit}.place-address{border-top:1px solid #9e956b55;border-bottom:1px solid #9e956b55;padding:20px 0;margin:22px 0}.place-address strong{font:20px/1.6 Georgia,serif;display:block}.place-address>span{font-size:13px;color:#72745f}.place-address p{font:12px/1.85 var(--serif);margin:8px 0 0}.lit-count{font:13px/1.8 var(--serif);color:#766844}.lit-count strong{font:25px Georgia,serif;margin:0 8px}.theory-badge{display:inline-block;border:1px solid #9d8858;padding:6px 10px;font-size:10px;line-height:1.7;color:#74613c}.directions{display:inline-block;background:#293b37;color:#ede7d5;text-decoration:none;padding:13px 18px;font-size:12px}.map-credit,.waiting{font-size:11px;color:#777d70}.waiting{margin:25px 0}.map-credit{font-size:9px}.atlas-list .catalog-row:hover{color:#76613a}.land{fill:#b7bfae;stroke:#7b8d7a;stroke-width:.6}.map-sea{font:9px Georgia;fill:#899b9b;letter-spacing:.18em}#atlasMap{width:100%;background:#dce5df;border:1px solid #bcc6ba;margin:15px 0 25px;overflow:hidden}.map-pin circle{fill:none;stroke:#7d8b7c;stroke-width:1.5;stroke-dasharray:3 3}.map-pin.lit{cursor:pointer}.map-pin.lit circle{fill:#b9984c;stroke:#fff7d9;stroke-width:2;stroke-dasharray:none}.map-pin.lit path{stroke:#857743;stroke-width:1;fill:none}.map-pin.lit text{font:11px Georgia,var(--serif);fill:#3c493d;paint-order:stroke;stroke:#dce5df;stroke-width:3px}.map-pin:focus{outline:none}.map-pin:focus circle{stroke:#1f3325;stroke-width:4}.scene-heading{flex-shrink:0}.read-button{flex-shrink:0}
@media(max-width:1050px) and (min-width:761px){.experience{padding:0 4%;grid-template-columns:43% 57%}.header-caption{display:none}header nav{gap:20px}.story-caption{padding-right:16px}.story-text{font-size:14px;line-height:2}.stage .vertical-label{display:none}.edition-mark{font-size:7px}.gold-button{min-width:180px}}
@media(max-width:760px){.experience{height:100svh;min-height:540px;padding:0 20px;grid-template-columns:100%;grid-template-rows:64px minmax(145px,34svh) minmax(0,1fr) 65px 28px}.story-caption{padding:5px 0 3px;justify-content:flex-start;overflow:hidden;text-align:left;gap:0}.story-caption h1{font-size:25px;text-align:center;margin:8px 0;line-height:1.5}.story-caption #teaser{text-align:center;font-size:11px}.story-caption .eyebrow{text-align:center;margin:0 0 7px;font-size:8px}.is-reading .story-caption h1{font-size:21px;text-align:left;line-height:1.45;margin:0 0 3px}.is-reading .story-caption .eyebrow{text-align:left;font-size:8px;margin:0 0 5px}.is-reading #teaser{font-size:9px;text-align:left;margin:0 0 6px;letter-spacing:.06em}.story-text{max-height:none;flex:1;min-height:0;font-size:13px;line-height:1.95;padding-right:10px}.annotation sup{font-size:9px}header nav{gap:12px}.wordmark small{display:none}.wordmark>span{font-size:24px}.menu-button{padding:8px 10px;gap:10px}.text-button{font-size:11px}.icon-button{font-size:15px;padding:5px}.stage{grid-row:2}.stage .vertical-label{font-size:8px;right:-6px}.scene-tools{bottom:1px;right:0}.scene-tools button{font-size:8px;padding:4px 9px}#bookArea{inset:-5px -14px 10px}.gold-button{min-width:130px;font-size:10px;padding:12px 12px;gap:8px}.subfooter{gap:7px}.subfooter #loadStatus{font-size:7px}.subfooter #retry{font-size:8px}.read-button{margin:12px auto 0}.note-content{padding:0 24px 25px}.note-content h2{font-size:22px}.note-content>p{font-size:13px}.note-sheet .dialog-head{padding:12px 22px}.place-photo{margin:-25px -25px 25px}.place-photo img{height:220px}.kind-legend{grid-template-columns:1fr 1fr}.kind-legend p{font-size:9px}.is-reading .story-caption{border-top:1px solid #c7ac7720;padding-top:12px}}
@media(max-width:360px){.experience{padding:0 13px}header nav{gap:8px}.menu-button{gap:7px;padding:8px}.gold-button{min-width:122px}.story-text{font-size:12px}.is-reading .story-caption h1{font-size:19px}}
@media(max-height:650px) and (min-width:761px){.experience{min-height:520px;grid-template-rows:65px minmax(0,1fr) 65px 28px}.story-caption{padding:12px 20px 12px 0}.story-text{font-size:13px;line-height:1.9}.is-reading .story-caption h1{font-size:24px}.is-reading #teaser{margin-bottom:10px}.is-reading .eyebrow{margin-bottom:8px}}
/* Contain horizontal overflow without interfering with vertical reading. */
html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
@supports(overflow:clip){html,body{overflow-x:clip}}
.experience{max-width:100%;min-width:0;overflow-x:clip}
.experience>*{min-width:0}
.story-caption{touch-action:pan-y pinch-zoom;overflow-wrap:anywhere}
.story-text{overflow-x:hidden;touch-action:pan-y pinch-zoom}
.stage-aura{inset:5% 0 0}
#bookArea{inset:0;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
#bookArea:focus-visible{outline:1px solid var(--gold);outline-offset:-3px}
header nav{min-width:0;flex-shrink:1}
.book-enlarged{overflow:hidden!important}
#bookZoom{position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;background:radial-gradient(ellipse at center,#35413b,#171c22 75%);overflow:hidden;color:var(--gold)}
#bookZoom::backdrop{background:#171c22}
#zoomStage{position:absolute;inset:calc(54px + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
#zoomStage #bookArea{inset:0;width:100%;height:100%}
#closeZoom{position:absolute;z-index:5;right:calc(14px + env(safe-area-inset-right));top:calc(10px + env(safe-area-inset-top));width:44px;height:44px;border:1px solid #c7ac7766;border-radius:50%;font-size:30px;line-height:1;background:#171c22;color:var(--gold)}
@media(max-width:760px){
 .experience{grid-template-columns:minmax(0,1fr)}
 .stage .vertical-label{right:0}
 footer{gap:6px}
 header nav{gap:clamp(4px,2vw,12px)}
 .gold-button{min-width:0;gap:7px}
 .subfooter{overflow:hidden}
}
/* The touch handler decides horizontal vs vertical intent, including diagonals. */
.story-caption,.story-text{touch-action:auto}
#bookArea{touch-action:pinch-zoom}
/* Expanded reading room: title, raised book, independently scrolling story. */
.zoom-layout{height:100%;width:min(100%,1000px);margin:auto;padding:calc(14px + env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1.35fr) minmax(0,1fr) auto;gap:8px;box-sizing:border-box;min-height:0}
.zoom-heading{text-align:center;padding:0 48px;min-width:0}
#zoomEpisode{font:9px/1.5 Georgia,serif;letter-spacing:.16em;color:var(--gold);margin:0 0 5px}
#zoomTitle{font:400 clamp(21px,3vw,32px)/1.45 var(--serif);color:#e9e3d5;white-space:pre-line;margin:0;overflow-wrap:anywhere}
#zoomStage{position:relative;inset:auto;min-height:0;min-width:0;transform:translateY(-8px)}
#zoomReader{display:flex;flex-direction:column;min-height:0;min-width:0;width:min(100%,680px);margin:0 auto;border-top:1px solid #c7ac7744;padding:16px 0 0;overflow:hidden;touch-action:auto;color:#e9e3d5;overflow-wrap:anywhere}
#zoomReader .story-text{flex:1;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;font-size:16px;line-height:2.1;text-align:left;padding:0 12px 16px 2px;touch-action:auto}
#zoomIntro{font:16px/2 var(--serif);text-align:center;margin:10px 0}
#zoomHint{margin:0;text-align:center;font:10px/1.6 var(--serif);color:#b6b19f}
@media(max-width:760px){.zoom-layout{grid-template-rows:auto minmax(0,1.2fr) minmax(0,1fr) auto;gap:5px}.zoom-heading{padding:0 36px}#zoomTitle{font-size:22px}#zoomReader .story-text{font-size:15px;line-height:2}#zoomHint{font-size:9px}#zoomReader{padding-top:12px}}
@media(max-height:500px) and (orientation:landscape){.zoom-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:6px 20px}.zoom-heading{grid-column:1/-1}#zoomTitle{font-size:20px}#zoomStage{grid-column:1;grid-row:2/4}#zoomReader{grid-column:2;grid-row:2}#zoomHint{grid-column:2;grid-row:3}}
@media(max-width:760px) and (orientation:portrait){
 .zoom-layout{grid-template-rows:auto minmax(0,1.4fr) minmax(0,1fr) auto}
 #zoomStage{margin-left:-18px;margin-right:-18px}
}
/* Two-level navigation stays within thumb reach; only the rails scroll sideways. */

#storyNavigator{grid-column:1/-1;grid-row:3;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;min-width:0;width:100%;padding:6px 0;border-top:1px solid var(--line);overflow:hidden}
.nav-rail-row{display:flex;align-items:center;gap:7px;min-width:0;width:100%}
.rail-label{flex:0 0 44px;font-size:10px;color:var(--gold);letter-spacing:.08em}
.nav-rail{display:flex;gap:8px;min-width:0;flex:1;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:none;scroll-padding-inline:8px;padding:2px 3px}
.nav-rail::-webkit-scrollbar{display:none}
.nav-rail button{flex:0 0 auto;min-height:44px;display:flex;align-items:center;gap:9px;padding:8px 15px;border:1px solid #c7ac7740;border-radius:10px;font-size:12px;line-height:1.4;white-space:nowrap;background:#ffffff04;color:#d8d6cc}
.nav-rail .chip-number{font:10px Georgia,var(--serif);color:#b9a77e}
.nav-rail [aria-pressed="true"]{background:#c7ac77;color:#171c22;border-color:#e2cb9a;box-shadow:inset 0 -2px 0 #99804f}
.nav-rail [aria-pressed="true"] .chip-number{color:#453b29}
.nav-rail button:focus-visible{outline:2px solid #f0d69f;outline-offset:-3px}
.rail-arrow{flex:0 0 32px;min-height:44px;font:28px Georgia;color:var(--gold)}
.act-chip{max-width:360px}.act-chip>span:last-child{overflow:hidden;text-overflow:ellipsis}

@media(max-width:760px){
 #storyNavigator{grid-row:4;gap:6px}
 .rail-label{flex-basis:34px;font-size:9px}
 .rail-arrow{display:none}
 .nav-rail button{font-size:11px;padding:8px 12px;gap:7px;min-height:44px}
 .nav-rail .chip-number{font-size:9px}
 .act-chip{max-width:260px}
 .nav-rail{gap:7px;padding-right:18px}
}

/* Chapter/scene rails replace the redundant paging row. */
.experience{grid-template-rows:88px minmax(0,1fr) 112px 30px}
.experience>.subfooter{grid-row:4}
@media(max-width:760px){
 .experience{grid-template-rows:60px minmax(130px,30svh) minmax(0,1fr) 112px 24px;min-height:540px}
 .experience>.subfooter{grid-row:5}
}
@media(max-height:650px) and (min-width:761px){.experience{grid-template-rows:60px minmax(0,1fr) 108px 26px;min-height:520px}}
/* Only the prose scrolls vertically; the illustration and navigation stay put. */
.story-caption{min-height:0}
.story-text{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:auto}
/* Give Safari an explicit root canvas color, including uncovered safe areas. */
html{background-color:#171c22;color-scheme:dark;min-height:100%}
body{background-color:#171c22;min-height:100svh}
#drawer,#noteSheet{color-scheme:light}
#bookZoom{color-scheme:dark}

/* Keep the return to the atlas visible while reading a place. */
#drawer .dialog-head{gap:12px;flex-wrap:wrap}
#drawer #dialogLabel{flex:1;min-width:0}
#drawer #closeDialog{flex:0 0 44px;height:44px}
#drawer #dialogBack{width:auto;height:auto;min-height:44px;padding:8px 12px;border:1px solid #82734f70;border-radius:8px;font:13px var(--serif);letter-spacing:0;white-space:nowrap;color:#303c37}
#drawer #dialogBack[hidden]{display:none}
@media(max-width:480px){#drawer #dialogBack:not([hidden])~#dialogLabel{display:none}}
.visit-card,.journey-card{border:1px solid #82734f55;border-radius:12px;padding:20px;margin:24px 0;background:#fff3}.visit-toggle{display:flex;align-items:center;gap:12px;min-height:48px;font-size:18px}.visit-toggle input{width:22px;height:22px;accent-color:#365e50}.visit-card button,.journey-card button,.journey-link{min-height:44px;padding:10px 14px;border:1px solid #82734f70;border-radius:8px;font-size:14px;margin:8px 8px 0 0;color:#303c37}.visit-card button:disabled{opacity:1;background:#dce5db;color:#365e50;cursor:default}.visit-help,#gpsStatus{font-size:12px;line-height:1.9}.journey-card p{font-size:14px}.journey-card button:hover,.visit-card button:hover,.journey-link:hover{color:#426753}

/* Interactive atlas: visible status through both symbols and colour. */
#atlasMap{height:clamp(320px,52svh,510px);width:100%;margin:18px 0 10px;border:1px solid #82734f55;border-radius:14px;background:#dce4df;isolation:isolate;z-index:0;font-family:var(--serif);color-scheme:light}
.map-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;font-size:12px}.map-legend .visited{color:#25604c}.map-legend .verified{color:#70510c}
.journey-marker{background:transparent;border:0;display:grid;place-items:center}.journey-marker span{display:grid;place-items:center;width:32px;height:32px;border:3px solid white;border-radius:50%;box-shadow:0 2px 7px #0006;font:700 18px sans-serif;background:#657179;color:white}.journey-marker.visited span{background:#25604c}.journey-marker.verified span{background:#b68a27;color:#161b18}
.map-place-popup{min-width:150px;line-height:1.7}.map-place-popup button{min-height:44px;border:1px solid #82734f70;border-radius:8px;color:#303c37;padding:8px 12px;font-size:13px}.map-place-popup p{margin:8px 0}.leaflet-container .leaflet-control-attribution{font:10px/1.5 sans-serif;white-space:normal}.leaflet-container a{color:#28614d}#mapStatus{font-size:12px;line-height:1.8}
#drawer .dialog-head{z-index:1100}#dialogLabel{outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent;user-select:none}#drawer .dialog-head button:focus:not(:focus-visible){outline:none}#drawer .dialog-head button:focus-visible{outline:2px solid #82734f;outline-offset:2px}

.atlas-locate-control button{min-height:44px;background:#fff;color:#59382e;border:1px solid #bcb5a7;border-radius:24px;box-shadow:0 2px 8px #0003;padding:10px 16px;font:600 12px var(--serif);white-space:nowrap;max-width:calc(100vw - 145px)}.atlas-locate-control button:hover{color:#25604c}.atlas-locate-control button:disabled{opacity:.75;cursor:wait}

/* Names lead to readable, source-backed profiles; note symbols are secondary. */
.entity-name{border:0;border-bottom:1px solid currentColor;text-decoration:none;background:transparent;color:inherit;text-underline-offset:.2em;cursor:pointer;padding:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.entity-name:hover{color:var(--gold)}.entity-name:focus-visible,.note-reference:focus-visible{outline:2px solid #bd9854;outline-offset:3px}.note-reference{display:inline;padding:2px 4px;vertical-align:super;font:10px Georgia,serif;color:var(--gold);background:none;border:0}.note-reference.seen{opacity:.55}.entity-title{margin-bottom:4px!important}.entity-reading{margin:0 0 24px;color:#766443;line-height:1.8;font-size:16px;letter-spacing:.08em}.entity-places{display:grid;gap:10px;margin:16px 0 28px}.entity-places>button{text-align:left;width:100%;border:1px solid #b2a583;background:#eee7d6;color:#34463d;padding:16px;border-radius:8px;min-height:54px}.entity-places strong{display:flex;justify-content:space-between;gap:12px;font:16px/1.7 var(--serif)}.entity-places small{display:block;font:12px/1.8 var(--serif);margin-top:4px;color:#686e5c}.entity-map{height:330px;width:100%;border:1px solid #bcc6ba;background:#dce5df;border-radius:8px;overflow:hidden}.area-list article{padding:18px 0;border-bottom:1px solid #a89c7844}.area-list button{display:flex;gap:10px;align-items:center;min-height:44px;text-align:left;color:#34463d;font:16px/1.6 var(--serif)}.area-index{display:inline-grid;place-items:center;border:1px solid #94794c;border-radius:50%;width:27px;height:27px;flex-shrink:0;font:14px Georgia}.area-list p{font:13px/1.9 var(--serif);margin:5px 0 10px}.area-list a,.entity-sources a{font-size:12px;color:#6c5c38}.entity-sources{margin-top:28px;border-top:1px solid #a89c7844;padding-top:18px}.entity-sources summary{cursor:pointer;font-size:13px;min-height:36px}.entity-sources li{margin:12px 0;overflow-wrap:anywhere}.entity-map .leaflet-popup-content{color:#34463d;line-height:1.7}#entityMapStatus{font-size:12px;line-height:1.7}#title .entity-name,#zoomTitle .entity-name{font:inherit;letter-spacing:inherit;line-height:inherit}#noteBody .entity-name,#noteTitle .entity-name{color:#4f624e}@media(max-width:760px){.entity-map{height:290px}.entity-reading{font-size:15px}.entity-places strong{font-size:15px}}


/* Give the reclaimed toolbar space to the prose. */
.story-caption .story-text{max-height:none}
#drawer,#noteSheet{touch-action:pan-y pinch-zoom}.entity-map{min-height:290px;flex-shrink:0;position:relative;isolation:isolate;touch-action:auto}.entity-map .leaflet-tile{max-width:none!important;max-height:none!important}.map-external{display:inline-block;margin:8px 0;font-size:12px;color:#6c5c38}
.interleaf{inset:0;width:100%;max-width:100%;height:100dvh;background:#172820f5;color:#e8d9b7;padding:24px;overflow-y:auto;box-sizing:border-box}
.interleaf-paper{width:min(620px,100%);min-height:min(650px,75dvh);margin:24px auto;box-sizing:border-box;padding:clamp(28px,7vw,65px);border:1px solid #c7ac7777;outline:1px solid #c7ac7733;outline-offset:-10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 20%,#53624c33,transparent 75%)}
#interleafNumber{font:12px var(--serif);letter-spacing:.22em;color:#c7ac77}.interleaf-ornament{font:40px Georgia;color:#bfa675;margin:20px 0}#interleafTitle{font:400 clamp(27px,5vw,42px)/1.6 var(--serif);margin:12px 0 25px}#interleafText{font:16px/2.1 var(--serif);max-width:30em;margin:0 0 36px}#interleafContinue{padding:15px 24px;border:1px solid #c7ac77;color:#ead8b2;font:15px var(--serif);border-radius:4px;min-height:48px}.interleaf::backdrop{background:#101b17cc}

/* Clear community entry; reading settings live inside the contents drawer. */
#communityLink{background:var(--gold);color:#171c22;border:1px solid #e2ca97;border-radius:999px;padding:10px 16px;font:600 12px var(--serif);letter-spacing:.02em;min-height:44px;justify-content:center;box-shadow:0 3px 12px #0002;flex-shrink:0}
#communityLink:hover{background:#e0c58e;color:#171c22}



@media(max-width:760px){header{gap:8px}header nav{gap:6px}#communityLink{font-size:11px;padding:9px 12px}header .menu-button{min-height:44px;padding:8px;gap:6px}header .text-button{white-space:nowrap;letter-spacing:0}}
@media(max-width:360px){#communityLink{padding:8px;font-size:10px}header nav{gap:4px}header .wordmark>span{font-size:21px}header .menu-button{padding:7px;gap:4px}}

/* Further reading for comparative story notes. */
#noteRelatedSources{display:grid;gap:12px;margin-top:14px}#noteRelatedSources a{display:block;font-size:13px;line-height:1.65;overflow-wrap:anywhere}#noteBody{line-height:1.95}

/* Long-form scenes: natural paragraphs in the existing independent reading pane. */
.story-text{overflow-wrap:anywhere;scrollbar-gutter:stable;scroll-padding-block:16px;padding-bottom:24px}
.story-text p+p{margin-top:1.25em}
.story-text p:last-child{padding-bottom:1em}
@media(max-width:760px){.story-text{font-size:15px;line-height:2.05}.story-text p+p{margin-top:1.1em}}

/* Place-to-story cards: reading links stay in the content flow. */
.place-reading,.place-field-notes{margin:28px 0;padding:22px 0;border-top:1px solid #a28b5e66;min-width:0;overflow-wrap:anywhere}
.place-reading h3,.place-field-notes h3{font-size:17px;letter-spacing:.06em;margin:0 0 18px}
.place-scene{padding:18px;margin:12px 0;border:1px solid #a28b5e66;border-radius:12px;background:#ad905e0a;min-width:0}
.place-scene h4,.place-field-notes h4{font-size:21px;line-height:1.5;margin:8px 0 12px;font-weight:500}
.place-scene .scene-number,.place-scene .scene-relation{font-size:12px;line-height:1.8;margin:4px 0;opacity:.8}
.place-scene blockquote{margin:15px 0;padding:0 0 0 13px;border-left:2px solid #b69a63;font-size:15px;line-height:1.95}
.place-scene>a,.place-scene>button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;max-width:100%;padding:10px 18px;border-radius:24px;border:1px solid #a28b5e;background:#d9bd7d;color:#1d2427;text-decoration:none;font-size:15px;cursor:pointer}
.place-field-notes p{font-size:16px;line-height:2;margin:12px 0}.place-field-notes>a{font-size:13px;color:inherit;text-underline-offset:4px}.place-field-notes small{display:block;margin-top:12px;opacity:.7;font-size:11px;line-height:1.7}
@media(max-width:480px){.place-scene{padding:15px}.place-scene h4,.place-field-notes h4{font-size:19px}}
.reader-review{padding:18px 0;border-bottom:1px solid #ffffff26}.reader-review small{display:block;opacity:.7;margin:8px 0}.reader-review p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.reader-review img{width:100%;max-height:220px;object-fit:cover;border-radius:8px;margin:8px 0}.reader-review-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.reader-review-links a{padding:10px 0;min-height:44px}

/* A quiet bookmark lives on the cover and in Contents, outside the prose. */
#bookmarkEntry{flex-shrink:0}.bookmark-card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;margin:12px 0;border:1px solid #b69a6380;border-radius:10px;background:#b69a6312;color:inherit;cursor:pointer;min-height:56px}.bookmark-card>span:nth-child(2){flex:1;min-width:0}.bookmark-card strong{display:block;font-size:14px;font-weight:500;line-height:1.5}.bookmark-card small{display:block;font-size:11px;line-height:1.6;margin-top:3px;overflow-wrap:anywhere;opacity:.75}.bookmark-ribbon{color:var(--gold,#b69a63);transform:rotate(90deg)}.bookmark-card:disabled{opacity:.5;cursor:wait}.bookmark-card:focus-visible{outline:2px solid #b69a63;outline-offset:3px}.bookmark-card:hover{background:#b69a6325}
@media(max-width:760px){.bookmark-card{padding:10px 12px;margin:6px 0}.bookmark-card small{font-size:10px}.bookmark-card strong{font-size:13px}body:not(.is-reading) .story-caption h1{font-size:21px;line-height:1.35;margin:3px 0}body:not(.is-reading) #teaser{margin:4px 0}body:not(.is-reading) #read{font-size:10px;padding:5px 0}}

/* Recording controls take space only when requested; never overlay the prose. */
#narrationSlot{flex-shrink:0}.scene-narration{margin:0 0 7px;min-width:0}.scene-narration>button{display:inline-flex;align-items:center;min-height:36px;padding:5px 12px;border:1px solid #b69a6370;border-radius:18px;color:var(--gold,#c7ac77);font:inherit;font-size:12px;background:transparent;cursor:pointer}.scene-narration>button:focus-visible{outline:2px solid #c7ac77;outline-offset:2px}.narration-panel{padding-top:6px;max-width:360px}.narration-panel audio{display:block;width:100%;height:36px}.narration-panel small,.narration-panel [role=status]{display:block;font-size:10px;line-height:1.5;opacity:.7;margin-top:3px}.narration-panel [role=status]:empty{display:none}#zoomNarrationSlot{margin-top:5px}#zoomNarrationSlot .narration-panel{margin-inline:auto}#zoomNarrationSlot .scene-narration{margin-bottom:0}

/* The narration trigger shares the title row; expanded controls span beneath it. */
.reader-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;min-width:0}
.reader-title-row>h1,.reader-title-row>h2{grid-column:1;grid-row:1;min-width:0}
.reader-title-row #narrationSlot,.reader-title-row #zoomNarrationSlot,.reader-title-row .scene-narration{display:contents}
.reader-title-row .scene-narration>button{grid-column:2;grid-row:1;justify-self:end;white-space:nowrap;min-height:40px;padding:5px 10px;font-size:11px}
.reader-title-row .narration-panel{grid-column:1/-1;grid-row:2;width:100%;max-width:none;margin:0 0 6px;padding-top:4px;text-align:left}
#zoomNarrationSlot .narration-panel{margin:0 0 6px}
@media(max-width:480px){.is-reading .reader-title-row #title{font-size:19px;letter-spacing:.02em}.reader-title-row{column-gap:8px}.reader-title-row .scene-narration>button{font-size:10px;padding-inline:8px}#zoomTitle{padding-right:0}}

/* Navigation links need their own boxes, rather than padded inline text. */
a.journey-link{display:inline-flex;align-items:center;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;line-height:1.6;text-decoration:none}
.journey-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:16px 0 24px;min-width:0}
.journey-actions>a.journey-link{display:flex;width:100%;min-width:0;min-height:48px;margin:0;padding:12px 14px;text-align:left;}

/* Dialogs restore focus on dismissal. Touch users do not need a focus ring. */
html[data-reader-input="pointer"] :is(button,a,[tabindex],dialog):focus {
 outline:none !important;
}
html[data-reader-input="pointer"] .story-text:focus {
 box-shadow:none;
}
html[data-reader-input="keyboard"] .story-text:focus-visible {
 outline:2px solid var(--gold);
 outline-offset:-2px;
 box-shadow:none;
}

/* Listening choices stay beneath the title, outside the scrollable prose. */
.narration-choices{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0}
.narration-choices button,.narration-actions button{font:inherit;font-size:12px;min-height:40px;border:1px solid #c7ac7770;border-radius:12px;padding:8px 12px;cursor:pointer;color:#eee4ca;background:#ffffff08}
.narration-choices button:last-child{background:#c7ac77;color:#152d25;border-color:#c7ac77}
.narration-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.narration-actions button{font-size:11px;min-height:32px;padding:4px 10px}.narration-mode{font-size:11px;color:#c7ac77}
.narration-panel [hidden],.reader-title-row .scene-narration[hidden]{display:none!important}
.narration-panel button:focus-visible{outline:2px solid #c7ac77;outline-offset:2px}
