/* assets/css/custom.css - Custom Styling & Weather Animations */
@import url('https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Fredoka:wght@400;500;600;700&display=swap');

:root {
    --font-thai: 'Prompt', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-eng: 'Fredoka', 'Prompt', sans-serif;
}

body {
    font-family: var(--font-thai);
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.font-english {
    font-family: var(--font-eng);
}

/* Floating animation */
@keyframes float-slow {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-8px) rotate(1deg); }
}

@keyframes pulse-subtle {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.03); }
}

@keyframes wiggle {
    0%, 100% { transform: rotate(-3deg); }
    50% { transform: rotate(3deg); }
}

.animate-float {
    animation: float-slow 4s ease-in-out infinite;
}

.animate-pulse-subtle {
    animation: pulse-subtle 2.5s ease-in-out infinite;
}

.animate-wiggle {
    animation: wiggle 0.6s ease-in-out infinite;
}

/* Mobile-friendly Button active bounce */
.btn-bounce {
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-bounce:active {
    transform: scale(0.95);
}

/* Flashcard 3D flip */
.perspective-1000 {
    perspective: 1000px;
}

.transform-style-3d {
    transform-style: preserve-3d;
}

.backface-hidden {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.rotate-y-180 {
    transform: rotateY(180deg);
}

/* Custom Scrollbar for mobile/tablet */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 9999px;
}
::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.35);
}

/* Certificate Print Stying */
@media print {
    body * {
        visibility: hidden;
    }
    #certificate-area, #certificate-area * {
        visibility: visible;
    }
    #certificate-area {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        margin: 0;
        padding: 0;
        box-shadow: none;
    }
    .no-print {
        display: none !important;
    }
}
