:root {
  --tfc-purple: #6a00ff;
  --tfc-mint: #2ee6a6;
  --tfc-coral: #ff6b6b;
  --tfc-navy: #0a1020;
  --tfc-surface: #101828;
  --tfc-text: #e6e8ef;
}

html,
body {
  background: var(--tfc-navy);
  color: var(--tfc-text);
  font-family: Urbanist, system-ui, -apple-system, Segoe UI, Roboto,
    "Helvetica Neue", Arial, sans-serif;
}

.bg-surface {
  background: var(--tfc-surface) !important;
}

a {
  color: #b6a5ff;
}
a:hover {
  color: #d5cdff;
}

.navbar-dark .navbar-brand {
  color: #fff;
}
.navbar-dark .nav-link {
  color: #c8d0e0;
}
.navbar-dark .nav-link.active,
.navbar-dark .nav-link:hover {
  color: #fff;
}

.fw-extrabold {
  font-weight: 800;
}

.gradient-hero {
  background: radial-gradient(
      900px 420px at 10% -15%,
      rgba(106, 0, 255, 0.45),
      transparent
    ),
    radial-gradient(
      900px 420px at 90% -10%,
      rgba(46, 230, 166, 0.35),
      transparent
    ),
    var(--tfc-surface);
}

.section-ink {
  background: linear-gradient(
    180deg,
    rgba(106, 0, 255, 0.08),
    rgba(46, 230, 166, 0.08)
  );
}

.card-glass {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
}

.card-highlight {
  background: linear-gradient(
    180deg,
    rgba(106, 0, 255, 0.18),
    rgba(46, 230, 166, 0.18)
  );
  border: 1px solid rgba(106, 0, 255, 0.35);
  border-radius: 1rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.32);
}

.card-outline {
  background: rgba(255, 255, 255, 0.03);
  border: 1px dashed rgba(182, 165, 255, 0.45);
  border-radius: 1rem;
}

.btn-mint {
  background: var(--tfc-mint);
  color: #083c2f;
  border: none;
}
.btn-mint:hover {
  filter: brightness(1.05);
  color: #052a21;
}

.text-mint {
  color: var(--tfc-mint) !important;
}
.text-coral {
  color: var(--tfc-coral) !important;
}
.text-purple {
  color: var(--tfc-purple) !important;
}

.hp-field {
  position: absolute;
  left: -10000px;
  opacity: 0;
}
