.reader-body{margin:0;background:#e9e4d9;color:#1a1a1a;min-height:100dvh}.reader-header{height:70px;background:#1a1a1a;color:#f0f0f0;display:flex;align-items:center;gap:30px;padding:10px 24px}.reader-brand{text-decoration:none;font-size:27px;font-weight:900;letter-spacing:-.05em;line-height:.9}.reader-brand span{display:block;color:#ffd900}.reader-heading{flex:1;min-width:0}.reader-heading>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#ffd900}.reader-heading h1{font-size:20px;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;letter-spacing:0}.reader-header button{display:none}.reading-room{display:grid;grid-template-columns:minmax(0,1fr) 250px;height:calc(100dvh - 70px);max-width:none;margin:auto}.reading-desk{position:relative;padding:10px 12px;display:flex;flex-direction:column;min-width:0;background:radial-gradient(ellipse at center,#f6f1e5,#d9d1c1);min-height:0}.reader-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}.reader-stage:before{content:"";position:absolute;width:80%;height:80%;border-radius:30%;background:#00000010;filter:blur(35px);z-index:-1;transform:translateY(20px)}#book-mount{position:relative}.paper{background:#fff;box-shadow:inset 0 0 1px #aaa;overflow:hidden;position:relative}.paper canvas{display:block;width:100%;height:100%;background:white;pointer-events:none}.paper:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#00000006,transparent 6%,transparent 95%,#0000000a)}.stf__parent{filter:drop-shadow(0 16px 16px #00000030)}.reader-loading{position:absolute;z-index:4;padding:18px 25px;background:#1a1a1a;color:#ffd900;border-radius:10px;font-size:13px}.reader-loading[hidden]{display:none}.reader-controls{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:15px;min-height:46px;flex-wrap:wrap}.reader-controls button,.reader-controls a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b8b0a2;background:#ffffffb0;color:#1a1a1a;border-radius:8px;min-width:42px;min-height:40px;padding:6px 12px;font:inherit;font-size:13px;text-decoration:none;cursor:pointer}.reader-controls button:hover:not(:disabled){background:#ffd900}.reader-controls button:disabled{opacity:.35;cursor:default}#reader-pages{font-size:12px;min-width:100px;text-align:center}.reader-jump{display:flex;align-items:center;gap:6px;font-size:11px}.reader-jump input{width:55px;padding:8px;border:1px solid #b8b0a2;border-radius:8px;font:inherit}.reader-help{text-align:center;font-size:11px;color:#5b574e;margin:10px 0 0}.issue-archive{padding:28px 20px;background:#1a1a1a;color:#f0f0f0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid #ffffff18}.archive-header{display:flex;justify-content:space-between;align-items:center}.archive-header h2{font-size:30px}.archive-header .eyebrow{font-size:9px;color:#ffd900;margin-bottom:8px}.archive-header button{display:none}.archive-intro{font-size:12px;color:#d3d4d6;margin:15px 0 28px}.issue-stack{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:15px 8px 90px 28px;margin-left:-20px;scrollbar-width:thin;scrollbar-color:#666 transparent}.stack-issue{position:relative;display:flex;align-items:center;text-align:left;gap:12px;width:100%;height:150px;border:1px solid #4b4b4b;border-radius:7px;background:#303030;color:white;padding:12px;cursor:pointer;box-shadow:0 -3px 10px #00000030;transition:transform .25s,background .25s,border-color .25s;font:inherit;isolation:isolate}.stack-issue+.stack-issue{margin-top:-75px}.stack-issue:nth-child(even){transform:rotate(1.5deg)}.stack-issue:nth-child(3n){transform:rotate(-1deg)}.stack-issue:hover,.stack-issue:focus-visible{transform:translate(-18px,-14px) rotate(-3deg);z-index:20;background:#424242;border-color:#ffd900}.stack-issue[aria-pressed=true]{border-color:#ffd900;background:#3b361a}.stack-cover{flex:0 0 78px;height:110px;position:relative;background:#ffd900;overflow:hidden;border-radius:3px}.stack-cover canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;background:transparent}.cover-placeholder{font-size:19px;font-weight:900;letter-spacing:-.07em;line-height:.9;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#1a1a1a}.stack-copy{display:flex;flex-direction:column;gap:8px;min-width:0;align-self:flex-start;padding-top:2px}.stack-copy strong{font-size:13px;color:#ffd900;white-space:nowrap}.stack-copy>span{font-size:11px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.stack-copy small{font-size:9px;color:#d3d4d6}.archive-old{font-size:11px;color:#d3d4d6;margin-top:18px}.reader-empty{margin:auto;max-width:650px;padding:30px}.reader-empty h2{margin:25px 0}.reader-empty p{margin:20px 0}.pdf-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#reader-error{font-size:13px;padding:15px;background:#fff5d4;border-radius:8px;margin:10px 0}.reader-body:fullscreen .reading-room{height:calc(100dvh - 70px)}
@media(max-width:899px){.reader-header{height:66px;padding:10px 14px;gap:14px}.reader-brand{font-size:21px}.reader-heading h1{font-size:14px}.reader-heading>span{font-size:9px}.reader-header button{display:inline-flex;gap:8px;padding:10px;border:1px solid #777;background:transparent;border-radius:8px;color:#ffd900;font:inherit;font-size:12px}.reading-room{display:block;height:calc(100dvh - 66px)}.reading-desk{height:100%;padding:7px 8px max(8px,env(safe-area-inset-bottom));background:#ded9cd}.reader-stage:before{display:none}.reader-controls{gap:8px;margin-top:7px;flex-wrap:nowrap}.reader-controls button,.reader-controls a{padding:5px 8px;min-width:36px;min-height:40px;font-size:12px}#reader-pages{min-width:85px;font-size:11px}.reader-jump{display:none}.reader-help{display:none}.issue-archive{position:fixed;inset:66px 0 0;z-index:30;display:none;border:0;padding:24px 22px}.issue-archive.is-open{display:flex}.archive-header button{display:block;background:transparent;color:white;border:1px solid #777;border-radius:8px;padding:5px 13px;font-size:25px}.archive-intro{margin-bottom:20px}.issue-stack{padding:0; margin:0}.stack-issue,.stack-issue:nth-child(even),.stack-issue:nth-child(3n){height:145px;transform:none;margin:0 0 14px;width:100%}.stack-issue:hover,.stack-issue:focus-visible{transform:none}.stack-copy>span{font-size:14px}.stack-copy strong{font-size:16px}.reader-body:fullscreen .reading-room{height:calc(100dvh - 66px)}.mobile-page{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mobile-page canvas{box-shadow:0 3px 14px #00000020;background:white}.reader-empty{padding:25px}.reader-loading{max-width:90%;font-size:12px}}
@media(prefers-reduced-motion:reduce){.stack-issue{transition:none}.stack-issue:hover,.stack-issue:focus-visible{transform:none}}

/* Explicit book dimensions keep both pages inside the stage. Images retain pixels when the flip library clones a page. */
.paper canvas{display:none}.paper img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;background:white;pointer-events:none}.reader-controls{flex-shrink:0}.reader-help{flex-shrink:0}.stf__wrapper,.stf__block{width:100%;height:100%}

/* The reading area is bounded by the viewport; flip pages never participate in document flow. */
.reader-body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.reader-header{flex:0 0 70px}.reading-room{flex:1 1 0;width:100%;height:auto;min-height:0}.reading-desk{overflow:hidden}.reader-stage{flex:1 1 0;overflow:hidden}#book-mount{flex:none}.paper.stf__item{position:absolute}.paper img{position:absolute;inset:0;object-fit:contain}.reader-body:fullscreen .reading-room{height:auto}@media(max-width:899px){.reader-header{flex-basis:66px}.reading-room{height:auto}}

/* Shared site navigation stays above the reader; flex layout reserves its actual height. */
.reader-body>.site-header{flex:none;color:#f0f0f0;width:100%}
.reader-header{height:54px;flex-basis:54px}
.reader-brand{font-size:21px}
@media(max-width:899px){.reader-header{height:50px;flex-basis:50px}.issue-archive{inset:0}.reader-body>.site-header .header-inner{position:relative}}

/* The same complete footer follows the viewport-sized reading area on every page. */
.reader-body{height:auto;min-height:100dvh;overflow-y:auto;overflow-x:hidden}
.reader-body>.reading-room{flex:none;height:calc(100dvh - 154px);min-height:380px}
.reader-body>.site-footer{flex:none;background:#1a1a1a;color:#f0f0f0}
.reader-body:fullscreen>.site-footer{display:none}
.reader-body:fullscreen>.reading-room{height:calc(100dvh - 154px)}
@media(max-width:899px){.reader-body>.reading-room,.reader-body:fullscreen>.reading-room{height:calc(100dvh - 150px)}}

/* Compact searchable archive: stable rows keep every edition reachable in a large collection. */
.archive-intro{margin:12px 0}.archive-filters{display:grid;gap:10px;margin-bottom:8px}.archive-filters label{display:grid;gap:4px;font-size:11px;color:#d3d4d6}.archive-filters input,.archive-filters select{min-width:0;width:100%;padding:9px 10px;background:#303030;color:#f0f0f0;border:1px solid #666;border-radius:6px;font:inherit;font-size:13px}.archive-filters :focus-visible{outline:2px solid #ffd900;outline-offset:2px}.archive-count{font-size:11px;color:#d3d4d6;margin:4px 0 10px}.issue-stack{padding:12px 8px 25px 14px;margin-left:-10px;overscroll-behavior:contain}.stack-issue,.stack-issue:nth-child(even),.stack-issue:nth-child(3n){height:116px;transform:none;padding:9px;gap:10px}.stack-issue+.stack-issue{margin-top:9px}.stack-issue:hover,.stack-issue:focus-visible{transform:translateX(-6px);z-index:2;border-color:#ffd900;background:#424242}.stack-issue[hidden]{display:none}.stack-cover{flex-basis:60px;height:86px}.stack-copy{gap:5px}.stack-copy>span{-webkit-line-clamp:2}.reader-loading{display:grid;gap:9px;min-width:220px;max-width:90%;text-align:center}.reader-loading progress{width:100%;height:6px;accent-color:#ffd900}.reader-loading progress::-webkit-progress-bar{background:#555;border-radius:5px}.reader-loading progress::-webkit-progress-value{background:#ffd900;border-radius:5px}#reader-progress-detail{font-size:11px;color:#ddd;font-variant-numeric:tabular-nums;min-height:1em}
@media(max-width:899px){.archive-filters{grid-template-columns:minmax(0,2fr) minmax(90px,1fr)}.issue-stack{margin:0;padding:8px}.stack-issue,.stack-issue:nth-child(even),.stack-issue:nth-child(3n){height:116px;margin:0 0 10px}.stack-copy strong{font-size:14px}.stack-copy>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.stack-issue:hover,.stack-issue:focus-visible{transform:none}}
