*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; background: var(--bg-base); transition: background var(--dur-slow) var(--ease); }
h1, h2, h3, p, ul { margin: 0; }
a { color: var(--accent-text); text-decoration: none; transition: color var(--dur-base) var(--ease); }
a:hover { color: var(--text-primary); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  @page { margin: 18mm 16mm; }
  html, body { background: #fff !important; }
  [data-print-hide] { display: none !important; }
  [data-legal-root] { background: #fff !important; color: #111 !important; --text-primary: #111 !important; --text-secondary: #222 !important; --text-muted: #555 !important; --accent-text: #111 !important; --divider: #d4d4d4 !important; --border: #bdbdbd !important; }
  [data-print-block] { display: block !important; padding: 0 !important; max-width: none !important; }
  [data-print-panel] { background: none !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; border: 1px solid #999 !important; break-inside: avoid; }
  [data-legal-root] h1 { font-size: 22pt !important; }
  [data-legal-root] h2, [data-legal-root] h3 { break-after: avoid; page-break-after: avoid; }
  [data-legal-root] p, [data-legal-root] li { font-size: 10.5pt !important; line-height: 1.5 !important; orphans: 3; widows: 3; }
  [data-legal-root] a { color: inherit !important; }
}
