* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg-0);
  overflow: hidden;
  user-select: none;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed; inset: 0; z-index: -1;
  background:
    radial-gradient(900px 520px at 6% -10%, rgba(220, 181, 104, .14), transparent 60%),
    radial-gradient(820px 620px at 106% 108%, rgba(255, 59, 92, .15), transparent 60%),
    radial-gradient(620px 420px at 62% 38%, rgba(224, 190, 121, .08), transparent 70%),
    linear-gradient(180deg, #100e0d, #0a0a09);
}
h1, h2, h3 { font-family: var(--font-display); font-weight: 600; letter-spacing: .01em; }
h1 { font-size: 28px; line-height: 1.15; }
h2 { font-size: 19px; }
h3 { font-size: 15px; }
a { color: var(--radiant); }
input, select, button, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--radiant); outline-offset: 2px; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: rgba(233, 209, 162, .2); border-radius: 8px; border: 2px solid transparent; background-clip: content-box; }
.muted { color: var(--text-dim); }
.faint { color: var(--text-faint); }
.row { display: flex; align-items: center; gap: 10px; }
.row--wrap { flex-wrap: wrap; }
.spacer { flex: 1; }
.stack { display: flex; flex-direction: column; gap: 12px; }
input[type="text"], input[type="number"], input[type="password"], textarea, pre, code, td, .selectable { user-select: text; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
