/**
 * 9A Paper — Common Stylesheet
 * Shared typography (English, Sinhala & Tamil), animations, accessibility & utility helpers.
 */

/* Import High-Legibility Modern Sinhala & Tamil Web Fonts */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Noto+Sans+Sinhala:wght@400;500;600;700&family=Noto+Sans+Tamil:wght@400;500;600;700&display=swap');

:root {
    --brand-red: #dc2626;
    --brand-red-dark: #991b1b;
    --brand-red-light: #ef4444;
    --brand-red-50: #fef2f2;
    --brand-red-100: #fee2e2;

    /* Multilingual Typography Stacks */
    --font-base: 'Instrument Sans', 'Noto Sans Sinhala', 'Noto Sans Tamil', 'Iskoola Pota', 'Nirmala UI', system-ui, -apple-system, sans-serif;
    --font-sinhala: 'Noto Sans Sinhala', 'Iskoola Pota', 'Nirmala UI', sans-serif;
    --font-tamil: 'Noto Sans Tamil', 'Nirmala UI', 'Latha', sans-serif;
}

/* Global Font Application with Multilingual Glyphs */
body {
    font-family: var(--font-base);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Dedicated Sinhala Script Typography */
.font-sinhala,
.sinhala-text,
:lang(si),
[data-lang="sinhala"],
[data-medium="sinhala"] {
    font-family: var(--font-sinhala) !important;
    line-height: 1.7;
    letter-spacing: normal;
}

/* Dedicated Tamil Script Typography */
.font-tamil,
.tamil-text,
:lang(ta),
[data-lang="tamil"],
[data-medium="tamil"] {
    font-family: var(--font-tamil) !important;
    line-height: 1.7;
    letter-spacing: normal;
}

/* Exam Question Typography Enhancements (for Sinhala & Tamil paper questions) */
.exam-question-statement,
.mcq-question-text {
    line-height: 1.75;
    font-size: 0.95rem;
}

/* Hide Alpine-cloaked elements until Alpine initializes */
[x-cloak] {
    display: none !important;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pulseGlow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4); }
    50% { box-shadow: 0 0 0 8px rgba(220, 38, 38, 0); }
}

@keyframes urgentPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

@keyframes floatGentle {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-8px) rotate(0.5deg);
    }
}

@keyframes floatReverse {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(6px);
    }
}

.animate-fade-in {
    animation: fadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

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

.animate-float-reverse {
    animation: floatReverse 4.5s ease-in-out infinite;
}

.pulse-glow {
    animation: pulseGlow 2s infinite;
}

.bg-tech-grid {
    background-image: 
        linear-gradient(to right, rgba(148, 163, 184, 0.14) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(148, 163, 184, 0.14) 1px, transparent 1px);
    background-size: 32px 32px;
}

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

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

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Print Utilities */
@media print {
    header, nav, aside, footer, .no-print {
        display: none !important;
    }
    body {
        background: #ffffff !important;
        color: #000000 !important;
    }
    .print-full-width {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}
