/* Custom Styles for Primbon & Ramalan Nasib Nusantara */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700;900&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  --color-gold: #eab308;
  --color-gold-glow: rgba(234, 179, 8, 0.35);
  --color-indigo-glow: rgba(139, 92, 246, 0.35);
  --color-emerald-glow: rgba(16, 185, 129, 0.35);
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background-color: #090a15;
  color: #e2e8f0;
  overflow-x: hidden;
}

.font-mystic {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.05em;
}

/* Glassmorphism Cards */
.glass-card {
  background: rgba(17, 21, 39, 0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}

.glass-card-gold {
  background: radial-gradient(circle at top left, rgba(234, 179, 8, 0.07), rgba(17, 21, 39, 0.8));
  backdrop-filter: blur(16px);
  border: 1px solid rgba(234, 179, 8, 0.25);
  box-shadow: 0 10px 35px -10px rgba(234, 179, 8, 0.15);
}

.glass-card-indigo {
  background: radial-gradient(circle at top left, rgba(139, 92, 246, 0.08), rgba(17, 21, 39, 0.8));
  backdrop-filter: blur(16px);
  border: 1px solid rgba(139, 92, 246, 0.25);
  box-shadow: 0 10px 35px -10px rgba(139, 92, 246, 0.15);
}

/* Cosmic Background Glows */
.cosmic-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  pointer-events: none;
  z-index: 0;
  opacity: 0.45;
}

.glow-text-gold {
  text-shadow: 0 0 20px rgba(234, 179, 8, 0.5);
}

.glow-text-indigo {
  text-shadow: 0 0 20px rgba(168, 85, 247, 0.5);
}

/* Subtle Shimmer Animation */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.shimmer-btn {
  background-size: 200% auto;
  transition: all 0.3s ease;
}

.shimmer-btn:hover {
  background-position: right center;
  box-shadow: 0 0 25px rgba(234, 179, 8, 0.4);
}

/* Floating animation */
@keyframes subtleFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

.animate-float {
  animation: subtleFloat 5s ease-in-out infinite;
}

/* Pulse Glow */
@keyframes pulseGlow {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.05); }
}

.pulse-glow {
  animation: pulseGlow 6s ease-in-out infinite;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #090a15;
}
::-webkit-scrollbar-thumb {
  background: #272738;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #4b5563;
}

/* Print Optimization */
@media print {
  body {
    background-color: #ffffff !important;
    color: #111827 !important;
  }
  .no-print, header, footer, #fortuneForm, #tabNav, #starsCanvas, .cosmic-blob, #actionButtons {
    display: none !important;
  }
  .glass-card, .glass-card-gold, .glass-card-indigo {
    background: #ffffff !important;
    border: 1px solid #d1d5db !important;
    box-shadow: none !important;
    color: #111827 !important;
    page-break-inside: avoid;
  }
  .text-slate-300, .text-slate-400, .text-slate-200 {
    color: #374151 !important;
  }
  .text-amber-300, .text-amber-400, .text-yellow-400 {
    color: #b45309 !important;
  }
  .text-purple-300, .text-purple-400 {
    color: #6b21a8 !important;
  }
  .border-white\/10, .border-amber-500\/30, .border-purple-500\/30 {
    border-color: #e5e7eb !important;
  }
}
