:root{--fiction-paper:#f8f5ee;--fiction-ink:#292721;--fiction-muted:#716d63;--fiction-line:#d8cdbb;--fiction-gold:#a78045}
body{background:var(--fiction-paper);color:var(--fiction-ink)}
.fiction-wrap{max-width:760px;margin:0 auto;padding:0 30px 100px}
.fiction-hero{padding:112px 0 54px;border-bottom:1px solid var(--fiction-line)}
.fiction-back{display:inline-block;margin-bottom:42px;font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;color:var(--green);text-decoration:none}
.fiction-kicker{margin:0 0 20px;font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fiction-gold)}
.fiction-title{margin:0 0 24px;font-family:var(--serif);font-size:clamp(3.4rem,8vw,6.8rem);font-weight:400;line-height:.92;letter-spacing:-.03em}
.fiction-title.cjk{font-family:var(--cjk);font-size:clamp(3rem,7vw,5.8rem);letter-spacing:.08em}
.fiction-title.tc{font-family:var(--tc)}
.fiction-title.jp{font-family:var(--jp);font-size:clamp(2.8rem,7vw,5.4rem);letter-spacing:.04em}
.fiction-title.kr{font-family:var(--kr);font-size:clamp(2.8rem,7vw,5.4rem);letter-spacing:.03em}
.fiction-deck{max-width:680px;margin:0 0 28px;font-size:1.22rem;line-height:1.7;color:var(--fiction-muted)}
.fiction-meta{display:flex;flex-wrap:wrap;gap:.55rem 1.4rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.06em;color:var(--fiction-muted)}
.fiction-body{padding:62px 0 20px;font-family:var(--serif);font-size:1.12rem;line-height:1.92}
.fiction-body.cjk{font-family:var(--cjk);font-size:1.04rem;line-height:2.05}
.fiction-body.tc{font-family:var(--tc)}
.fiction-body.jp{font-family:var(--jp);font-size:1.02rem;line-height:2.08}
.fiction-body.kr{font-family:var(--kr);font-size:1.03rem;line-height:2.05}
.fiction-body p{margin:0 0 1.25em}
.fiction-end{text-align:center;padding:34px 0 8px;font-family:var(--sans);font-size:.72rem;letter-spacing:.3em;color:var(--fiction-gold)}
.fiction-note{margin-top:54px;padding:24px 0;border-top:1px solid var(--fiction-line);font-family:var(--sans);font-size:.76rem;line-height:1.7;color:var(--fiction-muted)}
.shelf-wrap{max-width:960px;margin:0 auto;padding:0 30px 100px}
.shelf-intro{padding:112px 0 58px;border-bottom:1px solid var(--fiction-line)}
.shelf-intro h1{font-family:var(--serif);font-size:clamp(2.9rem,7vw,5.4rem);font-weight:400;line-height:1;margin:0 0 26px}
.shelf-intro h1.cjk{font-family:var(--cjk);letter-spacing:.04em}.shelf-intro h1.jp{font-family:var(--jp)}.shelf-intro h1.kr{font-family:var(--kr)}
.shelf-intro p{max-width:720px;font-size:1.15rem;line-height:1.8;color:var(--fiction-muted)}
.story-card{display:grid;grid-template-columns:90px 1fr;margin-top:54px;padding:34px 0;border-top:1px solid var(--fiction-line);border-bottom:1px solid var(--fiction-line);color:var(--fiction-ink);text-decoration:none}
.story-card-no{font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;color:var(--fiction-gold)}
.story-card h2{margin:0 0 14px;font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.15}.story-card h2.cjk{font-family:var(--cjk)}.story-card h2.jp{font-family:var(--jp)}.story-card h2.kr{font-family:var(--kr)}
.story-card p{max-width:670px;margin:0 0 20px;line-height:1.7;color:var(--fiction-muted)}
.story-card span:last-child{font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;color:var(--green)}
@media(max-width:620px){.fiction-wrap,.shelf-wrap{padding-left:19px;padding-right:19px}.fiction-hero,.shelf-intro{padding-top:78px}.fiction-back{margin-bottom:30px}.fiction-body{padding-top:45px;font-size:1.05rem;line-height:1.88}.fiction-body.cjk,.fiction-body.jp,.fiction-body.kr{font-size:1rem;line-height:1.98}.story-card{grid-template-columns:1fr;gap:18px}}
