/* === CORE THEME STYLES === */
body {
    font-family: 'Inter', sans-serif;
    background-color: #FEFBF6; /* Light Cream Background */
    color: #4A4A4A; /* Dark Grey Text */
}

/* === LINKS === */
a {
    font-style: italic;
    color: #4A4A4A; /* Default body color */
}
a:hover {
    color: #38A3A5; /* Teal on hover */
    text-decoration: underline;
}

/* === FILTERS === */
.active-filter {
    background-color: #38A3A5 !important; /* Teal */
    color: white !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* === WORD BUTTONS === */
.word-mastered {
    background-color: #38A3A5 !important; /* Teal background */
    color: white !important; /* White text */
    pointer-events: none; /* Make it unclickable */
    opacity: 0.7;
}

/* === SPELLING MODAL === */
.spelling-letter {
    display: inline-block;
    transition: all 0.1s;
}

.spelling-letter.highlight {
    color: #DC2626; /* Consistent Red Accent for highlighting */
    transform: scale(1.2);
    font-weight: 900;
}

/* === MASTERY MODAL ANIMATIONS === */
@keyframes color-shift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.rainbow-text {
    background-image: linear-gradient(to right, #ef4444, #f97316, #facc15, #84cc16, #3b82f6, #8b5cf6, #ec4899);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
    animation: color-shift 4s linear infinite;
}

@keyframes pulse-attention {
    0% {
        transform: scale(1);
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    }
    50% {
        transform: scale(1.04);
        box-shadow: 0 0 20px rgba(255, 175, 0, 0.7), 0 4px 6px -1px rgba(0, 0, 0, 0.2);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    }
}

.pulse-repeat {
    animation: pulse-attention 1.5s ease-in-out infinite;
}