/* Shared design tokens / utilities used by index, landing, upgrade.
   Link after theme.css. Page-specific rules stay in each page's <style>. */

.font-headline {
  font-family: 'Hanken Grotesk', sans-serif;
}

.font-mono-out {
  font-family: 'JetBrains Mono', monospace;
}

.accent-gradient {
  background: linear-gradient(135deg, #b76dff, #0566d9);
}

.gradient-text {
  background: linear-gradient(135deg, #b76dff, #0566d9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-primary {
  color: #b76dff;
}

.glass-card {
  background: var(--bmp-glass-bg);
  border: 1px solid var(--bmp-border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 1rem;
}

.btn-gradient {
  background: linear-gradient(135deg, #b76dff, #0566d9);
  border: none;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 0 24px rgba(183, 109, 255, 0.35);
  transition: opacity 0.2s, box-shadow 0.2s;
}

.btn-gradient:hover:not(:disabled) {
  opacity: 0.92;
  box-shadow: 0 0 36px rgba(183, 109, 255, 0.5);
}

.btn-gradient:hover {
  opacity: 0.92;
}

.btn-gradient:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  box-shadow: none;
}

.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--bmp-overlay);
  z-index: 50;
  align-items: center;
  justify-content: center;
}

.modal-overlay.open {
  display: flex;
}
