/* Custom Styling untuk Media Pembelajaran Interaktif Aisatsu - SMKN 1 Mundu */

:root {
  --primary-navy: #0f2b48;
  --secondary-ocean: #1e4976;
  --accent-crimson: #e11d48;
  --accent-sakura: #fda4af;
  --gold-award: #f59e0b;
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  color: #1e293b;
  background-color: #f8fafc;
  overflow-x: hidden;
}

.font-japanese {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
}

/* Glassmorphism Effect */
.glass-panel {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(226, 232, 240, 0.8);
}

.glass-nav {
  background: rgba(15, 43, 72, 0.94);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Gelombang Audio / Voice Pulse Animation */
@keyframes audioPulse {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(1); opacity: 0.8; }
}

.audio-playing {
  animation: audioPulse 0.9s infinite ease-in-out;
  background-color: #ef4444 !important;
  color: white !important;
}

/* Interactive Ojigi Animation Canvas */
.ojigi-figure-container {
  position: relative;
  width: 100%;
  height: 280px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.ojigi-torso {
  transform-origin: 50% 90%;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Kartu Kosakata Hover Effect */
.vocab-card {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.vocab-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px -6px rgba(15, 43, 72, 0.12), 0 6px 12px -4px rgba(15, 43, 72, 0.08);
}

/* Badge Navigasi Aktif */
.nav-tab-active {
  background-color: #e11d48;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(225, 29, 72, 0.35);
}

/* Progress Bar Animasi */
.progress-fill {
  transition: width 0.4s ease-out;
}

/* Certificate Styles & Media Print */
#certificateContainer {
  background: radial-gradient(circle at 50% 50%, #ffffff 0%, #fdfbf7 100%);
  border: 12px double #0f2b48;
  position: relative;
}

#certificateContainer::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  right: 6px;
  bottom: 6px;
  border: 2px solid #e11d48;
  pointer-events: none;
}

@media print {
  body * {
    visibility: hidden;
  }
  #certificateArea, #certificateArea * {
    visibility: visible;
  }
  #certificateArea {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .no-print {
    display: none !important;
  }
}

/* Sakura Petal Floating Decoration */
.sakura-float {
  pointer-events: none;
  position: absolute;
  background: radial-gradient(circle, #fda4af 0%, #f43f5e 100%);
  border-radius: 50% 0 50% 50%;
  opacity: 0.25;
  filter: blur(0.5px);
  animation: floatDown 14s infinite linear;
}

@keyframes floatDown {
  0% {
    transform: translateY(-40px) rotate(0deg);
    opacity: 0;
  }
  15% {
    opacity: 0.35;
  }
  90% {
    opacity: 0.25;
  }
  100% {
    transform: translateY(800px) rotate(360deg);
    opacity: 0;
  }
}
