:root{--navy:#14233b;--paper:#fcfaf6;--ink:#18283d;--gold:#e4be70;--line:#d8d2c8;color-scheme:light}
*{box-sizing:border-box}
html{scroll-padding-top:112px}
body{margin:0;background:#e6e4df;color:var(--ink);font:16px/1.5 system-ui,-apple-system,sans-serif}
a{color:inherit;text-underline-offset:4px}
button,input,select{font:inherit}
button,a,select,input{touch-action:manipulation}
:focus-visible{outline:3px solid #95641d;outline-offset:3px}
.skip{position:fixed;z-index:20;top:-100px;left:12px;padding:10px 16px;background:white}
.skip:focus{top:12px}
.reader-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(20px,calc((100vw - 1240px)/2));background:var(--navy);color:white}
.brand{font:23px/1.1 Georgia,serif;text-decoration:none;white-space:nowrap}
.brand span{display:block;font:10px/1.8 system-ui;letter-spacing:.3em}
.back-link{font-size:14px;font-weight:650}
.reader-intro{text-align:center;padding:26px 20px 24px;background:var(--paper)}
.eyebrow{margin:0 0 7px;color:#80602e;font-size:11px;letter-spacing:.17em;font-weight:750}
h1{margin:0;font:clamp(30px,4vw,50px)/1.14 Georgia,serif}
.reader-intro p:last-child{margin:12px 0 0;font-size:17px}
.reader-controls{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 22px;padding:10px 18px;background:#f8f6f1;box-shadow:0 2px 8px #0002}
.volume-links{display:flex;align-items:center;gap:0;border:1px solid var(--navy);border-radius:4px;overflow:hidden}
.volume-links a{padding:10px 16px;min-height:44px;text-decoration:none;font-size:14px;font-weight:700}
.volume-links a[aria-current="page"]{background:var(--navy);color:white}
.language-control,.page-jump{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700}
.language-control select,.page-jump input{height:44px;border:1px solid #9c9b97;border-radius:4px;background:white;color:var(--ink);padding:7px 10px}
.language-control select{min-width:116px}
.page-jump input{width:70px}
.page-jump button{height:44px;padding:0 15px;border:0;border-radius:4px;background:var(--navy);color:white;font-weight:700;cursor:pointer}
.page-progress{font-size:13px;min-width:100px;text-align:center}
.reader-error{max-width:980px;margin:18px auto;padding:14px 20px;background:#fff3e0;border:1px solid #c99f5b}
.pages{width:100%;margin:0 auto;padding:18px 12px 56px}
.reader-page{width:fit-content;max-width:100%;margin:0 auto 42px;scroll-margin-top:105px}
.reader-page img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 170px);aspect-ratio:1775/2297;background:white;box-shadow:0 8px 28px #0003}
.reader-page figcaption{display:flex;justify-content:space-between;gap:20px;padding:10px 2px 0;color:#444;font-size:14px}
.reader-page figcaption a{font-weight:700}
.page-failed{min-height:200px;padding:30px;background:white;text-align:center}
.page-failed a{display:inline-block;margin-top:14px;font-weight:700}
.reader-end{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;padding:28px 20px 65px;background:var(--paper);font-weight:700}
@media(max-width:700px){html{scroll-padding-top:160px}.reader-header{padding:10px 14px}.brand{font-size:18px}.back-link{font-size:12px}.reader-intro{padding:22px 14px}.reader-intro p:last-child{font-size:14px}.reader-controls{gap:8px;padding:8px}.volume-links{width:100%;justify-content:center}.volume-links a{flex:1;text-align:center;padding:8px 5px;font-size:12px}.language-control,.page-jump{font-size:12px}.language-control select{min-width:100px}.page-progress{width:100%}.pages{padding:12px 6px 32px}.reader-page{margin-bottom:26px;scroll-margin-top:160px}.reader-page img{max-height:calc(100dvh - 210px)}.reader-page figcaption{font-size:12px}}
