/* reset.css — minimal, modern, opinionated */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; height: 100%; }
body {
  font-family: 'Spectral', Georgia, serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink, #e9e4d6);
  background: #04060d;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
canvas { display: block; }
button, input { font: inherit; color: inherit; background: none; border: 0; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
kbd {
  display: inline-block; min-width: 22px; padding: 1px 6px;
  font-family: 'IBM Plex Mono', monospace; font-size: 11px;
  border: 1px solid rgba(245,200,66,.3);
  border-radius: 3px; color: var(--gold, #f5c842);
  background: rgba(245,200,66,.05);
  text-align: center; vertical-align: 1px;
}
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(245,200,66,.18); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(245,200,66,.32); }
::selection { background: rgba(245,200,66,.3); color: #fff; }
.hidden { display: none !important; }
