
/* Font Awesome Local Library - Personal Visualizer Compatibility Layer */

svg.fa-svg-icon {
    display: inline-block;
    height: 1.1em;
    width: 1em;
    vertical-align: -0.125em;
    fill: currentColor;
    overflow: visible;
}

/* Sizing Classes (Standard FA) */
.fa-xs { font-size: .75em; }
.fa-sm { font-size: .875em; }
.fa-lg { font-size: 1.25em; line-height: .05em; vertical-align: -.075em; }
.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.fa-6x { font-size: 6em; }
.fa-7x { font-size: 7em; }
.fa-8x { font-size: 8em; }
.fa-9x { font-size: 9em; }
.fa-10x { font-size: 10em; }

/* Rotation & Flip */
.fa-rotate-90 { transform: rotate(90deg); }
.fa-rotate-180 { transform: rotate(180deg); }
.fa-rotate-270 { transform: rotate(270deg); }
.fa-flip-horizontal { transform: scaleX(-1); }
.fa-flip-vertical { transform: scaleY(-1); }
.fa-flip-both { transform: scale(-1, -1); }

/* Animation (Basic Spinning) */
@keyframes fa-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.fa-spin {
    animation: fa-spin 2s infinite linear;
}
.fa-pulse {
    animation: fa-spin 1s infinite steps(8);
}

/* Specific Style Base */
i.fa-solid, i.fa-regular, i.fa-brands,
i.fas, i.far, i.fab {
    display: inline-block;
    width: 1.25em; /* Default alignment width */
    text-align: center;
    visibility: hidden; /* Hide before JS loads */
}

.fa-svg-injected {
    visibility: visible !important;
}
