/* Hand-written (NOT generated by scripts/legacy-css.ts).
 *
 * The legacy pages keep their own reset, but `BaseLayout` also loads
 * `global.css`, so Tailwind's preflight lands on the imported markup too. Most
 * of it is harmless — the scoped legacy rules are 0,1,x and outrank preflight's
 * 0,0,x — but preflight changes three things the legacy reset never mentions,
 * so nothing in the legacy stylesheets restores them:
 *
 *   1. `h1`–`h6` lose the UA `font-weight: bold`
 *   2. `a` loses the UA link colour and underline (legacy has no bare `a` rule
 *      at all — plain links really are browser-blue on the live site)
 *   3. `img` / `svg` / `video` … become `display: block`, which drops the
 *      inline baseline gap under every image the legacy layout was built around
 *
 * Load this BEFORE the converted legacy stylesheets. Every selector is wrapped
 * in `:where()` so it contributes nothing: the rules read as 0,1,0 — enough to
 * beat preflight, never enough to beat a legacy rule that has an opinion.
 */

.legacy-page :where(h1, h2, h3, h4, h5, h6) {
  font-weight: bold;
}

.legacy-page :where(a) {
  color: LinkText;
  text-decoration: underline;
}

.legacy-page :where(a:visited) {
  color: VisitedText;
}

.legacy-page :where(a:active) {
  color: ActiveText;
}

.legacy-page :where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: inline;
}

/* `global.css` gives every jump target `scroll-margin-top: var(--header-h)`.
 * The legacy pages already compensate for a fixed header themselves — the
 * in-page anchors are invisible `.u-anchor` spans pulled up by 160px — so
 * adding ours on top double-counts and lands the reader further down the gap.
 * Only `immersive-vienna` has such anchors today (`#gustav` / `#egon`). */
.legacy-page :where(:target) {
  scroll-margin-top: 0;
}
