/* DM Sans — self-hosted (GDPR compliant) */ @font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/dm-sans-400.woff2') format('woff2'); } @font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/dm-sans-500.woff2') format('woff2'); } @font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/dm-sans-600.woff2') format('woff2'); } @font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/dm-sans-700.woff2') format('woff2'); } @font-face { font-family: 'DM Sans'; font-style: italic; font-weight: 400; font-display: swap; src: url('./fonts/dm-sans-400-italic.woff2') format('woff2'); } /* JetBrains Mono — self-hosted (GDPR compliant) */ @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/jetbrains-mono-400.woff2') format('woff2'); } @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/jetbrains-mono-500.woff2') format('woff2'); } @font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/jetbrains-mono-600.woff2') format('woff2'); } :root { font-family: 'DM Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } *, *::before, *::after { box-sizing: border-box; margin: 0; } html, body, #root { height: 100%; }