/*
 * Minimal foundation (reset).
 * Only unifies box-sizing and the base body / link styles.
 * We deliberately use no UI library, so this stays as small as possible.
 */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--fg);
  background: var(--bg);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--accent);
}

a:hover {
  color: var(--color-primary-hover);
}

/* Always hide elements with the hidden attribute. The library toggles visibility
   via the hidden attribute, so to keep that toggle reliable even on elements with
   an explicit display (e.g. a display:flex banner or flex child), override the UA
   default ([hidden]{display:none}) at a higher priority. */
[hidden] {
  display: none !important;
}
