:root{--bg:#141311;--panel:#201e1a;--ink:#ddd5c7;--muted:#aaa08e;--gold:#bd9d63;--line:#3b352b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Georgia,'Times New Roman',serif}button,input{font:inherit}button,a{touch-action:manipulation}button{color:var(--ink);border:1px solid var(--line);background:transparent;border-radius:5px;padding:9px 17px;cursor:pointer}button:hover{border-color:var(--gold);background:#2b251c}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--gold);text-decoration:none}header{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:auto;padding:25px 45px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;color:var(--ink);font-size:20px}.brand small{display:block;font:11px/1.6 system-ui;letter-spacing:1.1px;color:var(--muted)}.mark{border:1px solid var(--gold);color:var(--gold);width:38px;height:44px;display:grid;place-items:center;font-size:27px}nav{display:flex;gap:12px}nav button{font:13px system-ui}.cover{max-width:1250px;margin:auto;padding:65px 45px 55px;text-align:center}.eyebrow{font:11px/1.5 system-ui;letter-spacing:3px;color:var(--gold);margin:0 0 15px}h1{font-weight:400;font-size:clamp(38px,5vw,65px);line-height:1.15;margin:0 0 22px}h2{font-weight:400;font-size:30px;margin:0}.intro{max-width:570px;margin:0 auto 35px;color:var(--muted);font-size:17px}.cover-photo{position:relative;padding:9px;background:#25211b;border:1px solid #4b4232;box-shadow:0 20px 55px #0007;margin-bottom:30px}.cover-photo img{display:block;width:100%;height:auto;filter:brightness(.88)}.cover-photo span{display:block;font-style:italic;font-size:13px;color:var(--muted);padding:8px 0 0}.primary{background:var(--gold);color:#17130c;border:none;padding:13px 30px;font-size:17px}.primary span{padding-left:28px}.primary:hover{background:#cbaa6d;color:#17130c}.cover-meta{font:12px system-ui;color:var(--muted);margin-top:20px}#reader{max-width:1280px;margin:auto;padding:28px 55px}.reader-top{display:flex;justify-content:space-between;align-items:center;margin:5px 0 25px;gap:15px}.reader-top .eyebrow{margin-bottom:4px}.view-options{display:flex;gap:10px;font:12px system-ui}.album-shell{position:relative;max-width:1030px;margin:auto;background:#0b0a09;border:10px solid #27231d;box-shadow:0 20px 60px #0007}.album-page{position:relative;width:100%;container-type:inline-size;background:#111}.page-backdrop{width:100%;height:100%;display:block}.mounted-photo{position:absolute;border:0;padding:0;background:none;border-radius:0;overflow:hidden;cursor:zoom-in}.mounted-photo img{display:block;width:100%;height:100%;object-fit:fill}.mounted-photo:hover{outline:2px solid var(--gold);outline-offset:2px;background:none;z-index:3}.caption-line{position:absolute;margin:0;font-family:'Courier New',monospace;color:#252321;line-height:1;white-space:pre;transform-origin:left top;pointer-events:none}.edge{position:absolute;top:50%;transform:translateY(-50%);font-size:40px;border:none;padding:0 8px;background:var(--bg);color:var(--muted)}.edge.prev{left:-49px}.edge.next{right:-49px}.reader-bottom{display:flex;align-items:center;justify-content:space-between;max-width:1030px;margin:22px auto;font:13px system-ui}.reader-bottom span{color:var(--muted)}.reader-note{text-align:center;color:var(--muted);font:12px system-ui;margin:25px 0}button:disabled{opacity:.3;cursor:default}#transcript{max-width:1030px;margin:25px auto;padding:25px 30px;background:var(--panel);border:1px solid var(--line)}.transcript-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.transcript-heading h3{margin:0;font-size:22px;font-weight:400}.transcript-heading a{font:12px system-ui}pre{font:15px/1.75 'Courier New',monospace;white-space:pre-wrap;overflow-wrap:anywhere}.verification{color:var(--muted);font:12px/1.6 system-ui}footer{max-width:1400px;margin:25px auto 0;padding:23px 45px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}footer button{border:0;padding:0;font:12px system-ui;color:var(--muted)}dialog{background:var(--panel);color:var(--ink);border:1px solid #66553a;border-radius:8px;padding:28px;width:min(1150px,94vw);max-height:90vh}dialog::backdrop{background:#000c;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.close{font:26px system-ui;border:0;padding:0 10px}.search-label{display:block;font:12px system-ui;color:var(--muted)}input{display:block;width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:13px 15px;margin-top:8px;border-radius:4px}.muted{color:var(--muted);font:12px system-ui}#page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}.page-card{padding:9px;background:#151411;text-align:left}.page-card img{width:100%;height:140px;object-fit:contain}.page-card strong{display:block;font:13px system-ui;margin-top:10px}.page-card small{display:block;font:10px/1.4 system-ui;color:var(--muted);margin-top:4px}#lightbox{width:min(1500px,97vw);height:94vh;background:#0d0c0b;padding:15px 22px}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;font:13px system-ui}.lightbox-bar div{display:flex;gap:20px;align-items:center}.lightbox-bar a{font-size:12px}.photo-stage{height:calc(100% - 115px);display:flex;align-items:center;justify-content:center;padding:18px}.photo-stage img{max-width:100%;max-height:100%;object-fit:contain}#photo-caption{font:13px/1.5 system-ui;color:var(--muted);text-align:center;max-height:60px;overflow:auto}#about{max-width:640px}#about p{color:var(--muted)}[hidden]{display:none!important}@media(max-width:700px){header{padding:17px 18px}.brand{font-size:16px}.brand small{font-size:9px}nav{gap:6px}nav button{font-size:11px;padding:8px}.cover{padding:40px 20px}.cover-photo{padding:5px}.reader-top{align-items:flex-start;flex-direction:column}#reader{padding:22px 30px}h2{font-size:25px}.album-shell{border-width:5px}.edge.prev{left:-29px}.edge.next{right:-29px}.edge{font-size:30px;padding:0 5px}.reader-bottom button{padding:8px;font-size:11px}.reader-bottom span{font-size:10px}footer{padding:20px;gap:15px}footer span{max-width:210px}#transcript{padding:16px}.transcript-heading{align-items:flex-start;flex-direction:column;gap:5px}dialog{padding:20px}.lightbox-bar{font-size:11px;gap:12px}.lightbox-bar div{gap:5px}.lightbox-bar a{font-size:10px}#page-grid{grid-template-columns:repeat(2,1fr)}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scan-hotspot img{opacity:0}.scan-hotspot:hover,.scan-hotspot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.album-shell{width:min(100%,calc((100svh - 290px) * var(--page-ratio,1)));min-width:min(100%,280px)}@media(max-width:700px){.album-shell{width:100%}}

.album-shell.wide-page{width:100%}.view-options{flex-wrap:wrap}#album-page .mounted-photo:focus-visible{z-index:4}

@media(max-width:700px){#page-size{display:none}}

/* Page 2 restoration proof. Other book pages keep their existing layout. */
.restored-edition{background:#191815}
.restored-photo img{object-fit:contain}
.restored-photo:hover{background:transparent}
.restored-caption{position:absolute;background:#2c2821;border:1px solid #544b3b;color:#e1d8c6;padding:1.1cqw;font:1.35cqw/1.45 Georgia,'Times New Roman',serif;text-align:left;overflow-wrap:normal}
.restored-caption strong{font-weight:700;color:#f0e5d0}
.album-shell.restored-shell:not(.fit-restored){width:100%}

/* Page 1 uses selectable, semantic contents text. */
.rich-text-edition{background:#191815;padding:clamp(18px,4vw,42px)}
.contents-card{background:#2c2821;border:1px solid #544b3b;padding:clamp(18px,3vw,34px);color:#e1d8c6;font:clamp(16px,1.65vw,20px)/1.6 Georgia,serif}
.contents-card h3{font-size:1.25em;text-align:center;margin:0 0 1.3em;color:#f0e5d0}
.contents-card ol{margin:0;padding-left:1.65em}
.contents-card li{padding-left:.3em;margin:0 0 .85em}
.contents-card li:last-child{margin-bottom:0}

/* Larger reading sizes throughout the album. */
body{font-size:18px}
.brand{font-size:24px}.brand small{font-size:13px;letter-spacing:.3px}
nav button,.view-options{font-size:16px}
.eyebrow{font-size:14px}.intro{font-size:21px}
.cover-meta,.reader-bottom,.reader-note,.verification,.muted,.search-label{font-size:16px}
.cover-photo span{font-size:17px}
.transcript-heading a{font-size:16px}pre{font-size:18px;line-height:1.8}
footer,footer button{font-size:16px}
.page-card strong{font-size:17px}.page-card small{font-size:14px}
.lightbox-bar{font-size:17px}.lightbox-bar a{font-size:16px}
#photo-caption{font-size:17px;line-height:1.6}
.contents-card{font-size:clamp(19px,2vw,24px)}
.restored-caption{font-size:1.5cqw;line-height:1.4}
@media(max-width:700px){
header{flex-wrap:wrap;gap:16px}.brand{font-size:21px}.brand small{font-size:12px}
nav button,.view-options{font-size:15px}nav button{padding:9px 12px}
.reader-bottom button,.reader-bottom span{font-size:14px}footer{flex-wrap:wrap}
.lightbox-bar,.lightbox-bar a{font-size:14px}
.restored-edition{display:flex;flex-direction:column;gap:20px;padding:16px;aspect-ratio:auto!important}
.restored-edition .restored-photo,.restored-edition .restored-caption{position:static;width:100%!important;height:auto!important}
.restored-edition .restored-photo:nth-of-type(2){order:1}
.restored-edition .restored-caption:nth-of-type(1){order:2}
.restored-edition .restored-photo:nth-of-type(1){order:3}
.restored-edition .restored-caption:nth-of-type(2){order:4}
.restored-edition .restored-photo img{height:auto}
.restored-edition .restored-caption{font-size:19px;line-height:1.6;padding:18px}
}

@media(min-width:701px){.restored-caption{height:auto!important;font-size:clamp(18px,1.8cqw,24px)}.album-shell.restored-shell{padding-bottom:110px}}

/* Oval display masks preserve the photographic backdrop and source files. */
.restored-photo img.oval-portrait{height:100%;width:100%;object-fit:cover;clip-path:ellipse(47.5% 48% at 50% 49.5%)}
.photo-stage img.oval-portrait{aspect-ratio:0.714;object-fit:cover;clip-path:ellipse(47.5% 48% at 50% 49.5%);height:100%;width:auto}
@media(max-width:700px){.restored-photo img.oval-portrait{height:auto;aspect-ratio:0.714}}

.restored-heading{text-align:center;font-weight:600;color:#f0e5d0}

/* Modern single-photo pages use natural spacing instead of scan coordinates. */
.album-page.compact-restored{display:flex;flex-direction:column;gap:22px;padding:22px;aspect-ratio:auto!important}
.compact-restored .restored-photo,.compact-restored .restored-caption{position:static;width:100%!important;height:auto!important}
.compact-restored .restored-photo img{height:auto;object-fit:contain}
.compact-restored .restored-caption{font-size:clamp(18px,1.8vw,22px);line-height:1.6;padding:18px}
.album-shell.compact-restored-shell{padding-bottom:0}
@media(max-width:700px){.album-page.compact-restored{gap:18px;padding:16px}.compact-restored .restored-caption{font-size:19px}}

.album-page.columns-restored{display:grid;grid-template-columns:repeat(var(--photo-columns,3),minmax(0,1fr));gap:20px;padding:20px;aspect-ratio:auto!important;align-items:start}
.columns-restored .restored-photo,.columns-restored .restored-caption{position:static;width:100%!important;height:auto!important}
.columns-restored .restored-photo img{height:auto;object-fit:contain}
.columns-restored .restored-caption{font-size:18px;line-height:1.6;padding:16px}
.album-shell.columns-restored-shell{padding-bottom:0}
@media(max-width:700px){.album-page.columns-restored{display:flex;gap:18px;padding:16px}.columns-restored .restored-caption{font-size:19px}}

.album-page.gallery-edition{background:#191815;padding:22px}
.gallery-heading{margin:0 0 22px;padding:18px;background:#2c2821;border:1px solid #544b3b;text-align:center;font-size:22px;line-height:1.6}
.restoration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.restoration-grid figure{margin:0}
.gallery-photo{display:block;width:100%;border:0;padding:0;border-radius:0;cursor:zoom-in}
.gallery-photo img{display:block;width:100%;height:auto}
.restoration-grid figcaption{margin-top:14px;padding:18px;background:#2c2821;border:1px solid #544b3b;font-size:19px;line-height:1.6}
.album-page.original-scan-stack{background:#191815}
.original-scan-stack figure{margin:0}.original-scan-stack a{display:block;padding:16px;font:16px system-ui}
.original-scan-stack img{display:block;width:100%;height:auto}
.album-shell.flowing-page-shell{padding-bottom:0}
@media(max-width:700px){.album-page.gallery-edition{padding:16px}.restoration-grid{grid-template-columns:1fr;gap:22px}.gallery-heading{font-size:20px}.restoration-grid figcaption{font-size:19px}}

.restored-caption,.restoration-grid figcaption{white-space:pre-line}

.poetry-gallery{grid-template-columns:1.3fr 1fr}.poetry-gallery .gallery-poem{grid-row:1/span 2}.poetry-gallery figure{grid-column:2}
.gallery-poem{white-space:pre-line;padding:18px;background:#2c2821;border:1px solid #544b3b;font-size:19px;line-height:1.6}
@media(min-width:701px) and (max-width:1000px){.poetry-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.poetry-gallery .gallery-poem{grid-column:1/-1;grid-row:auto}.poetry-gallery figure{grid-column:auto}}
@media(max-width:700px){.poetry-gallery{grid-template-columns:1fr}.poetry-gallery .gallery-poem{grid-row:auto}.poetry-gallery figure{grid-column:auto}}

.photo-context{margin-top:26px;padding:24px;background:#2c2821;border:1px solid #544b3b;font-size:19px;line-height:1.7}.photo-context h4{margin:0 0 18px;font-size:22px}.photo-context p{max-width:70ch;margin:0 auto 20px}.photo-context p:last-child{margin-bottom:0}.photo-context .context-sources{font-size:16px}

.three-photo-gallery>figure:last-child{grid-column:1/-1}

.portrait-row-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.portrait-row-gallery{grid-template-columns:1fr}}
