:root{color-scheme:dark;--bg:#0b1019;--paper:#111925;--ink:#e9e7df;--muted:#9ba8b8;--gold:#cdb682;--reading:19px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,'Malgun Gothic',sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}button,select{font:inherit;color:var(--ink);background:#192331;border:1px solid #465263;border-radius:7px;padding:7px 12px;cursor:pointer;min-height:44px}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.bar{position:sticky;top:0;z-index:5;background:#0b1019f5;border-bottom:1px solid #29313f;backdrop-filter:blur(12px)}.bar-inner{max-width:1080px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px}.brand{font-size:14px;font-weight:700;letter-spacing:.12em}.brand span{color:var(--gold)}.tools{display:flex;gap:6px}.wrap{max-width:840px;margin:auto;padding:0 26px}.hero{padding:76px 0 46px}.eyebrow{font-size:12px;color:var(--gold);letter-spacing:.2em}.hero h1{font-size:clamp(42px,9vw,76px);line-height:1.2;letter-spacing:-.06em;margin:16px 0 22px;font-family:Georgia,'Batang',serif}.hero p{color:var(--muted);max-width:500px}.toc{display:flex;gap:12px;flex-wrap:wrap;padding:22px 0 40px}.toc a{border-bottom:1px solid #6d624d;font-size:14px}.episode{padding:38px 0 10px;border-top:1px solid #39414d}.episode h2{font-size:32px;line-height:1.5;margin:8px 0 24px;letter-spacing:-.04em}.scene{padding:32px 0 38px}.scene+.scene{border-top:1px solid #252e3a}.scene h3{font-size:20px;font-weight:500;margin:0 0 30px;color:var(--gold)}.narration{font-family:Georgia,'Batang',serif;font-size:var(--reading);line-height:2.15;word-break:keep-all;overflow-wrap:anywhere;margin:24px 0}.speech{margin:24px 0 24px 22px;padding:0 0 0 22px;border-left:2px solid #67788e}.speech.female{border-color:var(--gold)}.speech cite{display:block;font:12px/1.8 system-ui,sans-serif;color:var(--muted);margin-bottom:6px;letter-spacing:.06em}.speech p{font-size:var(--reading);line-height:1.95;margin:0;word-break:keep-all;overflow-wrap:anywhere}.art{margin:0 0 38px}.frame{overflow:hidden;position:relative;aspect-ratio:1536/680;border-radius:3px;background:#151a22}.frame img{position:absolute;width:100%;height:auto;top:0;left:0}.art figcaption{color:var(--muted);font-size:12px;margin-top:9px}.portrait{max-width:430px;margin:0 auto 42px}.portrait .frame{aspect-ratio:4/3}.portrait img{width:200%}.portrait.woman img{left:-100%}.end{padding:52px 0;text-align:center;letter-spacing:.12em;color:var(--gold)}.chapter-nav{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #39414d;padding:25px 0 50px}.chapter-nav a{padding:10px 0}.footer{padding:32px 0 60px;color:var(--muted);font-size:12px}.footer a{border-bottom:1px solid #596272}.progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:10;width:0}body.light{color-scheme:light;--bg:#f3f0e9;--paper:#fff;--ink:#28313a;--muted:#596471;--gold:#826324}body.light .bar{background:#f3f0e9f5}body.light button,body.light select{background:#e9e4d9;color:#28313a}body.light .scene+.scene{border-color:#d6d0c4}@media(max-width:560px){.wrap{padding:0 20px}.bar-inner{padding:10px 16px}.brand{font-size:11px}.tools{gap:4px}button{font-size:13px;padding:7px 9px}.hero{padding-top:48px}.episode h2{font-size:27px}.speech{margin-left:6px;padding-left:16px}.narration,.speech p{line-height:2}.scene{padding-top:24px}.portrait{max-width:85%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.bar,.progress,.tools,.chapter-nav{display:none}body{--bg:white;--ink:black;--muted:#555;--gold:#444;color:black;background:white}.episode{break-before:page}.scene{break-inside:avoid}.wrap{max-width:none}.hero{padding-top:10px}}