/*
    Material Symbols Outlined — subset local.

    A fonte é servida daqui, não do Google Fonts: o .woff2 tem só as ligaduras
    que o sistema usa (lista em icones-usados.txt). Ao acrescentar um ícone novo
    numa view, acrescente a ligadura naquele arquivo e regenere com
    gerar-subset.py — senão o ícone aparece como texto na tela.

    font-display: block evita o flash de texto cru enquanto a fonte carrega.
*/
@font-face {
    font-family: 'Material Symbols Outlined';
    font-style: normal;
    font-weight: 100 700;
    font-display: block;
    src: url('/lib/material-symbols/material-symbols-outlined.woff2') format('woff2');
}

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 1.125em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    vertical-align: -0.185em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    user-select: none;
}

/*
    Modificadores. O prefixo é ico- e não ms-: ms-* já é margin-start no
    Bootstrap 5 e as duas famílias se atropelariam.
*/
.ico-fw {
    width: 1.25em;
    text-align: center;
}

.ico-sm { font-size: .875em; }
.ico-lg { font-size: 1.375em; }
.ico-xl { font-size: 1.625em; }
.ico-2x { font-size: 2em; }
.ico-3x { font-size: 3em; }
.ico-4x { font-size: 4em; }

.ico-preenchido {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.ico-spin {
    animation: ico-spin 2s linear infinite;
}

@keyframes ico-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .ico-spin {
        animation-duration: 6s;
    }
}
