.beginner-section { padding: 40px 0; }

/* Layout & Sidebar Styling */
.accordion-button:not(.collapsed) {
    background-color: #e8f5e9;
    color: var(--accent-green);
    box-shadow: none;
    font-weight: 600;
}
.accordion-button:focus {
    box-shadow: none;
}
.accordion-item {
    border: 1px solid #eee;
}
.topic-btn {
    text-align: left;
    padding: 10px 15px;
    font-size: 0.95rem;
    transition: all 0.2s;
    width: 100%;
    background: transparent;
}
.topic-btn:hover {
    background-color: #f8f9fa;
    color: var(--accent-green);
}
.topic-btn.active {
    background-color: var(--accent-green);
    color: white;
    font-weight: 600;
    border-radius: 6px;
}
.topic-btn.active i {
    color: white !important;
}

/* Flip Card Styling */
.flip-card {
    background-color: transparent;
    width: 100%;
    height: 220px;
    perspective: 1000px;
    cursor: pointer;
    margin-bottom: 10px;
}
.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 15px;
}
.flip-card.flipped .flip-card-inner { transform: rotateY(180deg); }

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px solid #f0f0f0;
}

.flip-card-front { background-color: #fff; color: var(--primary-dark-bg); }
.flip-card-back { background-color: var(--accent-green); color: white; transform: rotateY(180deg); padding: 10px; }

.main-char { font-size: 3.2rem; font-family: 'Special Elite', cursive; color: var(--accent-green); word-break: break-word; padding: 0 10px; line-height: 1.1;}
.sub-text { font-size: 0.85rem; color: #888; margin-top: 15px; }

.example-word { font-size: 1.5rem; font-weight: bold; margin-bottom: 5px; }
.translation { font-size: 1rem; font-style: italic; opacity: 0.9; }
.example-emoji { font-size: 2.5rem; margin-bottom: 10px; }
.audio-icon { margin-top: 15px; font-size: 1.2rem; background: rgba(255,255,255,0.2); padding: 8px; border-radius: 50%; }

.instruction-banner {
    background-color: #e8f5e9;
    border-left: 5px solid var(--accent-green);
    padding: 15px;
    margin-bottom: 30px;
    border-radius: 4px;
}
.numbers-note {
    background-color: #fff3cd;
    border: 1px solid #ffeeba;
    color: #856404;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
    text-align: center;
}

/* Modal Styling */
.modal-content {
    border-radius: 15px;
    border: none;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.modal-header {
    background-color: var(--accent-gold);
    color: white;
    border-radius: 15px 15px 0 0;
}
.timer-badge {
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--primary-dark-bg);
    background: #f8f9fa;
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid #dee2e6;
}