.story-page{--reader-text-size:18px}.story-gate{text-align:center;max-width:690px;margin:auto;padding:60px 30px 90px}.story-gate>.eyebrow{font-size:9px}.reader-seal{width:65px;height:65px;border:1px solid var(--brass);display:grid;place-items:center;font:24px var(--serif);color:var(--brass);margin:30px auto}.story-gate h1{font-family:var(--serif);font-size:88px;line-height:.95;font-weight:400;letter-spacing:-1.5px;margin:30px 0 25px}.story-gate h1 em{color:var(--brass);font-weight:400}.story-gate>p:not(.eyebrow){font-size:13px;color:var(--muted)}.spoiler-warning{padding:28px 30px;margin:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.spoiler-warning .eyebrow{font-size:8px}.spoiler-warning h2{font-size:15px;font-weight:400;margin:14px 0}.spoiler-warning p{font-size:12px;line-height:1.9;color:var(--muted);word-break:keep-all;max-width:470px;margin:12px auto}.spoiler-warning .source-note{font-size:9px;color:var(--brass);margin-top:20px}.reader-back{display:block;font-size:11px;color:var(--muted);margin-top:20px}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 5%;border-bottom:1px solid var(--line);background:var(--ink);position:sticky;top:0;z-index:10;gap:20px}.reader-return{font-size:10px;color:var(--muted)}.reader-toolbar>span{font-size:8px;color:var(--brass);letter-spacing:1.3px;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-options{display:flex;gap:8px}.reader-options button{border:1px solid var(--line);background:transparent;min-width:30px;height:30px;font-size:11px}.reader-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:7%;padding:0 6%;justify-content:center}.toc{position:sticky;top:74px;max-height:calc(100vh - 98px);overflow-y:auto;margin-top:65px;padding-right:15px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.toc summary{font-size:11px;padding:0 0 17px;border-bottom:1px solid var(--line);cursor:pointer;list-style:none;color:var(--paper)}.toc summary span{font-size:7px;letter-spacing:1px;color:var(--brass);float:right}.toc nav{display:flex;flex-direction:column;margin-top:14px}.toc a{font-size:10px;color:var(--muted);padding:9px 10px;border-left:1px solid var(--line);line-height:1.5}.toc a span{font-size:8px;color:var(--brass);margin-right:10px}.toc a.active{color:var(--paper);background:#c5a7750a;border-left-color:var(--brass)}.toc a:hover{color:var(--brass)}#chapter-select{width:100%;padding:10px;font-size:10px;border:1px solid var(--line);background:var(--ink-2);color:var(--paper);margin-top:15px}.reading-area{min-width:0;max-width:760px;padding:70px 0 90px}.reading-title{padding-bottom:50px;border-bottom:1px solid var(--line);margin-bottom:75px}.reading-title h1{font-family:var(--serif);font-size:75px;line-height:1.05;font-weight:400;margin:0 0 28px}.reading-title .eyebrow{font-size:9px}.byline{color:var(--brass);font-size:12px}.reading-edition{font-size:9px;color:var(--muted);margin-top:25px}.chapter{scroll-margin-top:95px;margin-bottom:80px;padding-bottom:70px;border-bottom:1px solid var(--line)}.chapter>.eyebrow{font-size:9px;margin-bottom:17px}.chapter h2{font-family:var(--serif);font-size:43px;line-height:1.15;font-weight:400;margin:0 0 35px}.chapter p{font-family:Georgia,'Times New Roman',serif;font-size:var(--reader-text-size);color:#cbd0c2;line-height:1.95;margin:0 0 23px;hyphens:auto;overflow-wrap:break-word}.chapter p:first-of-type:first-letter{font-family:var(--serif);float:left;font-size:64px;line-height:.9;margin:12px 9px 0 0;color:var(--brass)}.chapter-footer{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font:9px var(--sans);color:var(--brass)}.chapter-footer a{border-bottom:1px solid var(--line);padding-bottom:3px}.reader-end{text-align:center;padding:20px 0}.reader-end>p:not(.eyebrow){font-family:var(--serif);font-size:31px;font-style:italic}.reader-end .button{margin-top:20px}.paper-mode{--ink:#e5dfcd;--ink-2:#dcd6c4;--paper:#292d25;--muted:#666a5c;--brass:#7d6236;--line:#bdb8a5}.paper-mode .chapter p{color:#373d32}.paper-mode .hero-copy:before{display:none}.paper-mode .reader-options button{color:var(--paper)}@media(max-width:1100px){.reader-layout{grid-template-columns:195px minmax(0,680px);gap:5%}.reading-title h1{font-size:65px}.toc a{font-size:9px}.chapter h2{font-size:38px}}@media(max-width:760px){.story-gate{padding:45px 6% 65px}.story-gate h1{font-size:70px}.spoiler-warning{padding:25px 5px}.spoiler-warning p{font-size:11px}.story-gate .button{font-size:10px;width:100%;gap:12px}.reader-layout{display:block;padding:0 7%}.reader-toolbar{padding:10px 6%}.reader-toolbar>span{display:none}.reader-options{gap:7px}.toc{position:static;margin-top:25px;max-height:none;padding-right:0}.toc details{border-bottom:1px solid var(--line)}.toc summary{padding:12px 0}.toc nav{max-height:40vh;overflow-y:auto;padding-bottom:20px;margin-bottom:0}.toc a{font-size:10px}.reading-area{padding-top:40px;padding-bottom:50px}.reading-title{padding-bottom:30px;margin-bottom:45px}.reading-title h1{font-size:56px}.chapter{margin-bottom:50px;padding-bottom:40px}.chapter h2{font-size:35px}.chapter p{font-size:calc(var(--reader-text-size) - 1px);line-height:1.9}.chapter p:first-of-type:first-letter{font-size:55px}.reader-end>p:not(.eyebrow){font-size:25px}.reading-edition{font-size:8px}}
.toc summary span[data-i18n=contents]{float:none;font-size:11px;letter-spacing:0;color:var(--paper)}

/* Korean uses local serif fallbacks and natural word wrapping without a Latin drop cap. */
.reading-area:lang(ko) .chapter p,.reading-area:lang(ko) .chapter h2,.reading-area:lang(ko) .reading-title h1{font-family:'Noto Serif KR','Nanum Myeongjo','AppleMyungjo','Batang',serif;word-break:keep-all;overflow-wrap:anywhere;hyphens:none}
.reading-area:lang(ko) .chapter p:first-of-type:first-letter{float:none;font:inherit;line-height:inherit;margin:0;color:inherit}
.toc a .chapter-name{font:inherit;color:inherit;margin:0}
.story-language-status{position:fixed;z-index:80;left:50%;bottom:100px;transform:translateX(-50%);width:min(760px,88vw);max-height:35vh;overflow:auto;background:var(--ink);padding:14px 20px;max-width:760px;border:1px solid var(--brass);color:var(--paper);font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.story-language-status[hidden],.story-language-status [hidden]{display:none!important}.story-language-status p{margin:0 0 10px}.story-language-status .button{font-size:11px}
