:root{--bg:#f4f1e9;--bg-elevated:#fbfaf6;--bg-hover:#f1e8dc;--border:#d9d0c3;--text:#252421;--text-muted:#716c63;--text-dim:#aaa195;--accent:#b95f3d;--accent-hover:#8f432b;--serif:Georgia,'Iowan Old Style','Palatino Linotype',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
@media (prefers-color-scheme: dark){:root{--bg:#1d1c19;--bg-elevated:#272521;--bg-hover:#332c26;--border:#49423a;--text:#f2ede4;--text-muted:#b7ada0;--text-dim:#756c61;--accent:#df8761;--accent-hover:#f0a27e}}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");z-index:-1}
.site-header{max-width:1160px;margin:0 auto;border-bottom:1px solid var(--border);padding:1.4rem 2rem;background:var(--bg);box-shadow:0 8px 22px rgba(58,45,31,.08);display:flex;align-items:center;justify-content:space-between}
.site-header h1{font-family:var(--serif);font-size:1.35rem;font-weight:500;letter-spacing:-.02em}
.site-header h1::before{content:'\25D2';color:var(--accent);font-family:var(--sans);margin-right:.55rem;font-size:.9em}
.site-header h1 a{color:var(--text);text-decoration:none}
.site-header nav{display:flex;align-items:center;gap:1.6rem}
.site-header nav a{color:var(--text-muted);text-decoration:none;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;transition:color .15s}
.site-header nav a:hover{color:var(--accent)}
.main{max-width:740px;margin:0 auto;padding:2.5rem 1.5rem 6rem}
.chapter-header{padding:3rem 0 1rem;border-top:1px solid var(--border)}
.chapter-label{font-family:var(--sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:.35rem}
.chapter-title{font:500 clamp(2.5rem,6vw,4.7rem)/.98 var(--serif);letter-spacing:-.045em}
.prose{font-family:var(--serif);font-size:1.12rem;line-height:1.82;color:var(--text)}
.prose p{margin-bottom:1.25rem}
.prose h2{font-family:var(--sans);font-size:1.3rem;margin:2rem 0 1rem;font-weight:600}
.prose h3{font-family:var(--sans);font-size:1.1rem;margin:1.5rem 0 .75rem;font-weight:600}
.prose blockquote{border-left:3px solid var(--accent);margin:1.5rem 0;padding:.5rem 0 .5rem 1.25rem;color:var(--text-muted);font-style:italic}
.prose ul,.prose ol{margin:0 0 1.25rem 1.5rem}
.prose li{margin-bottom:.5rem}
.prose a{color:var(--accent)}
.prose code{background:var(--bg-elevated);padding:.15rem .4rem;border-radius:4px;font-size:.9em;font-family:'SF Mono',Monaco,monospace}
.prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}
.prose figure{margin:2rem auto;text-align:center}
.prose figure img{display:block;max-width:100%;height:auto;margin:0 auto}
.otp{margin:0 0 1.6rem;padding:1rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:0}
.otp-label{font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.55rem}
.otp ol{margin:0;padding-left:1.1rem;font-family:var(--sans);font-size:.86rem;line-height:1.75}
.otp a{color:var(--text-muted);text-decoration:none}
.otp a:hover{color:var(--accent)}
.chapter-toc{margin:1.2rem 0 1.6rem;padding:1.1rem 1.4rem;background:var(--bg-elevated);border:1px solid var(--border)}
.chapter-toc ol{margin:0;padding-left:1.2rem;font-family:var(--sans);font-size:.88rem;line-height:1.85}
.chapter-toc a{color:var(--text-muted);text-decoration:none}
.chapter-toc a:hover{color:var(--accent)}
.prose figure figcaption{margin-top:.6rem;font-family:var(--sans);font-size:.82rem;line-height:1.45;color:var(--text-muted);max-width:34rem;margin-left:auto;margin-right:auto}
.prose table{border-collapse:collapse;margin:0 0 1.25rem;font-family:var(--sans);font-size:.95rem}
.prose th,.prose td{border:1px solid var(--border);padding:.4rem .6rem;text-align:left}
.footnotes{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}
.footnotes ol{padding-left:1.5rem}
.footnotes li{margin-bottom:.5rem}
.footnote-ref{font-size:.75em;vertical-align:super}
.footnote-ref a{text-decoration:none}
.breadcrumb{margin:0 0 1.25rem;font-family:var(--sans);font-size:.82rem;line-height:1.5;color:var(--text-muted)}
.breadcrumb a{color:var(--text-muted);text-decoration:none}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .current{color:var(--text)}
.breadcrumb .crumb-sep{margin:0 .45rem;color:var(--text-dim)}
.volume-badge{display:inline-block;margin-right:.7rem;padding:.15rem .55rem;border:1px solid var(--accent);border-radius:999px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.volume-badge a{color:var(--accent);text-decoration:none}
.volume-chapter{margin-right:.45rem}
.section-title{font:500 clamp(1.8rem,4vw,3rem)/1.05 var(--serif);letter-spacing:-.035em;margin-bottom:.4rem}
.section-index{font-family:var(--sans);font-size:.8rem;color:var(--text-dim);margin:0 0 2rem}
.landing-intro{margin-top:1.6rem}
.hq-rating{margin:2.4rem 0 0;padding:1.1rem 1.4rem;background:var(--bg-elevated);border:1px solid var(--border)}
.hq-rating #hq-badge{margin:0 0 .5rem}
.hq-rating p{margin:0;font-family:var(--sans);font-size:.85rem;line-height:1.55;color:var(--text-muted)}
.hq-rating p em{color:var(--text-muted)}
.hq-rating p a{color:var(--accent)}
.section-nav{display:block}
.section-nav a{display:block;color:var(--accent);font-family:var(--serif);font-size:1rem;line-height:1.5;text-decoration:none;max-width:100%}
.section-nav a:hover{text-decoration:underline}
.section-nav a.next{text-align:right}
.section-nav .disabled{display:none}
.section-nav.top{margin:1.7rem 0 1.4rem;padding:1rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border)}
.section-nav.bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.chapter-nav{display:block;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.chapter-nav a{display:block;color:var(--accent);font-family:var(--serif);font-size:1.05rem;line-height:1.5;text-decoration:none;max-width:100%}
.chapter-nav a:hover{text-decoration:underline}
.chapter-nav a.next{text-align:right}
.chapter-nav .disabled{display:none}
footer{max-width:1160px;margin:0 auto;border-top:1px solid var(--border);background:transparent;padding:2.5rem 2rem;font-size:.85rem;color:var(--text-muted)}
.footer-inner{max-width:800px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.footer-inner a{color:var(--text-muted);text-decoration:none}
.footer-inner a:hover{color:var(--accent)}
.anchor{display:inline-flex;align-items:center;margin-left:.5rem;vertical-align:middle;opacity:0;color:var(--accent);text-decoration:none;transition:opacity .15s}
.anchor:hover{color:var(--accent-hover)}
.anchor svg{display:block;width:.85em;height:.85em}
.anchor .i-check{display:none}
.anchor .copied-label{display:none;margin-left:.35rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.03em;color:var(--accent)}
.anchor.copied{opacity:1}
.anchor.copied .i-link{display:none}
.anchor.copied .i-check{display:block}
.anchor.copied .copied-label{display:inline}
.section-title:hover .anchor,.chapter-title:hover .anchor,.prose h2:hover .anchor,.prose h3:hover .anchor,.prose h4:hover .anchor,.anchor:focus-visible{opacity:1}
@media (hover:none){.anchor{opacity:.5}}
@media (max-width:700px){.site-header{padding:1rem;gap:.45rem}.site-header h1{flex:0 0 auto;white-space:nowrap;font-size:1.05rem}.site-header nav{gap:.55rem;flex:1;justify-content:flex-end}.site-header nav a{font-size:.6rem;letter-spacing:.03em}.main{padding:1.5rem 1rem 4rem}footer{padding:2rem 1rem}.breadcrumb{font-size:.74rem}}
