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

html, body { height: 100%; overflow: hidden; }

body {
  /* 색은 JS가 노브 위치에 맞춰 매 프레임 보간해 넣는다. */
  background: var(--bg, #0b0c10);
  color: var(--fg, #e8eaf0);
  font: 400 13px/1.5 ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  cursor: default;
}

canvas { position: fixed; inset: 0; width: 100%; height: 100%; }

.top, .bottom {
  position: fixed;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  pointer-events: none;
  z-index: 1;
}

.top { top: clamp(28px, 7vh, 64px); }
.bottom { bottom: clamp(28px, 7vh, 64px); }

h1 {
  font-size: clamp(38px, 11vw, 76px);
  font-weight: 900;
  letter-spacing: 0.22em;
  text-indent: 0.22em;
  font-family: "Arial Black", "Helvetica Neue", sans-serif;
  color: var(--accent, #00e5ff);
  opacity: 0.9;
}

#hint {
  font-size: 12px;
  letter-spacing: 0.08em;
  opacity: 0.45;
  text-align: center;
  padding: 0 20px;
}

.stats { display: flex; gap: clamp(22px, 8vw, 52px); }
.stats div { text-align: center; }

dt {
  font-size: 9px;
  letter-spacing: 0.18em;
  opacity: 0.4;
  margin-bottom: 4px;
}

dd {
  font-size: 22px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
