/* Shared reading surfaces. Artwork keeps its own palette; words sit on opaque surfaces. */
:root {
  --paper: #ffffff;
  --cream: #f4f5f7;
  --ink: #17191f;
  --muted: #515663;
  --mobile-muted: #515663;
  --plum: #852c4b;
  --dark: #18141e;
  --night: #18141e;
  --gold: #77521c;
  --line: #d1d4db;
  --surface-soft: #f4f5f7;
  --surface-rose: #fff0f5;
  --surface-caution: #fff4d6;
  --ink-caution: #674200;
  --focus: #79304e;
}
body, .comic-home, .fc-shell { background: var(--paper); color: var(--ink); }
.preview-strip { background: var(--surface-soft); color: var(--muted); }
.site-header, .site-footer { background: var(--paper); }
.brand, .site-menu>summary { color: var(--ink); }
.site-menu>summary, .site-menu[open]>summary { border-color: #9197a3; background: white; }
.sales-header .site-menu nav { background: white; border-color: var(--line); }
.site-menu nav a:hover { background: var(--surface-soft); }
.button.primary { background: var(--plum); color: white; }
.button.primary:hover { background: #68213b; }
.button.secondary { border-color: #8a6978; color: var(--plum); background: white; }
:is(a,button,input,select,textarea,summary):focus-visible { outline-color: var(--focus); }

/* Reading and purchasing share a quiet white surface and a consistent text hierarchy. */
:is(.home-note,.home-price p,.home-price>span,.home-service-links span,.seller-info,
  .site-footer>p,.site-footer>small,.journey-heading p:not(.journey-kicker),
  .preview-heading>p:last-child,.offer-focus p,.chapter-list-v3 p,.unified-price small,
  .unified-price>p:not(.price-value),.journey-note p,.topic-options small,
  .field-help,.field>small,.form-note,.optional,.input-summary dt,
  .reader-toolbar a,.reader-toolbar button,.reader-toolbar>span,
  .reading-reason>p,.preview-topics,.sample-link-card small) { color: var(--muted); }
.journey-kicker, .home-eyebrow, .home-text-link, .chapter-list-v3 li>span { color: var(--plum); }
.journey-heading h1 { font-weight: 600; }
.home-reading, .journey-note, .next-story, .contact-choices,
.contact-sample-controls, .contact-reading-controls, .contact-fallback-note,
.contact-unavailable { background: var(--surface-soft); }
button[data-contact-relationship], button[data-contact-boundary], button[data-contact-situation] { background: white; color: #513542; border-color: #9299a5; }
button[data-contact-relationship][aria-pressed=true], button[data-contact-boundary][aria-pressed=true], button[data-contact-situation][aria-pressed=true] { background: var(--plum); color: white; border-color: var(--plum); }
.home-reading-steps p, .home-faq p { color: #343945; }
.comic-home .home-offer { background: var(--surface-soft); }
.home-chapters span { color: var(--plum); }
.check-line, .next-story small { color: var(--muted); }
.home-topics button, .birth-card, .input-summary, .reading-reason,
.unified-price, .sample-link-card { background: white; border-color: var(--line); }
.home-topics small { color: var(--muted); }
.home-topics button:hover { border-color: var(--plum); background: var(--surface-rose); }
.comic-home .home-story { background: white; }
.comic-home .home-dialogue, .comic-home .home-dialogue:before { background: white; }
.comic-home .home-story-turn p { color: #513542; }
.comic-home .home-topics button:hover, .comic-home .home-topics button:active { background: var(--surface-rose); }
.offer-sample-link { background: var(--surface-soft); border-color: var(--line); }
.offer-sample-link small { color: var(--muted); }
.home-topics button>span:first-child { color: var(--plum); }
.home-section, .home-intro, .home-chapters li, .home-service-links a,
.chapter-list-v3 li, .journey-progress { border-color: var(--line); }
.home-price strong, .unified-price .price-value { color: var(--plum); }
.offer-focus { background: var(--surface-rose); border-left: 4px solid var(--plum); }
.offer-focus>span, .scope-comparison span, .unified-price>span { color: #613548; font-size: 14px; font-weight: 600; }
.offer-focus h2 { color: var(--ink); font-weight: 700; }
.scope-comparison>div { background: white; border-color: var(--line); }
.scope-comparison>div:last-child { background: var(--surface-soft); border-color: #979da8; }
.scope-comparison b { color: var(--ink); }
.unified-price { border: 2px solid var(--plum); }
.unified-price .button { padding-inline: 12px; }
.journey-progress li { color: var(--muted); }
.journey-progress li span { background: #eceef1; color: #515663; }
.journey-progress li[aria-current] { color: var(--plum); }
.journey-progress li[aria-current] span { background: var(--plum); color: white; }
.unknown-time-note { background: var(--surface-soft); color: #343945; border-left-color: #747c8d; }
.journey-note, .reading-reason, .next-story { border: 1px solid var(--line); }
.field>label, .field-label, .choice-fieldset legend { color: var(--ink); font-weight: 600; }
.field :is(input:not([type=checkbox]),select,textarea), .contact-reading-controls select {
  color: var(--ink); background: white; border-color: #8b929e;
}
.field input:disabled { background: #eceef1; color: #646b78; }
.field :is(input,textarea)::placeholder { color: #646b78; opacity: 1; }
.relationship-options span, .topic-options span { background: white; border-color: #9299a5; color: var(--ink); }
.relationship-options input:checked+span, .topic-options input:checked+span {
  background: var(--surface-rose); border-color: var(--plum); box-shadow: inset 0 0 0 1px var(--plum);
  color: #681c38; font-weight: 700;
}
.relationship-options input:checked+span::before { content: '✓ '; }
.topic-options input:checked+span small { color: #613548; }
.plain-button { color: #513542; }

/* Darkness belongs to short story beats, not to forms or long explanations. */
.comic-home .home-hero, .comic-home .home-dock { background: var(--night); }
.comic-home .home-hero-copy, .comic-home .home-hero-copy>p { color: #fff; }
.comic-home .home-hero .home-eyebrow { color: #ffd4e2; }
.comic-home .home-dock { border-top-color: #766777; }
.comic-home .home-dock .button { background: #ffd4e2; color: #44142a; }
.comic-home .home-dock p { color: #f0e4ec; }
.comic-home .home-dock :is(button,a):focus-visible { outline-color: white; }
.home-dock { background: white; }

/* Reusable comic surfaces: the same art, readable dialogue, clear explanation. */
.paid-sample.reader-rich { --reader-paper: #fff; --reader-ink: #17191f; background: white; }
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] { --cinema-paper: #fff; }
.reader-rich .reader-dialogue-zone { background: white; }
.reader-rich .reader-speech, .reader-rich .reader-speech::after,
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-speech,
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-speech::after { background: white; }
.reader-rich .reader-speech, .reader-rich .reader-speech p,
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-speech :is(p,h2),
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-copy :is(h2,p:not(.cinema-eyebrow)) { color: var(--ink); }
.reader-rich .paid-sample-disclosure, .reader-rich .paid-sample-rationale { background: var(--surface-soft); color: #343945; }
.reader-rich .reader-comparison { background: white; color: var(--ink); }
.reader-rich .reader-comparison :is(th,td) { border-color: #b8bdc7; }
.reader-rich .reader-comparison thead th { background: #eceef2; color: var(--ink); }
.reader-rich .reader-comparison tbody th { background: #f6f7f9; color: #343945; }
.reader-rich .paid-sample-action,
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-action { background: var(--night); }
.reader-rich .paid-sample-action :is(h2,.reader-format-badge,.paid-sample-step,.paid-sample-steps,.paid-sample-closing) { color: white; }
.reader-rich .paid-sample-action .reader-narrative>p, .reader-rich .paid-sample-action .reader-sentence-replay { color: white; }
.reader-rich .reader-section-meta .paid-sample-step { color: #614252; }
.reader-rich .paid-sample-action .reader-section-meta .paid-sample-step { color: #ffd4e2; }
.reader-rich .paid-sample-end>span { color: var(--plum); }
.reader-rich .paid-sample-action .paid-sample-steps li::marker { color: #ffd4e2; }
.reader-rich .reader-action-note, .reader-rich .reader-dialogue-tail { background: white; }
.reader-rich .reader-action-note blockquote { color: #501b32; }
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-action .cinema-copy :is(h2,p:not(.cinema-eyebrow)) { color: white; }
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-action .cinema-eyebrow { color: #ffd4e2!important; }
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-action blockquote,
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-action blockquote::after { background: white; color: #501b32; }
.cinema-sequence[data-presentation-version="vertical-webtoon-3"] .cinema-action .cinema-copy .cinema-limit { color: #f0e4ec!important; }
.reader-rich .paid-sample-copy>.reader-caution-banner { background: var(--surface-caution); color: var(--ink-caution); border-left: 3px solid #9b680b; padding: 14px 16px; }
.reader-rich .reader-stage-foreground { background: linear-gradient(0deg,#fff,transparent 16%); }
.cinema-tools button, .reader-rich .paid-sample-toolbar button[data-cinema-toggle] { background: white; color: #513542; border-color: #9299a5; }

/* Same-copy comparison keeps three formats, with the shared accessible palette. */
.fc-brand, .fc-toolbar { background: white; border-color: var(--line); }
.fc-toolbar button { color: #343945; }
.fc-toolbar button[aria-selected=true] { background: var(--plum); color: white; }
.fc-message, .fc-selfCheck { background: var(--surface-soft); color: var(--ink); }
.fc-perspectives th { background: #eceef2; color: var(--ink); }
.fc-perspectives td { background: white; color: var(--ink); }
.fc-notes { background: var(--surface-soft); }
.fc-comic { background: var(--night); color: white; }
.fc-comic .fc-paragraph { background: white; color: var(--ink); }
.fc-comic .fc-message, .fc-comic .fc-selfCheck { background: #fff0f5; color: #44142a; }
.fc-comic :is(.fc-byline,.fc-label,.fc-quote) { color: #ffd4e2; }
.fc-comic .fc-scene-action .fc-label { color: var(--plum); }

/* Short, optional context questions and a clearly labelled editorial response. */
.fit-intro,.fit-question p{color:#515663;font-size:16px;line-height:1.65}.fit-skip{display:flex;align-items:center;gap:10px;min-height:48px;color:#515663}.fit-question{margin-block:28px}.fit-options{padding:18px 0;border-block-start:1px solid #d1d4db}.fit-options summary{min-height:44px;cursor:pointer;font-weight:600}.fit-result{margin:24px auto;padding:24px 20px;max-width:640px;background:#fff;border:1px solid #d1d4db;border-left:4px solid #852c4b;border-radius:12px;color:#17191f}.fit-result h2{font-size:24px;line-height:1.45}.fit-result p{font-size:17px;line-height:1.8}.fit-result blockquote{margin:18px 0;padding:18px;background:#fff0f5;font-size:18px;line-height:1.7}.fit-result small{display:block;color:#515663;font-size:14px;line-height:1.7}.fit-result a{display:inline-flex;align-items:center;min-height:48px;color:#852c4b}.fit-question input,.fit-skip input{accent-color:#852c4b}
