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

html, body {
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: #0b0d12;
  color: #e8eaf0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

#stage {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: #000;
}

#stage[hidden] { display: none; }

/* Templates are mounted into #stage and should fill it. Each template's
   stylesheet is responsible for its own visuals — base only enforces the
   no-scroll, full-bleed contract. */

:fullscreen, :-webkit-full-screen { background: #000; }
