/* Reading context stays visible while the photographs retain the full width. */
:root{--reading-height:72px}
#reading-bar[hidden]{display:none}
#reading-bar{position:fixed;inset:0 0 auto;z-index:10;display:flex;align-items:center;gap:20px;padding:9px 3.5vw 10px;background:#eeeadff5;color:#26322a;border-bottom:1px solid #65705c35;box-shadow:0 2px 16px #17271d0d;backdrop-filter:blur(12px)}
.reading-position{position:relative;display:grid;gap:5px;padding:0 22px 0 0;text-align:left;flex:1;min-width:0;min-height:48px}
.reading-position:after{content:'⌄';position:absolute;right:1px;top:50%;transform:translateY(-50%);font-size:20px;color:#65724d}
.reading-meta{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:1.1px;line-height:1.3}
.reading-meta #active-year{font-weight:600;font-size:12px;letter-spacing:.6px}
.reading-browse{color:#607249;font-size:10px}
.reading-place{display:flex;align-items:baseline;gap:14px;min-width:0;line-height:1.2}
.reading-place strong{font:400 23px var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#active-attraction{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#65705c}
#active-attraction:not(:empty):before{content:' / ';margin-right:8px;color:#89957d}
#chapter-start,#back-to-top{font-size:11px;min-height:44px;padding:0 13px;white-space:nowrap;border-left:1px solid #65705c35}
#chapter-start>span:first-child,#back-to-top>span:first-child{font-size:17px;margin-right:4px}
.reading-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden}
.reading-progress>span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#8d9c67}
.chapter,.story-stop,#story{scroll-margin-top:var(--reading-height)}

/* The image and its information have their own space, so neither can crop or cover the other. */
#viewer{inset:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:0;box-sizing:border-box}
#viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
#viewer .viewer-controls{position:relative;inset:auto;width:auto;min-height:57px;gap:20px;padding:5px 18px;background:#131917;border-bottom:1px solid #eeeadd17;pointer-events:auto}
#viewer .viewer-controls>span{font-size:11px;line-height:1.45;max-width:55%;text-shadow:none}
#viewer .viewer-controls>div{gap:7px;flex:none}
#viewer .viewer-controls button{min-height:44px;padding:0 15px;line-height:1.25;font-size:11px;white-space:nowrap;background:#22342d;backdrop-filter:none}
#viewer .viewer-controls .icon-button{font-size:28px;width:44px;padding:0;background:transparent}
#viewer .viewer-controls [aria-pressed=true]{color:#1f2d26;background:#eeeadf}
#viewer-scroll{height:100%;min-height:0;overscroll-behavior:contain;scroll-snap-type:y mandatory;scroll-padding:0}
#viewer .viewer-slide{height:var(--slide-height,100%);min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;scroll-snap-align:start;scroll-snap-stop:always}
#viewer .viewer-media{position:relative;min-width:0;min-height:0;overflow:hidden}
#viewer .viewer-image{position:absolute;inset:0;width:100%;height:100%;padding:6px 12px;object-fit:contain;object-position:center;box-sizing:border-box}
#viewer.viewer-fill .viewer-image{object-fit:cover;padding:0}
#viewer .viewer-slide video{position:absolute;inset:0;width:100%;height:100%;padding:6px 12px;box-sizing:border-box;object-fit:contain;background:#131917}
#viewer .viewer-details{position:relative;width:min(850px,100%);max-height:180px;overflow:auto;margin:0 auto;padding:13px 28px 7px;box-sizing:border-box;color:#e8e6dd;overscroll-behavior:contain}
#viewer .viewer-caption{margin:0;font:400 18px/1.4 var(--serif);text-wrap:pretty}
#viewer .viewer-comment{margin:6px 0 0;font:400 12px/1.6 var(--sans);color:#bdc8b5;text-wrap:pretty}
#viewer .viewer-sources{display:flex;flex-wrap:wrap;gap:5px 16px;margin-top:6px}
#viewer .viewer-sources a{font:10px/1.5 var(--sans);text-underline-offset:3px;color:#b8c898}
#viewer.notes-hidden .viewer-details{display:none}
#viewer .viewer-bottom{position:relative;inset:auto;display:flex;align-items:center;gap:15px;min-height:48px;padding:3px 18px 5px;pointer-events:auto}
#viewer .viewer-bottom>span{font-size:11px;text-shadow:none}
#viewer .viewer-scroll-hint{margin-left:auto;color:#829586;font-size:10px}
#viewer .viewer-bottom>div{display:flex;gap:6px}
#viewer .viewer-bottom button{min-height:44px;min-width:44px;font-size:19px;background:#22342d}
#viewer .video-play{white-space:nowrap;max-width:90%;font-size:13px}

@media(max-width:760px){
  :root{--reading-height:75px}
  #reading-bar{gap:5px;padding:7px 10px 8px}
  .reading-position{gap:4px;min-height:52px}
  .reading-meta{gap:10px;font-size:8px;letter-spacing:.5px}
  .reading-meta #active-year{font-size:10px}
  .reading-browse{display:none}
  .reading-place{display:grid;gap:1px}
  .reading-place strong{font-size:18px;line-height:1.2}
  #active-attraction{font-size:9px;line-height:1.2;max-width:210px}
  #active-attraction:not(:empty):before{content:none}
  #chapter-start,#back-to-top{padding:0 9px;font-size:10px;line-height:1.2}
  #chapter-start>span:first-child,#back-to-top>span:first-child{display:block;font-size:18px;margin:0 0 3px}
  #chapter-start>span:last-child{font-size:0}
  #chapter-start>span:last-child:after{content:'Start';font-size:10px}
  #viewer{inset:4px;width:calc(100vw - 8px);height:calc(100dvh - 8px)}
  #viewer .viewer-controls{min-height:76px;display:block;padding:8px 8px 4px}
  #viewer .viewer-controls>span{display:block;font-size:10px;max-width:calc(100% - 40px);min-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #viewer .viewer-controls>div{display:flex;gap:6px;margin-top:5px;padding-right:40px}
  #viewer .viewer-controls button{min-height:44px;padding:0 13px;font-size:10px}
  #viewer .viewer-controls .icon-button{position:absolute;right:3px;top:5px;width:40px;min-height:44px;font-size:27px}
  #viewer .viewer-image,#viewer .viewer-slide video{padding:2px 4px}
  #viewer .viewer-details{padding:10px 16px 5px;max-height:156px}
  #viewer .viewer-caption{font-size:16px;line-height:1.35}
  #viewer .viewer-comment{font-size:11px;line-height:1.45;margin-top:5px}
  #viewer .viewer-sources a{font-size:9px}
  #viewer .viewer-bottom{min-height:46px;padding:2px 10px 4px;gap:8px}
  #viewer .viewer-bottom>span{font-size:10px}
  #viewer .viewer-scroll-hint{display:none}
  #viewer .viewer-bottom>div{margin-left:auto}
}
@media(max-height:520px) and (min-width:600px){
  #viewer .viewer-controls{display:flex;min-height:44px;padding:2px 12px}
  #viewer .viewer-controls>span{max-width:45%;margin:0}
  #viewer .viewer-controls>div{margin:0;padding:0}
  #viewer .viewer-controls .icon-button{position:static}
  #viewer .viewer-slide{grid-template-columns:minmax(0,1fr) minmax(220px,32%);grid-template-rows:minmax(0,1fr)}
  #viewer .viewer-details{align-self:center;max-height:100%;padding:12px 18px}
  #viewer.notes-hidden .viewer-slide{grid-template-columns:minmax(0,1fr)}
  #viewer .viewer-bottom{min-height:38px;padding:0 12px}
}

.photo-open{container-type:inline-size}.tile-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-height:4.3em}.note-mark{display:none;position:absolute;bottom:9px;right:9px;padding:5px 8px;background:#17291edb;color:#f2efdf;border:1px solid #f1eedf66;border-radius:15px;font-size:9px;line-height:1.2;white-space:nowrap}@container(max-width:220px){.tile-note{display:none}.note-mark{display:block}}@media(max-width:1000px){.chapter-opening .note-mark{display:block}}
