:root { --library-paper: #f4f5f3; --library-ink: #252e2d; --library-muted: #606b68; --library-line: #d6dcda; }
.library-home, .reading-theme { color-scheme: light; background: var(--library-paper); color: var(--library-ink); font-family: Arial, "Segoe UI", sans-serif; }
.library-home { margin: 0; min-width: 320px; }
.library-home *, .reading-theme * { box-sizing: border-box; letter-spacing: 0; }
.library-home a { color: inherit; text-decoration: none; }
.library-home a:focus-visible, .reading-theme a:focus-visible { outline: 2px solid #226957; outline-offset: 6px; }
.library-bar { min-height: 86px; padding: 24px 5%; display: flex; justify-content: space-between; align-items: center; gap: 24px; border-bottom: 1px solid var(--library-line); }
.library-brand { font-family: Georgia, serif; font-size: 28px; font-weight: 400; direction: ltr; }
.library-bar nav { display: flex; gap: 28px; font-size: 14px; }
.library-bar nav a:hover, .library-footer a:hover { text-decoration: underline; text-underline-offset: 5px; }
.library-main { position: relative; isolation: isolate; min-height: calc(100svh - 178px); }
.library-scene { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.library-shelves { max-width: 1192px; margin: auto; padding: 44px 42px 88px; }
.library-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 60px; }
.library-heading h1 { font-size: 26px; font-weight: 400; margin: 0; }
.library-heading p { font-size: 14px; color: var(--library-muted); margin: 0; }
.shelf-books { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; list-style: none; padding: 0 10px 24px; margin: 0; min-height: 330px; align-items: end; border-bottom: 9px solid #d6ded9; }
.shelf-books li { min-width: 0; }
.standing-book { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; height: 298px; padding: 30px 12px; background: var(--binding); color: #fff8eb !important; text-align: center; border-radius: 2px; box-shadow: 5px 8px 10px #1d302521; }
.standing-book h2 { font-family: "Times New Roman", serif; font-weight: 400; font-size: 24px; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.standing-book .spine-number { position: absolute; bottom: 22px; left: 0; right: 0; font-size: 12px; font-family: Georgia, serif; }
.shelf-books li:nth-child(3n+2) .standing-book { height: 320px; }
.shelf-books li:nth-child(3n) .standing-book { height: 284px; }
.scene-ready .standing-book { background: transparent; box-shadow: none; }
.scene-ready .shelf-books { border-color: transparent; }
.scene-ready .standing-book > * { opacity: 0; }
.scene-ready .standing-book:focus-visible { outline-offset: 8px; }
.library-footer { padding: 22px 5%; min-height: 92px; border-top: 1px solid var(--library-line); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px 32px; font-size: 13px; color: var(--library-muted); }
.library-footer a { overflow-wrap: anywhere; }
.library-home [hidden] { display: none !important; }
.library-home .skip-link { position: fixed; inset-inline-start: 16px; top: 12px; transform: translateY(-180%); padding: 12px; background: white; z-index: 20; }
.library-home .skip-link:focus { transform: translateY(0); }
.reading-theme { --paper: #f4f5f3; --paper-soft: #edf0ed; --ink: #252e2d; --muted: #606b68; --gold: #416657; --gold-deep: #315546; --line: #d6dcda; --blue: #3a626b; }
body.reading-theme, body.reading-theme.book-long-page { background: #f4f5f3; }
body.reading-theme::after { display: none; }
.reading-theme .site-shell { overflow: visible; }
.reading-theme .topbar { background: #f4f5f3ee; border-bottom: 1px solid var(--library-line); padding: 15px 5%; }
.reading-theme .brand { font-family: Georgia, serif; font-size: 25px; color: var(--library-ink); }
.reading-theme .brand small, .reading-theme .brand img, .reading-theme .footer-logo { display: none; }
.reading-theme .long-book-hero { grid-template-columns: minmax(0, 1fr); padding: 42px 24px 32px; max-width: 1220px; }
.reading-theme .long-book-hero::before { display: none; }
.reading-theme .long-book-hero h1 { font-size: 42px; line-height: 1.2; max-width: 24ch; }
.reading-theme .long-book-hero p { font-size: 17px; }
.reading-theme .long-book-toc { border: 0; border-radius: 0; box-shadow: none; background: transparent; backdrop-filter: none; }
.reading-theme .long-book-toc span { font-size: 14px; }
.reading-theme .long-book-content { background: #fff; border: 0; border-radius: 0; box-shadow: 0 6px 35px #20352a08; }
.reading-theme .long-book-content h2 { font-size: 28px; }
.reading-theme .long-book-content h3 { font-size: 23px; }
.reading-theme .long-book-content .book-title-heading { font-size: 32px; }
.reading-theme .book-front-matter { background: transparent; border: 0; padding: 0 0 24px; border-bottom: 1px solid var(--library-line); border-radius: 0; }
.reading-theme .button { border-radius: 3px; box-shadow: none; }
.reading-theme .button.primary { color: #fff; background: #315546; border-color: #315546; }
.reading-theme .footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px; background: transparent; color: var(--muted); border-color: var(--library-line); padding: 24px; }
.reading-theme .footer a { overflow-wrap: anywhere; max-width: 100%; font-size: 14px; }
.reading-theme .nav a { border: 0; border-radius: 0; padding: 6px; }
.reading-scene { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .22; z-index: 0; }
.reading-theme .long-book-main, .reading-theme .footer { position: relative; z-index: 1; }
.reading-theme .reveal { opacity: 1; transform: none; }
.reading-theme .books-field-map { display: none; }
.ai-catalog { max-width: 940px; margin: auto; padding: 120px 24px 70px; position: relative; z-index: 1; }
.ai-catalog h1 { font-family: Georgia, serif; font-size: 32px; }
.ai-book-row { border-top: 1px solid var(--library-line); padding: 24px 0; }
.ai-book-row h2 { margin: 0 0 12px; font-size: 24px; }
.ai-book-row nav { display: flex; gap: 24px; font-size: 15px; }
.ai-book-row nav a { text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 1500px) { .library-shelves { padding-top: 72px; } .library-heading { margin-bottom: 84px; } }
.genesis-book-page .genesis-source-block { white-space: pre-wrap; overflow-wrap: anywhere; }
.genesis-book-page .genesis-math { text-align: left; font-family: "Cambria Math", Cambria, "Segoe UI", serif; font-size: 17px; line-height: 1.85; }
.genesis-book-page h2.genesis-source-block { font-size: 25px; line-height: 1.5; }
.genesis-book-page sub, .genesis-book-page sup { font-size: .75em; line-height: 0; }
.genesis-book-page .long-book-toc a[dir="ltr"] { text-align: left; }
@media (max-width: 1000px) { .library-shelves { max-width: 720px; } .shelf-books { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 74px 22px; } }
@media (max-width: 600px) {
  .library-bar { min-height: 72px; padding: 18px 22px; }
  .library-brand { font-size: 24px; }
  .library-bar nav { gap: 18px; }
  .library-shelves { padding: 32px 18px 66px; }
  .library-heading { margin-bottom: 42px; }
  .library-heading h1 { font-size: 22px; }
  .shelf-books { gap: 62px 10px; padding-inline: 2px; }
  .standing-book { height: 238px; padding: 25px 5px; }
  .shelf-books li:nth-child(3n+2) .standing-book { height: 256px; }
  .shelf-books li:nth-child(3n) .standing-book { height: 230px; }
  .standing-book h2 { font-size: 20px; }
  .library-footer { padding: 20px 22px; gap: 12px; font-size: 12px; }
  .library-footer .contact-mail { flex-basis: 100%; }
  .reading-theme .long-book-hero h1 { font-size: 32px; }
  .reading-theme .long-book-content { padding: 24px 20px; }
  .reading-theme .long-book-content h2 { font-size: 25px; }
  .reading-theme .long-book-content .book-title-heading { font-size: 27px; }
  .reading-theme .long-book-toc { position: relative; top: auto; max-height: 220px; border-bottom: 1px solid var(--library-line); }
  .reading-theme .long-reader-layout { grid-template-columns: minmax(0, 1fr); width: calc(100% - 28px); }
  .reading-scene { opacity: .1; }
}
@media (prefers-reduced-motion: reduce) { .library-home *, .reading-theme * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media print { .reading-scene, .reading-theme .topbar, .reading-theme .long-book-toc, .reading-theme .reader-actions, .reading-theme .back-top { display: none; } .reading-theme .long-reader-layout { display: block; } }
