@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/ibm-plex-mono-400.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/ibm-plex-mono-500.woff2') format('woff2');
}

:root {
  --color-bg: #070A0D;
  --color-bg-radial: #0E1620;
  --color-accent: #0094C9;
  --font-mono: 'IBM Plex Mono', monospace;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  height: 100%;
  background: var(--color-bg);
  font-family: Helvetica, Arial, sans-serif;
  overflow: hidden;
}

.background {
  position: fixed;
  inset: 0;
  background: radial-gradient(120% 120% at 50% 0%, var(--color-bg-radial), var(--color-bg));
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.background canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* Scrollbar styling for scrollable content cards (e.g. Impressum) */
.card::-webkit-scrollbar {
  width: 10px;
}
.card::-webkit-scrollbar-track {
  background: transparent;
}
.card::-webkit-scrollbar-thumb {
  background: rgba(0, 148, 201, 0.35);
  border-radius: 6px;
}
