/* Standalone book reader. No game styles or runtime dependencies. */
:root{color-scheme:light;--paper:#f5f0e5;--ink:#262b30;--muted:#636970;--line:#d5d1c8;--accent:#087870;--night:#080b14;--cyan:#38dfd2;--reading-size:20px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}
a{color:var(--accent);text-underline-offset:4px}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.skip{position:fixed;top:8px;left:-9999px;z-index:20;background:var(--paper);padding:10px}
.skip:focus{left:12px}
.site-header{min-height:70px;position:sticky;top:0;z-index:10;background:var(--night);color:#e9efff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid #222a44}
.site-header a{color:#c4d0e7;text-decoration:none;white-space:nowrap}
.site-header .wordmark{font:600 20px Georgia,serif;color:#e9efff}
.wordmark em,.site-header a[aria-current]{color:var(--cyan)}
.site-header nav{display:flex;gap:24px;font-size:14px}
.site-header a:hover{color:var(--cyan)}
.site-header :focus-visible{outline-color:var(--cyan)}
.book-cover{max-width:1000px;margin:auto;padding:88px 32px 76px;text-align:center}
.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:600;color:var(--accent)}
.book-cover h1{font:400 clamp(64px,8vw,108px)/.94 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin:35px 0 28px}
.book-cover h1 em{font-weight:400;color:var(--accent)}
.cover-line{font:italic 22px/1.5 Georgia,serif;margin:0 0 22px}
.cover-copy{max-width:530px;margin:0 auto 22px;color:var(--muted);font-size:16px}
.book-details{font-size:12px;letter-spacing:.04em;color:var(--muted)}
.book-details span{margin:0 10px}
.cover-actions{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px;font-size:14px}
.start-link{background:var(--ink);color:var(--paper);padding:12px 24px;text-decoration:none;border-radius:3px}
.reader-toolbar{position:sticky;top:70px;z-index:9;min-height:58px;padding:10px 28px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;font-size:13px}
.reader-toolbar>a{font-weight:600}
.reader-toolbar p{margin:0;color:var(--muted);flex:1}
.enhanced-controls{display:flex;gap:8px}
.enhanced-controls button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:6px 10px;min-width:38px;min-height:36px;border-radius:3px}
.enhanced-controls button:hover{border-color:var(--accent);color:var(--accent)}
.enhanced-controls button:disabled{opacity:.4;cursor:default}
.reading-layout{display:grid;grid-template-columns:260px minmax(0,690px);gap:70px;max-width:1150px;margin:auto;padding:54px 32px 70px;align-items:start}
.contents{position:sticky;top:151px;max-height:calc(100vh - 176px);overflow-y:auto;padding:0 20px 8px 0;scroll-margin-top:146px;scrollbar-width:thin}
.contents h2{font:400 25px Georgia,serif;margin:0 0 24px}
.contents ol{list-style:none;margin:0;padding:0}
.contents-part{margin-bottom:24px}
.contents-part>span{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.09em;font-weight:650;color:var(--muted);margin-bottom:10px}
.contents li li{margin:5px 0}
.contents a{display:flex;gap:10px;text-decoration:none;font-size:12px;line-height:1.55;padding:5px 0;color:var(--muted)}
.contents a>span{font-variant-numeric:tabular-nums;color:var(--accent)}
.contents a:hover,.contents a[aria-current]{color:var(--accent);text-decoration:underline}
.edition-note{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:11px}
.manuscript{min-width:0}
.chapter{padding:15px 0 72px;scroll-margin-top:144px}
.chapter+.chapter{border-top:1px solid var(--line);padding-top:66px}
.part-label{font:italic 17px/1.5 Georgia,serif;color:var(--muted);margin:0 0 46px}
.chapter-heading{text-align:center;margin:0 0 42px}
.chapter-heading h2{font:400 clamp(28px,3.4vw,38px)/1.17 Georgia,serif;letter-spacing:-.02em;margin:18px 0 0}
.prose{font:400 var(--reading-size)/1.8 Georgia,"Times New Roman",serif;overflow-wrap:break-word}
.prose p{margin:0;text-indent:1.3em}
.prose p:first-child{text-indent:0}
.chapter-nav{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:12px}
.chapter-nav>a{max-width:43%}
.chapter-nav>a:last-child{text-align:right}
.chapter-nav>span{color:var(--muted);white-space:nowrap}
.the-end{text-align:center;font:italic 25px Georgia,serif;margin:0 0 45px}
.book-footer{text-align:center;border-top:1px solid var(--line);padding:40px 24px;font-size:13px}
.book-footer p,.book-footer small{color:var(--muted)}
html[data-theme="night"]{color-scheme:dark;--paper:#101623;--ink:#dce2ee;--muted:#a0acc0;--line:#2e384a;--accent:#6be6db}
@media(max-width:1000px){.reading-layout{gap:35px;grid-template-columns:220px minmax(0,1fr);padding-inline:24px}}
@media(max-width:760px){
 .site-header{padding:15px 20px;gap:12px;flex-wrap:wrap;position:relative}
 .site-header nav{gap:18px;font-size:13px}
 .book-cover{padding:58px 24px}
 .cover-line{font-size:20px}
 .cover-actions{gap:20px}
 .reader-toolbar{top:0;gap:12px;padding:10px 16px;flex-wrap:wrap}
 .reader-toolbar p{display:none}
 .enhanced-controls{margin-left:auto}
 .reading-layout{display:block;padding:32px 24px 30px}
 .contents{position:static;max-height:none;margin-bottom:44px;padding:0;scroll-margin-top:90px}
 .contents nav>ol{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
 .contents a{font-size:13px;padding:7px 0}
 .chapter{scroll-margin-top:86px}
 .prose{line-height:1.75}
 .part-label{margin-bottom:35px}
}
@media(max-width:400px){.contents nav>ol{display:block}.site-header nav{gap:14px}.reader-toolbar{font-size:12px}.enhanced-controls{gap:5px}.enhanced-controls button{padding:7px}.book-details span{margin:0 5px}}
@media print{
 .site-header,.reader-toolbar,.contents,.cover-actions,.chapter-nav,.skip,.book-footer{display:none!important}
 :root,html[data-theme="night"]{--paper:#fff;--ink:#000;--muted:#333;--accent:#000;--reading-size:11pt}
 .book-cover{break-after:page;padding-top:1.5in}
 .reading-layout{display:block;padding:0;max-width:none}
 .chapter,.chapter+.chapter{break-before:page;border:0;padding:0}
 .prose{line-height:1.5}.prose p{orphans:2;widows:2}.chapter-heading{break-after:avoid}
}
