/* reading-edition.css — literary library & reader theme
   Loaded AFTER novel.css. Scope: .library-body and .reader-body only.
   Does not override: .reader-toc transform/visibility/inert,
   html[data-reader-size] font sizes, body text line-height,
   hidden attribute display, or game pages. */

/* ============== LIBRARY: WINE-CLOTH & WARM PAPER ============== */

body.library-body {
  --paper: #f8f1e5;
  --paper-2: #efe3cf;
  --ink: #2e1f1a;
  --muted: #6f5a4a;
  --line: #d8c8b0;
  --signal: #79404e;
  background-color: #412632;
  background-image:
    radial-gradient(rgba(255,250,240,0.04) 1px, transparent 1px),
    radial-gradient(rgba(0,0,0,0.18) 1px, transparent 1px);
  background-size: 28px 28px, 28px 28px;
  background-position: 0 0, 14px 14px;
  color: var(--ink);
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
}

body.library-body .library-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: linear-gradient(180deg, #412632 0%, #361c27 100%);
  border-bottom: 1px solid rgba(248,241,229,0.18);
  box-shadow: 0 1px 0 rgba(0,0,0,0.25);
}

body.library-body .library-brand b { color: #f8f1e5; }
body.library-body .library-brand span { color: #d9b9b0; letter-spacing: 0.04em; }
body.library-body .library-header nav a { color: #e9d8c5; }
body.library-body .library-header nav a:hover { color: #f8f1e5; }

body.library-body .library-hero {
  background: transparent;
  color: #f3e4d4;
  text-align: center;
  padding: 56px 24px 40px;
}
body.library-body .library-hero p { color: #e0c9bb; font-style: italic; }
body.library-body .library-hero h1 { font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif; }
body.library-body .library-hero h1 span { color: #f8f1e5; letter-spacing: 0.02em; }

body.library-body .library-grid {
  background: var(--paper);
  padding: 28px 24px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

body.library-body .novel-card {
  display: grid;
  grid-template-columns: 32% 1fr;
  gap: 18px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(60,40,30,0.10), 0 8px 18px -10px rgba(60,40,30,0.18);
  padding: 18px;
  overflow: hidden;
}

body.library-body .novel-cover {
  background: var(--paper-2);
  border: 1px solid var(--line);
  box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 2px 6px rgba(60,40,30,0.16);
  border-radius: 2px;
  overflow: hidden;
}
body.library-body .novel-cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
}
body.library-body .novel-cover::before,
body.library-body .novel-cover::after { content: none; }

body.library-body .novel-card-copy h2 {
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  color: var(--ink);
}
body.library-body .novel-en { color: var(--muted); letter-spacing: 0.06em; }
body.library-body .novel-description { color: #4a3a30; }
body.library-body .novel-status { color: var(--signal); }
body.library-body .novel-progress i>b { color: var(--ink); }
body.library-body .novel-progress span { color: var(--muted); }

body.library-body .primary-action {
  background: var(--signal);
  color: #f8f1e5;
  border: 1px solid #5e2f3b;
}
body.library-body .secondary-action {
  background: transparent;
  color: var(--signal);
  border: 1px solid var(--signal);
}

body.library-body .future-card {
  background: var(--paper-2);
  border: 1px dashed var(--line);
}
body.library-body .future-card span { color: var(--muted); letter-spacing: 0.08em; }
body.library-body .future-card h2 { color: var(--ink); font-family: "Iowan Old Style", Georgia, serif; }
body.library-body .future-card p { color: var(--muted); }

body.library-body footer {
  background: #361c27;
  color: #c9b2a8;
  border-top: 1px solid rgba(248,241,229,0.14);
}

/* ============== READER: IVORY BOOK PAPER ============== */

body.reader-body {
  --paper: #fbf6eb;
  --paper-2: #f3ead8;
  --ink: #342d26;
  --muted: #6e6358;
  --line: #d8cdb8;
  --signal: #79404e;
  background: var(--paper);
  color: var(--ink);
}

body.reader-body .reader-header {
  background: var(--paper-2);
  border-bottom: 1px solid var(--line);
 color: var(--ink);
}

body.reader-body .reading-line { background: var(--signal); }
body.reader-body .reader-main { background: transparent; }
body.reader-body .chapter-article {
  max-width: 760px;
  margin: 0 auto;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(60,40,30,0.08), 0 12px 28px -16px rgba(60,40,30,0.16);
  padding: 36px 32px;
}
body.reader-body .chapter-head { text-align: center; }
body.reader-body .chapter-head h1 { font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif; }
body.reader-body .chapter-illustration img,
body.reader-body #chapterImagePlaceholder {
  max-width: 100%;
  object-fit: contain;
}
body.reader-body .chapter-navigation a { color: var(--signal); }
body.reader-body .toc-head h2 { color: var(--ink); font-family: "Iowan Old Style", Georgia, serif; }
body.reader-body #tocNav section h3 { color: var(--muted); }
body.reader-body #tocNav a { color: var(--ink); }
body.reader-body #tocNav a:hover { color: var(--signal); }
body.reader-body .toc-scrim { background: rgba(52,45,38,0.42); }

/* ============== DARK THEME OVERRIDE ============== */

[data-reader-theme="dark"] .reader-body {
  --paper: #211e1b;
  --paper-2: #2a2622;
  --ink: #eee5d6;
  --muted: #b3a994;
  --line: #463f37;
  --signal: #d9a574;
  background: var(--paper);
  color: var(--ink);
}
[data-reader-theme="dark"] .reader-body .reader-header {
  background: var(--paper-2);
  border-bottom-color: var(--line);
}
[data-reader-theme="dark"] .reader-body .chapter-article {
  background: var(--paper);
  border-color: var(--line);
}
[data-reader-theme="dark"] .reader-body .chapter-navigation a { color: var(--signal); }
[data-reader-theme="dark"] .reader-body #tocNav a { color: var(--ink); }
[data-reader-theme="dark"] .reader-body .toc-scrim { background: rgba(0,0,0,0.55); }

/* ============== CONTROLS, FOCUS, MOTION, RESPONSIVE ============== */

body.library-body .primary-action,
body.library-body .secondary-action,
body.reader-body .reader-header a,
body.reader-body .reader-header button,
body.reader-body #tocNav a,
body.reader-body .chapter-navigation a {
  min-height: 44px;
  min-width: 44px;
}

body.library-body :focus-visible,
body.reader-body :focus-visible {
  outline: 2px solid var(--signal);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  body.library-body, body.reader-body { scroll-behavior: auto; }
}

@media (max-width: 700px) {
  body.library-body .library-grid { grid-template-columns: 1fr; gap: 18px; }
  body.library-body .novel-card { grid-template-columns: 1fr; padding: 14px; gap: 14px; }
  body.library-body .library-header { height: auto; }
  body.library-body .library-header nav { flex-wrap: wrap; gap: 8px; }
  body.reader-body .chapter-article { padding: 24px 18px; }
}

/* Match the live book template; keep reader state and typography controls intact. */
body.library-body .library-hero {clip-path:none;}
body.library-body .library-hero p {margin-inline:auto;}
body.library-body .novel-cover span {color:var(--muted);}
body.library-body .library-grid {background:none;max-width:1200px;margin:auto;}
body.library-body .novel-card {min-height:0;}
body.library-body .novel-cover {min-height:340px;}
body.library-body .novel-card-copy {padding:32px;}
body.library-body .novel-progress i>b {background:var(--signal);}
body.library-body .library-header :focus-visible {outline-color:#f8f1e5;}
body.reader-body .reader-toc,body.reader-body .toc-head {background:var(--paper-2);color:var(--ink);}
body.reader-body #tocNav a.is-active {background:var(--paper);color:var(--signal);}
body.reader-body .chapter-pagination a {color:var(--signal);min-height:44px;}
@media(max-width:700px){
 body.library-body .novel-card-copy {padding:20px 8px;}
 body.library-body .novel-cover {min-height:280px;max-height:380px;}
 body.library-body .novel-cover img {max-height:380px;}
}
