:root { color-scheme:light dark; --background:#fff; --text:#171717; --muted:#666; --rule:#d8d8d8; }
@media (prefers-color-scheme:dark) { :root { --background:#151515; --text:#e8e8e8; --muted:#aaa; --rule:#404040; } }
* { box-sizing:border-box; } html { font-size:18px; }
body { margin:0; background:var(--background); color:var(--text); font-family:"Apple SD Gothic Neo","Noto Sans KR",sans-serif; line-height:1.85; word-break:keep-all; overflow-wrap:break-word; }
main { width:min(100% - 2.25rem,680px); margin:0 auto; padding:2rem 0 5rem; }
nav { margin-bottom:4rem; font-size:.85rem; } a { color:inherit; text-underline-offset:.2em; }
header { margin-bottom:5rem; } h1 { margin:0 0 .5rem; font-size:clamp(2rem,8vw,3.25rem); font-weight:700; letter-spacing:-.05em; line-height:1.15; }
header p { margin:0; color:var(--muted); font-size:.9rem; } h2 { margin:0 0 3rem; font-size:1.35rem; line-height:1.3; }
.story p { margin:0 0 1.35em; } .scene-break { margin:3.5rem 0; color:var(--muted); text-align:center; letter-spacing:.5em; } .error { padding:1rem 0; color:var(--muted); }
.chapter-list { font-size:1rem; } .chapter-list h2 { margin-bottom:1.5rem; } .chapter-list ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--rule); }
.chapter-list li { border-bottom:1px solid var(--rule); } .chapter-list a { display:block; padding:.9rem 0; text-decoration:none; }
.chapter-nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; margin:4.5rem 0 0; padding-top:1.5rem; border-top:1px solid var(--rule); }
.chapter-nav a { text-decoration:none; } .chapter-nav .next { text-align:right; } .chapter-nav .contents { color:var(--muted); }
@media (max-width:520px) { html{font-size:17px} main{width:min(100% - 2rem,680px);padding-top:1.25rem} nav{margin-bottom:3rem} header{margin-bottom:4rem} .chapter-nav{gap:.5rem;font-size:.8rem} }
