/* shared across every subject — keep this file the single source of truth.
   pages link to /assets/style.css; subject pages use ../assets/style.css */

html { scroll-behavior: smooth; }
body { line-height: 1.6; }

/* breathing room for headings so descenders/% never clip */
h1, h2, h3 { line-height: 1.3; padding-bottom: 0.1em; }
.card-title { line-height: 1.35; }
.alert { line-height: 1.55; }
.alert > div, .alert > span { padding-block: 2px; }
.badge { padding-block: 0.65em; line-height: 1.2; height: auto; min-height: 1.5rem; }
.timeline-box { line-height: 1.5; }

/* utilities */
.scroll-mt { scroll-margin-top: 4.5rem; }
.topic-code { font-family: "SF Mono", Menlo, Consolas, monospace; font-weight: 600; }
.topic-row { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; }
.qrefs { font-size: .85rem; opacity: .8; }

/* daisyUI <details> reset for a cleaner look */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }

/* autism-friendly muted semantic colors — wireframe ships pure red/green/yellow.
   Replace with calmer, WCAG-AA-readable shades. Hierarchy preserved through tone, not saturation. */
[data-theme="wireframe"] {
  --su: 152 30% 32%;   /* muted sage green     */
  --suc: 0 0% 100%;
  --wa: 35 45% 38%;    /* muted ochre          */
  --wac: 0 0% 100%;
  --er: 5 40% 42%;     /* muted brick red      */
  --erc: 0 0% 100%;
  --in: 210 35% 38%;   /* muted teal-blue      */
  --inc: 0 0% 100%;
  --bc: 0 0% 18%;      /* darker body text for readability */
}

/* respect users who don't want smooth scroll */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
