@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Prompt:wght@300;400;500;600;700&display=swap');

:root {
  --primary-indigo: #6366f1;
  --primary-violet: #8b5cf6;
  --accent-fuchsia: #d946ef;
}

body {
  font-family: 'Plus Jakarta Sans', 'Prompt', -apple-system, BlinkMacSystemFont, sans-serif;
  scroll-behavior: smooth;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* ==========================================================
   GLASSMORPHISM THEME SYSTEM (Light & Dark Mode)
   ========================================================== */

/* Light Mode Card Panels */
.glass-panel,
.glass-panel-light {
  background: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 10px 30px -5px rgba(99, 102, 241, 0.06), 0 0 1px rgba(0, 0, 0, 0.05) !important;
}

/* Dark Mode Card Panels (Deep Slate Frosted Glass with High Contrast) */
.glass-panel-dark,
.dark .glass-panel,
.dark .glass-panel-light,
.dark .glass-panel-dark {
  background: rgba(13, 17, 30, 0.78) !important;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.65), 0 0 25px rgba(139, 92, 246, 0.06) !important;
}

/* Sidebar Styling (High Contrast Glass) */
#main-sidebar {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-right: 1px solid rgba(226, 232, 240, 0.9);
}

.dark #main-sidebar {
  background: rgba(10, 13, 24, 0.92) !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Top Header Bar */
header {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.dark header {
  background: rgba(10, 13, 24, 0.85) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Hover Effects */
.glass-card-hover {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-card-hover:hover {
  transform: translateY(-4px);
  border-color: rgba(139, 92, 246, 0.45) !important;
  box-shadow: 0 20px 40px -15px rgba(99, 102, 241, 0.35) !important;
}

/* Gradient Texts & Glows */
.text-gradient {
  background: linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.dark .text-gradient {
  background: linear-gradient(135deg, #818cf8 0%, #c084fc 50%, #f472b6 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.text-gradient-subtle {
  background: linear-gradient(135deg, #a5b4fc 0%, #c084fc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Ambient Background Blobs Animation */
@keyframes blobFloat {
  0%, 100% {
    transform: translate(0px, 0px) scale(1);
  }
  33% {
    transform: translate(30px, -40px) scale(1.08);
  }
  66% {
    transform: translate(-25px, 25px) scale(0.95);
  }
}

.animate-blob-1 {
  animation: blobFloat 14s infinite ease-in-out;
}

.animate-blob-2 {
  animation: blobFloat 18s infinite ease-in-out reverse;
}

.animate-blob-3 {
  animation: blobFloat 22s infinite ease-in-out 4s;
}

/* Navigation Links in Sidebar */
#main-sidebar a {
  transition: all 0.2s ease;
}

.dark #main-sidebar a:not(.nav-active) {
  color: #94a3b8;
}

.dark #main-sidebar a:not(.nav-active):hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

/* Active Navigation Item Indicator */
.nav-active {
  background: linear-gradient(90deg, rgba(99, 102, 241, 0.15) 0%, rgba(139, 92, 246, 0.05) 100%) !important;
  border-left: 3px solid #6366f1 !important;
  color: #6366f1 !important;
  font-weight: 700 !important;
}

.dark .nav-active {
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.25) 0%, rgba(99, 102, 241, 0.08) 100%) !important;
  border-left: 3px solid #a78bfa !important;
  color: #c4b5fd !important;
  font-weight: 700 !important;
}

/* Timeline Vertical Line */
.timeline-stem {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  width: 2px;
  background: linear-gradient(180deg, #6366f1 0%, #8b5cf6 50%, rgba(217, 70, 239, 0.2) 100%);
}

@media (min-width: 768px) {
  .timeline-stem {
    left: 50%;
    transform: translateX(-50%);
  }
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

.dark ::-webkit-scrollbar-thumb {
  background: rgba(139, 92, 246, 0.3);
  border-radius: 9999px;
}

.dark ::-webkit-scrollbar-thumb:hover {
  background: rgba(139, 92, 246, 0.6);
}

::-webkit-scrollbar-thumb {
  background: rgba(99, 102, 241, 0.3);
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(99, 102, 241, 0.6);
}
