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

/* ── Body ──────────────────────────────────────────── */
body {
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-text);
  background: transparent;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

/* ── Typography ────────────────────────────────────── */
h1 { font-size: 26px; font-weight: 700; letter-spacing: -0.4px; }
h2 { font-size: 20px; font-weight: 600; letter-spacing: -0.3px; margin-bottom: 1rem; }
h3 {
  font-size: 12px;
  font-weight: 600;
  color: var(--c-muted);
  text-transform: uppercase;
  letter-spacing: 0.7px;
  margin: 1.25rem 0 0.75rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
h3::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--c-border-2);
}
p { color: var(--c-text-2); }
code {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--c-text-2);
}

/* ── Labels ────────────────────────────────────────── */
label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--c-muted);
  margin-bottom: 5px;
  margin-top: 14px;
}

/* ── Inputs ────────────────────────────────────────── */
input, select, textarea {
  width: 100%;
  font-family: var(--font);
  font-size: 15px;
  padding: 10px 13px;
  border: 1.5px solid var(--c-border-2);
  border-radius: var(--r-md);
  background: var(--c-surface);
  color: var(--c-text);
  outline: none;
  transition: border-color var(--t-base), box-shadow var(--t-base);
}
input:focus, select:focus, textarea:focus {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
input::placeholder, textarea::placeholder { color: var(--c-text-3); }
textarea { resize: vertical; min-height: 76px; }

/* ── Scrollbar ─────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--c-primary-light);
  border-radius: var(--r-pill);
}

/* ── Hr ────────────────────────────────────────────── */
hr.dv {
  border: none;
  border-top: 1.5px solid var(--c-border-2);
  margin: 1.25rem 0;
}

/* ── Selection ─────────────────────────────────────── */
::selection { background: var(--c-primary-light); color: var(--c-primary-dark); }
