/* ============================================
   Letter Card Styles
   ============================================ */

.letter-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: var(--spacing-lg);
    text-align: center;
    cursor: pointer;
    transition: all var(--hover-duration) var(--ease-smooth);
    position: relative;
    opacity: 0;
    will-change: transform;
}

/* Card Entrance Animations with Stagger */
.letter-card:nth-child(1) { animation: cardEntrance var(--card-duration) var(--ease-bounce) 500ms forwards; }
.letter-card:nth-child(2) { animation: cardEntrance var(--card-duration) var(--ease-bounce) 600ms forwards; }
.letter-card:nth-child(3) { animation: cardEntrance var(--card-duration) var(--ease-bounce) 700ms forwards; }
.letter-card:nth-child(4) { animation: cardEntrance var(--card-duration) var(--ease-bounce) 800ms forwards; }
.letter-card:nth-child(5) { animation: cardEntrance var(--card-duration) var(--ease-bounce) 900ms forwards; }
.letter-card:nth-child(6) { animation: cardEntrance var(--card-duration) var(--ease-bounce) 1000ms forwards; }
.letter-card:nth-child(7) { animation: cardEntrance var(--card-duration) var(--ease-bounce) 1100ms forwards; }

/* Locked State */
.letter-card.locked {
    opacity: 0.5;
    cursor: not-allowed;
    filter: grayscale(0.8) blur(0.5px);
    border: 2px solid rgba(149, 165, 166, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.letter-card.locked:hover {
    transform: none;
}

/* Unlocked State */
.letter-card.unlocked {
    border: 2px solid rgba(77, 184, 196, 0.5);
    box-shadow: 0 8px 24px var(--color-shadow-teal);
}

.letter-card.unlocked:hover {
    transform: translateY(-8px) scale(1.05);
    box-shadow: 0 12px 32px var(--color-shadow-teal);
    border-color: var(--color-primary);
}

.letter-card.unlocked:active {
    transform: translateY(-6px) scale(0.97);
}

/* Today's Card - Special State */
.letter-card.today {
    border: 2px solid var(--color-accent);
    box-shadow: 0 0 20px rgba(26, 188, 156, 0.4);
    transform: scale(1.02);
    animation: todayGlow var(--today-pulse) ease-in-out infinite, cardEntrance var(--card-duration) var(--ease-bounce) forwards;
}

.letter-card.today:hover {
    transform: translateY(-8px) scale(1.07);
}

.today-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    background: linear-gradient(135deg, var(--color-accent), var(--color-primary));
    color: var(--color-text-light);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 4px 12px rgba(26, 188, 156, 0.4);
    animation: badgePulse 2s ease-in-out infinite;
}

/* Card Content */
.card-icon {
    font-size: 3rem;
    margin-bottom: var(--spacing-sm);
    display: inline-block;
    transition: transform var(--hover-duration) var(--ease-smooth);
}

.letter-card.unlocked:hover .card-icon {
    transform: rotate(3deg);
}

.letter-card.today .card-icon {
    animation: iconBreath 3s ease-in-out infinite;
}

.card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-secondary);
    margin-bottom: var(--spacing-xs);
}

.card-day {
    font-size: 0.875rem;
    color: var(--color-text-dark);
    opacity: 0.6;
}

/* Focus Styles for Accessibility */
.letter-card:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 4px;
}
