/* ==========================================================================
   Learning Mode - Karteikarten-Design mit Flip-Animation
   ========================================================================== */

.learning-select,
.learning-start {
    padding: var(--spacing-xl) 0;
}

.select-hint {
    text-align: center;
    color: var(--color-text-muted);
    margin-bottom: var(--spacing-lg);
}

.learning-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-xl);
}

.learning-header h1 {
    margin-bottom: 0;
    text-align: left;
}

/* ==========================================================================
   Language Selection - Flaggen-Karten
   ========================================================================== */

.language-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-lg);
    max-width: 500px;
    margin: 0 auto;
}

.language-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl) var(--spacing-lg);
    background: var(--color-bg-card);
    border-radius: var(--border-radius-xl);
    text-decoration: none;
    color: var(--color-text);
    box-shadow: var(--shadow);
    transition: all var(--transition-normal);
    position: relative;
    overflow: hidden;
}

.language-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
}

.language-card.lang-en::before { background: var(--color-lang-en); }
.language-card.lang-fr::before { background: var(--color-lang-fr); }
.language-card.lang-es::before { background: var(--color-lang-es); }
.language-card.lang-it::before { background: var(--color-lang-it); }

.language-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: var(--shadow-xl);
    text-decoration: none;
}

.language-flag {
    font-size: 4rem;
    line-height: 1;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

.language-name {
    font-size: var(--font-size-lg);
    font-weight: 700;
}

/* ==========================================================================
   Level Badge - Niveaustufen-Anzeige
   ========================================================================== */

.level-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-md) var(--spacing-xl);
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    color: white;
    border-radius: var(--border-radius-xl);
    box-shadow: 0 4px 15px rgba(99, 102, 241, 0.3);
    margin-bottom: var(--spacing-lg);
    text-align: center;
}

.level-indicator {
    font-size: var(--font-size-xl);
    font-weight: 800;
    letter-spacing: 0.05em;
}

.level-label {
    font-size: var(--font-size-sm);
    opacity: 0.9;
}

.level-test-hint {
    text-align: center;
    margin-bottom: var(--spacing-lg);
}

.mastery-progress-compact {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.mastery-bar-compact {
    width: 120px;
    height: 8px;
    background: var(--color-border);
    border-radius: 4px;
    overflow: hidden;
}

.mastery-bar-compact .mastery-fill {
    height: 100%;
    background: linear-gradient(90deg, #6366f1, #8b5cf6);
    border-radius: 4px;
    transition: width var(--transition-normal);
}

.mastery-label {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

.mastery-hint {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

@media (max-width: 600px) {
    .level-badge {
        padding: var(--spacing-sm) var(--spacing-lg);
    }

    .level-indicator {
        font-size: var(--font-size-lg);
    }

    .level-label {
        font-size: var(--font-size-xs);
    }
}

/* ==========================================================================
   Learning Stats
   ========================================================================== */

.learning-stats {
    display: flex;
    justify-content: center;
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xxl);
}

.stat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--spacing-lg) var(--spacing-xl);
    background: var(--color-bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow);
    min-width: 110px;
}

.stat-value {
    font-size: var(--font-size-huge);
    font-weight: 800;
    line-height: 1;
}

.stat-label {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    margin-top: var(--spacing-xs);
}

.stat-learned .stat-value { color: var(--color-success); }
.stat-progress .stat-value { color: var(--color-warning); }
.stat-new .stat-value { color: var(--color-primary); }

.learning-meta {
    display: flex;
    justify-content: center;
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.meta-item {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    background: var(--color-bg-card);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
}

.learning-actions {
    text-align: center;
}

/* ==========================================================================
   Direction Selection - Abfragerichtung wählen
   ========================================================================== */

.direction-select {
    margin-top: var(--spacing-xl);
}

.direction-select h2 {
    text-align: center;
    font-size: var(--font-size-lg);
    margin-bottom: var(--spacing-lg);
    color: var(--color-text-muted);
}

.direction-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-lg);
    max-width: 700px;
    margin: 0 auto;
}

