:root{color-scheme:light dark;--black: #020308;--navy: #061326;--navy-deep: #010610;--line: rgba(215, 221, 232, .12);--page-bg: #ffffff;--text-color: #151515;--heading-color: #11141a;--subheading-color: #252a33;--muted-color: #626773;--soft-muted-color: #666b73;--accent-color: #6e0b13;--accent-link-underline: rgba(110, 11, 19, .35);--rule-color: rgba(2, 3, 8, .12);--code-bg: rgba(2, 3, 8, .06);--image-border: rgba(2, 3, 8, .12);--image-shadow: rgba(2, 3, 8, .14);--banner-height: 200px;--moon-left: clamp(18px, 7vw, 150px);--moon-width: clamp(88px, 11.5vw, 158px);--title-gap: clamp(8px, 1.8vw, 34px);--title-left-padding: clamp(86px, 17vw, 250px);--title-side-padding: clamp(18px, 3vw, 48px);--title-large-size: clamp(20px, 3.15vw, 52px);--title-small-size: clamp(12px, 1.5vw, 24px);--title-large-spacing: clamp(.12em, .48vw, .28em);--title-small-spacing: clamp(.12em, .32vw, .24em)}:root[data-theme=dark]{color-scheme:dark;--page-bg: #080b10;--text-color: #e7e2d8;--heading-color: #f3edde;--subheading-color: #d6cec0;--muted-color: #aaa59b;--soft-muted-color: #b8b0a3;--accent-color: #d38b98;--accent-link-underline: rgba(211, 139, 152, .42);--rule-color: rgba(238, 232, 220, .16);--code-bg: rgba(238, 232, 220, .08);--image-border: rgba(238, 232, 220, .16);--image-shadow: rgba(0, 0, 0, .42)}:root[data-theme=light]{color-scheme:light}:root.banner-start-compact{--banner-height: 68px;--moon-left: clamp(12px, 2.2vw, 34px);--moon-width: clamp(44px, 3.8vw, 60px);--title-gap: clamp(5px, .7vw, 14px);--title-left-padding: clamp(58px, 6.5vw, 112px);--title-side-padding: clamp(10px, 1.6vw, 24px);--title-large-size: clamp(18px, 1.65vw, 28px);--title-small-size: clamp(10px, 1.05vw, 16px);--title-large-spacing: .09em;--title-small-spacing: .075em}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;background:var(--page-bg);color:var(--text-color)}.aotv-banner{position:fixed;top:0;left:0;z-index:10;isolation:isolate;width:100vw;min-width:100%;height:var(--banner-height);overflow:hidden;background:radial-gradient(ellipse at 14% 18%,rgba(36,55,83,.26),transparent 24rem),radial-gradient(ellipse at 88% 26%,rgba(49,71,105,.2),transparent 22rem),radial-gradient(ellipse at 50% 58%,rgba(8,18,34,.72),transparent 38rem),linear-gradient(180deg,#050b16 0%,var(--black) 58%,#010207 100%);border-bottom:1px solid var(--line);will-change:height}.banner-spacer{height:200px}.aotv-banner:before,.aotv-banner:after{content:"";position:absolute;inset:0;pointer-events:none}.aotv-banner:before{z-index:-3;background:transparent}.aotv-banner:after{z-index:-2;background:radial-gradient(ellipse at 50% 40%,transparent 0%,transparent 45%,rgba(0,0,0,.42) 100%),linear-gradient(90deg,rgba(0,1,5,.86),transparent 26%,transparent 74%,rgba(0,1,5,.84)),linear-gradient(180deg,rgba(0,1,5,.1),transparent 48%,rgba(0,1,5,.76))}.swirl-canvas{position:absolute;inset:0;z-index:-1;width:100%;height:100%;opacity:1}.banner-vignette{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,transparent 0%,transparent 56%,rgba(0,0,0,.28) 100%),linear-gradient(180deg,#00000005,#00000057)}.moon-mark{position:absolute;z-index:1;left:var(--moon-left);top:50%;width:var(--moon-width);height:auto;overflow:visible;transform:translateY(-50%);pointer-events:none}.crescent-body{fill:url(#crescentSurface);stroke:#e0e2e180;stroke-width:.45}.blood-drop{fill:url(#bloodDrop);stroke:#a80b0ed1;stroke-width:1}.banner-title{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:var(--title-gap);width:100%;height:100%;margin:0;padding:0 var(--title-side-padding) 0 var(--title-left-padding);color:#d7d3cb;font-family:Cinzel,Times New Roman,serif;font-weight:400;line-height:1;text-align:center;text-transform:uppercase;white-space:nowrap;pointer-events:none;user-select:none;text-shadow:0 1px 0 rgba(255,255,255,.44),0 -1px 0 rgba(63,62,60,.9),0 3px 6px rgba(0,0,0,.95),0 0 18px rgba(226,222,214,.16)}.banner-title span{position:relative;display:inline-block;color:#cfc9bd;-webkit-text-stroke:.35px rgba(255,255,255,.38);filter:drop-shadow(0 2px 1px rgba(0,0,0,.8))}.title-large{font-size:var(--title-large-size);letter-spacing:var(--title-large-spacing)}.title-small{font-size:var(--title-small-size);letter-spacing:var(--title-small-spacing);transform:translateY(.04em)}.site-main{width:100%;padding:44px 24px 90px}.theme-toggle{margin-left:auto;padding:0;border:0;background:transparent;color:var(--accent-color);font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;cursor:pointer}.theme-toggle:hover{text-decoration:underline;text-underline-offset:.22em}.theme-toggle:focus-visible{outline:1px solid var(--accent-color);outline-offset:4px}.home-panel,.contents-panel,.chapter-body{width:min(760px,100%);margin:0 auto;color:var(--text-color);font-family:Georgia,Times New Roman,serif;font-size:16.5px;line-height:1.72}.contents-panel{padding-bottom:44px;border-bottom:1px solid var(--rule-color)}.home-panel{text-align:center}.section-kicker{margin-bottom:8px;color:var(--accent-color);font-family:Cinzel,Times New Roman,serif;font-size:13px;font-weight:500;letter-spacing:.18em;line-height:1.2;text-transform:uppercase}.home-panel h2,.contents-panel h2,.chapter-body h2{margin:0 0 22px;color:var(--heading-color);font-family:Cinzel,Times New Roman,serif;font-size:clamp(30px,5vw,54px);font-weight:400;letter-spacing:.03em;line-height:1.08}.home-panel h2{margin-bottom:28px}.chapter-body h2{font-size:clamp(24px,3.4vw,38px)}.home-blurb{margin:0 0 44px;padding-bottom:34px;border-bottom:1px solid var(--rule-color)}.home-blurb h2{margin-bottom:18px;font-size:clamp(24px,3vw,34px)}.home-blurb p{margin:0 0 1em}.home-blurb p:last-child{margin-bottom:0}.home-blurb strong{color:var(--subheading-color);font-family:Cinzel,Times New Roman,serif;font-size:.9em;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.chapters-link{display:inline-block;color:var(--accent-color);font-family:Cinzel,Times New Roman,serif;font-size:17px;letter-spacing:.12em;text-decoration-color:var(--accent-link-underline);text-transform:uppercase;text-underline-offset:.24em}.chapters-link:hover{text-decoration-color:currentColor}.quick-chapters{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 20px;margin-top:34px;font-family:Cinzel,Times New Roman,serif;font-size:20px;letter-spacing:.06em}.quick-chapters a{color:var(--heading-color);text-decoration-color:var(--accent-link-underline);text-underline-offset:.2em}.quick-chapters a:hover{color:var(--accent-color);text-decoration-color:currentColor}.parts-list{display:grid;gap:30px}.part-block h3{margin:0 0 12px;color:var(--subheading-color);font-family:Cinzel,Times New Roman,serif;font-size:24px;font-weight:500;letter-spacing:.04em}.chapter-list{display:grid;gap:8px;list-style:none;margin:0;padding-left:0}.chapter-list a{display:inline-flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;color:var(--heading-color);text-decoration-color:var(--accent-link-underline);text-underline-offset:.18em}.chapter-list a:hover{color:var(--accent-color);text-decoration-color:currentColor}.chapter-list small{color:var(--muted-color);font-size:.78em;letter-spacing:.08em;text-transform:uppercase}.empty-note{margin:0}.empty-note code{padding:.08em .24em;background:var(--code-bg);border-radius:4px}.home-chapter-preview{padding-top:44px}.chapter-part-label{margin:-12px 0 30px;color:var(--soft-muted-color);font-family:Cinzel,Times New Roman,serif;letter-spacing:.08em;text-transform:uppercase}.chapter-body p{margin:0 0 1.45em}.chapter-body hr{width:min(320px,72%);height:1px;margin:2.2em auto;border:0;background:linear-gradient(90deg,transparent,var(--accent-link-underline),var(--rule-color),var(--accent-link-underline),transparent)}.chapter-body .chapter-image-block{margin:0}.chapter-body img{display:block;width:60%;min-width:min(100%,280px);max-width:760px;height:auto;margin:2.25em auto;border:1px solid var(--image-border);background:#fff;box-shadow:0 18px 46px var(--image-shadow)}.chapter-nav{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:baseline;margin:0 0 30px;font-family:Cinzel,Times New Roman,serif;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.chapter-nav.bottom{margin:44px 0 0;padding-top:22px;border-top:1px solid var(--rule-color)}.chapter-nav a{color:var(--accent-color);text-decoration:none}.chapter-nav a:hover{text-decoration:underline;text-underline-offset:.22em}.chapter-progress{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:baseline}.chapter-number-links{display:flex;flex-wrap:wrap;gap:12px}.chapter-number-links a,.chapter-number-links span{min-width:1.2em;color:var(--heading-color);text-align:center}.chapter-number-links a{text-decoration-color:var(--accent-link-underline);text-underline-offset:.2em}.chapter-number-links span{color:var(--accent-color)}.characters-page{width:min(820px,100%)}.character-party{margin-top:42px}.character-party h3{margin:0 0 20px;color:var(--subheading-color);font-family:Cinzel,Times New Roman,serif;font-size:24px;font-weight:500;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.character-party+.character-party{margin-top:58px}.character-image-list{display:grid;gap:42px;margin:0}.character-image-list img{display:block;aspect-ratio:1000 / 471;width:100%;height:auto;border:1px solid var(--image-border);background:#fff;box-shadow:0 18px 46px var(--image-shadow)}@media(max-width:760px){:root{--moon-left: 12px;--moon-width: clamp(58px, 14vw, 80px);--title-gap: clamp(5px, 1.3vw, 10px);--title-left-padding: 68px;--title-side-padding: 10px;--title-large-size: clamp(16px, 4vw, 28px);--title-small-size: clamp(10px, 2.4vw, 15px);--title-large-spacing: clamp(.04em, .32vw, .12em);--title-small-spacing: clamp(.04em, .24vw, .1em)}:root.banner-start-compact{--banner-height: 58px;--moon-left: 8px;--moon-width: clamp(42px, 9vw, 52px);--title-gap: clamp(3px, .8vw, 6px);--title-left-padding: 56px;--title-side-padding: 8px;--title-large-size: clamp(12px, 2.8vw, 17px);--title-small-size: clamp(8px, 1.8vw, 11px);--title-large-spacing: .055em;--title-small-spacing: .045em}.banner-title{align-content:center;width:100vw}.moon-mark{opacity:.86}.site-main{padding:32px 18px 70px}.home-panel,.contents-panel,.chapter-body{font-size:16px;line-height:1.68}.home-panel h2,.contents-panel h2,.chapter-body h2{font-size:clamp(26px,9vw,38px)}.chapter-body h2{font-size:clamp(24px,7vw,32px)}}
