:root{--ink:#13213a;--paper:#f5f1e8;--gold:#b08a36;--line:#d8d0c0;--muted:#6d6a63;--sidebar:22rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#161616;font-family:Georgia,"Times New Roman",serif}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.book-tabs{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:thin}.brand,.book-tab{display:flex;align-items:center;flex:0 0 auto;min-height:3.5rem;padding:.7rem 1rem;color:var(--ink);text-decoration:none;border-right:1px solid #eee;font-family:Arial,sans-serif;font-size:.84rem}.brand{font-family:Georgia,serif;font-weight:700;color:#fff;background:var(--ink)}.book-tab:hover,.book-tab.active{background:var(--ink);color:#fff}.home{max-width:82rem;margin:auto;padding:4rem 2rem}.home-intro{text-align:center;max-width:52rem;margin:0 auto 4rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font:700 .72rem Arial,sans-serif;color:#8a6726}.home h1,.book-landing h1,.reading-page h1,.avatar-profile h1{color:var(--ink);font-weight:500}.home h1{font-size:clamp(2.4rem,6vw,5rem);margin:.3rem}.home h2{text-align:center;color:var(--ink);font-weight:500}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:2rem 1.2rem}.avatar-card{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink);text-decoration:none}.avatar-card:hover .avatar-circle{transform:translateY(-4px);box-shadow:0 12px 28px #14213d33}.avatar-circle{display:grid;place-items:center;width:7rem;height:7rem;overflow:hidden;border:3px solid var(--ink);border-radius:50%;background:var(--ink);color:#fff;font-size:2rem;transition:.2s}.avatar-circle img{width:100%;height:100%;object-fit:cover}.avatar-card strong{margin-top:.75rem}.avatar-card small{margin-top:.25rem;color:var(--muted);line-height:1.3}.category-demon .avatar-circle{border-color:#7a1422}.category-saint .avatar-circle{border-color:#287044}.category-divine .avatar-circle{border-color:var(--gold)}.book-layout{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:calc(100vh - 3.5rem)}.sidebar{position:sticky;top:3.5rem;align-self:start;height:calc(100vh - 3.5rem);overflow:auto;background:#fff;border-right:1px solid var(--line)}.sidebar-title{position:sticky;top:0;display:block;padding:1.3rem;color:#fff;background:var(--ink);font-size:1.2rem;text-decoration:none}.sidebar ol{list-style:none;margin:0;padding:0}.sidebar-reading{display:flex;gap:.45rem;padding:.58rem .9rem;color:#282828;text-decoration:none;border-bottom:1px solid #eee;font-size:.86rem;line-height:1.35}.sidebar-reading span{color:#93702d}.sidebar-reading:hover,.sidebar-reading.active{background:#ece4d5;color:var(--ink)}.sidebar-section{padding:1rem .9rem .4rem;color:var(--ink);font:700 .7rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em}.book-landing,.reading-page{width:min(58rem,100%);margin:0 auto;padding:5rem clamp(1.25rem,5vw,5rem)}.book-landing h1{font-size:clamp(2rem,5vw,4rem)}.start-reading{display:inline-block;margin-top:1.5rem;padding:.9rem 1.2rem;background:var(--ink);color:#fff;text-decoration:none}.reading-page h1{font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.1}.reading-avatar{display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem}.reading-avatar-circle{display:grid;place-items:center;width:3.2rem;height:3.2rem;overflow:hidden;border:2px solid var(--ink);border-radius:50%;background:var(--ink);color:#fff}.reading-avatar-circle img{width:100%;height:100%;object-fit:cover}.reading-avatar>span:last-child{display:flex;flex-direction:column}.reading-avatar small{margin-top:.15rem;color:var(--muted)}.reading-avatar.category-demon strong{color:#7a1422}.reading-avatar.category-saint strong{color:#287044}.reading-avatar.category-divine strong{color:#99731f}.social-links{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0 2.5rem}.social-links a{padding:.4rem .7rem;border:1px solid var(--line);color:var(--ink);text-decoration:none;font:700 .72rem Arial,sans-serif}.reading-body{font-size:1.1rem;line-height:1.8}.text-unavailable{padding:1rem;border-left:3px solid var(--gold);background:#fff;color:var(--muted);font-style:italic}.reading-body p{margin:0 0 1.25em}.reading-nav{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--line)}.prev-next{color:var(--ink);font:700 .78rem Arial,sans-serif;text-decoration:none}.prev-next[aria-disabled=true]{opacity:.35;pointer-events:none}.slider-wrap{text-align:center}.slider-wrap label{display:block;margin-bottom:.5rem;font:700 .78rem Arial,sans-serif;color:var(--ink)}.reading-slider{width:100%;accent-color:var(--gold);cursor:pointer}.avatar-profile{max-width:52rem;margin:auto;padding:4rem 2rem}.back-link{color:var(--ink)}.avatar-hero{display:flex;align-items:center;gap:1.5rem;margin:3rem 0}.avatar-hero>img{width:10rem;height:10rem;border-radius:50%;object-fit:cover;border:3px solid var(--ink)}.avatar-hero h1{font-size:3rem;margin:0}.avatar-profile blockquote{margin:2rem 0;padding:1.5rem;border-left:4px solid var(--gold);background:#fff;font-size:1.2rem;line-height:1.6}.site-footer{text-align:center;padding:2rem;color:var(--muted);font:12px Arial,sans-serif}@media(max-width:800px){.book-layout{display:block}.sidebar{position:relative;top:0;width:100%;height:auto;max-height:18rem;border-right:0;border-bottom:1px solid var(--line)}.sidebar-title{position:sticky}.book-landing,.reading-page{padding:2rem 1.2rem}.home{padding:2.5rem 1rem}.avatar-grid{grid-template-columns:repeat(3,1fr);gap:1.3rem .6rem}.avatar-circle{width:5.2rem;height:5.2rem}.avatar-card strong{font-size:.8rem}.avatar-card small{display:none}.reading-nav{grid-template-columns:auto minmax(0,1fr) auto}.avatar-hero{align-items:flex-start}.avatar-hero>img{width:7rem;height:7rem}.avatar-hero h1{font-size:2rem}}
.sidebar-volume,.sidebar-subsection,.sidebar-chapter{padding:1rem .9rem .75rem;background:var(--ink);color:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:700 .76rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em}
.sidebar-chapter-link{display:block;padding:.65rem .9rem .65rem 1.35rem;color:#282828;text-decoration:none;border-bottom:1px solid #eee;font-size:.88rem;line-height:1.3}.sidebar-chapter-link:hover,.sidebar-chapter-link.active{background:#ece4d5;color:var(--ink)}.sidebar-count{color:#93702d;font-size:.76rem}
.reading-marquee{position:relative;display:grid;place-items:center;min-height:18rem;margin:2rem 0 2.5rem;overflow:hidden;border:1px solid var(--line);border-radius:.35rem;background:#ebe6dc}.marquee-image{display:none;width:100%;max-height:38rem;object-fit:contain}.marquee-image.active{display:block}.marquee-arrow{position:absolute;top:50%;z-index:2;width:2.8rem;height:2.8rem;border:0;border-radius:50%;background:#13213acc;color:#fff;font-size:1.8rem;cursor:pointer;transform:translateY(-50%)}.marquee-arrow.prev{left:1rem}.marquee-arrow.next{right:1rem}.marquee-dots{position:absolute;bottom:.75rem;left:50%;display:flex;gap:.45rem;transform:translateX(-50%)}.marquee-dot{width:.65rem;height:.65rem;padding:0;border:0;border-radius:50%;background:#ffffffaa;box-shadow:0 0 0 1px #13213a44;cursor:pointer}.marquee-dot.active{background:var(--ink)}.home>.reading-marquee{max-width:68rem;margin:0 auto 4rem}@media(max-width:800px){.reading-marquee{min-height:10rem;margin:1.25rem 0 1.75rem}.marquee-arrow{width:2.25rem;height:2.25rem}.home>.reading-marquee{margin-bottom:2.5rem}}
.reading-feature-image {
  margin: 0;
  background: #071625;
}

.reading-feature-image img {
  display: block;
  width: 100%;
  height: auto;
}

.visual-atlas { margin: 0; border-top: 1px solid var(--line); background: #071625; }
.visual-atlas h2 { margin: 0; padding: .8rem 1rem; color: #fff; font: 700 .8rem Arial, sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.visual-atlas iframe { display: block; width: 100%; min-height: 70vh; border: 0; background: #f6f0e5; }
.sidebar-reading > span, .chapter-number { color: #aeb7c4; }

.edition-switcher {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  padding: .7rem;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.edition-choice {
  padding: .58rem .45rem;
  border: 1px solid var(--ink);
  color: var(--ink);
  font: 700 .75rem Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}

.edition-choice:hover,
.edition-choice.active {
  background: var(--ink);
  color: #fff;
}
