@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/eb-garamond-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/eb-garamond-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/eb-garamond-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/eb-garamond-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color-scheme:dark;--ink:#131819;--paper:#f2efe8;--accent:#daa38b;--anchor-white:rgba(255,255,255,.55);--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-size:14px;-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-underline-offset:3px}button,a,input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.3;cursor:default}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.site-header{height:66px;position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #ffffff14;background:#131819;backdrop-filter:blur(18px)}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:10px;letter-spacing:.12em;font-weight:600}.wordmark i{font-style:normal;color:var(--accent);margin:0 10px}.brand-symbol{font-family:var(--reading-serif);font-size:22px;font-weight:400;width:30px;height:30px;border:1px solid #859389;display:grid;place-items:center}.header-right{display:flex;gap:26px;align-items:center;font-size:10px;letter-spacing:.1em}.edition{color:#95a49a}.header-right button{font-size:10px;border:0;border-left:1px solid #ffffff25;padding:6px 0 6px 22px;background:none}.header-right button span{margin-left:12px;color:#acb9af}.story-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px}.story-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:#c8876c}.reading-workspace{position:fixed;inset:66px 0 0;background:radial-gradient(ellipse at center,#26302c,#131819 80%)}
.reader-frame{position:absolute;top:20px;bottom:28px;left:7%;width:86%;border:0;background:transparent;box-shadow:none;border-radius:0;transition:left .56s var(--ease),width .56s var(--ease),height .56s var(--ease);overflow:hidden}.reader-frame:before,.reader-frame:after{content:'';position:absolute;left:0;right:0;z-index:5;pointer-events:none;height:64px}.reader-frame:before{top:0;background:linear-gradient(#101916e8,#10191650 40%,transparent)}.reader-frame:after{bottom:0;background:linear-gradient(transparent,#10191690 65%,#101916f5)}.reader-scroll{height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:none;padding:38px 38px 45px}.page-stack{max-width:880px;width:100%;margin:0 auto}.graphic-page{position:relative;width:100%;margin:0 0 22px;scroll-margin-top:35px}.graphic-page img{width:100%;height:auto;display:block;border:1px solid #ffffff16;box-shadow:0 12px 32px #0005}.page-number{position:absolute;bottom:8px;left:-23px;color:#778c7c;font-size:8px;letter-spacing:.1em;writing-mode:vertical-rl}/* Subject rings appear only on the hovered page; keyboard/touch remain usable. */
.reading-bubble{position:absolute;right:auto;z-index:7;display:block;width:38px;height:38px;min-width:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;transform:translate(-50%,-50%) scale(1);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .22s var(--ease)}
.reading-bubble:before{content:'';position:absolute;inset:7px;border:2.3px solid #17201bc9;border-radius:50%;background:rgba(255,255,255,.32);box-shadow:0 0 0 1px var(--anchor-white),0 1px 5px #0005;backdrop-filter:blur(1px)}
.reading-bubble:after{content:'';position:absolute;left:50%;top:50%;width:6px;height:6px;transform:translate(-50%,-50%);border-radius:50%;background:#17201bd9;box-shadow:0 0 0 1px #f7f3e952}
.graphic-page:hover .reading-bubble{opacity:.78;pointer-events:auto}.graphic-page .reading-bubble.active{opacity:1;pointer-events:auto}
.reading-bubble:hover,.reading-bubble:focus-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1.16)}
.reading-bubble.active:before{border-color:#17201bc9;background:rgba(255,255,255,.32);box-shadow:0 0 0 1px var(--anchor-white),0 1px 6px #0005}
.reading-bubble.active:after{background:#17201bd9}
@media(hover:none){.reading-bubble{opacity:.72;pointer-events:auto}}
.reader-end{text-align:center;font-size:11px;color:#93a292;line-height:1.9;padding:30px 10px 45px}.reader-end button{background:none;border:0;color:#d7b39a;padding:10px}.frame-hint{display:none;position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:.17em;color:#91a28f;pointer-events:none;z-index:6}.frame-hint span{margin:0 11px;color:#bea489}.reading-open .reader-frame{left:3%;width:47%}.reading-open .reader-scroll{padding-left:22px;padding-right:22px}.reading-open .frame-hint{font-size:6px;letter-spacing:.1em}.source-connector{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:12;overflow:visible;opacity:0;transition:opacity .25s}.source-connector.present{opacity:1}.source-connector path{fill:none;stroke:var(--anchor-white);stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:var(--trail-length,1800);stroke-dashoffset:var(--trail-length,1800);transition:stroke-dashoffset .72s var(--ease)}.source-connector.visible path{stroke-dashoffset:0}.source-connector circle{fill:var(--anchor-white)}
.source-panel{position:absolute;right:3%;top:20px;bottom:28px;width:43%;display:flex;flex-direction:column;background:var(--paper);color:#25352b;box-shadow:0 16px 70px #0005;border:1px solid #d8d8cb;border-radius:4px;opacity:0;transform:translateX(26px);clip-path:circle(0% at var(--reveal-x,0px) var(--reveal-y,190px));pointer-events:none;visibility:hidden;transition:transform .56s var(--ease),opacity .5s ease,clip-path .56s var(--ease),visibility .56s;color-scheme:light;z-index:15;overflow:hidden}.reading-open.panel-revealed .source-panel{opacity:1;transform:none;clip-path:circle(150% at var(--reveal-x,0px) var(--reveal-y,190px));pointer-events:auto;visibility:visible}.source-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 24px 18px;background:#f7f4ed;flex-shrink:0}.eyebrow{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#907358;margin:0 0 12px}.source-header h1{font-family:var(--reading-serif);font-size:29px;line-height:1.15;letter-spacing:-.035em;margin:0;font-weight:400}.icon-button{display:inline-grid;place-items:center;width:30px;height:30px;flex-shrink:0;border:0;background:none;border-radius:50%;font-size:22px;line-height:1}.icon-button:hover{background:#26382710}.source-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 24px;height:49px;flex-shrink:0;border-top:1px solid #1e382212;background:#f7f4ed}.tour-tabs{display:flex;gap:22px;height:100%}.tour-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:#75806d;font-size:11px;padding:0;display:flex;align-items:center;gap:7px}.tour-tabs button[aria-selected=true]{color:#263b29;border-bottom-color:#ad7656}.tour-tabs button span{font-size:8px;border:1px solid #546a452b;border-radius:15px;padding:2px 6px}.tour-tabs button[hidden]{display:none}.tour-position{display:flex;align-items:center;gap:2px}.tour-position>span{font-size:8px;font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-right:5px;color:#7f8b76}.tour-position button{font-size:17px;width:23px}.tour-progress{height:2px;background:#dadccd;flex-shrink:0}.tour-progress span{display:block;width:100%;height:100%;background:#b77d58;transform-origin:left;transform:scaleX(0)}.tour-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:none}.tour-inner{padding:28px 26px 40px}.source-entry{border-bottom:1px solid #2e482321;margin-bottom:36px;padding-bottom:36px;scroll-margin-top:25px}.entry-meta{display:flex;align-items:center;gap:10px;text-transform:uppercase;font-size:7px;letter-spacing:.1em;color:#829076;margin-bottom:17px}.entry-type{padding:4px 6px;border:1px solid #c3b297;color:#987659}.source-entry h3{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.02em;margin:0 0 20px}.provenance,.source-citation{font-size:10px;line-height:1.85;color:#6b7a60}.provenance{border-left:2px solid #b6a083;padding-left:13px;margin:0 0 22px}.source-citation{margin-top:24px}.source-entry blockquote{margin:0;font-family:var(--reading-serif);font-size:18px;line-height:1.85;overflow-wrap:break-word;color:#2d3d2d;letter-spacing:-.012em}.source-entry blockquote p{margin:0 0 1.25em;white-space:pre-line}.source-entry blockquote p:last-child{margin-bottom:0}.source-note{padding:15px;border-left:2px solid #ad755d;background:#e8e7dc;margin-top:25px;font-size:10px;line-height:1.8;color:#637358}.source-note a,.provenance a,.source-citation a{text-decoration-color:#a6af98}.archive-entry{margin:0 0 35px;padding:0 0 35px;border-bottom:1px solid #2e482321;scroll-margin-top:25px}.archive-image-button{display:flex;align-items:center;justify-content:center;position:relative;width:100%;border:1px solid #2e48231a;background:#e5e7da;padding:10px;cursor:zoom-in;min-height:110px}.archive-image-button img{display:block;width:auto;height:auto;max-width:100%;max-height:65svh}.image-expand-label{position:absolute;bottom:8px;right:8px;color:#f0eee0;background:#334b32d9;padding:5px 7px;border-radius:2px;font-size:8px}.archive-entry figcaption{margin-top:18px;font-family:var(--reading-serif);font-size:16px;line-height:1.7}.image-credit{font-size:9px;line-height:1.8;color:#77856b;margin-top:13px;overflow-wrap:anywhere}.image-credit a{margin-left:5px}.paired-figure{margin-top:30px;margin-bottom:0;border-bottom:0;padding-bottom:0}.source-footer{display:flex;align-items:center;justify-content:space-between;padding:15px 23px;background:#e9eade;border-top:1px solid #263b2118;flex-shrink:0}.source-footer button{border:0;padding:0;background:none;font-size:10px;color:#425a35}.source-footer>span{font-size:8px;color:#879477}.tour-end{text-align:center;padding:15px 0}.tour-end p{font-size:11px;color:#829175}.tour-end button{border:1px solid #a5b28f;background:#2e472e;color:#f0f3e8;padding:13px 20px;border-radius:3px;font-size:10px}
dialog{border:0;padding:0}dialog::backdrop{background:#080e0b9e;backdrop-filter:blur(7px)}.contents-dialog{position:fixed;inset:76px 22px auto auto;width:min(430px,calc(100vw - 30px));margin:0;background:#233128;border:1px solid #ffffff22;border-radius:4px;color:var(--paper);padding:26px;box-shadow:0 20px 80px #0008}.contents-top{display:flex;justify-content:space-between;align-items:center}.contents-top .eyebrow{color:#adb7a1}.contents-dialog nav{margin:18px 0 25px}.contents-dialog nav a{display:flex;align-items:center;gap:20px;text-decoration:none;font-size:15px;padding:20px 0;border-bottom:1px solid #ffffff20}.contents-dialog nav span{font-family:var(--reading-serif);font-style:italic;font-size:21px;color:#c69e7c}.contents-dialog nav i{font-style:normal;margin-left:auto;color:#9da98e}.contents-help{font-size:11px;line-height:1.9;color:#abb89d;margin:25px 0}.contents-dialog label{display:flex;gap:10px;align-items:center;font-size:11px}.contents-dialog input{accent-color:#bc8c69}.contents-foot{padding-top:22px;margin-top:25px;border-top:1px solid #ffffff20;color:#8c9c7d;font-size:9px}.image-viewer{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;background:#0e1616fa;color:var(--paper);padding:60px 25px 25px;overflow:hidden}.image-close{position:absolute;right:20px;top:15px;border:1px solid #ffffff35;border-radius:50%;width:35px;height:35px;background:#ffffff08;font-size:25px}.image-viewer-scroll{height:calc(100% - 90px);overflow:auto;display:flex;align-items:center;justify-content:center}.image-viewer-scroll img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in}.image-viewer-scroll.zoomed{display:block}.image-viewer-scroll.zoomed img{max-width:none;max-height:none;min-width:100%;height:auto;cursor:zoom-out}.image-viewer>p{max-width:900px;margin:17px auto 0;text-align:center;font-size:11px;line-height:1.7;color:#c1cdb6}
@media(min-width:1500px){.reading-open .reader-frame{left:5%;width:47%}.source-panel{right:5%;width:37%}.tour-inner{padding:35px}.source-header{padding:28px 35px 22px}.source-toolbar{padding:0 35px}.source-entry blockquote{font-size:20px}.provenance,.source-citation{font-size:11px}}
@media(max-width:1000px){.reader-frame{left:4%;width:92%}.reader-scroll{padding:32px 24px 45px}.reading-open .reader-frame{left:2%;width:44%}.source-panel{right:2%;width:49%}.reading-open .reader-scroll{padding-left:12px;padding-right:12px}.tour-inner{padding:24px 19px}.source-header{padding:23px 19px 16px}.source-header h1{font-size:25px}.source-toolbar{padding:0 19px}.source-entry blockquote{font-size:17px}.source-footer{padding:15px 19px}.reading-open .frame-hint{display:none}}
@media(max-width:650px){.site-header{height:56px;padding:0 14px}.wordmark{font-size:8px;letter-spacing:.05em;gap:8px}.brand-symbol{width:25px;height:25px;font-size:18px}.wordmark i{margin:0 5px}.edition{display:none}.header-right{gap:13px;font-size:8px}.header-right button{font-size:8px;padding-left:12px}.header-right button span{margin-left:7px}.reading-workspace{top:56px}.reader-frame{top:12px;bottom:14px;left:3%;width:94%}.reader-scroll{padding:24px 12px 35px}.reading-bubble{right:auto;min-width:38px;width:38px;height:38px;padding:0}.page-number{display:none}.frame-hint{font-size:5.5px;letter-spacing:.09em}.frame-hint span{margin:0 7px}.reader-frame:before,.reader-frame:after{height:40px}.graphic-page{margin-bottom:14px}.reading-open .reader-frame{left:3%;width:94%;height:32%;bottom:auto}.reading-open .reader-scroll{padding:18px 12px 20px}.source-panel{top:calc(32% + 30px);right:3%;width:94%;bottom:14px;transform:translateY(30px)}.source-header{padding:17px 18px 12px}.source-header .eyebrow{font-size:7px;margin-bottom:8px}.source-header h1{font-size:23px}.source-toolbar{height:41px;padding:0 18px}.tour-tabs button{font-size:10px}.tour-inner{padding:23px 22px}.source-entry blockquote{font-size:18px}.source-footer{padding:13px 18px}.contents-dialog{top:65px;right:12px;padding:23px}.image-viewer{padding:60px 12px 15px}.image-viewer-scroll{height:calc(100% - 105px)}.image-viewer>p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.reader-frame,.source-panel,.source-connector,.source-connector path,.bubble-label{transition:none!important}.reader-scroll,.tour-scroll{scroll-behavior:auto}}html.reduced-motion .reader-frame,html.reduced-motion .source-panel,html.reduced-motion .source-connector,html.reduced-motion .source-connector path{transition:none!important}html.reduced-motion .reader-scroll,html.reduced-motion .tour-scroll{scroll-behavior:auto}

/* The story has no visible outer container or scrollbar. */
.reader-scroll::-webkit-scrollbar{display:none;width:0;height:0}

.source-connector circle{opacity:0;transition:opacity .15s ease}.source-connector.visible circle{opacity:1;transition-delay:.72s}

/* Keep the artwork at one reading scale. Opening translates its viewport;
   a narrow layout stacks the document below instead of shrinking the page. */
:root{--art-frame-width:calc(min(880px,100vw - 520px) + 40px);--source-width:clamp(340px,100vw - var(--art-frame-width) - 96px,560px);--pair-left:calc((100vw - var(--art-frame-width) - var(--source-width) - 32px)/2)}
.reader-frame{left:calc((100vw - var(--art-frame-width))/2);width:var(--art-frame-width);height:calc(100% - 48px);bottom:auto}
.reader-scroll,.reading-open .reader-scroll{padding:38px 20px 45px}
.reading-open .reader-frame{left:var(--pair-left);width:var(--art-frame-width)}
.source-panel{right:var(--pair-left);width:var(--source-width)}
.tour-inner{max-width:760px;margin:0 auto}
@media(max-width:1100px){
 :root{--art-frame-width:min(960px,100vw - 40px)}
 .reader-frame,.reading-open .reader-frame{left:calc((100vw - var(--art-frame-width))/2);width:var(--art-frame-width)}
 .reading-open .reader-frame{height:38%;bottom:auto}
 .source-panel{left:calc((100vw - var(--art-frame-width))/2);right:auto;width:var(--art-frame-width);top:calc(38% + 36px);bottom:28px;transform:translateY(20px)}
 .frame-hint{display:none}
}
@media(max-width:650px){.reader-frame{height:calc(100% - 26px)}.reading-open .reader-frame{height:38%}.source-panel{bottom:14px}.reader-scroll,.reading-open .reader-scroll{padding:24px 20px 35px}}

/* Subtle dark glass for source reading, with a restrained type hierarchy. */
.source-panel{background:rgba(30,33,34,.91);color:#e3e5e6;border:1px solid rgba(235,242,230,.14);backdrop-filter:blur(18px) saturate(.9);box-shadow:0 18px 65px #0005;color-scheme:dark}
.source-header{background:rgba(255,255,255,.018)}
.source-header h1{color:#f2f3f3}
.source-panel .eyebrow{color:#a5adb0}
.source-toolbar{background:rgba(255,255,255,.018);border-color:#ffffff0d}
.tour-tabs button{color:#9ea7ab}
.tour-tabs button[aria-selected=true]{color:#f2f3f3;border-bottom-color:#dce5d18c}
.tour-tabs button span{color:#afb7bb;border-color:#dce5d130}
.tour-position>span{color:#a5adb0}
.source-panel .icon-button:hover{background:#ffffff0c}
.tour-progress{background:#e0e6d712}
.tour-progress span{background:#d0d6d99c}
.tour-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.source-entry,.archive-entry{border-bottom-color:#dce5d11c}
.entry-meta{color:#a2abae}
.entry-type{color:#bec5c8;border-color:#c5d1ba33;background:#ffffff02}
.source-entry h3{color:#e0e4e6}
.source-entry blockquote{color:#e6e8e9}
.provenance,.source-citation{color:#acb4b8}
.provenance{border-left-color:#94a28770}
.source-note{background:#ffffff05;border-left-color:#a6b39870;color:#c0c6c9}
.source-note a,.provenance a,.source-citation a{color:inherit;text-decoration-color:#c1cbb45c}
.source-panel a:hover{color:#f1f3f4;text-decoration-color:#f1f3f4b3}
.archive-image-button{background:#070e093b;border-color:#d4dfc81f}
.archive-entry figcaption{color:#d7dde0}
.image-credit{color:#adb7bd}

.source-footer{background:#ffffff03;border-top-color:#d6e2c918}
.source-footer button{color:#d9dfe2}
.source-footer>span{color:#9ca9b0}
.tour-end p{color:#a1adb4}
.tour-end button{background:#e5edd909;border-color:#c2d0b440;color:#e0e7eb}
.tour-end button:hover{background:#e5edd913}

/* Full-story contents remain usable without enlarging the reading interface. */
.contents-dialog{max-height:calc(100svh - 95px);overflow-y:auto;scrollbar-width:thin}.contents-dialog nav{max-height:calc(100svh - 365px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#758471 transparent}.contents-dialog nav a{font-size:12px;padding:13px 0}.contents-dialog nav a span{font-size:17px}.contents-dialog nav a[aria-current="page"]{color:#e3e5e6}
/* A plain title and neutral accents match the document reader. */
:root{--accent:#d0d6d99c;--progress-color:#d0d6d99c}
.wordmark{font-size:14px;font-weight:400;letter-spacing:0;line-height:1.4;display:block}
.story-progress span,.tour-progress span{background:var(--progress-color)}
#back-to-top{border:0;padding-left:0;color:#c4cacc;white-space:nowrap}
.contents-dialog nav span,.reader-end button{color:#c4cacc}
.contents-dialog input{accent-color:#b7bdc0}
@media(max-width:650px){.site-header{gap:12px}.wordmark{font-size:11px;max-width:170px}.header-right{gap:10px;flex-shrink:0;letter-spacing:.04em}.header-right button{padding-left:10px}.header-right button span{margin-left:4px}}
@media(max-width:390px){.site-header{padding:0 10px;gap:8px}.wordmark{max-width:145px}.header-right{gap:7px}.header-right button{padding-left:7px}}
#tour-close,#contents-close,#image-close{border:0;border-radius:0;background:transparent;transition:transform .18s ease;transform-origin:center}
#tour-close:hover,#contents-close:hover,#image-close:hover{background:transparent;transform:scale(1.14)}
@media(prefers-reduced-motion:reduce){#tour-close,#contents-close,#image-close{transition:none}}
html.reduced-motion #tour-close,html.reduced-motion #contents-close,html.reduced-motion #image-close{transition:none}
.image-viewer-scroll{position:relative;display:block;overflow:hidden;touch-action:none;user-select:none}
.image-viewer-scroll img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;min-width:0;object-fit:contain;cursor:default;-webkit-user-drag:none;user-select:none}
.image-viewer-scroll.can-pan,.image-viewer-scroll.can-pan img{cursor:grab}
.image-viewer-scroll.dragging,.image-viewer-scroll.dragging img{cursor:grabbing}
/* Preserve the complete Fort Fisher originals inside an even archival mat. */
.archive-entry:is([data-id="V02"],[data-id="V35"],[data-id="V36"]) .archive-image-button{background:#fff;padding:18px;border:0;width:fit-content;max-width:100%;margin-inline:auto}
.archive-entry:is([data-id="V02"],[data-id="V35"],[data-id="V36"]) .archive-image-button img{max-width:100%;height:auto;object-fit:contain}
.image-viewer.archival-mat .image-viewer-scroll img{box-sizing:content-box;border:18px solid #fff}
div.archive-image-button,div.archive-image-button img{cursor:default}

/* EB Garamond is bundled locally under the SIL Open Font License. */
:root{--reading-serif:"EB Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif}
.source-header h1{letter-spacing:-.015em}
.source-entry blockquote{letter-spacing:0}

/* Reader titles use the interface sans-serif in bold. */
.source-header h1{font-family:Inter,"Segoe UI",Arial,sans-serif;font-weight:700;letter-spacing:-.02em}
.note-citation{margin-top:10px}
/* Artwork language switch (page images only) */
.header-right .lang-switch{display:flex;align-items:center;gap:2px;border:1px solid #ffffff25;border-radius:999px;padding:2px}
.header-right .lang-switch button{border:0;border-radius:999px;padding:4px 9px;font-size:10px;letter-spacing:.08em;color:#acb9af;background:none;cursor:pointer;line-height:1}
.header-right .lang-switch button[lang=zh-Hans]{letter-spacing:0}
.header-right .lang-switch button:hover{color:#f2efe8}
.header-right .lang-switch button[aria-pressed=true]{background:#f2efe8;color:#131819}
.header-right .lang-switch button:focus-visible{outline:2px solid #daa38b;outline-offset:1px}
@media(max-width:650px){.header-right .lang-switch button{padding:4px 6px;font-size:8px}}
@media(max-width:480px){#back-to-top{display:none}}

/* Contents pop-up: single scroll area with a progress bar instead of scrollbars (2026-11-12) */
.contents-dialog{overflow:hidden}
.contents-dialog[open]{display:flex;flex-direction:column}
.contents-dialog>*{flex-shrink:0}
.contents-progress{height:2px;margin-top:18px;background:#e0e6d712}
.contents-progress span{display:block;width:100%;height:100%;background:var(--progress-color);transform-origin:left;transform:scaleX(0)}
.contents-progress.is-static{visibility:hidden}
.contents-dialog nav{flex:1 1 auto;min-height:0;max-height:none;margin:0 0 25px;overflow-y:auto;scrollbar-width:none}
.contents-dialog nav::-webkit-scrollbar{display:none}
