@font-face{font-family:ReaderFraunces;src:url('/fonts/text-layer/fraunces/fraunces-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:ReaderInter;src:url('/fonts/text-layer/inter/inter-latin.woff2') format('woff2');font-display:swap}
body.book-reader,body.book-index{background:var(--body-bg);color:var(--body-fg);font-family:ReaderInter,Arial,sans-serif;line-height:1.5;margin:0}
body.book-reader #background-scene{display:none}
body.book-reader #app-container,body.book-reader .chapter-container,body.book-reader .introduction-container,body.book-reader .guide-container,body.book-reader .closing-container{display:block;min-height:0;max-width:none;padding:0;background:none}
body.book-reader .content-card,body.book-reader article.content-card{display:block;max-width:65ch;margin:0 auto;padding:2rem 1.25rem 4rem;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;overflow:visible;color:var(--body-fg);font:400 18px/1.6 Georgia,'Times New Roman',serif;text-shadow:none}
body.book-reader .content-card::before,body.book-reader .content-card::after{display:none}
body.book-reader .content-card :is(p,li,blockquote,dd,dt){font-family:Georgia,'Times New Roman',serif;font-size:inherit;line-height:inherit;color:var(--body-fg);text-shadow:none;letter-spacing:normal}
body.book-reader .content-card p{margin:0 0 1.35em}
body.book-reader .content-card :is(h1,h2,h3,h4){font-family:ReaderFraunces,Georgia,serif;color:var(--body-fg);background:none;-webkit-text-fill-color:currentColor;text-shadow:none;box-shadow:none;letter-spacing:normal;text-transform:none;line-height:1.16;height:auto;filter:none}
body.book-reader .content-card h1{font-size:clamp(2rem,7vw,3rem);margin:.4rem 0 1rem}
body.book-reader .content-card h2{font-size:clamp(1.7rem,5vw,2.1rem);margin:2.7em 0 .7em}
body.book-reader .content-card h3{font-size:1.4rem;margin:2em 0 .6em}
body.book-reader .content-card h4{font-size:1.2rem;margin:1.5em 0 .6em}
body.book-reader .content-card :is(a,a:visited){color:var(--link);text-decoration:underline;text-underline-offset:.18em;text-shadow:none}
body.book-reader .content-card a:focus-visible,body.book-index a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
body.book-reader .content-card p a:not(.dossier-link){display:inline-block;padding-block:.2rem}
body.book-reader .content-card img{max-width:100%;height:auto}
/* A markdown image with no alt text (chapters 23 to 35) arrives as a bare <img> inside a <p>, with no content-image class; cap it the same way (2026-10-09: it ran 820px wide on a 390px phone). */
body.book-reader .content-card p>img:only-child{display:block;margin:1.3rem auto 2rem}
body.book-reader .content-card :is(figure,img.content-image){max-width:100%;height:auto;margin:1.3rem auto 2rem}
body.book-reader .content-card figure img{display:block;max-width:100%;height:auto;margin:auto}
body.book-reader .content-card figcaption{color:var(--muted-fg);font:14px/1.5 ReaderInter,Arial,sans-serif;text-align:center;margin:.5rem auto}
body.book-reader .content-card :is(.chapter-subtitle,.oracle-disclaimer){font-size:1em!important;line-height:1.6;opacity:1;margin:1rem 0 1.5rem}
body.book-reader .content-card :is(.case-file,.callout-box,.oracle-card,blockquote){background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--border);border-radius:2px;box-shadow:none;text-shadow:none;color:var(--surface-fg);max-width:100%;padding:1rem 1.1rem;margin:1.5rem 0;transform:none}
body.book-reader .content-card :is(.case-file,.callout-box,.oracle-card,blockquote) :is(p,li){color:var(--surface-fg);font-size:1em;line-height:1.55}
body.book-reader .content-card :is(.case-file,.callout-box,.oracle-card) :is(h3,h4,p.case-title){color:var(--surface-fg);font-family:ReaderFraunces,Georgia,serif;text-shadow:none}
body.book-reader .content-card .neon-divider,body.book-reader .content-card hr{border:0;border-top:1px solid var(--line);background:none;box-shadow:none;height:0;margin:2.25rem 0}
body.book-reader .content-card :is(pre,code){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--body-fg);text-shadow:none}
body.book-reader .content-card pre{font-size:.88rem;line-height:1.55;max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:2px}
body.book-reader .content-card pre:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
body.book-reader .content-card pre code{font-size:inherit;white-space:inherit;color:var(--surface-fg)}
body.book-reader .content-card .book-breadcrumb,body.book-reader .content-card .book-lead,body.book-reader .content-card .reader-nav,body.book-reader .content-card .reader-downloads{font-family:ReaderInter,Arial,sans-serif}
body.book-reader .content-card .book-breadcrumb{font-size:14px;line-height:1.5;color:var(--muted-fg);margin:0 0 1.25rem}
body.book-reader .content-card .book-breadcrumb a{min-height:44px;display:inline-flex;align-items:center}
body.book-reader .content-card .book-lead{font-size:18px;line-height:1.5;color:var(--body-fg);margin:0 0 1.25rem}
body.book-reader .content-card .reader-nav{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;border-top:1px solid var(--line);padding-top:1.5rem;margin-top:3rem;font-size:15px}
body.book-reader .content-card .reader-nav a,body.book-reader .content-card .reader-downloads a{min-height:44px;display:inline-flex;align-items:center}
body.book-reader .content-card .reader-downloads{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem;display:flex;flex-wrap:wrap;gap:1.5rem;font-size:14px}
body.book-reader .content-card .navigation-bar{display:none}
body.book-index main{max-width:75rem;margin:auto;padding:2rem 1.25rem 5rem}
body.book-index :is(h1,h2,h3){font-family:ReaderFraunces,Georgia,serif;line-height:1.15;font-weight:500}
body.book-index h1{font-size:clamp(2.2rem,7vw,4rem);margin:.2em 0}
body.book-index h2{font-size:clamp(1.7rem,4vw,2.3rem);margin:2.5rem 0 .7rem}
body.book-index h3{font-size:1.5rem;margin:0 0 .8rem}
body.book-index a{color:var(--link);text-underline-offset:.2em}
body.book-index .toc-intro{display:grid;grid-template-columns:minmax(110px,190px) 1fr;align-items:center;gap:clamp(1rem,4vw,3rem);border-bottom:1px solid var(--line);padding:1rem 0 2rem}
body.book-index .toc-intro img{display:block;max-width:100%;height:auto;border:1px solid var(--line)}
body.book-index .toc-intro p{font-size:clamp(1rem,2vw,1.15rem);max-width:55ch;line-height:1.55}
body.book-index .toc-intro .book-kicker{font:600 13px ReaderInter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-fg)}
body.book-index .reader-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--primary-bg);color:var(--primary-fg);border-radius:2px;padding:.6rem 1rem;text-decoration:none}
body.book-index .book-downloads{display:flex;gap:.5rem 1.5rem;flex-wrap:wrap;padding:1.1rem 0;border-bottom:1px solid var(--line)}
body.book-index .book-downloads a{min-height:44px;display:inline-flex;align-items:center}
body.book-index .toc-chapters{columns:2;column-gap:3rem;list-style:decimal-leading-zero;padding-left:2rem}
body.book-index .toc-chapters li{break-inside:avoid;border-bottom:1px solid var(--line);padding:.7rem .2rem;font-size:1rem}
body.book-index .toc-order > p a{min-height:44px;display:inline-flex;align-items:center}
body.book-index .toc-chapters a{min-height:44px;display:flex;align-items:center}
body.book-index .toc-movements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
body.book-index .toc-movements section{border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:2px;background:var(--surface);padding:1.25rem}
body.book-index .toc-movements p{line-height:2;margin:0}
body.book-index .toc-movements a{display:inline-block;padding:.15rem 0}
@media(min-width:700px){body.book-reader .content-card,body.book-reader article.content-card{font-size:19px;line-height:1.65;padding:3rem 1.5rem 5rem}}
@media(max-width:600px){body.book-reader .content-card :is(figure,img.content-image,p>img:only-child){max-width:min(100%,260px)}body.book-reader .content-card :is(img.content-image,p>img:only-child){max-height:260px;width:auto;object-fit:contain}body.book-reader .content-card figure img{max-height:210px;object-fit:contain}body.book-index .toc-intro{grid-template-columns:95px 1fr;align-items:start}body.book-index .toc-intro p{grid-column:1/-1}body.book-index .toc-chapters{columns:1}body.book-index .toc-movements{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
