:root {
  /* Unit-mass damped spring, stiffness 120 and damping 20, sampled for CSS. */
  --spring: linear(0, 0.02947, 0.10068, 0.19383, 0.29547, 0.39681, 0.49245, 0.57933, 0.65605, 0.7223, 0.77844, 0.82528, 0.8638, 0.89507, 0.92014, 0.94002, 0.95559, 0.96765, 0.97688, 0.98385, 0.98905, 0.99286, 0.99561, 0.99755, 0.99888, 0.99977, 1.00033, 1.00066, 1.00083, 1.00089, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .open-hero-art img { animation: notebook-bloom 1.5s var(--spring) both; }
  .open-chapter-card, [class$='-notes-panel'] { animation: notebook-rise 480ms ease-out both; }
  .open-chapter-card, [class$='-primary-link'], [class$='-page-turn'] a { transition: transform 720ms var(--spring), background-color 180ms ease-out; }
  .open-chapter-card:hover, [class$='-primary-link']:hover, [class$='-page-turn'] a:hover { transform: scale(1.03); }
  [class$='-chapter-disclosure'] > summary > span { transition: transform 480ms var(--spring); }
}
@keyframes notebook-bloom {
  from { transform: scale(.965); filter: saturate(.85); }
  to { transform: scale(1); filter: saturate(1); }
}
@keyframes notebook-rise {
  from { opacity: .9; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  body { background: white; }
  body::before, [class$='-header-actions'], [class$='-page-turn'], [class$='-note-actions'], [class$='-note-status'] { display: none; }
  [class$='-masthead-inner'] { min-height: auto; }
  [class$='-reading-wrap'] { padding-top: 1rem; }
  [class$='-section'], [class$='-footnotes'] { margin-block: 2rem; }
  [class$='-notes-panel'], .open-chapter-card { box-shadow: none; break-inside: avoid; }
  [class$='-footer'] { margin-top: 2rem; }
}
