:root{color-scheme:light;--paper:#f5f0e5;--ink:#24302b;--muted:#697167;--line:#d4cbb7;--gold:#805d28;--wash:#e9e2d2;--indigo:#333766}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}button,select{font:inherit;color:inherit}button,summary,select{touch-action:manipulation}button,summary{cursor:pointer}a{color:var(--gold);text-underline-offset:4px}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{display:block;padding:15px;background:white}.masthead{max-width:1450px;margin:auto;padding:26px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.series{font:650 13px/1.6 system-ui,sans-serif;letter-spacing:2.5px;color:var(--ink);text-decoration:none}.series span{display:block;font-weight:400;font-size:10px;letter-spacing:3.7px}.masthead>p{font:12px/1.6 system-ui,sans-serif;text-align:right;color:var(--muted);margin:0}.masthead>p span{display:block;text-transform:uppercase;font-size:10px;letter-spacing:2px}main{max-width:1260px;margin:auto;padding:0 5vw}.intro{padding:45px 0 30px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.eyebrow{font:11px/1.5 system-ui,sans-serif;letter-spacing:2.1px;text-transform:uppercase;color:var(--gold);margin:0 0 10px}h1{font-weight:400;font-size:clamp(40px,5.3vw,70px);letter-spacing:-2px;line-height:1.08;margin:0 0 17px}.deck{font-size:20px;line-height:1.55;margin:0;color:var(--muted)}.chapter-meta{font:12px/1.8 system-ui,sans-serif;color:var(--muted);text-align:right;margin:0 0 3px;flex-shrink:0}.chapter-meta span{display:block;margin-top:12px;color:var(--gold)}.edition-note{font:12px/1.8 system-ui,sans-serif;border-block:1px solid var(--line);padding:12px 0;color:var(--muted)}.edition-note p{max-width:800px;margin-bottom:4px}.edition-note summary{color:var(--ink)}#chapter-reader{padding-top:24px;scroll-margin-top:20px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px}.view-switch{display:flex;gap:3px;border:1px solid var(--line);padding:3px;border-radius:4px}.view-switch button,#enlarge{border:0;background:none;padding:9px 13px;font:12px/1.5 system-ui,sans-serif;min-height:40px}.view-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-radius:2px}#enlarge{color:var(--gold)}.spread-heading{display:grid;grid-template-columns:1fr auto;padding:26px 0 15px;gap:4px 12px;align-items:end}.spread-heading .eyebrow{grid-column:1/-1;margin:0}.spread-heading h2{font-size:27px;font-weight:400;line-height:1.2;margin:0}.spread-heading #progress{font:12px/1.5 system-ui,sans-serif;margin:0;color:var(--muted)}#stage{outline:none;min-height:180px}.scene-panel{margin:0;position:relative;border:1px solid #514a3a;background:#e4dac3;overflow:hidden;isolation:isolate}.art-frame{position:relative;display:block;padding:0;border:0;width:100%;background:#d7cdb7;cursor:zoom-in}.art-frame img{width:100%;height:auto;display:block;aspect-ratio:var(--ratio,1.5);object-fit:contain}.lettering{position:absolute;z-index:2;left:3.2%;top:4%;max-width:52%;display:grid;gap:8px;pointer-events:none}.lettering.right{left:auto;right:3.2%}.copy{position:relative;background:rgba(252,248,237,.96);color:#2b302b;border:1px solid #766c55;padding:12px 17px;box-shadow:1px 2px 0 #3d342528;max-width:100%}.copy p{font-size:clamp(18px,1.85vw,23px);line-height:1.45;margin:0;text-wrap:pretty}.copy .speaker{display:block;font:650 9px/1.5 system-ui,sans-serif;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:5px;color:#645b47}.copy.inner{background:rgba(239,238,250,.97);color:var(--indigo);border-color:#707395;border-radius:3px 12px 3px 12px}.copy.inner p{font-style:italic}.copy.inner .speaker{color:var(--indigo)}.copy.speech{border-radius:14px 14px 14px 3px}.copy.speech:after{content:'';position:absolute;bottom:-9px;left:24px;width:15px;height:15px;background:#fcf8ed;border-right:1px solid #766c55;border-bottom:1px solid #766c55;transform:skewY(22deg) rotate(45deg);clip-path:polygon(0 0,100% 100%,0 100%)}.scene-panel>.scene-caption{position:absolute;right:12px;bottom:10px;color:#fff9e9;background:#18211bc9;padding:4px 7px;font:10px/1.5 system-ui,sans-serif;letter-spacing:1px;pointer-events:none}.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.page-grid .lettering{position:relative;inset:auto;max-width:none;gap:0;display:block}.page-grid .copy{box-shadow:none;border:0;border-top:1px solid #c6baa3;border-radius:0;min-height:75px;padding:13px 17px}.page-grid .copy p{font-size:18px}.page-grid .copy.speech:after{top:-9px;bottom:auto;left:28px;background:#fcf8ed;border:0;border-top:1px solid #c6baa3;border-left:1px solid #c6baa3;clip-path:none;transform:rotate(45deg)}.page-grid .scene-panel>.scene-caption{bottom:auto;top:10px}.reader-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;margin-top:18px;align-items:stretch}.reader-nav button,.reader-nav select,#restart,#retry{min-height:46px;border:1px solid var(--line);border-radius:3px;background:var(--wash);padding:10px 16px;font:13px/1.4 system-ui,sans-serif}.reader-nav label{min-width:0}.reader-nav select{width:100%;background:transparent;text-overflow:ellipsis}.reader-nav button:last-child{background:var(--ink);color:var(--paper)}#scene-dots{display:flex;gap:8px;justify-content:center;margin:20px 0 10px}#scene-dots button{min-width:40px;min-height:40px;background:none;border:1px solid var(--line);border-radius:50%;font:12px/1 system-ui,sans-serif}#scene-dots button[aria-current=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}#keyboard-hint{text-align:center;font:11px/1.7 system-ui,sans-serif;color:var(--muted);margin:8px 0 28px}#end-note{margin:35px 0;text-align:center;border-top:1px solid var(--line);padding:34px 15px}#end-note h2{font-size:32px;font-weight:400;line-height:1.25}#end-note p:not(.eyebrow){font-size:17px;line-height:1.7;color:var(--muted)}.transcript{border-top:1px solid var(--line);padding:22px 0;margin-top:20px}.transcript>summary{font:13px/1.6 system-ui,sans-serif;color:var(--gold)}#transcript{max-width:700px;margin:30px auto 10px;font-size:19px;line-height:1.85}#transcript em{color:var(--indigo)}footer{display:flex;flex-wrap:wrap;gap:14px 25px;justify-content:space-between;padding:30px 0 40px;border-top:1px solid var(--line);font:11px/1.8 system-ui,sans-serif;color:var(--muted)}dialog{width:min(1450px,96vw);max-width:none;max-height:94vh;border:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#111915e8}.dialog-bar{position:sticky;top:0;background:var(--paper);z-index:3;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 18px;font:13px/1.5 system-ui,sans-serif}.dialog-bar p{margin:0}.dialog-bar button{background:var(--wash);border:1px solid var(--line);padding:10px 14px;font:12px/1.5 system-ui,sans-serif}#full-art img{display:block;width:100%;height:auto}#error{padding:20px;border:1px solid #974a37;background:#f3e4d8}
@media(max-width:760px){main{padding:0 5vw}.masthead{padding:20px 5vw}.intro{padding-top:30px;display:block}.chapter-meta{display:none}.deck{font-size:18px}.toolbar{gap:4px}.view-switch button,#enlarge{font-size:11px;padding:8px}.spread-heading{padding-top:20px}.spread-heading h2{font-size:23px}.spread-heading #progress{font-size:10px}.lettering{position:relative;inset:auto!important;max-width:none;display:block;gap:0}.copy{border:0;border-top:1px solid #bcaf97;border-radius:0!important;box-shadow:none;padding:16px 18px;min-height:72px;background:#fcf8ed}.copy p{font-size:18px;line-height:1.55}.copy .speaker{font-size:9px}.copy.inner{background:#eeedf7}.copy.speech:after{top:-9px;bottom:auto;left:30px;clip-path:none;transform:rotate(45deg);background:#fcf8ed;border:0;border-top:1px solid #bcaf97;border-left:1px solid #bcaf97}.scene-panel>.scene-caption{bottom:auto;top:9px;right:9px}.reader-nav{gap:6px}.reader-nav button,.reader-nav select{font-size:11px;padding:10px 9px}.reader-nav select{min-width:0}.page-grid{grid-template-columns:1fr;gap:24px}.page-grid .copy p{font-size:18px}.page-grid .copy{padding:16px 18px}h1{letter-spacing:-1px}.transcript{margin-top:10px}#keyboard-hint{font-size:10px}#end-note h2{font-size:28px}}
.lettering.below{position:relative;inset:auto;max-width:none;display:block}.lettering.below .copy{border:0;border-top:1px solid #c6baa3;border-radius:0;box-shadow:none;padding:15px 22px}.lettering.below .copy.speech:after{top:-9px;bottom:auto;left:30px;clip-path:none;transform:rotate(45deg);border:0;border-top:1px solid #c6baa3;border-left:1px solid #c6baa3}.scene-panel:has(.lettering.below)>.scene-caption{top:10px;bottom:auto}
@media(min-width:761px){#stage:not(.page-grid) .lettering:not(.below) .copy.speech:after{right:-8px;left:auto;top:50%;bottom:auto;clip-path:none;transform:rotate(-45deg);border-top:0;border-left:0;border-right:1px solid #766c55;border-bottom:1px solid #766c55}}
.scene-panel[data-scene="07"]>.scene-caption{left:10px;right:auto;top:10px;bottom:auto}.page-grid .scene-panel{background:#fcf8ed}
.source-lead{border-left:2px solid var(--gold);padding:0 0 0 18px;margin:0 0 28px;font-size:17px;line-height:1.65;max-width:850px}.source-lead p{margin:0 0 9px}.source-lead a{font:12px/1.6 system-ui,sans-serif}.source-notes{max-width:800px;margin:26px auto 45px;scroll-margin-top:25px;font-size:17px;line-height:1.8}.source-notes h2{font-size:30px;font-weight:400;line-height:1.2;margin:0 0 22px}.source-notes h3{font:600 14px/1.5 system-ui,sans-serif;margin:28px 0 8px}.source-notes p{margin:0 0 18px}
.sign-label{position:absolute;left:44%;top:28%;width:48%;height:26%;transform:rotate(-6deg);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;pointer-events:none;color:#fff4cf;text-shadow:1px 1px 2px #332214;font-size:clamp(12px,1.8vw,25px);line-height:1.25}.sign-label strong{font-weight:500}.sign-label small{font-size:.76em;line-height:1.35;white-space:pre-line;margin-top:6px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.masthead,.intro,.toolbar,.edition-note,.reader-nav,#scene-dots,#keyboard-hint,.transcript,footer,#end-note,.spread-heading{display:none!important}main{max-width:none;padding:0}.page-grid{display:block}.scene-panel{break-inside:avoid;margin-bottom:15px}.lettering{position:relative!important;inset:auto!important;max-width:none}.copy{box-shadow:none}.copy p{font-size:12pt}}
