:root { color-scheme: light; --reader-bg:#f4efe5; --reader-ink:#29291f; --reader-muted:#595b4d; --reader-line:#ccc4b5; }
html[data-reading-theme="dark"] { color-scheme:dark; --reader-bg:#191b17; --reader-ink:#eee8dd; --reader-muted:#c0baac; --reader-line:#55584a; }
html,body { background:var(--reader-bg); color:var(--reader-ink); }
.world,.progress { display:none; }
.cursor-line { display:block; min-height:1.5rem; }
.cursor { animation:reader-blink 1s steps(1) 4; background:var(--reader-muted); }
.say { display:block; opacity:1; transform:none; color:var(--reader-muted); margin:.5rem 0 1.75rem; }
@keyframes reader-blink { 50% { opacity:0; } }
@media(prefers-reduced-motion:reduce) { .cursor { animation:none; } }
.reader-anchor { margin:1.75rem 0 0; }
.reader-anchor img { display:block; width:100%; height:clamp(150px,23vw,240px); object-fit:cover; }
.bar { color:var(--reader-muted); width:min(680px,calc(100% - 40px)); letter-spacing:.04em; gap:1rem; }
.bar a span { color:inherit; }
.mast { width:min(680px,calc(100% - 40px)); padding:3.5rem 0 2.5rem; }
.kicker { margin:0 0 1.25rem; color:var(--reader-muted); }
h1 { line-height:1.1; font-size:clamp(2.7rem,6vw,4rem); }
.dek { color:var(--reader-muted); }
article { width:min(640px,calc(100% - 40px)); padding-bottom:3rem; }
article p { font-size:1.18rem; line-height:1.85; text-shadow:none; }
.close { border-color:var(--reader-line); }
.close a { color:var(--reader-muted); }
.reader-theme { background:transparent; color:inherit; border:1px solid var(--reader-line); padding:.7rem; min-height:44px; cursor:pointer; font:inherit; letter-spacing:0; }
.reader-next { border-top:1px solid var(--reader-line); max-width:680px; margin:0 auto; padding:2.5rem 20px 4rem; font:1rem/1.7 var(--serif); }
.reader-next h2 { font-weight:400; font-size:1.7rem; line-height:1.3; }
.reader-next p { color:var(--reader-muted); }
.reader-next a { text-underline-offset:5px; }
.close .story-share { margin-left: 1rem; padding: .7rem 0; min-height: 44px; border: 0; border-bottom: 1px solid var(--reader-line); background: transparent; color: var(--reader-muted); cursor: pointer; font: 500 .8rem/1.4 var(--sans); }
.story-share-options[hidden] { display: none; }
.story-share-options:not([hidden]) { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.close .story-share-options a,.story-share-options button { display: inline-flex; align-items: center; min-height: 44px; padding: .6rem .85rem; background: transparent; border: 1px solid var(--reader-line); color: var(--reader-ink); font: 400 .8rem/1.4 var(--sans); letter-spacing: 0; text-transform: none; cursor: pointer; text-decoration: none; }
.share-status { display: block; margin-top: .75rem; font: .85rem/1.5 var(--sans, sans-serif); overflow-wrap: anywhere; }
.reader-next .reader-subscribe { margin-top:2rem; padding-top:1rem; border-top:1px solid var(--reader-line); font-size:.95rem; }
button:focus-visible,a:focus-visible { outline:2px solid #967144; outline-offset:4px; }
@media(max-width:640px) { .mast { padding-top:2rem; } article p { font-size:1.08rem; } .bar { font-size:.65rem; } }
.head { border-color:var(--reader-line); }
.head .shell { width:min(680px,calc(100% - 40px)); align-items:center; gap:1rem; }
.head .back,.standfirst,.voice,.note,.note h2,.return { color:var(--reader-muted); }
.mast .shell { width:100%; }
.story-image { width:min(680px,calc(100% - 40px)); height:clamp(150px,23vw,240px); min-height:0; }
article { padding-top:1.75rem; }
article p:first-of-type::first-letter { float:none; color:inherit; font-size:inherit; line-height:inherit; padding:0; }
.fiction-continuity { background:var(--reader-bg); color:var(--reader-ink); margin-top:1rem; border-color:var(--reader-line); }
.fiction-continuity__meta dd,.fiction-continuity__route,.fiction-continuity__links a,.fiction-copy-link { color:var(--reader-ink); }
.fiction-continuity__meta dt,.fiction-continuity__empty,.fiction-continuity__close p,.fiction-copy-status { color:var(--reader-muted); }
.fiction-continuity__meta,.fiction-continuity__meta div,.fiction-continuity__routes,.fiction-continuity__route,.fiction-continuity__empty { border-color:var(--reader-line); }
@page { margin:20mm 18mm; }
@media print {
  html,body { color-scheme:light; background:white !important; color:#111 !important; }
  .bar,.head,.reader-theme,.reader-next,.fiction-continuity,.story-share,.story-share-options,.share-status,.cursor-line,.reader-anchor,.story-image,.return { display:none !important; }
  .mast,article,.shell { width:auto !important; max-width:none !important; margin:0 !important; }
  .mast { padding:0 0 18pt !important; }
  article { padding:0 !important; }
  article p { font-size:11.5pt; line-height:1.6; orphans:3; widows:3; }
  h1 { font-size:28pt; }
  h1,h2,h3 { break-after:avoid; }
  p,a,.kicker,.dek,.standfirst,.voice,.note,.close,footer { color:#111 !important; text-shadow:none !important; }
  a { text-decoration:none; }
  footer,.close { margin-top:18pt; padding-top:12pt; }
}
