@font-face{font-family:'Bodoni Moda';src:url('../fonts/bodoni-moda.woff2') format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:'Inter Tight';src:url('../fonts/inter-tight.woff2') format('woff2');font-weight:300 700;font-display:swap}
dialog.reader {border:0;padding:0;max-width:100vw;max-height:100dvh;}
.reader *{box-sizing:border-box;}
.reader button,.reader a{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-decoration:none;}
.reader .x-btn{width:36px;height:36px;font-size:28px;}
.reader button[hidden]{display:none;}
html.no-scroll{overflow:hidden;}
.reader { width: 100vw; height: 100dvh; margin: 0; background: #12110E; color: var(--paper); overflow: hidden; }
.reader[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; animation: fadeIn .45s var(--ease); }
.reader::backdrop { background: #12110E; }
@keyframes fadeIn { from { opacity: 0; } }
.rd-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px clamp(12px, 2vw, 24px); border-bottom: 1px solid var(--line-inv); }
.rd-id { display: flex; align-items: center; gap: 16px; min-width: 0; }
.rd-id img { height: 24px; width: auto; flex: none; }
.rd-id div { min-width: 0; }
.rd-ed { display: block; font: 600 10px/1 var(--f-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.rd-name { display: block; margin-top: 5px; font: italic 400 17px/1.1 var(--f-display); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-tools { display: flex; align-items: center; gap: 6px; }
.rd-count { margin-right: 8px; font: 500 13px/1 var(--f-sans); font-variant-numeric: tabular-nums; color: var(--muted-inv); white-space: nowrap; }
.rd-count b { color: var(--paper); font-weight: 600; }
.rd-btn { height: 40px; padding: 0 14px; display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; font: 600 11px/1 var(--f-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted-inv); transition: background .3s, color .3s; }
.rd-btn:hover, .rd-btn[aria-pressed="true"] { background: var(--ink-3); color: var(--paper); }
.rd-btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.rd-viewport { position: relative; display: grid; place-items: center; overflow: hidden; padding: 52px clamp(56px, 6vw, 96px) 62px; touch-action: pan-y; }
.rd-book { --n: 2; --r: .726; position: relative; aspect-ratio: calc(var(--n) * var(--r)); width: min(100%, calc((100dvh - var(--chrome, 236px)) * var(--n) * var(--r))); transition: transform .8s var(--ease-flip); }
.rd-book.shift-r { transform: translateX(-25%); }
.rd-book.shift-l { transform: translateX(25%); }
.rd-zoom { position: relative; width: 100%; height: 100%; perspective: 2800px; transition: transform .5s var(--ease); transform-origin: var(--zx, 50%) var(--zy, 50%); }
.rd-viewport.is-zoom .rd-zoom { transform: scale(2.4); cursor: zoom-out; }
.rd-zoom.fade-in { animation: fadeIn .45s var(--ease); }
.rd-zoom.slide-next { animation: slideNext .45s var(--ease); }
.rd-zoom.slide-prev { animation: slidePrev .45s var(--ease); }
@keyframes slideNext { from { transform: translateX(44px); opacity: 0; } }
@keyframes slidePrev { from { transform: translateX(-44px); opacity: 0; } }
.rd-cell { position: absolute; top: 0; bottom: 0; overflow: hidden; background: #26241F; box-shadow: 0 30px 70px -20px rgba(0,0,0,.7); cursor: pointer; }
.rd-cell img, .leaf .face img { position: absolute; top: 0; height: 100%; max-width: none; object-fit: cover; user-select: none; -webkit-user-drag: none; transition: filter .4s; }
.rd-cell img.lo, .leaf .face img.lo { filter: blur(5px); }
.rd-cell.sr::after, .rd-cell.sl::before { content: ""; position: absolute; top: 0; bottom: 0; width: 9%; pointer-events: none; z-index: 1; }
.rd-cell.sr::after { right: 0; background: linear-gradient(270deg, rgba(0,0,0,.28), rgba(0,0,0,.06) 45%, transparent); }
.rd-cell.sl::before { left: 0; background: linear-gradient(90deg, rgba(0,0,0,.3), rgba(255,255,255,.05) 35%, transparent); }
.rd-cell.is-empty { background: transparent; box-shadow: none; pointer-events: none; }
.rd-cell.is-empty::before, .rd-cell.is-empty::after { display: none; }
.leaf { position: absolute; top: 0; bottom: 0; z-index: 3; transform-style: preserve-3d; pointer-events: none; }
.leaf.fwd { transform-origin: left center; animation: flipF .85s var(--ease-flip) forwards; }
.leaf.bwd { transform-origin: right center; animation: flipB .85s var(--ease-flip) forwards; }
.leaf.unfold { animation-duration: .95s; }
.leaf .face { position: absolute; inset: 0; overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden; background: #26241F; }
.leaf .face.b { transform: rotateY(180deg); }
.leaf .face::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.leaf.fwd .face.f::after { background: linear-gradient(90deg, rgba(0,0,0,.3), transparent 30%); animation: shadeIn .85s var(--ease-flip) forwards; }
.leaf.fwd .face.b::after { background: linear-gradient(270deg, rgba(0,0,0,.3), transparent 30%); animation: shadeOut .85s var(--ease-flip) forwards; }
.leaf.bwd .face.f::after { background: linear-gradient(270deg, rgba(0,0,0,.3), transparent 30%); animation: shadeIn .85s var(--ease-flip) forwards; }
.leaf.bwd .face.b::after { background: linear-gradient(90deg, rgba(0,0,0,.3), transparent 30%); animation: shadeOut .85s var(--ease-flip) forwards; }
@keyframes flipF { to { transform: rotateY(-180deg); } }
@keyframes flipB { to { transform: rotateY(180deg); } }
@keyframes shadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes shadeOut { from { opacity: 1; } to { opacity: 0; } }
.rd-nav { position: absolute; top: 50%; z-index: 5; translate: 0 -50%; width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--line-inv); background: rgba(18,17,14,.6); font-size: 22px; transition: background .3s, color .3s, opacity .3s; }
.rd-nav:hover { background: var(--paper); color: var(--ink); }
.rd-nav:disabled { opacity: .2; pointer-events: none; }
.rd-nav.prev { left: clamp(6px, 1.4vw, 24px); }
.rd-nav.next { right: clamp(6px, 1.4vw, 24px); }
.rd-bottom { display: flex; align-items: center; gap: 18px; padding: 12px clamp(16px, 3vw, 40px) 16px; border-top: 1px solid var(--line-inv); }
.rd-bottom output { font: 500 12px/1 var(--f-sans); color: var(--muted-inv); font-variant-numeric: tabular-nums; min-width: 28px; }
.rd-scrub { flex: 1; appearance: none; height: 24px; background: transparent; cursor: pointer; }
.rd-scrub::-webkit-slider-runnable-track { height: 2px; background: linear-gradient(90deg, var(--gold) var(--p, 0%), var(--line-inv) var(--p, 0%)); }
.rd-scrub::-moz-range-track { height: 2px; background: var(--line-inv); }
.rd-scrub::-moz-range-progress { height: 2px; background: var(--gold); }
.rd-scrub::-webkit-slider-thumb { appearance: none; width: 16px; height: 16px; margin-top: -7px; border-radius: 50%; background: var(--paper); border: 3px solid var(--gold); }
.rd-scrub::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; background: var(--paper); border: 3px solid var(--gold); }
.rd-hint { font: 400 12px/1.3 var(--f-sans); color: var(--muted-inv); white-space: nowrap; }
.rd-panel { position: absolute; top: 0; right: 0; bottom: 0; z-index: 8; width: min(420px, 100%); display: flex; flex-direction: column; background: #1A1915; border-left: 1px solid var(--line-inv); transform: translateX(102%); transition: transform .5s var(--ease); }
.rd-panel.is-open { transform: none; box-shadow: -30px 0 60px rgba(0,0,0,.4); }
.rd-tabs { display: flex; gap: 6px; padding: 14px; border-bottom: 1px solid var(--line-inv); }
.rd-tabs .rd-btn { flex: 1; justify-content: center; }
.rd-panel-body { flex: 1; overflow: auto; padding: 8px 18px 24px; overscroll-behavior: contain; }
.rd-side { margin: 18px 6px 4px; font: 700 11px/1 var(--f-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
.rd-toc { list-style: none; margin: 0 0 8px; padding: 0; }
.rd-toc button { width: 100%; display: grid; grid-template-columns: 52px 1fr; gap: 3px 12px; padding: 13px 8px; text-align: left; border-bottom: 1px solid var(--line-inv); border-radius: 4px; transition: background .25s; }
.rd-toc button:hover, .rd-toc button.is-here { background: var(--ink-3); }
.rd-toc button.is-mark .t { color: var(--gold-hi); }
.rd-toc .n { grid-row: span 2; align-self: start; padding-top: 2px; font: 600 15px/1.2 var(--f-sans); font-variant-numeric: tabular-nums; color: var(--gold); }
.rd-toc .t { font: 500 18px/1.2 var(--f-display); font-variation-settings: "opsz" 14; }
.rd-toc .u { font: 400 13px/1.4 var(--f-sans); color: var(--muted-inv); }
.rd-toc-empty { padding: 16px 8px; color: var(--muted-inv); font-size: 14px; line-height: 1.5; }
.rd-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 12px; padding-top: 14px; }
.rd-grid button { text-align: center; font: 500 12px/1.3 var(--f-sans); color: var(--muted-inv); }
.rd-grid .mini { position: relative; display: block; margin: 0 auto 8px; height: 104px; aspect-ratio: calc(var(--n) * var(--r)); max-width: 100%; outline: 2px solid transparent; outline-offset: 3px; transition: outline-color .25s; }
.rd-grid .mini i { position: absolute; top: 0; bottom: 0; overflow: hidden; background: #26241F; }
.rd-grid .mini img { position: absolute; top: 0; height: 100%; max-width: none; object-fit: cover; }
.rd-grid em { font-style: normal; }
.rd-grid button:hover .mini, .rd-grid button.is-here .mini { outline-color: var(--gold); }
.rd-grid button.is-here { color: var(--gold-hi); }
.rd-chip { position: absolute; top: 10px; left: 50%; z-index: 6; translate: -50% 0; margin: 0; padding: 8px 14px; border-radius: 999px; background: rgba(18,17,14,.82); border: 1px solid var(--line-inv); font: 600 11px/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--paper); white-space: nowrap; pointer-events: none; }
.rd-chip.is-gate { color: var(--ink); background: var(--gold-hi); border-color: var(--gold-hi); }
.rd-chip[hidden], .rd-gate[hidden] { display: none; }
.rd-gate { position: absolute; bottom: 10px; left: 50%; z-index: 6; translate: -50% 0; display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 20px; border-radius: 999px; background: var(--paper); color: var(--ink); font: 700 12px/1 var(--f-sans); letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 12px 30px -8px rgba(0,0,0,.6); animation: nudge 2.4s var(--ease) infinite; }
.rd-gate.is-open { background: rgba(18,17,14,.82); color: var(--paper); border: 1px solid var(--line-inv); animation: none; }
@keyframes nudge { 0%, 70%, 100% { transform: translateX(0); } 80% { transform: translateX(6px); } 90% { transform: translateX(-2px); } }

/* Reader corrections, October 2026 */
.js .hero-title .ln > span,.js .covers { animation:none; opacity:1; transform:none; }
.rd-zoom { transition:none; transform-origin:center; }
.rd-viewport.is-zoom { touch-action:none; }
.rd-viewport.is-zoom .rd-zoom { cursor:grab; }
.reader button:focus-visible,.reader a:focus-visible { outline:2px solid #d7bb72;outline-offset:3px; }
.reader { --paper:#f3f0e8;--muted-inv:#bdb7aa;--ink-3:#292721;--gold:#b7984c;--gold-hi:#d7bb72;--line-inv:rgba(243,240,232,.2);--f-sans:'Inter Tight',Arial,sans-serif;--f-display:'Bodoni Moda',Georgia,serif;--ease:cubic-bezier(.22,1,.36,1);--ease-flip:cubic-bezier(.4,0,.2,1); }

.rd-stage {position:relative;min-height:0;overflow:hidden;}
.rd-viewport {width:100%;height:100%;min-height:0;overscroll-behavior:contain;}
.rd-book {width:min(100%,calc(var(--available-height, 65dvh) * var(--n) * var(--r)));}
.rd-panel[hidden] {display:none;}
.rd-panel {transform:none;top:0;bottom:0;max-width:100%;}
.rd-layout {display:flex;gap:2px;padding:3px;border:1px solid var(--line-inv);border-radius:20px;flex:none;}
.rd-layout button {padding:8px 10px;border-radius:16px;font:500 12px var(--f-sans);white-space:nowrap;}
.rd-layout button[aria-pressed="true"] {background:var(--paper);color:#161510;}
.rd-exit-fullscreen {display:none;}
.reader.is-fullscreen .rd-exit-fullscreen {display:block;position:absolute;right:max(10px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));z-index:20;padding:10px 14px;background:#181713dd;border:1px solid var(--line-inv);border-radius:20px;font:500 12px var(--f-sans);}
.rd-fold-hint {position:absolute;bottom:58px;left:50%;translate:-50% 0;z-index:6;pointer-events:none;background:#181713dd;border-radius:20px;padding:5px 10px;font:12px var(--f-sans);white-space:nowrap;}
.rd-fold-hint[hidden] {display:none;}
.rd-step {width:40px;height:40px;flex:none;font-size:22px!important;border-radius:50%;}
.rd-step:disabled {opacity:.25;}
.rd-bottom {gap:10px;padding-bottom:max(8px,env(safe-area-inset-bottom));}
.reader.is-reading {grid-template-rows:0 minmax(0,1fr) 0;}
.reader.is-reading .rd-top,.reader.is-reading .rd-bottom {visibility:hidden;pointer-events:none;overflow:hidden;padding:0;border:0;}
.reader.is-reading .rd-chip,.reader.is-reading .rd-gate,.reader.is-reading .rd-fold-hint {display:none;}
.reader.is-reading .rd-viewport {padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);}
@media(max-width:860px), (orientation:portrait) {
 .reader[open] {height:100dvh;max-height:100dvh;}
 .rd-nav {display:none;}
 .rd-top {padding:max(6px,env(safe-area-inset-top)) 8px 6px;gap:4px;display:block;}
 .rd-id {display:none;}
 .rd-tools {width:100%;display:flex;justify-content:space-between;gap:2px;flex-wrap:wrap;}
 .rd-tools .lbl,.rd-live,.rd-tools [data-rd="share"],.rd-tools [data-rd="zoom"] {display:none;}
 .rd-btn {padding:0 9px;height:40px;flex:none;}
 .rd-layout {margin:0 auto;}
 .rd-layout button {padding:8px;font-size:11px;min-height:32px;}
 .rd-count {font-size:11px;margin:0;}
 .rd-viewport {padding:32px 0 8px;}
 .has-fold .rd-viewport {padding-bottom:56px;}
 .has-fold .rd-viewport.is-gate-mobile {padding-bottom:90px;}
 .rd-viewport.is-gate-mobile {display:flex;justify-content:flex-start;align-items:center;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;}
 .rd-viewport.is-gate-mobile .rd-book {flex:none;width:calc(var(--available-height, 60dvh) * var(--n) * var(--r));max-width:none;}
 .rd-viewport.is-gate-mobile.is-zoom {touch-action:none;overflow:hidden;}
 .rd-chip {top:6px;font-size:9px;padding:6px 10px;max-width:95%;overflow:hidden;text-overflow:ellipsis;}
 .rd-gate {bottom:8px;height:40px;font-size:10px;animation:none;white-space:nowrap;}
 .rd-hint {display:none;}
 .rd-bottom {padding-left:8px;padding-right:8px;gap:6px;}
 .rd-scrub {min-width:0;}
 .rd-cell {box-shadow:none;}
 .reader.is-reading .rd-viewport {padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);}
}
@media(prefers-reduced-motion:reduce) {.reader * {animation:none!important;transition:none!important;}}

/* Override the home stylesheet's legacy reader rules. */
.reader .rd-stage {display:block;padding:0;touch-action:auto;}
.reader .rd-tools [data-rd="fs"] {display:inline-flex;}
.reader.is-reading .rd-book {width:min(100%,calc(var(--available-height, 90dvh) * var(--n) * var(--r)));}
.reader.is-reading .rd-viewport.is-gate-mobile .rd-book {width:calc(var(--available-height, 90dvh) * var(--n) * var(--r));}
.reader[open] {grid-template-columns:minmax(0,1fr);}
.reader .rd-top,.reader .rd-stage,.reader .rd-bottom {min-width:0;}
.reader .rd-id {flex:1;min-width:0;}
.reader .rd-tools {flex:none;}
.reader .rd-btn {font:600 11px/1 var(--f-sans);}
.reader .rd-top {gap:8px;}
@media(min-width:861px) and (orientation:landscape) {
 .reader .rd-tools {gap:3px;}
 .reader .rd-btn {padding:0 10px;}
 .reader .rd-bottom .rd-step {display:none;}
}
@media(min-width:861px) and (max-width:1150px) and (orientation:landscape) {
 .reader .rd-tools .lbl,.reader .rd-live {display:none;}
}

/* Preserve the entire gatefold artwork despite its narrower physical format. */
.reader.has-fold .rd-cell img,.reader.has-fold .leaf .face img {object-fit:contain;}
.rd-grid .mini img {object-fit:contain;}
