:root {
  --bg: #07070b;
  --panel: rgba(20,18,28,0.72);
  --line: rgba(255,255,255,0.09);
  --ink: #efeaf6;
  --muted: #918aa8;
  --accent: #f3c969;
}
* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0; height: 100%;
  background: var(--bg); color: var(--ink);
  font: 14px/1.5 ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  overflow: hidden;
}

/* The canvas is the show: it fills the viewport, everything else floats. */
#gl { position: fixed; inset: 0; width: 100%; height: 100%; display: block; }

/* Shared form controls, used by the admin drawer. */
input[type=text], input[type=number] {
  width: 100%; background: rgba(0,0,0,0.35); color: var(--ink);
  border: 1px solid var(--line); border-radius: 7px;
  padding: 8px 11px; font: inherit; font-size: 13px;
}
input:focus { outline: none; border-color: rgba(243,201,105,0.5); }

button {
  background: rgba(255,255,255,0.06); color: var(--ink);
  border: 1px solid var(--line); border-radius: 7px;
  padding: 8px 12px; font: inherit; font-size: 13px; cursor: pointer;
  transition: background .15s, border-color .15s;
}
button:hover { background: rgba(255,255,255,0.12); }
button.primary {
  background: linear-gradient(180deg, #f3c969, #e0a93f);
  color: #2a1e06; border-color: transparent; font-weight: 600; width: 100%;
}
button.primary:hover { filter: brightness(1.08); }
button.block { width: 100%; }
button.block + button.block { margin-top: 8px; }
