@font-face{font-family:LocalSerif;src:local('Bodoni MT');font-display:swap}
:root{color-scheme:light;--bg:#fff;--fg:#292827;--muted:#74716f;--line:#dedbd9;--surface:#f6f4f7;--accent:#70528b;--serif:LocalSerif,'Baskerville','Times New Roman',serif;--sans:'Portal Sans SC','Noto Sans SC','PingFang SC',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.7 var(--sans)}body[data-theme=dark]{color-scheme:dark;--bg:#101112;--fg:#eae9e5;--muted:#aaa9a5;--line:#373b3e;--surface:#1a1e22}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.36;cursor:default}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border:1px solid var(--line);background:transparent;padding:8px 14px}button:hover:not(:disabled){border-color:var(--accent)}[hidden]{display:none!important}.skip{position:fixed;left:10px;top:-100px;z-index:100;background:var(--bg);padding:12px}.skip:focus{top:10px}.loading{padding:10vw}
.folio{position:fixed;inset:0 auto 0 0;width:34%;overflow:hidden;border-right:1px solid var(--line);background:var(--bg)}.folio-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% 30%}.folio[data-character=iris] .folio-art{object-position:37% center}.folio-shade{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg),transparent 24%,transparent 57%,var(--bg) 91%)}.folio-top{position:absolute;top:30px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:.09em}.folio-top a{background:color-mix(in srgb,var(--bg) 85%,transparent);padding:6px 9px}.folio-bottom{position:absolute;bottom:38px;left:32px;right:32px}.wordmark{display:block;width:min(100%,350px);height:auto;margin:0 0 22px}.folio-label{display:flex;gap:14px;align-items:center;font-size:12px;letter-spacing:.2em;color:var(--muted)}.folio-label:before{content:'';width:30px;height:1px;background:var(--accent)}.folio-nav{display:flex;gap:28px;margin-top:24px;font-size:14px}.folio-nav a{padding-bottom:5px;border-bottom:1px solid transparent}.folio-nav a:hover,.folio-nav a[aria-current=page]{border-color:var(--accent);color:var(--accent)}
.reader{margin-left:34%;min-height:100svh;padding:0 clamp(26px,4.5vw,90px) 36px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);letter-spacing:.05em}.topbar nav{display:flex;gap:20px;white-space:nowrap}.topbar a:hover{color:var(--accent)}.topbar a[aria-current=page]{color:var(--fg)}.eyebrow{font:14px/1.4 var(--serif);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin:35px 0 16px}.article-header h1,.library-header h1{font-family:'Songti SC','Noto Serif CJK SC','SimSun',serif;font-weight:400;font-size:clamp(30px,3vw,48px);line-height:1.45;letter-spacing:.04em;margin:0 0 16px;overflow-wrap:anywhere}.subtitle{color:var(--muted);margin:0 0 22px;font-size:16px}.meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted);padding:0 0 25px;border-bottom:1px solid var(--line)}.meta .tag{color:var(--accent)}.demo{font-size:12px;border:1px solid var(--line);padding:1px 7px;letter-spacing:.04em}.toc{border-bottom:1px solid var(--line);padding:18px 0;font-size:14px;margin:0 0 36px}.toc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between}.toc summary:after{content:'＋';color:var(--accent)}.toc[open] summary:after{content:'−'}.toc ol{display:grid;gap:9px;padding-left:0;list-style:none;margin:16px 0 0;color:var(--muted)}.toc a:hover{color:var(--accent)}.prose{max-width:760px;font-size:17px;line-height:2}.prose p{margin:0 0 24px}.prose .lead{font-size:20px;line-height:1.9;color:var(--accent);margin-bottom:40px}.prose h2{font-size:22px;font-weight:500;margin:44px 0 22px;line-height:1.6}.prose blockquote{border-left:2px solid var(--accent);margin:30px 0;padding:5px 0 5px 24px;color:var(--muted);font-family:'Songti SC','SimSun',serif;font-size:20px}.prose ul{padding-left:24px}.prose li{padding:4px 0}.prose figure{margin:25px 0 30px}.prose figure img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;background:#fff}.prose figcaption{font-size:13px;color:var(--muted);margin-top:10px;text-align:center}.callout{background:var(--surface);padding:22px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px;margin:30px 0}.callout p{margin:7px 0 0}.prose pre{background:var(--surface);padding:20px;overflow:auto;line-height:1.6;font-size:14px}.prose code{font-family:Consolas,monospace}.endmark{display:flex;align-items:center;gap:18px;color:var(--accent);font:13px var(--serif);letter-spacing:.18em;margin:50px 0 32px}.endmark:before,.endmark:after{content:'';height:1px;background:var(--line);flex:1}.adjacent{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:44px}.adjacent a{padding:16px 0;border-bottom:1px solid var(--line)}.adjacent small{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.adjacent a:last-child{text-align:right}.adjacent a:hover{color:var(--accent)}.page-footer{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;letter-spacing:.06em;padding-top:25px;border-top:1px solid var(--line)}
.reading-progress{position:fixed;top:0;left:34%;width:66%;height:2px;z-index:30;transform-origin:left;background:var(--accent);scale:0 1}.comic-tools{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;background:var(--bg);padding:14px 0;border-bottom:1px solid var(--line);margin:0 0 24px}.segmented{display:inline-flex}.segmented button{font-size:14px;min-height:42px}.segmented button+button{border-left:0}.segmented button[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.page-picker{display:flex;align-items:center;gap:8px;font-size:14px}.page-picker select,.chapters select{border:1px solid var(--line);padding:8px;background:var(--bg);max-width:100%;min-height:42px}.comic-page{margin:0 0 24px}.comic-page img{display:block;width:100%;height:auto;background:var(--surface)}.comic-page figcaption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:10px 0;letter-spacing:.12em}.comic-pages[data-mode=paged] .comic-page img{max-height:calc(100svh - 140px);object-fit:contain}.page-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0;font-size:14px}.page-controls button{min-height:44px}.chapters{display:flex;align-items:center;gap:16px;margin:28px 0;font-size:14px}.image-failure{padding:40px 20px;border:1px solid var(--line);text-align:center;color:var(--muted)}
.library-header{padding:16px 0 10px}.library-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:18px 0 6px}.library-tabs a{padding:12px 0;border-bottom:2px solid transparent}.library-tabs a[aria-current=page]{color:var(--accent);border-color:var(--accent)}.entry{display:grid;grid-template-columns:45px 1fr auto;gap:14px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.entry-number{font:26px var(--serif);color:var(--accent)}.entry h2{font-family:'Songti SC','SimSun',serif;font-weight:400;font-size:23px;line-height:1.5;margin:0 0 8px}.entry p{font-size:14px;color:var(--muted);margin:0 0 10px}.entry small{font-size:12px;color:var(--muted)}.entry-arrow{color:var(--accent)}.entry:hover h2{color:var(--accent)}.library-list{margin-bottom:50px}.empty{padding:50px 0;color:var(--muted)}
@media(min-width:1700px){.reader{padding-left:6vw;padding-right:6vw}.prose{max-width:none}}@media(max-width:1100px) and (min-width:761px){.folio{width:29%}.reader{margin-left:29%;padding-left:28px;padding-right:28px}.reading-progress{left:29%;width:71%}.folio-top,.folio-bottom{left:20px;right:20px}.folio-art{object-position:43% center}.topbar{font-size:12px}.folio-top{font-size:13px}}
@media(max-width:760px){html{scroll-padding-top:100px}.folio{position:relative;width:100%;height:255px;border-right:0;border-bottom:1px solid var(--line)}.folio-art{width:60%;left:auto;right:0;object-position:center 23%;mask-image:linear-gradient(90deg,transparent,#000 35%)}.folio[data-character=iris] .folio-art{object-position:35% 35%}.folio-shade{background:linear-gradient(0deg,var(--bg),transparent 55%)}.folio-top{top:18px;left:20px;right:20px}.folio-top span{display:none}.folio-bottom{left:24px;bottom:20px;right:24px}.wordmark{width:205px;margin-bottom:13px}.folio-label{font-size:12px;letter-spacing:.12em}.folio-nav{display:none}.reader{margin:0;padding:0 23px 28px}.topbar{min-height:64px;font-size:12px;gap:8px}.topbar nav{gap:16px}.eyebrow{margin-top:27px;font-size:13px}.article-header h1,.library-header h1{font-size:30px}.subtitle{font-size:15px}.prose{font-size:17px;line-height:1.95}.prose .lead{font-size:19px}.prose h2{font-size:21px}.reading-progress{left:0;width:100%}.comic-tools{gap:10px}.segmented button{padding:8px 12px}.page-picker{gap:6px}.meta{gap:10px}.entry{grid-template-columns:32px 1fr 16px;gap:10px}.entry h2{font-size:21px}.page-footer{font-size:12px;letter-spacing:0}.adjacent{gap:20px;font-size:14px}.chapters{flex-wrap:wrap}.comic-pages[data-mode=paged] .comic-page img{max-height:75svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.reader:focus{outline:none}
