:root {
  --ink: #101b1e;
  --surface: #17262a;
  --surface-light: #203237;
  --line: #cfbf9730;
  --cream: #f2ebdc;
  --muted: #b2c0ba;
  --gold: #d2b47e;
  --serif: Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; background: var(--ink); color: var(--cream); font: 14px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; cursor: pointer; }
a, button { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
button:active, .primary-link:active { transform: translateY(1px); }
::selection { background: var(--gold); color: var(--ink); }
[hidden] { display: none !important; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: absolute; left: 24px; top: 12px; transform: translateY(-180%); z-index: 20; padding: 12px 18px; background: var(--cream); color: var(--ink); }
.skip-link:focus { transform: none; }
.masthead, main, .colophon { width: min(1392px, 90%); margin-inline: auto; }
.masthead { min-height: 108px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--line); }
.wordmark { display: flex; align-items: center; gap: 14px; flex: none; }
.wordmark svg { width: 48px; height: 48px; flex: none; fill: none; stroke: none; }
.wordmark > span { display: flex; flex-direction: column; gap: 3px; font-size: 9px; letter-spacing: 2.5px; line-height: 1.6; }
.wordmark strong { font: 400 36px/1.1 var(--serif); letter-spacing: -1.1px; }
.wordmark .brand-tagline { font: 400 10px/1.5 var(--sans); color: var(--muted); letter-spacing: .2px; }
.library-nav { display: flex; align-items: center; gap: 32px; color: #c7d0c5; font-size: 12px; }
.library-nav a { display: inline-flex; align-items: center; min-height: 44px; gap: 10px; }
.library-nav a:hover { color: var(--cream); }
.library-nav span { color: var(--gold); }
.featured { position: relative; display: grid; grid-template-columns: 44% 56%; margin-top: 34px; min-height: 620px; border: 1px solid var(--line); background: #17272b; box-shadow: 0 24px 60px #0002; }
.featured-copy { padding: 48px 36px 38px 44px; min-width: 0; position: relative; z-index: 1; }
.eyebrow { color: var(--gold); margin: 0 0 16px; font-size: 10px; font-weight: 600; line-height: 1.6; letter-spacing: 1.9px; }
.small-star { font-size: 14px; vertical-align: -1px; margin-right: 9px; }
.feature-prelude { font: italic 28px/1.3 var(--serif); color: #d6d9c9; margin: 24px 0 6px; }
h1 { font: 400 clamp(60px, 6.3vw, 92px)/.98 var(--serif); letter-spacing: -3px; margin: 0; overflow-wrap: break-word; }
.featured h1 em { display: block; color: #dfbd84; font-weight: 400; }
.featured-hook { max-width: 410px; font: 400 21px/1.45 var(--serif); margin: 26px 0 15px; color: #f1e7d4; }
.featured-description { max-width: 390px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.featured-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; margin-top: 26px; }
.primary-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 50px; padding: 14px 22px; background: var(--gold); color: #16252a; border: 1px solid #e8c995; font-size: 13px; font-weight: 650; transition: background .18s, transform .18s; }
.primary-link:hover { background: #e3c58f; transform: translateY(-2px); }
.primary-link > span { font-size: 22px; font-weight: 400; line-height: 1; }
.secondary-link { min-height: 44px; display: inline-flex; align-items: center; gap: 11px; color: #d7c6a3; font-size: 12px; }
.secondary-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.featured-details { display: flex; flex-wrap: wrap; gap: 5px 14px; margin-top: 24px; color: #adc0b5; font-size: 10px; }
.featured-details span + span::before { content: "·"; margin-right: 14px; color: var(--gold); }
.featured-art { margin: 0; position: relative; overflow: hidden; min-width: 0; background: #24383b; }
.featured-art::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, #0b1b24dc, transparent 45%); }
.featured-art > img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; }
.feature-label { position: absolute; z-index: 1; top: 23px; right: 23px; color: #fff0d2; border: 1px solid #dbc18a77; background: #14242ae8; padding: 8px 12px; font-size: 8px; line-height: 1.6; letter-spacing: 1.5px; }
.feature-label > span { margin-inline: 10px; color: var(--gold); font-size: 7px; }
.featured-art figcaption { position: absolute; z-index: 1; left: 30px; right: 25px; bottom: 31px; display: grid; gap: 8px; padding-left: 18px; border-left: 1px solid var(--gold); }
.featured-art figcaption > span { color: #f3dfb5; font-size: 9px; letter-spacing: 1.8px; }
.featured-art figcaption em { font: italic 21px/1.4 var(--serif); color: #efe6d2; }
.library-intro { display: grid; grid-template-columns: 1fr 1fr 1.12fr; gap: 30px; align-items: center; padding: 35px 0 38px; border-bottom: 1px solid var(--line); }
.library-intro > p:first-child { margin: 0; font: 400 27px/1.3 var(--serif); }
.library-intro > p:first-child em { color: #c0c6b6; font-weight: 400; }
.intro-description { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.9; max-width: 330px; }
.collection-totals { display: flex; justify-content: space-between; gap: 20px; margin: 0; }
.collection-totals > div { display: flex; flex-direction: column-reverse; gap: 6px; }
.collection-totals dd { margin: 0; font: 400 36px/1.1 var(--serif); color: var(--gold); }
.collection-totals dt { color: var(--muted); font-size: 10px; white-space: nowrap; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 24px; }
.section-heading .eyebrow { margin-bottom: 9px; }
.section-heading h2 { font: 400 38px/1.2 var(--serif); letter-spacing: -.8px; margin: 0; }
.section-heading > span { color: var(--muted); font-size: 12px; }
.section-aside { margin: 0; text-align: right; color: #abbcaf; font: italic 18px/1.5 var(--serif); }
.new-shelf { padding: 38px 0 32px; border-bottom: 1px solid var(--line); }
.new-shelf .section-heading h2 { font-size: 32px; }
.shelf-hint { margin: 0; text-align: right; color: var(--muted); font-size: 12px; }
.shelf-hint > span { display: block; margin-top: 6px; color: var(--gold); font-size: 10px; }
.shelf-hint > span > span { margin-left: 8px; }
.new-shelf-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(265px, 29%); gap: 18px; overflow-x: auto; overscroll-behavior-x: contain; padding: 2px 2px 20px; margin-inline: -2px; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #77866c #1a2b2e; }
.new-shelf-grid > div { min-width: 0; scroll-snap-align: start; }
.new-shelf-card { display: flex; height: 100%; flex-direction: column; border: 1px solid var(--line); background: #17272b; transition: border-color .2s, background .2s; }
.new-shelf-card:hover { border-color: #d2b47e88; background: #1e3237; }
.new-shelf-card:focus-visible { outline-offset: -3px; }
.new-shelf-image { position: relative; display: block; aspect-ratio: 1.8; overflow: hidden; }
.new-shelf-image > img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.new-shelf-card:hover img { transform: scale(1.025); }
.new-shelf-image > span { position: absolute; bottom: 10px; right: 12px; width: 32px; height: 32px; display: grid; place-items: center; background: #10252bd9; color: #f5e6c6; font-size: 19px; }
.new-shelf-copy { display: flex; flex-direction: column; flex: 1; padding: 19px 20px; }
.new-shelf-copy .book-genre { color: var(--gold); font-size: 9px; letter-spacing: 1px; margin-bottom: 9px; }
.new-shelf-copy > strong { font: 400 25px/1.15 var(--serif); color: var(--cream); margin-bottom: 14px; }
.new-shelf-detail { margin-top: auto; color: #b1c2b6; font-size: 11px; }
.continue-section { padding: 30px 0 0; }
.continue-section .section-heading { margin-bottom: 17px; }
.continue-section .section-heading h2 { font-size: 28px; }
.continue-section .eyebrow { margin-bottom: 6px; font-size: 9px; }
.continue-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.continue-card { display: flex; align-items: center; gap: 16px; min-width: 0; padding: 12px; border: 1px solid var(--line); background: var(--surface); transition: border-color .2s; }
.continue-card:hover { border-color: var(--gold); }
.continue-card > img { width: 82px; height: 88px; object-fit: cover; flex: none; }
.continue-copy { min-width: 0; }
.continue-status { display: block; margin-bottom: 5px; color: var(--gold); font-size: 9px; letter-spacing: 1.1px; }
.continue-copy h3 { margin: 0 0 5px; font: 400 22px/1.2 var(--serif); }
.continue-copy p { margin: 0; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.continue-action { flex: none; margin-left: auto; padding-left: 8px; color: var(--gold); font-size: 11px; }
.continue-action > span { display: block; text-align: right; font-size: 20px; }
.adventures { padding-top: 43px; scroll-margin-top: 20px; }
.library-search-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(165px, 205px); align-items: end; gap: 14px; margin: 27px 0 20px; }
.library-search-tools:has([data-library-clear-search][hidden]) { grid-template-columns: minmax(0, 1fr) minmax(165px, 205px); }
.library-search-field, .library-sort-field { display: flex; flex-direction: column; min-width: 0; gap: 8px; }
.library-search-field > span, .library-sort-field > span { color: #c7d0c0; font-size: 11px; }
.library-search-tools input, .library-search-tools select { width: 100%; min-height: 49px; padding: 11px 15px; border: 1px solid #879c8863; border-radius: 3px; background: #172a2e; color: var(--cream); font-size: 13px; }
.library-search-tools input::placeholder { color: #9bafa5; opacity: 1; }
.library-search-tools select { padding-right: 28px; cursor: pointer; }
.library-search-tools input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.library-search-tools [data-library-clear-search] { min-height: 49px; padding: 10px 15px; color: #e1c795; border: 1px solid #879c8863; border-radius: 3px; background: transparent; font-size: 12px; white-space: nowrap; }
.library-search-tools [data-library-clear-search]:hover { background: #243c3f; border-color: var(--gold); }
.browse-tools { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 22px; margin-bottom: 25px; }
.filter-list { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-list button { min-height: 44px; padding: 10px 14px; border: 1px solid #9cb09845; border-radius: 3px; background: transparent; color: #bdcbbb; font-size: 12px; line-height: 1.45; transition: background .18s, border-color .18s, transform .18s; }
.filter-list button > span { margin-left: 7px; font-size: 11px; }
.filter-list button:hover { border-color: var(--gold); color: var(--cream); }
.filter-list button[aria-pressed="true"] { color: #15272b; border-color: var(--gold); background: var(--gold); }
.browse-tools > p { margin: 0; color: #a7bbaa; font-size: 11px; }
.library-list-feedback { margin: -5px 0 23px; padding: 9px 13px; color: #d6dfcc; background: #d2b47e0c; border-left: 2px solid var(--gold); font-size: 12px; }
.book-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.book-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: clip; border: 1px solid #a7bb9b35; border-radius: 3px; background: var(--surface); transition: border-color .2s, box-shadow .2s; }
.book-card:hover { border-color: #d3bd8b80; box-shadow: 0 12px 30px #0002; }
.book-card:focus-within { border-color: var(--gold); box-shadow: 0 0 0 1px #d2b47e24; }
.book-art { position: relative; display: block; aspect-ratio: 1.5; overflow: hidden; border-bottom: 1px solid #b9c4a52b; background: #24373b; }
.book-art::after { content: ""; position: absolute; inset: 45% 0 0; pointer-events: none; background: linear-gradient(transparent, #081d23a8); }
.book-art > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--image-position, center); transition: transform .45s ease; }
.book-art:hover > img { transform: scale(1.035); }
.book-number { position: absolute; top: 17px; left: 18px; z-index: 1; color: #fff1cf; font: 25px/1 var(--serif); text-shadow: 0 1px 12px #000; }
.new-story { position: absolute; z-index: 1; bottom: 16px; left: 18px; padding: 5px 8px; border: 1px solid #e5cea589; background: #10262ce8; color: #f9e8c4; font-size: 8px; line-height: 1.5; letter-spacing: 1px; }
.art-arrow { position: absolute; z-index: 1; bottom: 12px; right: 17px; font-size: 27px; color: #fff1cf; }
.reading-list-toggle { position: absolute; top: 13px; right: 13px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 10px; border: 1px solid #ebd7aa99; border-radius: 50%; background: #10252de8; color: #f4e7cb; box-shadow: 0 3px 14px #0004; transition: background .18s, color .18s, transform .18s; }
.reading-list-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.reading-list-toggle:hover { background: #2c4649; border-color: #ffe4b3; }
.reading-list-toggle[aria-pressed="true"] { color: #17282c; background: #dec18c; border-color: #f2d7a7; }
.reading-list-toggle[aria-pressed="true"] svg { fill: #17282c20; }
.reading-list-toggle:focus-visible { outline-offset: 4px; }
.book-copy { display: flex; flex-direction: column; flex: 1; padding: 25px 24px 0; }
.book-genre { margin: 0 0 11px; color: var(--book-accent, var(--gold)); font-size: 10px; font-weight: 600; line-height: 1.6; letter-spacing: 1.2px; text-transform: uppercase; }
.book-copy h3 { min-height: 66px; margin: 0 0 17px; font: 400 29px/1.13 var(--serif); letter-spacing: -.5px; }
.book-copy h3 a:hover { color: var(--book-accent, var(--gold)); }
.book-hook { margin: 0 0 15px; font: italic 19px/1.5 var(--serif); color: #eee5d3; }
.book-description { margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.book-mood { margin: auto 0 18px; color: #a8bfae; font-size: 11px; }
.book-reading-time { margin: 4px 0 12px; color: #ccd4c9; font-size: 11px; }
.library-starters { margin: 0 0 28px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: #17282a; }
.library-starters .eyebrow { font-size: 10px; color: var(--gold); }
.library-starters p { margin: 8px 0 16px; color: #e6e6d6; font-family: Georgia,serif; font-size: 22px; }
.library-starters ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
.library-starters a { display: flex; flex-direction: column; gap: 8px; min-height: 76px; padding: 14px; color: #e2e8db; border: 1px solid #526159; border-radius: 8px; text-decoration: none; }
.library-starters a:hover { border-color: var(--gold); background: #203438; }
.library-starters a:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.library-starters strong { font-size: 14px; font-weight: 500; }
.library-starters a > span { font-size: 11px; color: #b9c8b8; }
.library-starters a > span > span { margin-left: 5px; color: var(--gold); }
@media(max-width:600px) { .library-starters { padding: 16px; } .library-starters ul { grid-template-columns: 1fr; } .library-starters a { min-height: 64px; } }
.book-mood span { color: var(--book-accent, var(--gold)); }
.book-save-status { display: block; margin: 0 0 15px; color: #e2cf9c; font-size: 11px; }
.book-details { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 68px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 11px; color: #b4c7b2; }
.book-details > span > span { margin-inline: 5px; opacity: .6; }
.book-details a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: var(--book-accent, var(--gold)); font-weight: 600; white-space: nowrap; }
.book-details a:hover { text-decoration: underline; text-underline-offset: 4px; }
.book-details a span { font-size: 17px; }
.empty-state { text-align: center; border: 1px solid var(--line); padding: 42px 24px; }
.empty-state > span { font-size: 35px; color: var(--gold); }
.empty-state h3 { margin: 12px 0; font: 400 30px/1.3 var(--serif); }
.empty-state p { color: var(--muted); font-size: 13px; }
.empty-state button { min-height: 46px; margin-top: 10px; padding: 11px 19px; border: 1px solid var(--gold); background: transparent; color: var(--gold); font-size: 13px; }
.empty-state button span { margin-left: 15px; }
.noscript-note { font-size: 13px; color: var(--muted); margin-top: 20px; }
.reading-notes { display: grid; grid-template-columns: 30% minmax(0, 1fr); gap: 28px 45px; padding: 45px 0 35px; margin-top: 48px; border-top: 1px solid var(--line); }
.reading-heading h2 { margin: 0; font: 400 29px/1.35 var(--serif); letter-spacing: -.5px; }
.reading-heading h2 em { color: #bac7b4; font-weight: 400; }
.reading-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 27px; }
.reading-facts > div > span { font-size: 10px; letter-spacing: 1px; color: var(--gold); }
.reading-facts h3 { margin: 20px 0 12px; font: 400 22px/1.3 var(--serif); }
.reading-facts p { margin: 0; font-size: 12px; line-height: 1.9; color: var(--muted); }
.progress-help { grid-column: 2; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.progress-help summary { padding-block: 8px; cursor: pointer; color: #c0cfbb; }
.progress-help p { margin: 10px 0 0; max-width: 640px; }
.colophon { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0 31px; border-top: 1px solid var(--line); color: #a2b59e; }
.footer-wordmark { display: flex; align-items: center; gap: 10px; color: var(--cream); font: 400 25px/1.2 var(--serif); letter-spacing: -.5px; }
.footer-wordmark svg { width: 33px; height: 36px; fill: none; stroke: none; }
.colophon > p { margin: 0; font: italic 17px/1.4 var(--serif); }
.colophon > a:last-child { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--gold); font-size: 11px; }
.not-found { min-height: 100svh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 20px; max-width: 950px; }
.not-found h1 { font-size: clamp(48px, 7vw, 78px); line-height: 1.1; }
.not-found h1 em { color: var(--gold); font-weight: 400; }
.not-found > p:not(.eyebrow) { color: var(--muted); }
@media (min-width: 1550px) {
  .featured { min-height: 680px; }
  .featured-copy { padding: 56px 43px 45px 54px; }
  .featured-hook { font-size: 23px; }
  .featured-description { font-size: 14px; }
  .book-copy h3 { font-size: 31px; min-height: 70px; }
}
@media (max-width: 1150px) {
  .library-nav { gap: 22px; font-size: 11px; }
  .featured { grid-template-columns: 46% 54%; min-height: 600px; }
  .featured-copy { padding: 35px 26px 31px 31px; }
  .featured h1 { font-size: 72px; }
  .feature-prelude { font-size: 25px; }
  .featured-hook { font-size: 20px; }
  .featured-actions { gap: 12px 20px; }
  .library-intro { grid-template-columns: 1fr 1.2fr; gap: 30px; }
  .intro-description { display: none; }
  .collection-totals { justify-content: flex-end; gap: 35px; }
  .book-grid { gap: 24px 20px; }
  .book-copy { padding: 22px 20px 0; }
  .book-copy h3 { font-size: 26px; min-height: 60px; }
  .book-hook { font-size: 18px; }
  .book-description { font-size: 12px; }
  .book-details { font-size: 10px; gap: 8px; }
  .reading-notes { grid-template-columns: 27% minmax(0, 1fr); gap: 25px 30px; }
  .reading-heading h2 { font-size: 26px; }
  .reading-facts { gap: 22px; }
  .reading-facts h3 { font-size: 20px; }
}
@media (max-width: 900px) {
  .library-nav a:last-child { display: none; }
  .featured { grid-template-columns: 47% 53%; min-height: 580px; }
  .featured-copy { padding: 31px 23px 29px; }
  .featured h1 { font-size: 63px; }
  .featured-hook { font-size: 19px; margin-top: 22px; }
  .featured-description { font-size: 12px; }
  .featured-details { gap: 5px 10px; }
  .featured-details span:last-child { display: none; }
  .featured-art figcaption { left: 22px; right: 20px; bottom: 26px; padding-left: 13px; }
  .featured-art figcaption em { font-size: 18px; }
  .feature-label { top: 18px; right: 15px; font-size: 7px; padding: 7px 9px; }
  .book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .book-copy { padding: 24px 23px 0; }
  .book-copy h3 { font-size: 29px; min-height: 66px; }
  .book-description { font-size: 13px; }
  .book-details { font-size: 11px; }
  .new-shelf-grid { grid-auto-columns: minmax(255px, 43%); }
  .shelf-hint { max-width: 210px; }
  .continue-list { grid-template-columns: 1fr; }
  .continue-action { padding-right: 12px; }
  .reading-notes { grid-template-columns: 1fr; }
  .reading-heading h2 { font-size: 29px; }
  .reading-facts { gap: 30px; }
  .progress-help { grid-column: 1; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 18px; }
  .masthead, main, .colophon { width: 90%; }
  .masthead { min-height: 84px; gap: 15px; }
  .wordmark { gap: 9px; }
  .wordmark svg { width: 36px; height: 39px; }
  .wordmark > span { font-size: 7px; letter-spacing: 1.5px; }
  .wordmark strong { font-size: 28px; letter-spacing: -.8px; }
  .wordmark .brand-tagline { font-size: 8px; }
  .library-nav { gap: 15px; font-size: 10px; }
  .library-nav span { display: none; }
  .featured { display: flex; flex-direction: column; margin-top: 22px; min-height: 0; }
  .featured-art { order: 0; aspect-ratio: 1.5; }
  .featured-art::after { background: linear-gradient(0deg, #17272b55, transparent 30%); }
  .feature-label { top: 13px; right: 13px; font-size: 6px; letter-spacing: .8px; }
  .featured-art figcaption { display: none; }
  .featured-copy { order: 1; padding: 25px 23px 27px; }
  .featured-copy .eyebrow { font-size: 9px; letter-spacing: 1.3px; margin-bottom: 15px; }
  .feature-prelude { font-size: 22px; margin: 0 0 4px; }
  .featured h1 { font-size: clamp(56px, 15vw, 72px); line-height: .98; letter-spacing: -2.4px; }
  .featured h1 em { display: block; margin-left: 0; }
  .featured-hook { margin: 21px 0 13px; font-size: 21px; line-height: 1.45; }
  .featured-description { font-size: 13px; }
  .featured-actions { margin-top: 22px; gap: 12px 20px; }
  .primary-link { min-height: 48px; padding: 12px 18px; font-size: 12px; gap: 22px; }
  .secondary-link { font-size: 11px; }
  .featured-details { margin-top: 20px; font-size: 10px; }
  .library-intro { display: block; padding: 28px 0 31px; }
  .library-intro > p:first-child { font-size: 27px; }
  .collection-totals { justify-content: flex-start; margin-top: 24px; gap: 35px; }
  .collection-totals dd { font-size: 32px; }
  .collection-totals dt { font-size: 9px; }
  .section-heading { gap: 17px; margin-bottom: 21px; }
  .section-heading .eyebrow { font-size: 9px; letter-spacing: 1.4px; }
  .section-heading h2 { font-size: 33px; }
  .section-aside { font-size: 15px; max-width: 100px; }
  .new-shelf { padding: 29px 0 24px; }
  .new-shelf .section-heading { display: block; }
  .new-shelf .section-heading h2 { font-size: 29px; }
  .shelf-hint { text-align: left; max-width: none; margin-top: 11px; }
  .shelf-hint > span { display: inline; margin-left: 5px; }
  .new-shelf-grid { grid-auto-columns: min(80vw, 320px); gap: 14px; padding-bottom: 17px; }
  .new-shelf-copy { padding: 17px 18px; }
  .new-shelf-copy > strong { font-size: 25px; }
  .continue-section { padding-top: 23px; }
  .continue-section .section-heading { display: block; }
  .continue-section .section-heading h2 { font-size: 27px; }
  .continue-section .section-heading > span { display: block; margin-top: 9px; font-size: 11px; }
  .continue-card { gap: 12px; padding: 10px; }
  .continue-card > img { width: 65px; height: 83px; }
  .continue-copy h3 { font-size: 21px; }
  .continue-status { font-size: 8px; letter-spacing: .8px; }
  .continue-copy p { font-size: 10px; }
  .continue-action { font-size: 0; padding: 0 4px; }
  .continue-action > span { font-size: 22px; }
  .adventures { padding-top: 32px; }
  .library-search-tools, .library-search-tools:has([data-library-clear-search][hidden]) { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; margin-top: 24px; }
  .library-search-field { grid-column: 1 / -1; }
  .library-search-tools input, .library-search-tools select { min-height: 49px; font-size: 16px; }
  .library-sort-field { grid-column: 1; grid-row: 2; }
  .library-search-tools [data-library-clear-search] { grid-column: 2; grid-row: 2; font-size: 11px; }
  .library-search-tools:has([data-library-clear-search][hidden]) .library-sort-field { grid-column: 1 / -1; max-width: 280px; }
  .browse-tools { gap: 13px; margin-bottom: 22px; }
  .filter-list { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; width: 100%; }
  .filter-list button { padding: 10px 8px; font-size: 12px; min-height: 47px; }
  .browse-tools > p { font-size: 12px; }
  .book-grid { grid-template-columns: 1fr; gap: 25px; }
  .book-copy { padding: 24px 23px 0; }
  .book-copy h3 { min-height: 0; font-size: 32px; margin-bottom: 18px; }
  .book-genre { font-size: 10px; }
  .book-hook { font-size: 20px; }
  .book-description { font-size: 13px; }
  .book-mood { font-size: 11px; }
  .book-details { font-size: 11px; min-height: 67px; }
  .book-details a { white-space: normal; justify-content: flex-end; text-align: right; max-width: 140px; }
  .reading-notes { margin-top: 35px; padding: 31px 0 27px; gap: 26px; }
  .reading-heading h2 { font-size: 29px; }
  .reading-facts { grid-template-columns: 1fr; gap: 23px; }
  .reading-facts > div { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 6px 13px; }
  .reading-facts > div > span { padding-top: 6px; }
  .reading-facts h3 { margin: 0; font-size: 24px; }
  .reading-facts p { grid-column: 2; font-size: 13px; line-height: 1.8; }
  .progress-help { font-size: 12px; }
  .colophon { flex-wrap: wrap; gap: 15px; padding: 23px 0 25px; }
  .footer-wordmark { font-size: 22px; letter-spacing: -.5px; gap: 8px; }
  .footer-wordmark svg { width: 25px; height: 29px; }
  .colophon > p { font-size: 15px; }
  .colophon > a:last-child { width: 100%; font-size: 11px; }
}
@media (max-width: 370px) {
  .library-nav { gap: 10px; font-size: 9px; }
  .wordmark strong { font-size: 26px; }
  .wordmark > span { font-size: 6px; }
  .collection-totals { gap: 25px; }
  .collection-totals dd { font-size: 30px; }
  .featured h1 em { margin-left: 0; }
  .book-details { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
  .book-art:hover > img, .new-shelf-card:hover img, .primary-link:hover, button:active, .primary-link:active { transform: none; }
}
