@font-face {
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url('fonts/oxanium-var.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/plexmono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/plexmono-600.woff2') format('woff2');
}
:root { color-scheme: light dark; --ground: #0B0E1A; }
@media (prefers-color-scheme: light) { :root { --ground: #EDE8DA; } }
* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0; height: 100%; width: 100%;
  background: var(--ground);
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
  -webkit-user-select: none; user-select: none;
  -webkit-tap-highlight-color: transparent;
  font-family: 'Oxanium', 'Avenir Next', system-ui, sans-serif;
}
#stage {
  position: fixed; inset: 0;
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  background: var(--ground);
}
canvas { display: block; width: 100%; height: 100%; touch-action: none; outline: none; }
