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

body {
  background: #060918;
  font-family: 'DM Sans', sans-serif;
  color: #e8e8e8;
  min-height: 100vh;
}

.font-brand {
  font-family: 'Cormorant Garamond', serif;
}

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

/* Gold gradient text */
.gold-text {
  background: linear-gradient(135deg, #d4a843 0%, #f0c75e 40%, #d4a843 60%, #b8922e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Gold gradient button */
.gold-btn {
  background: linear-gradient(135deg, #d4a843 0%, #f0c75e 50%, #d4a843 100%);
  color: #0a0e27;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.gold-btn:hover {
  box-shadow: 0 0 30px rgba(212, 168, 67, 0.4), 0 0 60px rgba(212, 168, 67, 0.15);
  transform: translateY(-1px);
}

.gold-btn:active {
  transform: translateY(0);
}

/* Glass card */
.glass-card {
  background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);
  border: 1px solid rgba(212, 168, 67, 0.12);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  transition: all 0.3s ease;
}

.glass-card:hover {
  border-color: rgba(212, 168, 67, 0.25);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Particle canvas */
#particle-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

/* Pulse animation */
@keyframes pulse-green {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6); }
  50% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
}

.pulse-dot {
  animation: pulse-green 2s ease-in-out infinite;
}

/* Count up animation */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.fade-in-up {
  animation: fadeInUp 0.6s ease-out forwards;
}

.stagger-1 { animation-delay: 0.1s; opacity: 0; }
.stagger-2 { animation-delay: 0.2s; opacity: 0; }
.stagger-3 { animation-delay: 0.3s; opacity: 0; }
.stagger-4 { animation-delay: 0.4s; opacity: 0; }
.stagger-5 { animation-delay: 0.5s; opacity: 0; }
.stagger-6 { animation-delay: 0.6s; opacity: 0; }

/* Shake animation for error */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-10px); }
  40% { transform: translateX(10px); }
  60% { transform: translateX(-6px); }
  80% { transform: translateX(6px); }
}

.shake {
  animation: shake 0.5s ease;
}

/* Progress bar */
.progress-fill {
  background: linear-gradient(90deg, #d4a843, #f0c75e, #d4a843);
  background-size: 200% 100%;
  animation: shimmer 2s ease-in-out infinite;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0a0e27; }
::-webkit-scrollbar-thumb { background: rgba(212,168,67,0.3); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(212,168,67,0.5); }

/* Grid bg overlay */
.grid-bg {
  background-image: 
    linear-gradient(rgba(212,168,67,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212,168,67,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* Table styling */
.tx-table tr:nth-child(even) {
  background: rgba(255,255,255,0.02);
}
.tx-table tr:hover {
  background: rgba(212,168,67,0.05);
}

/* Disclaimer banner */
.disclaimer-banner {
  background: linear-gradient(90deg, #92400e, #78350f, #92400e);
  border-bottom: 1px solid rgba(212,168,67,0.3);
}

/* Input focus */
input:focus {
  outline: none;
  border-color: #d4a843 !important;
  box-shadow: 0 0 0 3px rgba(212,168,67,0.15);
}

/* Nav link hover */
.nav-link {
  position: relative;
  transition: color 0.3s;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #d4a843, #f0c75e);
  transition: width 0.3s;
}
.nav-link:hover::after, .nav-link.active::after {
  width: 100%;
}

/* Chart tooltip */
.chart-container {
  position: relative;
}