@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Source+Serif+4:ital,wght@0,400;0,600;0,700;1,400;1,600&display=swap');

body.book-reader-page,
body.book-hub-page {
  --book-paper: #fbfaf6;
  --book-grid: rgba(75, 64, 52, .075);
  --book-ink: #28231e;
  --book-muted: #7f776f;
  --book-rule: #d9d2c7;
  --book-rust: #c85f32;
  --book-blue: #5d8aaa;
  --book-serif: 'Source Serif 4', Georgia, serif;
  --book-mono: var(--book-serif);
  --book-code: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
}

/* Shared book-site navigation. */
.book-site-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: 64px;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0 clamp(22px, 3vw, 46px);
  border-bottom: 1px solid var(--book-rule);
  background: rgba(245, 241, 232, .9);
  backdrop-filter: blur(18px);
  font: 12px/1 var(--book-mono);
}

.book-site-brand { display:flex; align-items:center; gap:10px; color:var(--book-ink); text-decoration:none; letter-spacing:.03em; }
.book-site-brand strong { font-size:14px; }
.book-site-brand > span:last-child { color:#a94621; }
.book-brand-spark { position:relative; width:23px; height:23px; display:inline-block; }
.book-brand-spark i { position:absolute; left:8px; top:2px; width:8px; height:13px; border:1px solid var(--book-ink); border-radius:50%; background:#d47a47; transform-origin:4px 10px; }
.book-brand-spark i:nth-child(2) { background:#e6bd49; transform:rotate(90deg); }
.book-brand-spark i:nth-child(3) { background:#77a55b; transform:rotate(180deg); }
.book-brand-spark i:nth-child(4) { background:#7695bd; transform:rotate(270deg); }
.book-site-nav nav { display:flex; gap:6px; }
.book-site-nav nav a { padding:9px 14px; border-radius:999px; color:var(--book-muted); text-decoration:none; }
.book-site-nav nav a:hover { color:var(--book-ink); }
.book-site-nav nav a.active { color:#fff9ed; background:var(--book-rust); }
.book-site-action { margin-left:auto; padding:9px 14px; border:1px solid var(--book-rule); border-radius:10px; color:var(--book-muted); text-decoration:none; }
.book-site-action:hover { color:var(--book-ink); border-color:#aaa096; }

/* Book hubs: a cover-led introduction followed by calm chapter rows. */
body.book-hub-page {
  margin:0 !important;
  background-color:#f5f1e8 !important;
  background-image:none !important;
  color:var(--book-ink) !important;
  font-family:var(--book-mono) !important;
}

.book-hub-page .layout { display:block !important; min-height:0 !important; }
.book-hub-page .sidebar { display:none !important; }
.book-hub-page .page { width:100% !important; max-width:1340px !important; margin:0 auto !important; padding:68px clamp(22px,4.5vw,72px) 90px !important; overflow:visible !important; }
.book-hub-page .page > .meta:first-child { display:none !important; }
.book-hub-page .page > section:first-of-type {
  display:grid !important;
  grid-template-columns:minmax(230px,300px) minmax(0,1fr) !important;
  gap:48px !important;
  align-items:start !important;
  margin:0 0 56px !important;
  padding:0 0 54px !important;
  border:0 !important;
  border-bottom:1px solid var(--book-rule) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--book-ink) !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.book-hub-page .page > section:first-of-type::after { display:none !important; }
.hub-cover-column { min-width:0; }
.hub-book-cover {
  position:relative;
  aspect-ratio:.735;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:48px 24px 24px;
  overflow:hidden;
  border:1px solid #cfc2a7;
  border-radius:5px 12px 12px 5px;
  background:linear-gradient(90deg,rgba(109,87,55,.08),transparent 9%,transparent 94%,rgba(109,87,55,.07)),#f7efd5;
  color:#453e33;
  text-align:center;
  box-shadow:0 8px 0 #e6ddca,0 17px 32px rgba(53,42,30,.16);
}
.hub-book-cover::before { content:''; position:absolute; inset:9px; border:1px solid rgba(112,91,58,.27); border-radius:2px 8px 8px 2px; }
.hub-cover-collection { position:absolute; top:16px; left:18px; right:18px; overflow:hidden; color:#9c7659; font:500 7px/1 var(--book-mono); letter-spacing:.08em; white-space:nowrap; }
.hub-cover-author { position:relative; margin-top:10px; color:#8d6a4b; font:500 8px/1.2 var(--book-mono); letter-spacing:.08em; text-transform:uppercase; }
.hub-book-cover strong { position:relative; max-width:13ch; margin-top:16px; font:700 clamp(25px,2.5vw,38px)/.97 var(--book-serif); letter-spacing:-.035em; }
.hub-book-cover em { position:relative; margin-top:9px; color:#756958; font:italic 400 11px/1.3 var(--book-serif); }
.hub-cover-mark { position:absolute; left:50%; bottom:18%; width:138px; height:100px; transform:translateX(-50%); }
.hub-cover-mark i { position:absolute; border:2px solid #675c4d; border-radius:50%; }
.hub-cover-mark i:nth-child(1) { left:8px; top:30px; width:47px; height:47px; }
.hub-cover-mark i:nth-child(2) { right:8px; top:12px; width:53px; height:53px; }
.hub-cover-mark i:nth-child(3) { left:52px; bottom:0; width:39px; height:39px; }
.hub-cover-mark::before,.hub-cover-mark::after { content:''; position:absolute; height:2px; background:#675c4d; transform-origin:left; }
.hub-cover-mark::before { left:48px; top:49px; width:58px; transform:rotate(-23deg); }
.hub-cover-mark::after { left:47px; top:64px; width:45px; transform:rotate(38deg); }
.hub-cover-note { position:absolute; left:20px; right:20px; bottom:16px; color:#8d765f; font:500 6.5px/1 var(--book-mono); letter-spacing:.05em; }
.hub-start-reading { display:block; margin-top:22px; padding:13px 18px; border-radius:9px; background:var(--book-rust); color:#fff8ed !important; font:600 11px/1 var(--book-mono); text-align:center; text-decoration:none; }
.hub-start-reading:hover { background:#dc6d3d; }
.hub-copy { min-width:0; padding-top:10px; }
.book-hub-page .hub-copy .meta,
html.view-modern body.book-hub-page .page > section:first-of-type .hub-copy .meta { color:var(--book-blue) !important; font:500 10px/1.4 var(--book-mono) !important; letter-spacing:.12em; }
.book-hub-page .hub-copy h1 { max-width:19ch !important; margin:10px 0 16px !important; color:var(--book-ink) !important; font:italic 400 clamp(42px,5vw,68px)/.98 var(--book-serif) !important; letter-spacing:-.045em !important; }
.book-hub-page .hub-copy .excerpt,
html.view-modern body.book-hub-page .page > section:first-of-type .hub-copy .excerpt { max-width:760px !important; color:#615950 !important; font:400 14px/1.8 var(--book-mono) !important; }
.book-hub-page .hub-copy p.meta:last-child,
html.view-modern body.book-hub-page .page > section:first-of-type .hub-copy p.meta:last-child { color:var(--book-muted) !important; }
.book-hub-page .hub-copy a { color:#9e4a28; }
.book-hub-page .rule { display:none; }
.book-hub-page .series-index { margin:0 !important; padding:32px 0 16px; border-top:1px solid var(--book-rule); }
.book-hub-page .series-index > .meta { margin:0 0 15px !important; color:var(--book-muted) !important; font:500 10px/1.4 var(--book-mono) !important; letter-spacing:.12em; }
.book-hub-page .book-toolbar { display:none !important; }
.book-hub-page :is(.chapter-grid,.post-grid) { display:block !important; }
.book-hub-page :is(.chapter-grid,.post-grid) .post-card {
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:86px minmax(0,1fr) 160px !important;
  gap:3px 16px !important;
  align-items:center !important;
  padding:18px 10px !important;
  border:0 !important;
  border-bottom:1px solid var(--book-rule) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--book-ink) !important;
  box-shadow:none !important;
  text-decoration:none !important;
  transform:none !important;
}
.book-hub-page :is(.chapter-grid,.post-grid) .post-card:hover { background:rgba(255,255,255,.48) !important; transform:translateX(5px) !important; }
.book-hub-page .post-card .cat { grid-column:1; grid-row:1 / span 2; color:#9c6c56 !important; font:500 9px/1.3 var(--book-mono) !important; }
.book-hub-page .post-card h3 { grid-column:2; margin:0 !important; color:var(--book-ink) !important; font:400 20px/1.25 var(--book-serif) !important; }
.book-hub-page .post-card .ready-badge { padding:2px 6px !important; border:1px solid #8ca17b !important; border-radius:999px !important; background:#eff3dc !important; color:#477a39 !important; font:600 7px/1 var(--book-mono) !important; vertical-align:middle; }
.book-hub-page .post-card .card-excerpt { grid-column:2; margin:4px 0 0 !important; color:var(--book-muted) !important; font:400 10px/1.55 var(--book-mono) !important; }
.book-hub-page .post-card .card-meta { grid-column:3; grid-row:1 / span 2; display:flex !important; justify-content:flex-end; gap:5px; color:var(--book-muted) !important; font:400 9px/1.4 var(--book-mono) !important; text-align:right; }
.book-hub-page .footer { border-top:1px solid var(--book-rule) !important; color:var(--book-muted) !important; font:400 9px/1.4 var(--book-mono) !important; }
.book-hub-page .settings-btn,.book-hub-page .settings-panel,.book-hub-page .reading-xp,.book-hub-page .focus-hud { display:none !important; }

/* Win over the legacy body.book-hub hero contract in both classic and modern modes. */
body.book-hub.book-hub-page .page > section:first-of-type {
  display:grid !important;
  grid-template-columns:minmax(230px,300px) minmax(0,1fr) !important;
  gap:48px !important;
  align-items:start !important;
  margin:0 0 56px !important;
  padding:0 0 54px !important;
  border:0 !important;
  border-bottom:1px solid var(--book-rule) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--book-ink) !important;
  box-shadow:none !important;
  overflow:visible !important;
}
body.book-hub.book-hub-page .page > section:first-of-type::after { display:none !important; }
body.book-hub.book-hub-page .page > section:first-of-type .hub-copy h1 { max-width:19ch !important; margin:10px 0 16px !important; color:var(--book-ink) !important; font:italic 400 clamp(42px,5vw,68px)/.98 var(--book-serif) !important; letter-spacing:-.045em !important; }
body.book-hub.book-hub-page .page > section:first-of-type .hub-copy .excerpt { max-width:760px !important; color:#615950 !important; font:400 14px/1.8 var(--book-mono) !important; }
body.book-hub.book-hub-page .page > section:first-of-type .hub-copy .meta { color:var(--book-blue) !important; font:500 10px/1.4 var(--book-mono) !important; letter-spacing:.12em; }
body.book-hub.book-hub-page .page > section:first-of-type .hub-copy p.meta:last-child { color:var(--book-muted) !important; }

/* Chapter reader toolbar. */
body.book-reader-page {
  --reader-font-size:20px;
  --reader-width:760px;
  margin:0 !important;
  background:var(--book-paper) !important;
  color:var(--book-ink) !important;
}
.book-reader-toolbar {
  position:fixed;
  inset:0 0 auto;
  z-index:1100;
  height:50px;
  display:grid;
  grid-template-columns:1fr minmax(0,2fr) 1fr;
  align-items:center;
  padding:0 20px;
  border-bottom:1px solid var(--book-rule);
  background:rgba(251,250,246,.94);
  backdrop-filter:blur(18px);
  color:var(--book-muted);
  font:400 11px/1 var(--book-mono);
}
.reader-back { justify-self:start; display:flex; align-items:center; gap:9px; color:var(--book-muted); text-decoration:none; }
.reader-back span { font:400 20px/1 var(--book-serif); }
.reader-back b,.reader-controls b { font-weight:400; }
.reader-back:hover { color:var(--book-ink); }
.reader-book-title { justify-self:center; overflow:hidden; color:var(--book-ink); font:italic 400 15px/1.2 var(--book-serif); text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.reader-controls { justify-self:end; display:flex; gap:8px; }
.reader-control { height:34px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 13px; border:1px solid var(--book-rule); border-radius:999px; background:rgba(245,241,232,.65); color:var(--book-muted); font:400 10px/1 var(--book-mono); cursor:pointer; }
.reader-control:hover,.reader-control[aria-expanded="true"] { color:var(--book-ink); border-color:#aaa096; background:#f3eee5; }
.reader-control:disabled { opacity:.45; cursor:not-allowed; }
.reader-type-button { width:38px; padding:0; font:italic 400 15px/1 var(--book-serif); }
.reader-type-panel { position:fixed; z-index:1150; top:58px; right:20px; width:220px; padding:16px; border:1px solid var(--book-rule); border-radius:12px; background:#f8f4ec; box-shadow:0 18px 45px rgba(57,45,35,.16); color:var(--book-muted); font:400 9px/1.4 var(--book-mono); }
.reader-type-panel[hidden] { display:none; }
.reader-type-panel > span { display:block; margin:8px 0 6px; text-transform:uppercase; letter-spacing:.1em; }
.reader-type-panel > span:first-child { margin-top:0; }
.reader-type-panel div { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.reader-type-panel div:last-child { grid-template-columns:repeat(2,1fr); }
.reader-type-panel button { padding:8px 5px; border:1px solid var(--book-rule); border-radius:7px; background:#fffdf8; color:var(--book-ink); font:400 10px/1 var(--book-mono); cursor:pointer; }
.reader-type-panel button:hover { border-color:var(--book-rust); color:var(--book-rust); }
.reader-scrim { position:fixed; z-index:1075; inset:50px 0 0; border:0; background:rgba(40,35,30,.24); cursor:default; }
.reader-scrim[hidden] { display:none; }

/* Suppress the general publication shell and make the article the page. */
.book-reader-page .layout { display:block !important; min-height:0 !important; }
.book-reader-page .sidebar { display:none !important; }
.book-reader-page .page { width:100% !important; max-width:none !important; margin:0 !important; padding:102px 22px 90px !important; overflow:visible !important; }
.book-reader-page article { width:100% !important; max-width:960px !important; margin:0 auto !important; }
.book-reader-page article > .meta:first-child { display:none !important; }
.book-reader-page .post-header {
  width:100% !important;
  max-width:var(--reader-width) !important;
  margin:0 auto 50px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--book-ink) !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.book-reader-page .post-header::after { display:none !important; }
.book-reader-page .post-header .meta { margin:0 0 14px !important; color:var(--book-blue) !important; font:500 9px/1.4 var(--book-mono) !important; letter-spacing:.16em !important; text-transform:uppercase; }
.book-reader-page .post-header h1 { max-width:none !important; margin:0 !important; color:var(--book-ink) !important; font:400 clamp(42px,5vw,58px)/1.02 var(--book-serif) !important; letter-spacing:-.035em !important; text-wrap:balance; }
.book-reader-page .post-header .tag-row { display:none !important; }
.book-reader-page .post-body {
  width:100% !important;
  max-width:var(--reader-width) !important;
  margin:0 auto !important;
  color:var(--book-ink) !important;
  font-family:var(--book-serif) !important;
  font-size:var(--reader-font-size) !important;
  line-height:1.72 !important;
}
.book-reader-page .post-body :is(p,li,td,th,blockquote,summary,.osc-key,.osc-warn,.osc-card,.osc-tldr) { font-family:var(--book-serif) !important; }
.book-reader-page .post-body p { margin:1.15em 0 !important; }
.book-reader-page .post-body > p:first-of-type:not(.osc-tldr-label) { font-size:1.08em !important; line-height:1.7 !important; }
.book-reader-page .post-body a { color:#9e4a28 !important; text-decoration-color:rgba(158,74,40,.35) !important; text-underline-offset:.13em; }
.book-reader-page .post-body strong { font-weight:700; }
.book-reader-page .post-body :is(code,kbd,pre,pre *, .formula, .osc-formula) { font-family:var(--book-code) !important; }
.book-reader-page .post-body :not(pre) > code { padding:.08em .32em; border:1px solid #e1d9cd; border-radius:4px; background:#f4efe7; color:#7e3f27; font-size:.76em; }
.book-reader-page .post-body h2 { margin:2.15em 0 .7em !important; padding-top:.8em !important; border-top:1px solid var(--book-rule) !important; color:var(--book-ink) !important; font:600 1.72em/1.15 var(--book-serif) !important; letter-spacing:-.025em !important; text-wrap:balance; }
.book-reader-page .post-body h2 .n { display:inline-block !important; margin-right:10px !important; color:var(--book-rust) !important; font:500 .34em/1 var(--book-mono) !important; letter-spacing:.08em; vertical-align:.55em; }
.book-reader-page .post-body h3 { margin:1.8em 0 .55em !important; color:var(--book-ink) !important; font:600 1.34em/1.2 var(--book-serif) !important; letter-spacing:-.015em !important; }
.book-reader-page .post-body h4 { color:var(--book-ink) !important; font:600 1em/1.3 var(--book-serif) !important; }
.book-reader-page .post-body :is(ul,ol) { padding-left:1.25em; }
.book-reader-page .post-body li { margin:.48em 0; }
.book-reader-page .osc-tldr {
  position:relative;
  margin:0 0 2.3em !important;
  padding:25px 28px 25px 92px !important;
  border:0 !important;
  border-left:3px solid #d3a07e !important;
  border-radius:0 10px 10px 0 !important;
  background:#f7f2e9 !important;
  box-shadow:none !important;
}
.book-reader-page .osc-tldr::before { content:'✦'; position:absolute; left:28px; top:50%; width:38px; height:38px; display:grid; place-items:center; border:1px solid #c9bba9; border-radius:50%; color:var(--book-rust); font:400 18px/1 var(--book-serif); transform:translateY(-50%); }
.book-reader-page .osc-tldr-label { margin:0 0 5px !important; color:var(--book-blue) !important; font:500 8px/1.4 var(--book-mono) !important; letter-spacing:.14em; text-transform:uppercase; }
.book-reader-page .osc-tldr p:last-child { margin:0 !important; font-size:.92em !important; line-height:1.58 !important; }
.book-reader-page :is(.osc-key,.osc-warn,.osc-note,.callout,.note) { margin:1.7em 0 !important; padding:20px 22px !important; border:1px solid #ded3c6 !important; border-radius:9px !important; background:#faf6ee !important; color:var(--book-ink) !important; box-shadow:none !important; }
.book-reader-page :is(.osc-key,.osc-warn) .lab { display:block; margin-bottom:6px; color:var(--book-rust) !important; font:500 8px/1.3 var(--book-mono) !important; letter-spacing:.12em; text-transform:uppercase; }
.book-reader-page :is(.osc-diagram,figure,.figure,.diagram) {
  width:min(900px,calc(100vw - 40px)) !important;
  max-width:none !important;
  margin:2.2em 50% !important;
  padding:22px !important;
  border:1px solid var(--book-rule) !important;
  border-radius:10px !important;
  background:#fffdf9 !important;
  box-shadow:0 12px 35px rgba(57,45,35,.07) !important;
  transform:translateX(-50%);
}
.book-reader-page :is(.osc-diagram,figure,.figure,.diagram) img,
.book-reader-page :is(.osc-diagram,figure,.figure,.diagram) svg { max-width:100% !important; height:auto !important; }
.book-reader-page :is(.osc-diagram,figure,.figure,.diagram) :is(.cap,figcaption) { margin:12px 0 0 !important; color:var(--book-muted) !important; font:400 9px/1.55 var(--book-mono) !important; text-align:center; }
.book-reader-page .osc-formula { margin:1.8em 0 !important; border:1px solid var(--book-rule) !important; border-radius:9px !important; background:#f6f1e8 !important; box-shadow:none !important; }
.book-reader-page pre { margin:1.8em 0 !important; padding:20px !important; border:1px solid #3a332c !important; border-radius:9px !important; background:#2f2a25 !important; color:#f7efe4 !important; box-shadow:none !important; font-size:.68em !important; line-height:1.65 !important; overflow:auto; }
.book-reader-page table { width:100% !important; margin:1.8em 0 !important; border-collapse:collapse !important; font-size:.82em !important; }
.book-reader-page th { background:#f1ebe2 !important; }
.book-reader-page :is(th,td) { padding:10px 12px !important; border:1px solid var(--book-rule) !important; }
.book-reader-page .osc-cards { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; margin:1.6em 0 !important; }
.book-reader-page .osc-card { padding:18px !important; border:1px solid var(--book-rule) !important; border-radius:8px !important; background:#faf7f0 !important; box-shadow:none !important; }
.book-reader-page .osc-card p { font-size:.86em !important; line-height:1.55 !important; }
.book-reader-page details { margin:.7em 0 !important; padding:14px 16px !important; border:1px solid var(--book-rule) !important; border-radius:8px !important; background:#faf7f0 !important; }
.book-reader-page details summary { color:var(--book-ink) !important; font-weight:600 !important; cursor:pointer; }
.book-reader-page .post-nav { width:100% !important; max-width:var(--reader-width) !important; display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; margin:62px auto 0 !important; padding-top:24px !important; border-top:1px solid var(--book-rule) !important; }
.book-reader-page .post-nav a { min-height:68px; display:flex !important; align-items:center; padding:14px 17px !important; border:1px solid var(--book-rule) !important; border-radius:9px !important; background:#faf7f0 !important; color:var(--book-ink) !important; font:400 11px/1.45 var(--book-mono) !important; text-decoration:none !important; }
.book-reader-page .post-nav a:last-child { justify-content:flex-end; text-align:right; }
.book-reader-page .post-nav a:hover { border-color:var(--book-rust) !important; color:var(--book-rust) !important; }
.book-reader-page .footer { max-width:var(--reader-width) !important; margin:50px auto 0 !important; padding:22px 0 !important; border-top:1px solid var(--book-rule) !important; color:var(--book-muted) !important; font:400 9px/1.4 var(--book-mono) !important; }
.book-reader-page .settings-btn,.book-reader-page .settings-panel,.book-reader-page .reading-xp,.book-reader-page .focus-hud { display:none !important; }
.book-reader-page .progress-bar { z-index:1200 !important; height:2px !important; background:var(--book-rust) !important; }

/* Existing chapter list becomes a reader contents drawer. */
.book-reader-page .toc-panel {
  position:fixed !important;
  z-index:1090 !important;
  inset:50px 0 0 auto !important;
  width:min(390px,92vw) !important;
  height:calc(100vh - 50px) !important;
  display:block !important;
  padding:28px 22px !important;
  overflow:auto !important;
  border:0 !important;
  border-left:1px solid var(--book-rule) !important;
  background:#f7f3eb !important;
  box-shadow:-18px 0 45px rgba(57,45,35,.13) !important;
  color:var(--book-ink) !important;
  transform:translateX(105%) !important;
  transition:transform .25s ease !important;
}
.book-reader-page.reader-contents-open .toc-panel { transform:translateX(0) !important; }
.book-reader-page .toc-panel-label { margin:0 0 14px !important; color:var(--book-blue) !important; font:500 9px/1.4 var(--book-mono) !important; letter-spacing:.13em; text-transform:uppercase; }
.book-reader-page .chapter-nav { display:flex !important; flex-direction:column !important; gap:3px !important; }
.book-reader-page .chapter-nav a { display:block !important; padding:10px 12px !important; border:0 !important; border-radius:7px !important; color:var(--book-muted) !important; font:400 11px/1.45 var(--book-mono) !important; text-decoration:none !important; }
.book-reader-page .chapter-nav a:hover { background:#efe8dd !important; color:var(--book-ink) !important; }
.book-reader-page .chapter-nav a.active { background:#eaded1 !important; color:#9e4a28 !important; font-weight:600 !important; }

@media (max-width:900px) {
  .book-hub-page .page > section:first-of-type { grid-template-columns:minmax(210px,260px) minmax(0,1fr) !important; gap:30px !important; }
  body.book-hub.book-hub-page .page > section:first-of-type { grid-template-columns:minmax(210px,260px) minmax(0,1fr) !important; gap:30px !important; }
  .book-hub-page :is(.chapter-grid,.post-grid) .post-card { grid-template-columns:70px minmax(0,1fr) 120px !important; }
  .book-reader-page .page { padding-top:88px !important; }
}

@media (max-width:700px) {
  .book-site-nav { height:58px; padding:0 14px; gap:10px; }
  .book-site-brand > span:last-child { display:none; }
  .book-site-nav nav { margin-left:auto; }
  .book-site-nav nav a { display:none; }
  .book-site-nav nav a.active { display:block; padding:7px 11px; }
  .book-site-action { margin-left:0; padding:8px 10px; font-size:9px; }
  .book-hub-page .page { padding:38px 16px 70px !important; }
  .book-hub-page .page > section:first-of-type { display:block !important; }
  body.book-hub.book-hub-page .page > section:first-of-type { display:block !important; padding:0 0 42px !important; }
  .hub-cover-column { width:min(270px,82vw); margin:0 auto 42px; }
  .hub-copy { padding:0; }
  .book-hub-page .hub-copy h1 { font-size:44px !important; }
  body.book-hub.book-hub-page .page > section:first-of-type .hub-copy h1 { font-size:44px !important; }
  .book-hub-page :is(.chapter-grid,.post-grid) .post-card { grid-template-columns:58px minmax(0,1fr) !important; padding:16px 4px !important; }
  .book-hub-page .post-card .card-meta { grid-column:2; grid-row:auto; justify-content:flex-start; margin-top:4px; text-align:left; }
  .book-reader-toolbar { grid-template-columns:auto minmax(0,1fr) auto; padding:0 10px; }
  .reader-back b,.reader-contents-button b { display:none; }
  .reader-back { width:34px; justify-content:center; }
  .reader-book-title { max-width:54vw; font-size:13px; }
  .reader-control { width:34px; padding:0; }
  .reader-controls { gap:5px; }
  .book-reader-page .page { padding:82px 16px 62px !important; }
  .book-reader-page .post-header { margin-bottom:36px !important; }
  .book-reader-page .post-header h1 { font-size:clamp(38px,11vw,48px) !important; }
  .book-reader-page .post-body { font-size:clamp(18px,var(--reader-font-size),22px) !important; line-height:1.68 !important; }
  .book-reader-page .osc-tldr { padding:22px !important; border-left-width:2px !important; }
  .book-reader-page .osc-tldr::before { display:none; }
  .book-reader-page .osc-cards { grid-template-columns:1fr !important; }
  .book-reader-page .post-nav { grid-template-columns:1fr !important; }
  .book-reader-page .post-nav a:last-child { justify-content:flex-start; text-align:left; }
  .reader-type-panel { right:10px; }
}

@media (prefers-reduced-motion:reduce) {
  .book-reader-page .toc-panel { transition:none !important; }
}
