:root { color-scheme: light; --ink: #252a2e; --muted: #5b6166; --accent: #8a471d; }
* { box-sizing: border-box; }
body { margin: 0; background: #fcfcfa; color: var(--ink); font-family: Georgia, "Noto Serif CJK SC", "Songti SC", SimSun, serif; }
a { color: var(--accent); text-underline-offset: 0.25em; }
a:hover { color: #542a11; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.story-nav { max-width: 960px; margin: auto; padding: 1.5rem; display: flex; justify-content: space-between; gap: 1.5rem; font: 1rem/1.5 system-ui, sans-serif; }
.languages { display: flex; gap: 1.25rem; }
.languages [aria-current="page"] { color: var(--ink); font-weight: 600; text-decoration: none; }
.story-header { max-width: 720px; padding: 3rem 1.5rem 2rem; margin: auto; text-align: center; }
.eyebrow { font: 0.875rem/1.5 system-ui, sans-serif; letter-spacing: 0.12em; color: var(--muted); }
h1 { font-size: clamp(2.75rem, 8vw, 4.75rem); line-height: 1.15; font-weight: 400; margin: 1rem 0 0.5rem; }
.subtitle { font-size: 1.25rem; color: var(--muted); margin: 0 0 1.5rem; }
.byline { font-size: 1rem; }
.byline span { color: var(--muted); }
.credit { font: 0.875rem/1.8 system-ui, sans-serif; color: var(--muted); max-width: 34rem; margin: 1rem auto 0; }
.story-art { max-width: 960px; margin: 0 auto 3.5rem; padding: 0 1.5rem; }
.story-art img { display: block; width: 100%; height: auto; }
.story-text { max-width: 700px; padding: 0 1.5rem; margin: auto; font-size: 1.1875rem; line-height: 1.9; overflow-wrap: break-word; }
.story-text:lang(zh-Hans) { line-height: 2.1; }
.story-text p { margin: 0 0 1.35em; }
.story-text > p:first-child { font-size: 1.25em; }
.story-text hr { border: 0; border-top: 1px solid #b9a18c; width: 3rem; margin: 3.5rem auto; }
.story-footer { max-width: 652px; margin: 4rem auto 0; padding: 1.5rem 1.5rem 3rem; border-top: 1px solid #ddd; font: 0.875rem/1.8 system-ui, sans-serif; color: var(--muted); text-align: center; }
@media (max-width: 480px) { .story-header { padding-top: 1.75rem; } .story-text { font-size: 1.0625rem; } .story-art { padding: 0; margin-bottom: 2.5rem; } }
@media print { body { background: white; color: black; } .story-nav, .story-footer a { display: none; } .story-header { padding-top: 0; } .story-art { max-width: 450px; } .story-text { max-width: none; font-size: 11pt; } .story-text p { orphans: 3; widows: 3; } }
