:root{--bg:#07090e;--surface:#0d1219;--border:#1c2840;--text:#dedad0;--muted:#7a8a9e;--faint:#3d4e63;--accent:#1a6399;--accent-b:#2d87c8;}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'EB Garamond',Georgia,serif;-webkit-font-smoothing:antialiased;}
.rnav{position:fixed;inset:0 0 auto 0;z-index:100;height:56px;padding:0 2rem;display:flex;align-items:center;gap:1.5rem;background:rgba(7,9,14,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.rnav-back{font-family:'Inter',sans-serif;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;white-space:nowrap;}
.rnav-back:hover{color:var(--text);}
.rnav-tabs{display:flex;margin-left:auto;}
.rnav-tabs a{font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:.42rem 1rem;border:1px solid var(--border);margin-left:-1px;transition:color .2s,background .2s;}
.rnav-tabs a:hover{color:var(--text);}
.rnav-tabs a.active{color:var(--text);background:var(--surface);}
.rlayout{display:grid;grid-template-columns:252px 1fr;min-height:100vh;padding-top:56px;}
.rsidebar{position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto;padding:2.5rem 1.25rem 2.5rem 1.5rem;border-right:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
.rsidebar::-webkit-scrollbar{width:4px;}
.rsidebar::-webkit-scrollbar-track{background:transparent;}
.rsidebar::-webkit-scrollbar-thumb{background:var(--border);}
.sidebar-label{font-family:'Inter',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:1.5rem;display:block;}
.toc-link{display:block;padding:.4rem 0 .4rem .75rem;margin-left:-.75rem;text-decoration:none;border-left:2px solid transparent;transition:border-color .2s;}
.toc-link.active{border-left-color:var(--accent);}
.toc-num{display:block;font-family:'Inter',sans-serif;font-size:.88rem;letter-spacing:.08em;color:#1e72aa;margin-bottom:.25rem;font-weight:600;}
.toc-title{display:block;font-family:'Inter',sans-serif;font-size:.92rem;line-height:1.55;color:#3a78a8;transition:color .2s;}
.toc-link:hover .toc-title,.toc-link.active .toc-title{color:var(--text);}
.rmain{padding:4rem 4rem 10rem;}
.ch-header{max-width:660px;margin:0 auto 4.5rem;padding-bottom:3rem;border-bottom:1px solid var(--border);}
.ch-label{font-family:'Inter',sans-serif;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;}
.ch-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.08;color:var(--text);margin-bottom:.75rem;}
.ch-subtitle{font-family:'Playfair Display',serif;font-style:italic;font-size:1.05rem;color:var(--muted);}
.rsection{max-width:660px;margin:0 auto;padding:3.5rem 0 1.5rem;border-top:1px solid var(--border);}
.rsection:first-of-type{border-top:none;padding-top:0;}
.rsection h2{font-family:'Playfair Display',serif;font-weight:400;font-size:1.45rem;line-height:1.3;color:var(--text);margin-bottom:2rem;}
.sec-num{display:block;font-family:'Inter',sans-serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.55rem;font-weight:500;}
.rsection h3{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:1.12rem;color:#8eb0ca;margin:2.5rem 0 1rem;}
.rsection p{font-size:1.15rem;line-height:1.9;color:var(--text);margin-bottom:1.35em;}
.rsection h2.bib-letter{font-family:'Playfair Display',serif;font-weight:400;font-size:1.6rem;color:var(--accent);margin-bottom:1.75rem;}
.bib-entry{font-size:1.02rem;line-height:1.75;color:var(--text);margin-bottom:1.15em;padding-left:1.75rem;text-indent:-1.75rem;}
.bib-entry em{font-style:italic;color:#a9bccd;}
.rpager{max-width:660px;margin:4rem auto 0;padding:2rem 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;}
.rpager a{font-family:'Inter',sans-serif;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;}
.rpager a:hover{color:var(--accent-b);}
@media(max-width:860px){.rlayout{grid-template-columns:1fr;}.rsidebar{display:none;}.rmain{padding:2.5rem 1.75rem 8rem;}}
@media(max-width:520px){.rnav-tabs{display:none;}}
