/* Illustrated library. Reader text stays on an uncluttered paper surface. */
.js .reader-settings,.js #resume-panel,.js .resume-strip{display:block}
:root{--paper:#f4efe5;--sheet:#fffdf7;--purple:#392349;--ink:#302539;--rust:#86602b;--line:#d9cbb3;--gold:#d9b970}
body{background:radial-gradient(ellipse at top,#eee5d8,transparent 65%),var(--paper)}
header{background:#291b37;color:#f9edcf;border-bottom:3px solid #aa874b}.header-inner{padding-top:18px;padding-bottom:18px}header nav a{color:#f9edcf}header nav a[aria-current=page]{border-color:var(--gold)}
main{max-width:1200px}h1,h2,h3{font-feature-settings:"palt"}.button,button{border-radius:6px;min-height:44px}.button.quiet,button.quiet{background:var(--sheet)}
.availability{padding:14px 20px;border:1px solid #c3a571;border-left:4px solid #906d35;background:#fff8e8;margin:0 0 24px;font-size:14px}.availability strong,.availability span{display:block}.availability span{font-size:12px;color:#665643}
.story-hero{position:relative;isolation:isolate;overflow:hidden;min-height:520px;border:1px solid #a38756;border-radius:12px;background:#281a39;color:#fff6e2;box-shadow:0 18px 40px #34213b22;margin:12px 0 34px;display:flex;align-items:center}
.story-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#21142eef 0%,#281938d9 30%,#24153055 62%,transparent 100%)}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero-copy{padding:48px;width:65%;max-width:730px}.hero-copy h1{font-size:clamp(36px,4.6vw,60px);line-height:1.5;color:#fff4db;text-shadow:0 2px 20px #180d20}.hero-copy h1 small{display:block;font-size:18px;color:#e0c7a0}.hero-copy .eyebrow{color:#ead19a}.hero-copy>p{max-width:440px;line-height:2}.hero-copy .button{background:#e1bf76;color:#2d1c36;border-color:#e1bf76;font-weight:bold}.hero-copy .button.quiet{background:#2b1d3adb;color:#fff1d3;border-color:#cfb27c}.collection-hero:after{background:linear-gradient(90deg,#21142eee,#281938bb 45%,#28193815)}
.art{display:block;background-repeat:no-repeat;background-size:300% 300%;background-position:var(--art-x) var(--art-y);aspect-ratio:3/2}.art-library{background-image:url('/assets/design/library.webp')}.art-scenes{background-image:url('/assets/design/scenes.webp')}
.books{gap:24px}.book{border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:24px;box-shadow:0 5px 20px #30253909}.book .work-art{display:block;width:calc(100% + 48px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover;margin:-24px -24px 20px}.book h3{font-size:27px}.book .blurb{font-size:14px;line-height:1.9}.book .meta{font-size:12px}.book-bottom{font-size:13px}.book-bottom a{padding:10px 0}.badge{border:1px solid #c6b295;background:#efe6d5;font-size:11px}.collection-count{font-size:20px;font-family:serif}.collection-count span{font-size:13px;display:block}
.chapter-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.chapter-list li{background:var(--sheet);padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 8px 22px #30253912;transition:transform .2s,box-shadow .2s}.chapter-list li:hover{transform:translateY(-3px);box-shadow:0 12px 25px #30253920}.chapter-card{display:block;height:100%;padding:0 16px 18px;color:inherit;text-decoration:none}.chapter-art,.chapter-cover{display:block;width:calc(100% + 32px);height:auto;aspect-ratio:3/2;object-fit:cover;margin:0 -16px 14px}.chapter-card-title{display:flex;align-items:center;gap:8px}.chapter-list small{display:block;font-size:12px;margin-top:6px}.chapter-list li .number{display:inline-grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#392349;color:#f7e8bd;font-size:12px}.chapter-card-title b{font-family:serif;font-size:20px}.chapter-status{display:inline-block;margin-top:10px;padding:4px 10px;border-radius:999px;background:#392349;color:#f7e8bd;font-size:11px}
.hub-nav{margin:20px 0;order:-1;border:0;padding:0}.hub{display:flex;flex-direction:column}.hub-tabs{gap:8px}.hub-tabs a{padding:11px 17px;font-size:14px;border-radius:6px}.hub-pager-row{margin-top:8px}.hub-toc{display:block}.hub-toc ul{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.hub-toc a{padding:16px;background:var(--sheet);border:1px solid var(--line)}
.scene-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.scene-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:0 24px 24px;border:1px solid var(--line);background:var(--sheet);border-radius:10px;overflow:hidden;box-shadow:0 5px 18px #34213b09;transition:transform .2s,box-shadow .2s}.scene-row:hover{transform:translateY(-3px);box-shadow:0 12px 26px #34213b18}.scene-art,.scene-cover{display:block;grid-column:1/-1;width:calc(100% + 48px);height:auto;aspect-ratio:3/1;object-fit:cover;margin:0 -24px 8px}.scene-row .scene-main b{font-size:21px}.scene-row .scene-main span{display:block;font-size:15px;line-height:1.9;margin-top:12px}.scene-row .scene-no{font-size:12px}.scene-row .scene-arrow{color:#805c26;font-size:24px;align-self:center}
.scene-vignette{position:relative;display:grid!important;place-items:center;overflow:hidden;background-color:#31213f;background-image:radial-gradient(ellipse at 50% 120%,#e5c78355,transparent 55%),linear-gradient(115deg,#2c1b3a,#4a3550 54%,#281a35)}.scene-vignette:before,.scene-vignette:after{content:"";position:absolute;inset:10% 4%;pointer-events:none}.scene-vignette:before{border-top:1px solid #d3b371;border-bottom:1px solid #d3b371;opacity:.65;background:radial-gradient(ellipse at 8% 10%,#dfc17e 0 2px,transparent 3px),radial-gradient(ellipse at 92% 90%,#dfc17e 0 2px,transparent 3px),repeating-linear-gradient(120deg,transparent 0 46px,#b5965b22 47px 48px)}.scene-vignette:after{inset:auto auto 8% 50%;width:170px;height:110px;transform:translateX(-50%);opacity:.75;background:radial-gradient(ellipse at 50% 100%,#d9bd7a55 0 3%,transparent 4%),radial-gradient(ellipse at 25% 70%,transparent 0 35%,#d8bc7755 36% 37%,transparent 38%),radial-gradient(ellipse at 75% 70%,transparent 0 35%,#d8bc7755 36% 37%,transparent 38%)}.scene-vignette>span{z-index:1;font:italic clamp(36px,5vw,64px) serif;color:#f0dcaa;text-shadow:0 2px 14px #170e21;opacity:.9}.scene-vignette.motif-1{background-image:radial-gradient(circle at 73% 28%,#f1dfa4 0 19px,transparent 20px),radial-gradient(ellipse at 50% 120%,#b6924e77,transparent 50%),linear-gradient(120deg,#271c38,#51415c)}.scene-vignette.motif-2{background-image:radial-gradient(circle at 24% 30%,#d693aa 0 4px,transparent 5px),radial-gradient(circle at 32% 40%,#f0d7c7 0 5px,transparent 6px),radial-gradient(ellipse at 60% 120%,#b6935477,transparent 55%),linear-gradient(120deg,#392238,#584359)}.scene-vignette.motif-3{background-image:repeating-linear-gradient(90deg,transparent 0 64px,#d0ad6844 65px 67px),linear-gradient(115deg,#2d263e,#684e45)}.scene-vignette.motif-4{background-image:radial-gradient(ellipse at 50% 100%,transparent 0 18%,#d2b87755 19% 20%,transparent 21% 31%,#d2b87744 32% 33%,transparent 34%),linear-gradient(115deg,#263b49,#45324b)}.scene-vignette.motif-5{background-image:radial-gradient(ellipse at 20% 25%,#bd965555,transparent 30%),radial-gradient(ellipse at 82% 75%,#d6bf7c55,transparent 30%),linear-gradient(115deg,#32223e,#534259)}.scene-vignette.hue-1{filter:saturate(.88) hue-rotate(18deg)}.scene-vignette.hue-2{filter:saturate(.9) hue-rotate(330deg)}.scene-vignette.hue-3{filter:saturate(.82) hue-rotate(355deg)}.scene-vignette.hue-4{filter:saturate(.9) hue-rotate(35deg)}.scene-vignette.hue-5{filter:saturate(.84) hue-rotate(310deg)}
.source-heading{display:grid;grid-template-columns:220px 1fr;align-items:center;background:#31223f;color:#fff0d5;border:1px solid #b49762;border-radius:10px;overflow:hidden;margin-bottom:28px}.source-heading>div{padding:30px}.source-heading .eyebrow,.source-heading small{color:#d7bc84}.source-heading h2{font-size:36px}.source-seal{height:100%;min-height:200px;display:grid;place-content:center;text-align:center;border-right:1px solid #b49762;background:radial-gradient(ellipse,#523b5b,#2a1d35);font:32px/1.3 serif;color:#e8d09c;letter-spacing:.16em}.source-note{line-height:2.1}.people{gap:14px}.people a{padding:14px 20px;background:var(--sheet);border:1px solid var(--line);border-radius:8px;font-size:16px}
.reader-page{padding-bottom:0}.reader-page h1{margin:18px 0;font-size:32px}.reading-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start;margin:24px 0}.source-reading{min-width:0}.reader-page .original-scroll{height:470px}.horizontal .reader-page .original-scroll{height:auto;max-height:none;overflow:visible}.reader-frame,.horizontal .reader-frame{position:static;transform:none;width:100%;height:auto;min-height:0;padding:24px;box-shadow:0 6px 24px #2b234010;border-radius:8px;border-top:4px solid #a3844f;cursor:auto}.reader-frame:hover{background:var(--sheet)}.reader-frame .frame-content,.horizontal .reader-frame .frame-content{display:flex;flex-direction:column;align-items:stretch;gap:20px;overflow:visible;min-height:100px;margin:20px 0}.reader-frame .frame-content>span,.horizontal .reader-frame .frame-content>span{writing-mode:horizontal-tb;height:auto;width:100%;max-width:none;overflow:visible;font-size:21px;line-height:1.9}.reader-frame .frame-content .frame-reading{font-size:14px;color:#65586b}.reader-frame .frame-content .frame-modern{font-size:18px;color:#674b28}.reader-frame .frame-content .frame-start{font-size:16px;text-align:left}.frame-content [data-label]:before{content:attr(data-label);display:block;font:11px sans-serif;letter-spacing:.16em;color:#75654d;margin-bottom:6px}.frame-top{height:auto}.reader-frame .frame-bottom{height:auto;text-align:left}.reader-controls{display:flex;gap:8px;flex-wrap:wrap}.reader-controls button{font-size:13px;padding:10px 12px;flex:1;white-space:nowrap}.reader-frame .frame-waka{writing-mode:horizontal-tb;gap:16px}.read-mode-original .frame-reading{display:none}.read-mode-modern .source-reading,.read-mode-modern .reading-layout{display:none}.translation{max-width:780px;margin:36px auto;font-size:18px}.translation h2{border-bottom:1px solid #bca47c;padding-bottom:12px}.next-scene{padding:20px;background:#e9dfcf;border:1px solid #cbb58b;margin:28px 0;border-radius:8px}.next-scene .button{background:#3c294b;color:#fff4db}.toolbar button[aria-pressed=true]{background:#3c294b;color:#fff4db}.read-guide{padding:12px 0}.reader-settings{background:#ede6da;padding:12px 16px;border-radius:6px}#resume-panel{border-color:#a78a51;background:#fff4d9}#boundary-next{margin-top:20px}.reader-page .toolbar button,.reader-page .toolbar select{min-height:44px}.reader-page .original-text{line-height:2.5}.sample{border-radius:10px}.section-head{margin-bottom:24px}footer{margin-top:40px;background:#291b37;color:#eadbc0}
@media(max-width:800px){.hero-copy{padding:32px;width:75%}.story-hero{min-height:460px}.books{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-list{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-layout{grid-template-columns:1fr}.reader-page .original-scroll{height:320px}.scene-rows{grid-template-columns:1fr}.source-heading{grid-template-columns:1fr 1fr}}
@media(max-width:520px){main{padding:24px 18px 45px}.header-inner nav{gap:10px 20px}.story-hero{min-height:580px;align-items:flex-end}.hero-art{object-position:65% top;height:70%}.story-hero:after{background:linear-gradient(0deg,#261732 0%,#261732f5 30%,#26173288 58%,transparent 90%)}.hero-copy{padding:26px;width:100%}.hero-copy h1{font-size:37px;margin:10px 0}.hero-copy .actions{margin-bottom:0}.hero-copy>p{font-size:14px}.hero-copy .eyebrow{font-size:10px}.books{grid-template-columns:1fr;gap:24px}.book{padding:24px;min-height:0}.book .blurb{font-size:14px}.book-bottom{display:flex}.chapter-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chapter-cover{gap:10px}.chapter-cover b{font-size:23px}.chapter-cover span{font-size:26px}.hub-toc ul{grid-template-columns:1fr}.scene-row{padding:0 20px 22px;gap:10px}.scene-art,.scene-cover{width:calc(100% + 40px);margin:0 -20px 6px}.scene-row .scene-main b{font-size:20px}.scene-row .scene-main span{font-size:14px}.source-heading{grid-template-columns:1fr}.source-heading .source-art{max-height:250px}.reader-page{padding-bottom:0}.reader-page h1{font-size:26px}.reader-frame{padding:20px}.reader-controls button{font-size:12px;padding:10px 8px}.reader-frame .frame-content>span{font-size:20px}.translation{font-size:17px}.availability{padding:12px 14px}.source-heading>div{padding:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.person-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;padding:20px;background:var(--sheet);border:1px solid var(--line);border-radius:10px;align-items:start}.person-card h3{margin:4px 0 10px}.person-card p{font-size:14px;line-height:1.9}.person-card small{font-size:12px}.portrait{display:block;aspect-ratio:1;background-image:url('/assets/design/portraits.webp');background-size:300% 200%;background-position:var(--portrait-x) var(--portrait-y);border-radius:50%;border:3px solid #b89b62}.person-monogram{display:grid;place-items:center;aspect-ratio:1;border:1px solid #b89b62;background:#392949;color:#e6c990;border-radius:50%;font:40px serif}.source-note{font-size:13px;line-height:2}.reader-page .source-note{font-size:12px}.hub-view{scroll-margin-top:20px}@media(max-width:800px){.person-grid{grid-template-columns:1fr}}@media(max-width:520px){.person-card{grid-template-columns:84px minmax(0,1fr);gap:16px;padding:18px}.person-card h3{font-size:21px}.person-card p{font-size:14px}}

.site-footer{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:36px;padding:44px max(24px,calc((100vw - 1200px)/2));margin-top:64px;background:#291b37;color:#eadbc0;border-top:3px solid #aa874b;position:relative;isolation:isolate}.site-footer:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background:radial-gradient(ellipse at 0 100%,#d4b56f 0 1px,transparent 2px),radial-gradient(ellipse at 100% 0,#d4b56f 0 1px,transparent 2px);background-size:18px 18px}.site-footer a{display:block;color:#f8edcf;text-decoration:none;margin:10px 0;font-size:14px}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.site-footer h2{font-size:16px;color:#e4c982;margin:0 0 14px}.footer-brand>a{font:24px serif;letter-spacing:.08em}.footer-brand p,.footer-brand span{font-size:13px;line-height:1.9;color:#dfd0b4}.footer-bottom{grid-column:1/-1;border-top:1px solid #776444;padding-top:16px;color:#cbbd9f}
header{position:relative;overflow:hidden}.header-inner:after{content:"";position:absolute;right:-8px;top:0;width:112px;height:56px;pointer-events:none;opacity:.42;background:radial-gradient(ellipse at 90% 80%,transparent 0 18px,#c9a760 19px 20px,transparent 21px),radial-gradient(ellipse at 66% 95%,transparent 0 17px,#c9a760 18px 19px,transparent 20px),radial-gradient(ellipse at 43% 110%,transparent 0 16px,#c9a760 17px 18px,transparent 19px),linear-gradient(160deg,transparent 47%,#c9a760 48% 49%,transparent 50%);opacity:.4}.header-inner{position:relative}
.site-footer{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:36px;padding:44px max(24px,calc((100vw - 1200px)/2));margin-top:64px;background:#291b37;color:#eadbc0;border-top:3px solid #aa874b;position:relative;isolation:isolate}.site-footer:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background:radial-gradient(ellipse at 0 100%,#d4b56f 0 1px,transparent 2px),radial-gradient(ellipse at 100% 0,#d4b56f 0 1px,transparent 2px);background-size:18px 18px}.site-footer a{display:block;color:#f8edcf;text-decoration:none;margin:10px 0;font-size:14px}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.site-footer h2{font-size:16px;color:#e4c982;margin:0 0 14px}.footer-brand>a{font:24px serif;letter-spacing:.08em}.footer-brand p,.footer-brand span{font-size:13px;line-height:1.9;color:#dfd0b4}.footer-bottom{grid-column:1/-1;border-top:1px solid #776444;padding-top:16px;color:#cbbd9f}
@media(max-width:800px){.site-footer{grid-template-columns:repeat(2,minmax(0,1fr));padding:36px 24px;gap:28px}}
@media(max-width:520px){.source-heading{grid-template-columns:80px 1fr}.source-seal{min-height:180px;font-size:24px}.site-footer{grid-template-columns:1fr 1fr;padding:30px 20px;gap:22px}.footer-brand{grid-column:1/-1}.site-footer h2{font-size:14px}.site-footer a{font-size:13px}}
