/* Reading controls and restrained textbook emphasis. */
:root { --header-height:66px; --example-tone:#86623c; --soft-border:#d4dfd8; }
.visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.site-header { display:grid;grid-template-columns:auto 1fr auto;height:var(--header-height); }
.header-actions { justify-self:end; }
.appearance-control { grid-column:3;display:flex;align-items:center; }
.appearance-control select { padding:6px 8px;min-height:36px;font:14px var(--sans); }
.header-actions button { font-size:13px; }
.reading-progress { top:calc(var(--header-height) - 1px); }
html { scroll-padding-top:calc(var(--header-height) + 30px); }
.equation-target { scroll-margin-top:calc(var(--header-height) + 35px); }
.chapter-section > p strong,.proof-body > p strong { font-weight:700; }
em.term { font-family:Georgia,"Times New Roman",serif;font-style:italic; }
.key-insight { padding:5px 0 5px 18px;border-left:3px solid var(--accent); }
.example { border-left:3px solid #b79566; }
.example .block-label { font-size:13px;color:var(--example-tone);letter-spacing:.4px; }
.proof-tag { font-size:11px;letter-spacing:.5px; }
.section-tools { display:flex;justify-content:flex-end;margin:-8px 0 17px; }
.section-tools button { border:0;background:transparent;color:var(--accent);font-size:13px;padding:4px 0; }
.section-tools button:hover { text-decoration:underline;text-underline-offset:4px; }
.code-tools { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:23px 0 0;padding:6px 12px;border:1px solid var(--line);border-bottom:0;border-radius:5px 5px 0 0;background:var(--wash);font:12px var(--sans);color:var(--muted); }
.code-tools button { font-size:12px;padding:3px 9px; }
.code-tools + pre { margin-top:0;border-top-left-radius:0;border-top-right-radius:0; }
.checkpoint { margin:26px 0;padding:0 18px;border:1px solid var(--line);border-left:3px solid #b79566;border-radius:4px; }
.checkpoint > summary { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:baseline;cursor:pointer;padding:14px 0;list-style:none;line-height:1.8;font-size:16px; }
.checkpoint > summary::-webkit-details-marker { display:none; }
.checkpoint-label { font:600 12px/1.8 var(--sans);color:var(--example-tone); }
.checkpoint > summary::after { content:'查看解释';font:12px var(--sans);color:var(--accent);white-space:nowrap; }
.checkpoint[open] > summary::after { content:'收起解释'; }
.checkpoint-answer { border-top:1px solid var(--line);padding:0 0 4px; }
.checkpoint-answer p { font-size:16px;margin:14px 0; }

/* Native color variables are shared with the canvas palette in theme.js. */
:root[data-theme="dark"] { color-scheme:dark;--paper:#141d21;--ink:#dce5e2;--muted:#a4b5b1;--line:#37494b;--accent:#79cfc3;--wash:#203237;--example-tone:#ddb98d;--soft-border:#37494b; }
[data-theme="dark"] .site-header { background:rgba(20,29,33,.98); }
[data-theme="dark"] a:hover { color:#b1e8df; }
[data-theme="dark"] ::selection { background:#375d5c;color:#f3f7f6; }
[data-theme="dark"] button:hover { border-color:#718e89; }
[data-theme="dark"] .brand-mark { color:#142b2a; }
[data-theme="dark"] #toc a { color:var(--muted); }
[data-theme="dark"] #toc a span { color:#90a6a2; }
[data-theme="dark"] #toc a.active,[data-theme="dark"] .series-chapter.current { background:var(--wash);color:var(--accent); }
[data-theme="dark"] #toc a.active span { color:var(--accent); }
[data-theme="dark"] .chapter-number { color:#7caaa2; }
[data-theme="dark"] .conventions { color:var(--muted); }
[data-theme="dark"] code { background:#243439; }
[data-theme="dark"] pre { background:#18272d;border-color:var(--line); }
[data-theme="dark"] pre code { background:none;color:#d6e4ed; }
[data-theme="dark"] .token.comment { color:#a7b5a2; }
[data-theme="dark"] .token.keyword,[data-theme="dark"] .token.boolean { color:#dbafe1; }
[data-theme="dark"] .token.function,[data-theme="dark"] .token.class-name { color:#88c7ed; }
[data-theme="dark"] .token.number { color:#efb68d; }
[data-theme="dark"] .token.string { color:#9cceb0; }
[data-theme="dark"] .token.operator { color:#dbc28c; }
[data-theme="dark"] .token.punctuation { color:#b6c6ce; }
[data-theme="dark"] .token.builtin { color:#87d1cf; }
[data-theme="dark"] .derivation { background:#1b292d;border-color:var(--line); }
[data-theme="dark"] .derivation[open]>summary { border-color:var(--line); }
[data-theme="dark"] .answer { background:transparent; }
[data-theme="dark"] .example { background:#2b2b26; }
[data-theme="dark"] .block-label,[data-theme="dark"] .thinking>strong { color:var(--example-tone); }
[data-theme="dark"] .lab-figure { background:var(--lab-paper);border-color:var(--line); }
[data-theme="dark"] .lab-figure>figcaption { border-color:var(--line); }
[data-theme="dark"] .lab-controls { background:#1d2e32;border-color:var(--line); }
[data-theme="dark"] .legend,[data-theme="dark"] .playback { border-color:var(--line); }
[data-theme="dark"] .roadmap { background:var(--wash); }
[data-theme="dark"] .callout { background:#393021; }
[data-theme="dark"] .eq-no { color:var(--muted); }
[data-theme="dark"] .key-equation { border-color:#70b5aa; }
[data-theme="dark"] .math-error { color:#ffaaa3; }
[data-theme="dark"] .equation-target:target { background:#28443b;box-shadow:inset 0 0 0 1px #6e9682; }
[data-theme="dark"] .equation-target.equation-highlight { background:#443820;box-shadow:inset 0 0 0 2px #c8a260; }
[data-theme="dark"] #equation-preview { border-color:#648981;box-shadow:0 8px 30px #0007; }
[data-theme="dark"] .matrix-cell { background:#233c3f;color:var(--accent);border-color:#48696a; }
[data-theme="dark"] .matrix-cell.selected,[data-theme="dark"] .matrix-cell.filled { background:#45372b;color:#f1c092;border-color:#c29065;box-shadow:inset 0 0 0 1px #c29065; }
[data-theme="dark"] .matrix-cell.pending { background:#273437;color:#bdcdca;opacity:.65; }
[data-theme="dark"] .lab-step { color:var(--accent);border-color:var(--line); }
[data-theme="dark"] .table-wrap th { background:var(--wash); }
[data-theme="dark"] .table-wrap th,[data-theme="dark"] .table-wrap td { border-color:var(--line); }
@media (max-width:600px) {
  :root { --header-height:104px; }
  .site-header { grid-template-columns:1fr auto;grid-template-rows:42px 40px;align-content:center;column-gap:8px;row-gap:0;padding:5px 15px; }
  .site-header .brand { grid-column:1;grid-row:1; }
  .appearance-control { grid-column:2;grid-row:1; }
  .appearance-control select { font-size:13px;min-height:32px; }
  .header-actions { grid-column:1 / -1;grid-row:2;justify-self:stretch;justify-content:flex-end;gap:8px; }
  .header-actions button { font-size:12px;padding:5px 9px; }
  #toggle-navigation { margin-right:auto; }
  .site-header:not(:has(.header-actions)) { height:60px;grid-template-rows:42px; }
  .checkpoint { padding:0 13px; }
  .checkpoint > summary { grid-template-columns:auto minmax(0,1fr);gap:4px 9px;font-size:15px; }
  .checkpoint > summary::after { grid-column:2;margin-top:5px; }
  .checkpoint-answer p { font-size:15px; }
  .concept-lab .lab-stage,#tree-rnea .lab-stage { top:calc(var(--header-height) + 16px); }
}
@media print {
  .section-tools,.code-tools,.appearance-control { display:none; }
  .checkpoint { break-inside:avoid; }
  .checkpoint > summary::after { display:none; }
  .code-tools + pre { border-radius:5px;margin-top:23px; }
}
