:root {
  color-scheme: dark;
}

.bg-grid {
  background-image: radial-gradient(rgba(99, 102, 241, 0.18) 1px, transparent 1px);
  background-size: 28px 28px;
}

.nav-link {
  transition: color 150ms ease, opacity 150ms ease;
}
.nav-link:hover {
  color: white;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.9rem;
  padding: 0.75rem 1.1rem;
  font-weight: 600;
  color: white;
  background: linear-gradient(135deg, rgba(99, 102, 241, 1), rgba(168, 85, 247, 1));
  box-shadow: 0 10px 30px rgba(99, 102, 241, 0.25);
  transition: transform 150ms ease, filter 150ms ease;
}
.btn-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.9rem;
  padding: 0.75rem 1.1rem;
  font-weight: 600;
  color: rgba(226, 232, 240, 1);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: transform 150ms ease, background 150ms ease;
}
.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-1px);
}

.card {
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  padding: 1.25rem;
}
.card-icon {
  display: inline-flex;
  height: 2.6rem;
  width: 2.6rem;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: rgba(99, 102, 241, 0.12);
  color: rgba(199, 210, 254, 1);
  border: 1px solid rgba(99, 102, 241, 0.25);
  margin-bottom: 0.75rem;
}
.card-icon svg {
  height: 1.35rem;
  width: 1.35rem;
}

