/* Layout and reading tools. Shared chrome lives in academy/theme.css. */
:root { --reading-size: 20px; }
body.books {
  --ink: #1a2430; --ground: #f5f6f7; --accent: var(--red); --wash: #f7f8f9;
  --reading-font: Abel, 'Segoe UI Symbol', 'Arial Narrow', sans-serif;
  background: var(--ground); color: var(--ink);
}
.books a { color: var(--accent); }
.books .skip-link { color: #fff; }
.books .mast a { color: var(--ink); }
.books strong, .books b { color: inherit; font-weight: 400; text-decoration: none; }
.books .button { color: white; }
.books button.secondary, .books .button.secondary { background: var(--paper); color: var(--ink); border-color: var(--line); }
.books button.secondary:hover, .books .button.secondary:hover { background: var(--wash); border-color: var(--muted); }
.books button.small { padding: 4px 9px; min-width: 36px; min-height: 36px; }
.books .text-button { padding: 0; background: none; border: 0; color: var(--ink); min-height: 44px; text-align: left; overflow-wrap: anywhere; }
.books .danger { color: #aa182b; }
.books .eyebrow { color: var(--accent); }
.lead { color: var(--muted); font-size: 22px; max-width: 720px; margin-bottom: 32px; }
.books .panel { background: var(--paper); margin: 0 0 20px; }
.books .panel > :first-child { margin-top: 0; }
.books .panel > :last-child { margin-bottom: 0; }
.narrow { max-width: 700px; margin: 40px auto; }
.books .panel.narrow { margin: 40px auto; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 24px; }
.page-heading > div { min-width: 0; }
.page-heading h1 { overflow-wrap: anywhere; }
.actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.book-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,330px),1fr)); gap: 20px; margin-top: 28px; }
.book-grid > .panel { margin: 0; }
.book-card { min-width: 0; max-width: 500px; background: var(--paper); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.card-copy { padding: 28px; }
.manual-library-section + .manual-library-section { border-top: 1px solid var(--line); padding-top: 32px; margin-top: 40px; }
.manual-library-section > h2 { margin-bottom: 12px; }
.card-copy .manual-card-title { overflow-wrap: anywhere; font-size: 28px; line-height: 1.2; }
.card-copy .price { margin-bottom: 8px; }
.cover { display: block; width: 100%; object-fit: contain; background: #1a2430; aspect-ratio: 4/3; }
.typographic-cover { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 35px; color: #fff; background: #1a2430; border-bottom: 4px solid var(--red); }
.typographic-cover span { font-size: 12px; text-transform: uppercase; letter-spacing: .13em; }
.books .typographic-cover strong { font-weight: 400; font-size: 35px; line-height: 1.15; overflow-wrap: anywhere; }
.typographic-cover small { color: #d1d9e2; letter-spacing: .16em; }
.book-detail { display: grid; grid-template-columns: minmax(260px,350px) minmax(0,1fr); gap: 50px; margin: 30px 0 60px; }
.detail-cover { aspect-ratio: 3/4; border: 1px solid var(--line); border-radius: 4px; }
.books .detail-cover strong { font-size: 44px; }
.price { font-size: 30px; }
.price small { font-size: 16px; }
.terms { padding: 18px 20px; background: var(--wash); border-left: 3px solid var(--accent); margin: 20px 0; }
.books .notice { background: var(--wash); border-left-color: var(--accent); }
.contents-list { padding: 0; list-style: none; }
.contents-list li { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.preserve { white-space: pre-wrap; overflow-wrap: anywhere; }
.books input, .books textarea, .books select { background: var(--paper); color: var(--ink); min-width: 0; }
.books textarea { line-height: 1.6; }
.books .check { align-items: center; }
.inline-form { display: flex; align-items: flex-end; gap: 15px; flex-wrap: wrap; }
.inline-form label { flex: 1; min-width: min(220px,100%); margin: 0; }
.form-grid, .account-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.wide { grid-column: 1/-1; }
.books th { background: var(--wash); }
.books caption { text-align: left; font-weight: 600; margin-bottom: 12px; }
.table-scroll { max-width: 100%; overflow: auto; }
.books .panel:has(> table) { overflow-x: auto; }
.editor-layout { display: grid; grid-template-columns: 265px minmax(0,1fr); gap: 24px; align-items: start; }
.editor-outline { position: sticky; top: 20px; max-height: 85vh; overflow: auto; }
.editor-outline ol { list-style: none; padding: 0; }
.editor-outline li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.editor-outline small { margin: 6px 0; }
.editor-document { min-height: 650px; }
.block-editor { border: 1px solid var(--line); border-radius: 4px; padding: 18px; margin: 20px 0; background: var(--ground); }
.block-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.block-heading strong { text-transform: capitalize; font-size: 14px; }
.add-block-row { display: flex; align-items: end; gap: 12px; margin: 24px 0; flex-wrap: wrap; }
.add-block-row label { margin: 0; flex: 1; min-width: 130px; }
.sticky-save { position: sticky; bottom: 0; background: var(--paper); border-top: 1px solid var(--line); padding: 18px 0; }
.asset-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(170px,100%),1fr)); gap: 18px; margin-top: 25px; }
.asset-grid article { display: flex; flex-direction: column; gap: 9px; font-size: 16px; min-width: 0; overflow-wrap: anywhere; }
.asset-grid img { width: 100%; height: 130px; object-fit: contain; background: var(--ground); border-radius: 4px; }
.import-summary { max-height: 300px; overflow: auto; }
#reader-status, #editor-status { font: 14px/1.5 var(--reading-font); }
.error { color: #aa182b; }
#editor-status:not(:empty) { position: sticky; top: 0; z-index: 5; background: var(--wash); border-left: 3px solid var(--accent); padding: 15px 20px; margin-bottom: 20px; }

/* Book typography: Abel throughout, white pages, and red chapter markers. */
.reader-page .book-wrap { max-width: 1800px; margin-top: 20px; padding: 0 2% 70px; }
.reader-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 8px 0 22px; border-bottom: 1px solid var(--line); }
.reader-toolbar > span { font-size: 20px; }
.compact { display: flex; gap: 8px; align-items: center; margin: 0; }
.compact select { width: auto; padding: 7px; margin: 0; }
#toggle-contents { display: none; }
.reader-layout { --contents-width: 310px; display: grid; grid-template-columns: var(--contents-width) 12px minmax(0,820px) 245px; gap: 18px; justify-content: center; align-items: start; margin-top: 28px; }
.reader-contents { grid-column: 1; }
.reading-paper { grid-column: 3; }
.reader-notes { grid-column: 4; }
.reader-contents, .reader-notes { position: sticky; top: 20px; max-height: 90vh; overflow: auto; min-width: 0; font: 17px/1.6 var(--reading-font); }
.contents-resizer { grid-column: 2; position: sticky; top: 20px; height: 80vh; cursor: col-resize; touch-action: none; display: flex; align-items: center; justify-content: center; border-radius: 4px; }
.contents-resizer::before { content: ''; position: absolute; width: 1px; height: 100%; background: var(--line); }
.contents-resizer span { position: relative; width: 4px; height: 48px; border-radius: 4px; background: var(--muted); }
.contents-resizer:hover, .contents-resizer:focus-visible { background: var(--wash); outline: 2px solid var(--accent); outline-offset: 2px; }
.contents-resizer:focus-visible span, .contents-resizer:hover span { background: var(--accent); }
.reader-resizing { cursor: col-resize; user-select: none; }
.reader-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.books [hidden] { display: none !important; }
.reader-contents h3, .reader-contents h4, .reader-notes h3 { font-family: Abel,'Segoe UI Symbol','Arial Narrow',sans-serif; }
.reader-contents h3 { font-size: 20px; margin-top: 25px; }
.reader-contents h4 { font-size: 17px; color: var(--muted); margin: 18px 0 8px; }
.books .toc-item { display: block; padding: 10px 12px; border-left: 2px solid transparent; color: var(--muted); text-decoration: none; margin: 3px 0; overflow-wrap: anywhere; }
.books .toc-item.selected { background: var(--paper); border-left-color: var(--accent); color: var(--accent); }
.reading-paper { min-width: 0; background: var(--paper); padding: 48px clamp(24px,4vw,62px); border: 1px solid var(--line); }
.reading-paper h1 { font-size: clamp(30px,3vw,43px); line-height: 1.12; }
.section-rule { width: 65px; height: 3px; background: var(--accent); margin: 30px 0; }
#reading-content { font-family: var(--reading-font); font-size: var(--reading-size); line-height: 1.75; }
.content-block { margin: 24px 0; overflow-wrap: anywhere; }
.content-block h2, .content-block h3, .content-block h4 { font-family: Abel,'Segoe UI Symbol','Arial Narrow',sans-serif; }
.content-block h2 { font-size: 30px; margin-top: 34px; color: var(--accent); }
.content-block figure { margin: 35px 0; }
.books .figure-button, .books .figure-button:hover { padding: 0; background: none; border: 0; border-radius: 0; width: 100%; min-height: 0; cursor: zoom-in; }
.figure-button img { max-width: 100%; max-height: 700px; object-fit: contain; }
.content-block figcaption { font: 16px/1.6 var(--reading-font); color: var(--muted); padding-top: 13px; border-top: 1px solid var(--line); margin-top: 12px; }
.content-block details { font: 16px/1.65 var(--reading-font); margin: 16px 0; }
.books .callout { border-left-color: var(--accent); background: var(--wash); font: 17px/1.75 var(--reading-font); }
.callout p { margin-bottom: 0; }
.example { padding: 26px; background: var(--ground); border: 1px solid var(--line); border-radius: 4px; }
.equation { padding: 20px; text-align: center; background: var(--ground); overflow: auto; }
.equation code { white-space: pre-wrap; font-size: 16px; }
.source-list { margin-top: 50px; border-top: 1px solid var(--line); padding-top: 20px; font: 14px/1.6 var(--reading-font); overflow-wrap: anywhere; }
.source-list h2 { font-family: Abel,'Segoe UI Symbol','Arial Narrow',sans-serif; font-size: 23px; }
.section-navigation { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; font: 14px/1.6 var(--reading-font); }
.reader-notes textarea { font-size: 16px; }
.reader-notes hr { border: 0; border-top: 1px solid var(--line); margin: 25px 0; }
.highlight-item { border-left: 3px solid var(--accent); padding: 10px; margin: 18px 0; overflow-wrap: anywhere; }
.highlight-item blockquote { margin: 0 0 8px; font-size: 15px; }
mark { background: #f5e8a3; color: #253748; }
.books dialog { max-width: 94vw; max-height: 94vh; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); color: var(--ink); padding: 22px; }
.books dialog::backdrop { background: #15202dcc; }
.books dialog img { display: block; max-width: 85vw; max-height: 76vh; object-fit: contain; margin-top: 16px; }
#search-results a { display: block; padding: 8px 0; }
.reader-layout.without-notes { grid-template-columns: var(--contents-width) 12px minmax(0,820px); }

body.books.night { --ink: #e8ecf1; --muted: #b5bfca; --paper: #1e2835; --ground: #151c25; --line: #3d4a5a; --accent: #ff8797; --wash: #283444; color-scheme: dark; }
.night .mast { background: var(--paper); }
.night .academy-brand em { color: var(--accent); }
.night .danger, .night .error { color: #ff8797; }
.night .figure-button img { background: white; }
.night mark { background: #786b35; color: white; }

@media (max-width:1400px) {
  .reader-layout, .reader-layout.without-notes { grid-template-columns: var(--contents-width) 12px minmax(0,1fr); }
  .reader-notes { grid-column: 3; position: static; max-height: none; padding: 25px; background: var(--paper); border: 1px solid var(--line); border-radius: 4px; }
  .book-detail { gap: 30px; }
}
@media (max-width:800px) {
  .page-heading { display: block; }
  .page-heading .actions { margin: 20px 0; }
  .book-detail { grid-template-columns: minmax(0,1fr); }
  .detail-cover { max-width: 280px; margin: auto; }
  .account-grid, .form-grid, .editor-layout { grid-template-columns: minmax(0,1fr); }
  .editor-outline { position: static; max-height: 300px; }
  .reader-layout, .reader-layout.without-notes { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .contents-resizer { display: none; }
  .reading-paper, .reader-contents, .reader-notes { grid-column: 1; }
  .reader-contents { display: none; position: static; max-height: 65vh; padding: 18px; background: var(--paper); border: 1px solid var(--line); }
  .reader-contents.open { display: block; }
  .reader-notes { grid-column: 1; }
  .reading-paper { padding: 30px 22px; }
  .reader-toolbar { flex-wrap: wrap; }
  .reader-toolbar > span { display: none; }
  #toggle-contents { display: inline-block; }
  .reader-toolbar .actions { gap: 8px; flex-wrap: wrap; }
  .reader-toolbar button { font-size: 16px; padding: 9px; }
  .compact { font-size: 16px; }
  .contents-list li { align-items: center; }
  .section-navigation { flex-direction: column; }
  .inline-form { align-items: stretch; }
  .books table { font-size: 14px; }
  .reader-page .book-wrap { margin-top: 15px; padding: 0 3% 50px; }
}
@media print {
  .book-mast, .reader-toolbar, .reader-contents, .reader-notes, .contents-resizer, .notice, .section-navigation { display: none !important; }
  .book-wrap, .reader-page .book-wrap { margin: 0; padding: 0; }
  .reader-layout { display: block !important; }
  .reading-paper { border: 0; padding: 0; }
  .content-block { break-inside: avoid; }
  body.books, body.books.night { --ink: #000; --muted: #333; --paper: #fff; --ground: #fff; --accent: #000; --wash: #fff; color-scheme: light; }
}

/* The default manuscript type system remains Abel; author overrides are explicit. */
.books :is(input,textarea,select,button,[contenteditable],h1,h2,h3,h4,h5,h6,th,caption) {
  font-family: Abel,'Segoe UI Symbol','Arial Narrow',sans-serif; font-weight: 400; font-synthesis: none;
}
.books .reading-paper, .books .editor-document, .books .book-inline-dialog, .books .book-term-dialog {
  font-family: Abel,'Segoe UI Symbol','Arial Narrow',sans-serif; font-weight: 400; font-synthesis: none;
}
.books #reading-content table { font-size: 1em; }
.books .content-block h2 { font-size: calc(var(--reading-size) * 1.5); }
.books .content-block h3 { font-size: calc(var(--reading-size) * 1.25); }
.books .content-block h4 { font-size: calc(var(--reading-size) * 1.1); }
.books .book-emphasis, .books .book-inline-canvas em {
  font-style: normal; text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: .17em;
}
/* Explicit author choices; unmarked manuscript text keeps the Abel reading scale. */
#reading-content .book-bold,.content-block .book-bold{font-weight:700;font-synthesis:weight style}
.content-block .book-italic{font-style:italic;font-synthesis:weight style}
.content-block .book-underline{text-decoration:underline}
.content-block .book-strike{text-decoration:line-through}
.content-block .book-code{font-family:monospace;background:rgba(127,127,127,.12);border-radius:3px;padding:0 .16em}
.content-block .book-font-abel{font-family:Abel,'Segoe UI Symbol',sans-serif}
.content-block .book-font-arial{font-family:Arial,'Segoe UI Symbol',sans-serif}
.content-block .book-font-georgia{font-family:Georgia,'Segoe UI Symbol',serif}
.content-block .book-size-14{font-size:calc(var(--reading-size,1rem)*14/20)}
.content-block .book-size-16{font-size:calc(var(--reading-size,1rem)*16/20)}
.content-block .book-size-18{font-size:calc(var(--reading-size,1rem)*18/20)}
.content-block .book-size-20{font-size:var(--reading-size,1rem)}
.content-block .book-size-24{font-size:calc(var(--reading-size,1rem)*24/20)}
.content-block .book-size-28{font-size:calc(var(--reading-size,1rem)*28/20)}
.content-block .book-size-32{font-size:calc(var(--reading-size,1rem)*32/20)}
.content-block .book-color-custom{color:var(--book-author-color)}
.content-block .book-highlight-custom{background:var(--book-author-highlight)}
/* Explicit document color takes precedence over shared portal link chrome. */
#reading-content .book-author-color :is(a,.book-term),.content-block .book-author-color :is(a,.book-term){color:inherit}
.content-block.book-align-left{text-align:left}
.content-block.book-align-center{text-align:center}
.content-block.book-align-right{text-align:right}
.content-block.book-align-justify{text-align:justify}
.content-block .book-quote{border-left:3px solid #c91d32;margin:1.3em 0;padding:.7em 1.2em;background:rgba(127,127,127,.06)}
.content-block .book-code-block{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;overflow:auto;background:rgba(127,127,127,.1);border-radius:4px;padding:1em;font: .9em/1.6 monospace;text-align:inherit}
.content-block .book-code-block code{font:inherit}
.content-block .book-divider{border:0;border-top:1px solid #a7adb3;margin:1.7em 0}
.content-block .book-link-button{display:inline-block;border-radius:4px;background:#a71c30;color:#fff;padding:.35em .7em;text-decoration:none}
.content-block .book-figure-wide{width:100%}
.content-block .book-figure-medium{width:75%}
.content-block .book-figure-small{width:50%}
.content-block .book-figure-align-left{margin-left:0;margin-right:auto}
.content-block .book-figure-align-center{margin-left:auto;margin-right:auto}
.content-block .book-figure-align-right{margin-left:auto;margin-right:0}
.plain-author-style .book-author-color{color:inherit}
.plain-author-style .book-author-highlight{background:transparent}
@media(max-width:650px){.content-block :is(.book-figure-medium,.book-figure-small){width:100%}}
.books .book-color-ink { color: var(--ink); }
.books .book-color-red { color: #a21a2d; }
.books .book-color-blue { color: #125c97; }
.books .book-color-teal { color: #17655e; }
.books.night .book-color-red { color: #ff9caa; }
.books.night .book-color-blue { color: #94caff; }
.books.night .book-color-teal { color: #80d8ca; }
.books :is(.book-highlight-yellow,.reader-highlight-yellow) { background: #fff0a8; color: #1a2430; }
.books :is(.book-highlight-green,.reader-highlight-green) { background: #c9edcc; color: #1a2430; }
.books :is(.book-highlight-blue,.reader-highlight-blue) { background: #cce5ff; color: #1a2430; }
.books :is(.book-highlight-pink,.reader-highlight-pink) { background: #f5d1e4; color: #1a2430; }
#reading-content button.book-term,.books button.book-term {
  display: inline; font: inherit; font-synthesis: inherit; color: inherit; line-height: inherit; white-space: inherit;
  padding: 0; min-width: 0; min-height: 0; background: none; border: 0; border-bottom: 1px dotted currentColor;
  border-radius: 0; cursor: help; text-align: inherit; user-select: text;
}
.books button.book-term:hover { background: var(--wash); }
.books button.book-term:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.book-term-editor { border-bottom: 1px dotted currentColor; }
.books .book-term-dialog, .books .book-inline-dialog { max-width: min(620px,calc(100vw - 32px)); max-height: 85vh; padding: 28px; overflow: auto; }
.books .book-term-dialog p { font-size: 20px; line-height: 1.6; }
.books .book-term-dialog a { display: block; margin-bottom: 20px; }
.book-rich-field { margin: 16px 0; min-width: 0; }
.book-rich-label { margin: 0 0 6px; font-size: 16px; color: var(--muted); }
.book-inline-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px; border: 1px solid var(--line); border-bottom: 0; background: var(--wash); }
.books .book-inline-toolbar button, .books .book-inline-toolbar select { font-size: 15px; min-height: 36px; }
.books .book-inline-toolbar .compact { display: flex; flex-direction: row; align-items: center; gap: 5px; margin: 0; font-size: 14px; }
.books .book-inline-toolbar select { width: auto; padding: 4px; margin: 0; }
.books .book-inline-toolbar button[aria-pressed=true] { border-color: var(--accent); background: var(--ground); }
.book-inline-canvas { border: 1px solid var(--line); background: var(--paper); }
.book-inline-canvas .tiptap { min-height: 72px; padding: 14px; font: 400 20px/1.65 Abel,'Segoe UI Symbol','Arial Narrow',sans-serif; outline: none; white-space: pre-wrap; overflow-wrap: anywhere; }
.book-inline-canvas .tiptap p { margin: 0; font: inherit; }
.book-inline-canvas:focus-within { outline: 2px solid var(--accent); outline-offset: 1px; }
.book-edit-table { padding: 12px; border-left: 2px solid var(--line); }
@media (max-width:650px) { .book-inline-toolbar { gap: 4px; } .book-edit-table { padding: 6px; } }
@media print {
  .book-term-dialog, .book-inline-dialog { display: none !important; }
  .books button.book-term { border: 0; }
  .books :is(.book-color-red,.book-color-blue,.book-color-teal) { color: inherit; }
}

/* Premium manual reader: presentation around the unchanged canonical content. */
body.books.premium-reader{--ground:#f4f3ef;--ink:#23313d;--accent:#bd2035;--line:#e3e1dc;--wash:#f7f6f3;background:var(--ground)}
body.books.premium-reader.night{--ground:#151c25;--ink:#e8ecf1;--paper:#1e2835;--line:#3d4a5a;--wash:#283444;--accent:#ff8797}
.premium-reader .reader-toolbar{position:sticky;top:0;z-index:30;margin:0 -2%;padding:12px 2%;background:var(--ground);border-bottom:1px solid var(--line);gap:12px}
/* Keep the reader's cover identity independent of the portal navigation palette. */
body.books.premium-reader.reader-page .book-mast{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:none}
body.books.premium-reader.reader-page .book-mast :is(.academy-brand,.portal-brand-lockup,.portal-brand-wordmark,nav a){color:var(--ink);text-decoration:none}
body.books.premium-reader.reader-page .book-mast .portal-brand-wordmark>span{color:var(--muted)}
body.books.premium-reader.reader-page .book-mast .academy-brand em{color:var(--accent)}
body.books.premium-reader.reader-page .book-mast :is(.portal-theme-toggle,.admin-theme-toggle){color:var(--ink);background:var(--paper);border:1px solid var(--line)}
body.books.premium-reader.reader-page .book-mast :focus-visible{outline-color:var(--accent)}
.premium-reader:not(.manual-overview-page) .book-mast .portal-theme-toggle,.premium-reader:not(.manual-overview-page) .admin-appearance-bar .admin-theme-toggle{display:none}
.reader-toolbar-navigation{display:flex;align-items:center;gap:16px;min-width:0}
.premium-reader #toggle-contents{display:inline-block}
.premium-reader .reader-toolbar :is(button,.button){font-size:15px;min-height:38px;padding:7px 11px;border-radius:5px;white-space:nowrap}
.premium-reader .reader-toolbar .actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.premium-reader .reader-toolbar .compact{font-size:14px;gap:5px}
.premium-reader .reader-toolbar .compact select{font-size:15px;min-height:38px;padding:5px 7px}
.reader-toolbar-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:290px;font-size:17px;color:var(--muted)}
.reader-subjects-link{font-size:15px;text-decoration:none}
.premium-reader .reader-layout{grid-template-columns:var(--contents-width) 12px minmax(0,900px);gap:16px;margin-top:30px}
.premium-reader .reader-contents,.premium-reader .contents-resizer{top:84px;max-height:calc(100dvh - 108px)}
.premium-reader .contents-resizer{height:calc(100dvh - 108px)}
.premium-reader .reader-contents{padding:0 12px 28px 0;scrollbar-width:thin;font-size:16px}
.reader-contents-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}
.reader-contents-heading .eyebrow{font-size:12px;margin:8px 0;letter-spacing:.09em}
.premium-reader #close-contents{font-size:26px;min-width:34px;min-height:34px;text-align:center}
.reader-edition-label{font-size:13px;margin:14px 0}
.reader-edition-label select{font-size:14px;min-height:36px}
.premium-reader #book-search{display:flex;gap:6px;align-items:center;margin:20px 0}
.premium-reader #book-search input{margin:0;min-width:0;font-size:15px;min-height:40px}
.premium-reader #book-search button{font-size:14px;padding:7px 9px;min-height:40px}
.toc-subject{border-bottom:1px solid var(--line);padding:7px 0}
.toc-subject>summary{display:flex;align-items:baseline;gap:12px;list-style:none;cursor:pointer;padding:12px 0;color:var(--ink);font-size:20px;line-height:1.25}
.toc-subject>summary::-webkit-details-marker{display:none}
.toc-subject>summary::after{content:'+';margin-left:auto;color:var(--muted)}
.toc-subject[open]>summary::after{content:'−'}
.toc-subject-number{font-size:13px;color:var(--accent);letter-spacing:.05em}
.toc-subject summary small{display:block;color:var(--muted);font-size:13px;margin-top:5px}
.premium-reader .toc-lessons{padding:0 0 10px 22px}
.premium-reader .toc-lessons h4{font-size:13px;letter-spacing:.03em;margin:15px 0 6px;color:var(--muted)}
.premium-reader .toc-item{font-size:16px;line-height:1.45;padding:9px 10px;margin:2px 0;border-radius:0 4px 4px 0}
.premium-reader .toc-item.selected{background:var(--paper);color:var(--accent);border-left-width:2px}
.premium-reader #search-results:not(:empty){margin:0 0 20px;border-bottom:1px solid var(--line);padding-bottom:14px}
.premium-reader #search-results a{padding:12px 4px;text-decoration:none;border-bottom:1px solid var(--line)}
.premium-reader #search-results strong{display:block;color:var(--accent);font-size:17px}
.search-excerpt{display:block;color:var(--muted);font-size:14px;line-height:1.5;margin-top:5px}
.search-excerpt mark{background:#fff0b3;color:#23313d}
.premium-reader .reading-paper{padding:52px clamp(26px,4.2vw,72px);border:1px solid var(--line);box-shadow:0 3px 20px #23313d06;border-radius:3px}
.reader-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px;line-height:1.5;margin-bottom:32px}
.reader-breadcrumb a{text-decoration:none}
.premium-reader .reader-position{font-size:12px;letter-spacing:.07em;margin-bottom:14px}
.premium-reader .reading-paper h1{font:400 clamp(32px,3.3vw,46px)/1.14 Abel,'Segoe UI Symbol',sans-serif;letter-spacing:-.015em;max-width:25ch;margin:12px 0}
.premium-reader .section-rule{width:48px;height:2px;margin:26px 0}
.premium-reader #reading-content{line-height:1.75}
.premium-reader .content-block{margin:26px 0}
.premium-reader .content-block>p,.premium-reader .content-block>ul,.premium-reader .content-block>ol{max-width:68ch}
.premium-reader .content-block :is(h2,h3,h4){line-height:1.25;margin-top:1.4em;margin-bottom:.7em}
.premium-reader .content-block figure{margin:36px 0}
.premium-reader .figure-button{background:#fff;border:1px solid var(--line);padding:12px}
.premium-reader .figure-button:hover{background:#fff;border:1px solid var(--accent);padding:12px}
.premium-reader .figure-button img{display:block;width:auto;height:auto;max-width:100%;margin:auto}
.premium-reader .content-block figcaption{font-size:15px;padding-top:10px;border-top:0;margin-top:0}
.premium-reader .content-block table{border-collapse:collapse;width:100%;line-height:1.5}
.premium-reader .content-block :is(th,td){padding:12px 14px;border:1px solid var(--line);vertical-align:top}
.premium-reader .content-block th{background:var(--wash);text-align:left}
.premium-reader .content-block tbody tr:nth-child(even){background:color-mix(in srgb,var(--wash) 60%,var(--paper))}
.premium-reader .callout,.premium-reader .example{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--wash);padding:22px 26px;border-radius:0 4px 4px 0;font-size:inherit}
.premium-reader .source-list{font-size:14px;border-top:1px solid var(--line);margin-top:42px;padding-top:24px}
.premium-reader .source-list h2{font-size:21px}
.premium-reader .section-navigation{gap:16px;padding-top:24px;border-top:1px solid var(--line)}
.premium-reader .section-navigation a{display:flex;flex:1;flex-direction:column;gap:7px;text-decoration:none;background:var(--wash);padding:16px;border:1px solid var(--line);font-size:17px;border-radius:4px}
.premium-reader .section-navigation small{font-size:12px;color:var(--muted);letter-spacing:.04em}
.lesson-progress{height:2px;background:var(--line);margin:30px 0 40px;overflow:hidden}
.lesson-progress>span{display:block;height:100%;width:0;background:var(--accent)}
.reader-resume-status{font-size:14px;color:var(--muted)}
.premium-reader .reader-resume-status button{display:inline;font-size:14px;color:var(--accent);min-height:32px;margin-left:7px}
.premium-reader.contents-hidden .reader-contents,.premium-reader.contents-hidden .contents-resizer,.premium-reader.reader-focus .reader-contents,.premium-reader.reader-focus .contents-resizer{display:none}
.premium-reader.contents-hidden .reader-layout,.premium-reader.reader-focus .reader-layout{grid-template-columns:minmax(0,940px)}
.premium-reader.contents-hidden .reading-paper,.premium-reader.reader-focus .reading-paper{grid-column:1}
.premium-reader.reader-focus .book-mast{display:none}
.premium-reader.reader-focus .reader-toolbar-title{display:none}
.premium-reader [aria-pressed=true]#focus-reading{color:var(--accent);border-color:var(--accent);background:var(--paper)}
.books .reader-notes-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:430px;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--line);border-radius:0;padding:0;box-shadow:-12px 0 40px #15202d22}
.books .reader-notes-dialog::backdrop{background:#15202d44}
.reader-drawer-heading{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:24px;background:var(--paper);border-bottom:1px solid var(--line)}
.reader-drawer-heading .eyebrow{font-size:11px;margin:0 0 5px;letter-spacing:.07em}
.books .reader-drawer-heading h2{font:400 29px/1.2 Abel,sans-serif;margin:0}
.books .reader-drawer-heading button{font-size:25px;padding:4px 12px}
.books .reader-notes-dialog .reader-notes{position:static;max-height:none;padding:24px;border:0;background:var(--paper);font-size:17px}
.reader-notes-lesson{font-size:20px;margin:0 0 24px;color:var(--ink)}
.reader-note-actions{display:flex;align-items:center;gap:16px;min-height:48px}
.reader-note-actions p{margin:0;color:var(--muted);font-size:13px}
#open-notes[data-unsaved=true]::after{content:' •';color:var(--accent)}
.premium-reader .highlight-item{border-left:3px solid #e0ba55;background:var(--wash);padding:15px;border-radius:0 4px 4px 0}
.premium-reader .highlight-item-green{border-color:#55a66c}.premium-reader .highlight-item-blue{border-color:#5596d1}.premium-reader .highlight-item-pink{border-color:#cf79a7}
.premium-reader .highlight-item blockquote{font-size:16px;line-height:1.55;margin-bottom:12px}
.reader-selection-toolbar{position:fixed;z-index:50;display:flex;gap:6px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--paper);box-shadow:0 5px 20px #15202d22;max-width:calc(100vw - 16px)}
.books .reader-selection-toolbar :is(button,select){font-size:15px;min-height:36px;padding:5px 10px;margin:0;width:auto}
.reader-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:55;max-width:calc(100vw - 32px);padding:12px 18px;background:var(--ink);color:var(--paper);font-size:15px;border-radius:5px;box-shadow:0 4px 20px #15202d22}
.books .reader-figure-dialog{width:min(1280px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:20px;border-radius:6px;overflow:hidden}
.reader-figure-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:16px}
.books .reader-figure-dialog h2{font:400 24px/1.2 Abel,sans-serif;margin:0}
.figure-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.books .figure-controls button{font-size:15px;min-height:38px;padding:5px 12px}
.figure-controls output{font-size:14px;min-width:45px;text-align:center}
.figure-stage{height:min(64vh,800px);display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);overflow:hidden;margin:20px 0 12px;touch-action:none}
.books .reader-figure-dialog .figure-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;margin:0;object-fit:contain;transform-origin:center;user-select:none;pointer-events:none}
.figure-stage.zoomed{cursor:grab}.figure-stage.zoomed:active{cursor:grabbing}
.reader-figure-dialog .figure-viewer-caption{font-size:16px;line-height:1.5;margin:10px 0;max-height:10vh;overflow:auto}
.reader-figure-dialog>small{font-size:12px;color:var(--muted)}
.manual-overview-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:62px clamp(26px,5vw,80px);background:var(--paper);border:1px solid var(--line);margin:30px auto 50px;max-width:1260px}
.manual-overview-hero .eyebrow{font-size:12px;letter-spacing:.12em}
.books .manual-overview-hero h1{font:400 clamp(36px,4.6vw,64px)/1.1 Abel,sans-serif;max-width:20ch;letter-spacing:-.02em}
.manual-overview-meta{font-size:17px;color:var(--muted)}
.manual-overview-meta>span{margin:0 12px;color:var(--line)}
.books .manual-continue{flex:0 1 310px;display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--line);border-left:2px solid var(--accent);text-decoration:none;background:var(--wash);font-size:23px;line-height:1.25}
.manual-continue>small{font-size:12px;color:var(--muted);letter-spacing:.06em}
.manual-continue>span:last-child{align-self:flex-end}
.manual-subjects{max-width:1260px;margin:0 auto 60px}
.books .manual-subjects>h2{font:400 28px Abel,sans-serif;margin-bottom:25px}
.manual-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.manual-subject-card{background:var(--paper);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.manual-subject-card>summary{display:flex;align-items:flex-start;gap:22px;cursor:pointer;padding:28px;list-style:none}
.manual-subject-card>summary::-webkit-details-marker{display:none}
.manual-subject-number{font-size:15px;color:var(--accent);padding-top:6px}
.manual-subject-title{font-size:29px;line-height:1.25}
.manual-subject-title small{display:block;font-size:14px;color:var(--muted);margin-top:10px}
.manual-subject-expand{margin-left:auto;font-size:24px;color:var(--muted)}
.manual-subject-card[open] .manual-subject-expand{transform:rotate(45deg)}
.manual-subject-card ol{margin:0 28px 20px 60px;padding-left:19px;max-height:420px;overflow:auto}
.manual-subject-card li{padding:9px 4px;font-size:18px}
.manual-subject-card li a{text-decoration:none}
.manual-subject-card li small{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.manual-subject-start{display:block;margin:0 28px 25px 60px;font-size:16px}
@media(max-width:1200px){.reader-toolbar-title{display:none}.premium-reader .reader-toolbar{gap:8px}.premium-reader .reading-paper{padding:38px 32px}.premium-reader .reader-layout{gap:12px}}
@media(max-width:800px){
 .premium-reader .reader-toolbar{padding:9px 3%;margin:0 -3%;align-items:flex-start}.premium-reader .reader-toolbar .actions{gap:5px}.reader-toolbar-navigation{gap:12px}
 .premium-reader .reader-toolbar :is(button,.button){font-size:14px;padding:6px 8px;min-height:36px}
 .premium-reader .reader-layout{display:block;margin-top:18px}.premium-reader .reading-paper{padding:32px 23px}.premium-reader .contents-resizer{display:none}
 .premium-reader .reader-contents{display:none;position:fixed;top:95px;bottom:16px;left:12px;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 112px);padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:5px;box-shadow:5px 10px 30px #15202d22;z-index:35}
 .premium-reader .reader-contents.open{display:block}.premium-reader.contents-hidden .reader-contents{display:none}
 .reader-breadcrumb{font-size:12px;margin-bottom:24px}.premium-reader .reader-position{font-size:11px}.premium-reader .reading-paper h1{font-size:34px}
 .premium-reader .content-block :is(th,td){padding:8px 10px}.premium-reader .callout,.premium-reader .example{padding:18px}.premium-reader .section-navigation{flex-direction:column}
 .reader-figure-dialog>header{align-items:flex-start;flex-direction:column;gap:12px}.books .reader-figure-dialog{padding:14px}.figure-stage{height:54vh;margin-top:12px}.figure-controls{gap:5px}.books .figure-controls button{font-size:14px;padding:5px 9px}
 .manual-overview-hero{display:block;padding:34px 25px;margin-top:20px;margin-bottom:34px}.books .manual-overview-hero h1{font-size:42px}.books .manual-continue{margin-top:32px;font-size:22px}.manual-subject-grid{grid-template-columns:1fr;gap:14px}.manual-subject-card>summary{padding:24px;gap:18px}.manual-subject-title{font-size:27px}
}
@media print{
 .premium-reader .reader-toolbar,.premium-reader .reader-contents,.premium-reader .contents-resizer,.reader-selection-toolbar,.reader-toast,.reader-notes-dialog,.reader-figure-dialog,.reader-resume-status,.lesson-progress,.reader-subjects-link{display:none!important}
 .premium-reader .reader-layout{display:block!important}.premium-reader .reading-paper{padding:0;border:0;box-shadow:none}.premium-reader .content-block{break-inside:auto}.premium-reader .content-block figure{break-inside:avoid}
}