.direction-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl) var(--spacing-lg);
    background: var(--color-bg-card);
    border-radius: var(--border-radius-xl);
    text-decoration: none;
    color: var(--color-text);
    box-shadow: var(--shadow-lg);
    transition: all var(--transition-normal);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.direction-option::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
}

.direction-option:hover {
    transform: translateY(-6px) scale(1.02);
    text-decoration: none;
}

.direction-option:active {
    transform: translateY(-2px) scale(1.01);
}

.direction-icon {
    font-size: 3rem;
    line-height: 1;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

.direction-label {
    font-size: var(--font-size-lg);
    font-weight: 700;
}

.direction-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.direction-desc {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    padding: var(--spacing-xs) var(--spacing-sm);
    background: var(--color-bg);
    border-radius: var(--border-radius);
}

/* Direction Option Variants */
.direction-random::before {
    background: linear-gradient(90deg, #8b5cf6, #6366f1);
}

.direction-random:hover {
    box-shadow: var(--shadow-xl), 0 12px 40px -12px rgba(99, 102, 241, 0.5);
}

.direction-to-german::before {
    background: linear-gradient(90deg, #22c55e, #16a34a);
}

.direction-to-german:hover {
    box-shadow: var(--shadow-xl), 0 12px 40px -12px rgba(34, 197, 94, 0.5);
}

.direction-to-foreign::before {
    background: linear-gradient(90deg, #f59e0b, #d97706);
}

.direction-to-foreign:hover {
    box-shadow: var(--shadow-xl), 0 12px 40px -12px rgba(245, 158, 11, 0.5);
}

/* Responsive Direction Select */
@media (max-width: 768px) {
    .direction-options {
        gap: var(--spacing-md);
    }

    .direction-option {
        padding: var(--spacing-lg) var(--spacing-md);
    }

    .direction-icon {
        font-size: 2.5rem;
    }

    .direction-label {
        font-size: var(--font-size-base);
    }
}

@media (max-width: 600px) {
    .direction-options {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
        max-width: 400px;
    }

    .direction-option {
        flex-direction: row;
        justify-content: flex-start;
        gap: var(--spacing-lg);
        padding: var(--spacing-lg);
        text-align: left;
    }

    .direction-option::before {
        top: 0;
        bottom: 0;
        left: 0;
        right: auto;
        width: 5px;
        height: auto;
    }

    .direction-icon {
        font-size: 2.5rem;
        flex-shrink: 0;
    }

    .direction-content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-xs);
    }

    .direction-label {
        font-size: var(--font-size-base);
    }

    .direction-desc {
        display: inline-block;
        padding: 2px var(--spacing-xs);
        font-size: var(--font-size-xs);
    }
}

@media (max-width: 390px) {
    .direction-option {
        padding: var(--spacing-md);
        gap: var(--spacing-md);
    }

    .direction-icon {
        font-size: 2rem;
    }

    .direction-label {
        font-size: var(--font-size-sm);
    }
}

/* ==========================================================================
   Flashcard - Das Herzstück
   ========================================================================== */

.learning-practice {
    padding: var(--spacing-lg) 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.practice-header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--spacing-lg);
}

/* Karteikarten-Container */
.flashcard-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    perspective: 1000px;
    padding: var(--spacing-lg);
}

/* Die eigentliche Karteikarte */
.flashcard {
    width: 100%;
    max-width: 400px;
    height: 280px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform var(--animation-flip, 1.5s) cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.flashcard.flipped {
    transform: rotateY(180deg);
}

.flashcard-face {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: var(--border-radius-xl);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-xl);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
}

/* Vorderseite - Deutsch (warm, einladend) */
.flashcard-front {
    background: linear-gradient(145deg, #ffffff 0%, #fefce8 100%);
    border: 3px solid var(--color-lang-de);
}

.flashcard-front::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #fbbf24, #f59e0b);
}

