/* === Typography === */

/* Heading gradient text */
.text-gradient {
  background: linear-gradient(120deg, #ffffff 0%, #d8dcff 60%, #e9d5ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

h1, h2, h3, h4 {
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--text);
}

h2 {
  font-size: 22px;
  background: linear-gradient(120deg, #ffffff 0%, #d8dcff 60%, #e9d5ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-xs { font-size: 12px; }
.text-sm { font-size: 14px; }
.text-base { font-size: 16px; }
.text-lg { font-size: 18px; }
.text-xl { font-size: 20px; }
.text-2xl { font-size: 24px; }
.text-3xl { font-size: 30px; }
.text-6xl { font-size: 48px; }

.font-bold { font-weight: 700; }
.font-black { font-weight: 900; }
.font-medium { font-weight: 500; }

.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }

.text-muted { color: var(--text-muted); }
.text-dim { color: var(--text-dim); }
.text-success { color: var(--success); }
.text-warn { color: var(--warn); }
.text-danger { color: var(--danger); }

/* Mono for numbers */
.tabular-nums, .mono { font-variant-numeric: tabular-nums; }
.font-mono-custom { font-family: var(--font-mono) !important; }

/* Selection */
::selection { background: rgba(168, 85, 247, 0.55); color: #fff; }
