/* ==========================================
   COMPOSANTS PARTAGÉS (chargé sur toutes les pages)
   ========================================== */

/* Boutons de choix : mode de réponse, nombre de questions, contenu travaillé */
.mode-choice-btn,
.count-btn,
.source-btn {
    padding: 8px 18px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
    min-width: 60px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mode-choice-btn.active-choice,
.count-btn.active-choice,
.source-btn.active-choice {
    background-color: var(--terracotta) !important;
    color: #ffffff !important;
    border-color: var(--terracotta) !important;
    box-shadow: 0 3px 8px rgba(164, 90, 82, 0.25);
}

/* Commutateur du dictionnaire */
.dictionary-type-toggle .active-choice {
    background-color: var(--terracotta) !important;
    color: #ffffff !important;
    border-color: var(--terracotta) !important;
}

/* Mots composés : taille du texte adaptée à la longueur */
.hanzi-char[data-length="3"] { font-size: 32px; }
.hanzi-char[data-length="4"],
.hanzi-char[data-length="5"],
.hanzi-char[data-length="6"] { font-size: 24px; }

/* Modale : onglets de caractères d'un mot composé */
.modal-char-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.modal-char-tab {
    background-color: #ffffff;
    border: 1px solid var(--border);
    border-radius: 10px;
    min-width: 42px;
    padding: 6px 10px;
    font-family: var(--font-hanzi);
    font-size: 20px;
    font-weight: bold;
    color: var(--ink);
    cursor: pointer;
    transition: all 0.2s ease;
}

.modal-char-tab:hover {
    border-color: var(--terracotta);
}

.modal-char-tab.is-active {
    background-color: var(--terracotta);
    border-color: var(--terracotta);
    color: #ffffff;
}

/* Caractère sans données de tracé (repli texte dans une grille d'écriture) */
.board-fallback {
    font-family: var(--font-hanzi);
    font-size: 72px;
    color: var(--ink);
}