/* Rückseite - Fremdsprache */
.flashcard-back {
    background: linear-gradient(145deg, #ffffff 0%, #eff6ff 100%);
    transform: rotateY(180deg);
    border: 3px solid var(--color-lang-en);
}

.flashcard-back::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #3b82f6, #2563eb);
}

.flashcard-back.lang-de {
    background: linear-gradient(145deg, #ffffff 0%, #fefce8 100%);
    border-color: var(--color-lang-de);
}
.flashcard-back.lang-de::before {
    background: linear-gradient(90deg, #fbbf24, #f59e0b);
}

.flashcard-back.lang-en {
    border-color: var(--color-lang-en);
}
.flashcard-back.lang-en::before {
    background: linear-gradient(90deg, #3b82f6, #2563eb);
}

.flashcard-back.lang-fr {
    border-color: var(--color-lang-fr);
}
.flashcard-back.lang-fr::before {
    background: linear-gradient(90deg, #8b5cf6, #7c3aed);
}

.flashcard-back.lang-es {
    border-color: var(--color-lang-es);
}
.flashcard-back.lang-es::before {
    background: linear-gradient(90deg, #ef4444, #dc2626);
}

.flashcard-back.lang-it {
    border-color: var(--color-lang-it);
}
.flashcard-back.lang-it::before {
    background: linear-gradient(90deg, #22c55e, #16a34a);
}

/* Karteikarten-Inhalt */
.flashcard-lang {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
}

.lang-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-xs) var(--spacing-md);
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: #fff;
    border-radius: var(--border-radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.lang-badge.lang-de { background: linear-gradient(135deg, #fbbf24, #f59e0b); }
.lang-badge.lang-en { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.lang-badge.lang-fr { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }
.lang-badge.lang-es { background: linear-gradient(135deg, #ef4444, #dc2626); }
.lang-badge.lang-it { background: linear-gradient(135deg, #22c55e, #16a34a); }

.flashcard-word {
    font-size: var(--font-size-huge);
    font-weight: 700;
    text-align: center;
    color: var(--color-text);
    line-height: 1.2;
    word-break: break-word;
}

.flashcard-plural {
    font-size: var(--font-size-base);
    color: var(--color-text-muted);
    font-style: italic;
    margin-top: var(--spacing-sm);
}

.flashcard-tts {
    margin-top: var(--spacing-lg);
}

.flashcard-hint {
    position: absolute;
    bottom: var(--spacing-md);
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

/* ==========================================================================
   Eingabebereich unter der Karte
   ========================================================================== */

.practice-input-area {
    width: 100%;
    max-width: 400px;
    margin-top: var(--spacing-xl);
}

.practice-input {
    width: 100%;
    padding: var(--spacing-lg);
    font-size: var(--font-size-xl);
    font-weight: 500;
    text-align: center;
    border: 3px solid var(--color-border);
    border-radius: var(--border-radius-lg);
    background: var(--color-bg-card);
    box-shadow: var(--shadow);
    transition: all var(--transition-fast);
}

.practice-input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: var(--shadow-lg), 0 0 0 4px rgba(99, 102, 241, 0.1);
}

.practice-input::placeholder {
    color: var(--color-text-muted);
    font-weight: 400;
}

.practice-actions {
    margin-top: var(--spacing-lg);
}

/* ==========================================================================
   Feedback-Anzeige
   ========================================================================== */

.practice-feedback {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--spacing-xl);
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.practice-feedback {
    animation: fadeIn var(--animation-fade, 1s) ease;
}

.practice-feedback[hidden] {
    display: none;
}

.feedback-icon {
    font-size: 6rem;
    line-height: 1;
    margin-bottom: var(--spacing-lg);
    animation: bounceIn 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes bounceIn {
    0% { transform: scale(0); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.feedback-icon {
    animation: bounceIn var(--animation-bounce, 1.2s) cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.feedback-message {
    font-size: var(--font-size-xxl);
    font-weight: 700;
    margin-bottom: var(--spacing-xl);
}

/* Feedback-Karte zeigt die richtige Antwort */
.feedback-card {
    background: var(--color-bg-card);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-xl);
    box-shadow: var(--shadow-lg);
    margin-bottom: var(--spacing-xl);
    min-width: 280px;
}

.feedback-label {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    margin-bottom: var(--spacing-sm);
}

.feedback-answer {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--color-text);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
}

.feedback-answer-wrong {
    color: var(--color-danger);
}

.feedback-answer-correct {
    color: var(--color-success);
    font-weight: 700;
}

.feedback-comparison {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.feedback-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.feedback-arrow {
    color: var(--color-text-muted);
    font-size: var(--font-size-lg);
}

.feedback-actions {
    width: 100%;
    max-width: 300px;
}

/* Feedback States */
.practice-feedback.answer-correct .feedback-icon::before {
    content: '🎉';
}

.practice-feedback.answer-correct .feedback-message {
    color: var(--color-success);
}

.practice-feedback.answer-almost .feedback-icon::before {
    content: '👍';
}

.practice-feedback.answer-almost .feedback-message {
    color: var(--color-warning);
}

.practice-feedback.answer-wrong .feedback-icon::before {
    content: '💪';
}

.practice-feedback.answer-wrong .feedback-message {
    color: var(--color-error);
}

/* ==========================================================================
   Responsive Learning
   ========================================================================== */

/* iPad (768px - 1024px) */
@media (max-width: 1024px) {
    .flashcard {
        max-width: 360px;
        height: 260px;
    }

    .language-card {
        padding: var(--spacing-lg) var(--spacing-md);
    }

    .language-flag {
        font-size: 3rem;
    }
}

/* Large phones (600px - 768px) */
@media (max-width: 768px) {
    .learning-select,
    .learning-start {
        padding: var(--spacing-lg) 0;
    }

    .learning-header {
        margin-bottom: var(--spacing-lg);
    }

    .flashcard {
        max-width: 320px;
        height: 240px;
    }

    .flashcard-face {
        padding: var(--spacing-lg);
    }

    .flashcard-word {
        font-size: var(--font-size-xl);
    }

    .learning-stats {
        gap: var(--spacing-md);
    }

    .stat-card {
        padding: var(--spacing-md);
        min-width: 90px;
    }

    .stat-value {
        font-size: var(--font-size-xl);
    }

    .practice-input-area {
        max-width: 320px;
    }

    .practice-input {
        padding: var(--spacing-md);
        font-size: var(--font-size-lg);
    }
}

/* Phones (390px - 600px) */
@media (max-width: 600px) {
    .learning-practice {
        padding: var(--spacing-md) 0;
    }

    .learning-header {
        flex-direction: column;
        gap: var(--spacing-sm);
        text-align: center;
    }

    .learning-header h1 {
        text-align: center;
        font-size: var(--font-size-lg);
    }

    .language-list {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-md);
        max-width: 100%;
    }

    .language-card {
        padding: var(--spacing-md);
        gap: var(--spacing-sm);
    }

    .language-flag {
        font-size: 2.5rem;
    }

    .language-name {
        font-size: var(--font-size-base);
    }

    .learning-stats {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

    .stat-card {
        padding: var(--spacing-sm) var(--spacing-md);
        min-width: 80px;
    }

    .stat-value {
        font-size: var(--font-size-lg);
    }

    .stat-label {
        font-size: 0.75rem;
    }

    .flashcard-container {
        padding: var(--spacing-sm);
    }

    .flashcard {
        max-width: 100%;
        height: 200px;
    }

    .flashcard-face {
        padding: var(--spacing-md);
        border-radius: var(--border-radius-lg);
    }

    .flashcard-word {
        font-size: var(--font-size-lg);
    }

    .flashcard-plural {
        font-size: var(--font-size-sm);
    }

    .flashcard-hint {
        font-size: 0.75rem;
    }

    .lang-badge {
        padding: var(--spacing-xs) var(--spacing-sm);
        font-size: 0.7rem;
    }

    .practice-input-area {
        max-width: 100%;
        margin-top: var(--spacing-lg);
    }

    .practice-input {
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: var(--font-size-base);
        border-radius: var(--border-radius);
    }

    .practice-actions {
        margin-top: var(--spacing-md);
    }

    .practice-feedback {
        padding: var(--spacing-md);
    }

    .feedback-icon {
        font-size: 4rem;
        margin-bottom: var(--spacing-md);
    }

    .feedback-message {
        font-size: var(--font-size-lg);
        margin-bottom: var(--spacing-lg);
    }

    .feedback-card {
        padding: var(--spacing-md);
        min-width: 200px;
    }

    .feedback-answer {
        font-size: var(--font-size-lg);
    }

    .feedback-actions {
        max-width: 250px;
    }

    .learning-meta {
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .meta-item {
        font-size: 0.75rem;
    }
}

/* iPhone 12 mini (375px) */
@media (max-width: 390px) {
    .language-list {
        gap: var(--spacing-sm);
    }

    .language-card {
        padding: var(--spacing-sm);
    }

    .language-flag {
        font-size: 2rem;
    }

    .language-name {
        font-size: var(--font-size-sm);
    }

    .flashcard {
        height: 180px;
    }

    .flashcard-face {
        padding: var(--spacing-sm);
    }

    .flashcard-word {
        font-size: var(--font-size-base);
    }

    .flashcard-front::before,
    .flashcard-back::before {
        height: 4px;
    }

    .stat-card {
        min-width: 70px;
        padding: var(--spacing-xs) var(--spacing-sm);
    }

    .stat-value {
        font-size: var(--font-size-base);
    }

    .practice-input {
        padding: var(--spacing-sm);
        font-size: var(--font-size-sm);
    }

    .feedback-icon {
        font-size: 3rem;
    }

    .feedback-message {
        font-size: var(--font-size-base);
    }

    .feedback-card {
        min-width: 180px;
        padding: var(--spacing-sm);
    }

    .feedback-answer {
        font-size: var(--font-size-base);
    }
}

/* ==========================================================================
   Milestone Notification
   ========================================================================== */

.milestone-notification {
    position: fixed;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-lg) var(--spacing-xl);
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    color: white;
    border-radius: var(--border-radius-xl);
    box-shadow: 0 10px 40px rgba(245, 158, 11, 0.4);
    font-size: var(--font-size-xl);
    font-weight: 700;
    z-index: 9999;
    animation: milestoneSlideIn 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes milestoneSlideIn {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(-50px) scale(0.8);
    }
    100% {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }
}

.milestone-notification-hide {
    animation: milestoneSlideOut 0.5s ease forwards;
}

@keyframes milestoneSlideOut {
    0% {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(-30px) scale(0.9);
    }
}

.milestone-notification-icon {
    font-size: 2rem;
}

.milestone-notification-text {
    white-space: nowrap;
}

/* Responsive Milestone Notification */
@media (max-width: 600px) {
    .milestone-notification {
        padding: var(--spacing-md) var(--spacing-lg);
        font-size: var(--font-size-base);
        border-radius: var(--border-radius-lg);
        max-width: 90%;
    }

    .milestone-notification-icon {
        font-size: 1.5rem;
    }
}

@media (max-width: 390px) {
    .milestone-notification {
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: var(--font-size-sm);
        gap: var(--spacing-sm);
    }

    .milestone-notification-icon {
        font-size: 1.25rem;
    }

    .milestone-notification-text {
        white-space: normal;
    }
}
