/* Global Styles */

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

body {
  font-family: var(--font-sans);
  background-color: var(--bg-dark);
  color: var(--text-primary);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pulseBorder {
  0% { border-color: rgba(212, 175, 55, 0.2); }
  50% { border-color: rgba(212, 175, 55, 0.6); }
  100% { border-color: rgba(212, 175, 55, 0.2); }
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--trans-fast);
}

a:hover {
  color: var(--accent-gold);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: var(--space-md);
}

/* Glassmorphism helpers */
.glass-panel {
  background: var(--bg-card);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
}

.glass-panel:hover {
  border-color: var(--border-light);
  box-shadow: var(--shadow-md);
}

/* Layout helpers */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

/* Typography Helpers */
.text-muted {
  color: var(--text-muted);
}
.text-gold {
  color: var(--accent-gold);
}
.text-red {
  color: var(--accent-red);
}

.font-bold {
  font-weight: bold;
}
