* {
  box-sizing: border-box;
}

/* Breakpoints:
   tablet: 980px
   mobile: 660px

   Plain CSS kann custom properties nicht in @media verwenden.
   Deshalb bleiben die Werte hier als Literale stehen. */

html {
  color: var(--color-ink);
  background: var(--color-cloud);
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.5;
  font-optical-sizing: auto;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  text-rendering: optimizeLegibility;

  /* Anker-Offset: Abstand, den der Browser beim Scrollen zu einem Anker oben freihält.
     Genug Luft fuer den sticky Header. Wert: space-16 = grid-baseline × 16 = 120px. */
  scroll-padding-top: var(--space-16);
}

body {
  margin: 0;
  background: var(--color-paper);
  font-family: var(--font-family-body);
  overflow-wrap: break-word;
}

img, video, svg {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

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

main {
  padding-bottom: var(--space-12);
}
