/* Modern Glassmorphism & Custom Animations for SPU ICT Portfolio */
@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-cyan: #06b6d4;
  --primary-teal: #14b8a6;
  --primary-glow: rgba(6, 182, 212, 0.35);
  --glass-bg-dark: rgba(15, 23, 42, 0.65);
  --glass-border-dark: rgba(6, 182, 212, 0.2);
  --glass-bg-light: rgba(255, 255, 255, 0.75);
  --glass-border-light: rgba(6, 182, 212, 0.25);
}

* {
  font-family: 'Plus Jakarta Sans', 'Prompt', sans-serif;
  scroll-behavior: smooth;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, 0.4);
}
.light ::-webkit-scrollbar-track {
  background: rgba(241, 245, 249, 0.8);
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #06b6d4, #14b8a6);
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, #0891b2, #0d9488);
}

/* Glassmorphism Classes */
.glass-card {
  background: var(--glass-bg-dark);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--glass-border-dark);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.light .glass-card {
  background: var(--glass-bg-light);
  border: 1px solid var(--glass-border-light);
  box-shadow: 0 8px 24px 0 rgba(6, 182, 212, 0.08);
}

.glass-card-hover:hover {
  transform: translateY(-4px);
  border-color: rgba(6, 182, 212, 0.5);
  box-shadow: 0 16px 36px -4px rgba(6, 182, 212, 0.25);
}

.glass-nav {
  background: rgba(15, 23, 42, 0.8);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-right: 1px solid rgba(6, 182, 212, 0.18);
}

.light .glass-nav {
  background: rgba(255, 255, 255, 0.85);
  border-right: 1px solid rgba(6, 182, 212, 0.2);
}

/* Neon Text Glow */
.text-glow {
  text-shadow: 0 0 20px rgba(6, 182, 212, 0.6);
}

/* Gradient Borders */
.gradient-border {
  position: relative;
  background: linear-gradient(135deg, rgba(6, 182, 212, 0.2), rgba(20, 184, 166, 0.05));
  border: 1px solid rgba(6, 182, 212, 0.3);
}

/* Background animated glow orbs */
.orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.45;
  pointer-events: none;
  z-index: 0;
  animation: floatOrb 18s ease-in-out infinite alternate;
}

@keyframes floatOrb {
  0% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(40px, -30px) scale(1.1);
  }
  100% {
    transform: translate(-30px, 40px) scale(0.95);
  }
}

/* Modal Animation */
.modal-enter {
  opacity: 0;
  transform: scale(0.95) translateY(10px);
  transition: opacity 0.2s ease-out, transform 0.2s ease-out;
}
.modal-enter-active {
  opacity: 1;
  transform: scale(1) translateY(0);
}

/* Active Nav Indicator */
.nav-link.active {
  background: linear-gradient(90deg, rgba(6, 182, 212, 0.25) 0%, rgba(20, 184, 166, 0.08) 100%);
  border-left: 4px solid #06b6d4;
  color: #22d3ee;
  font-weight: 600;
}
.light .nav-link.active {
  background: linear-gradient(90deg, rgba(6, 182, 212, 0.15) 0%, rgba(20, 184, 166, 0.05) 100%);
  border-left: 4px solid #0891b2;
  color: #0891b2;
  font-weight: 600;
}

/* Timeline dot glow */
.timeline-dot {
  box-shadow: 0 0 12px #06b6d4;
}

/* Print Friendly */
@media print {
  .glass-nav, #btnThemeToggle, #btnLangToggle, .crud-actions, .mobile-nav-toggle {
    display: none !important;
  }
  body {
    background: white !important;
    color: black !important;
  }
  .glass-card {
    box-shadow: none !important;
    border: 1px solid #ccc !important;
    background: white !important;
  }
}
