/* Pastille — modèle canonique ; son emploi : canon_badge.md. */

@layer components {
    .badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: var(--badge-height, auto);
        padding: var(--badge-padding, 2px var(--canon-space-2));
    }

    .badge {
        border: var(--badge-line-width, 0px) var(--badge-line-style, solid) var(--badge-line, transparent);
        border-radius: var(--badge-radius, var(--canon-radius-pill));
        background-color: var(--badge-surface, var(--canon-theme-neutral-surface));
        box-shadow: 0 0 0 var(--badge-ring-width, 0px) var(--badge-ring, transparent);
    }
    .badge:hover {
        filter: var(--badge-filter-hover, none);
    }

    .badge {
        font-size: var(--canon-size-note);
        font-weight: var(--badge-weight, var(--canon-weight-label));
        line-height: var(--canon-leading-title);
        letter-spacing: 0;
        text-transform: none;
        white-space: nowrap;
        color: var(--badge-color, var(--canon-theme-neutral));
    }
}

@layer components {
    .badge--color-danger {
        --badge-color: var(--canon-theme-danger);
        --badge-surface: var(--canon-theme-danger-surface);
    }
    .badge--color-warning {
        --badge-color: var(--canon-theme-warning);
        --badge-surface: var(--canon-theme-warning-surface);
    }
    .badge--color-success {
        --badge-color: var(--canon-theme-success);
        --badge-surface: var(--canon-theme-success-surface);
    }
    .badge--color-info {
        --badge-color: var(--canon-theme-info);
        --badge-surface: var(--canon-theme-info-surface);
    }
    .badge--color-neutral {
        --badge-color: var(--canon-theme-neutral);
        --badge-surface: var(--canon-theme-neutral-surface);
    }
}

/* Part locale — les réglages que l'app pose sur cet objet, contexte par contexte. */

@layer components {
    .badge {
        --badge-radius: 4px;
        --badge-padding: 2px 8px;
        --badge-weight: 700;
    }
    .essay-score-badge {
        --badge-height: 24px;
        --badge-filter-hover: brightness(1.15) saturate(1.1);
    }
    /* Encre blanche sur chaque niveau : les fonds de 0 à 5, du dessin d'avant, assombris à teinte et
       saturation égales (OKLCH) jusqu'au contraste AA, à la clarté des niveaux 6 et 7. */
    .essay-score-badge--level-0 {
        --badge-surface: #b85e00;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-1 {
        --badge-surface: #b85e00;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-2 {
        --badge-surface: #c85100;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-3 {
        --badge-surface: #d54221;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-4 {
        --badge-surface: #dc334a;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-5 {
        --badge-surface: #df276f;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-6 {
        --badge-surface: #da2395;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-7 {
        --badge-surface: #c717b3;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-8 {
        --badge-surface: #af0ed0;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-9 {
        --badge-surface: #9205e9;
        --badge-color: rgb(255 255 255);
    }
    .essay-score-badge--level-10 {
        --badge-surface: #7000fc;
        --badge-color: rgb(255 255 255);
    }
    .glossary-term-badge {
        --badge-surface: rgb(0 0 0 / 0.55);
        --badge-color: rgb(255 255 255);
    }
    .sitemap-badge {
        --badge-surface: rgb(255 219 147 / 0.3);
        --badge-color: rgb(0 0 0 / 0.75);
        --badge-padding: 0 4px;
    }
}
