/*!
 * Font Awesome Free 7.2.0 — self-hosted subset
 * Font Awesome Free License - https://fontawesome.com/license/free
 * Fonts served from /webfonts/ with font-display: swap for better CWV
 */

/* ── @font-face declarations ─────────────────────────────────────────── */
:root {
    --fa-family-classic: "Font Awesome 7 Free";
    --fa-family-brands: "Font Awesome 7 Brands";
    --fa-font-solid: normal 900 1em/1 var(--fa-family-classic);
    --fa-font-regular: normal 400 1em/1 var(--fa-family-classic);
    --fa-font-brands: normal 400 1em/1 var(--fa-family-brands);
    --fa-style-family-classic: var(--fa-family-classic);
}

@font-face {
    font-family: "Font Awesome 7 Free";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("/webfonts/fa-solid-900.woff2") format("woff2");
}

@font-face {
    font-family: "Font Awesome 7 Free";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/webfonts/fa-regular-400.woff2") format("woff2");
}

@font-face {
    font-family: "Font Awesome 7 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/webfonts/fa-brands-400.woff2") format("woff2");
}

/* ── Base FA classes ─────────────────────────────────────────────────── */
.fa,
.fa-brands,
.fa-classic,
.fa-regular,
.fa-solid,
.fab,
.far,
.fas {
    --_fa-family: var(--fa-family, var(--fa-style-family, "Font Awesome 7 Free"));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: var(--fa-display, inline-block);
    font-family: var(--_fa-family);
    font-feature-settings: normal;
    font-style: normal;
    font-synthesis: none;
    font-variant: normal;
    font-weight: var(--fa-style, 900);
    line-height: 1;
    text-align: center;
    text-rendering: auto;
    width: var(--fa-width, 1.25em);
}

:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before {
    content: var(--fa) / "";
}

@supports not (content: "" / "") {
    :is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before {
        content: var(--fa);
    }
}

/* Font family bindings */
.fas, .fa-classic { --fa-family: var(--fa-family-classic); }
.fas { --fa-style: 900; }
.fa-solid { --fa-style: 900; }
.far { --fa-family: var(--fa-family-classic); }
.far { --fa-style: 400; }
.fa-regular { --fa-style: 400; }
.fab, .fa-brands, .fa-classic.fa-brands { --fa-family: var(--fa-family-brands); --fa-style: 400; }

/* Size helpers */
.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-lg  { font-size: 1.25em; line-height: .05em; vertical-align: -.075em; }
.fa-sm  { font-size: .875em; line-height: .07143em; vertical-align: .05357em; }
.fa-xs  { font-size: .75em; line-height: .08333em; vertical-align: .125em; }
.fa-fw, .fa-width-fixed { --fa-width: 1.25em; }

/* Spin animation (used in app) */
.fa-spin {
    animation: fa-spin 2s infinite linear;
}
@keyframes fa-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Solid icon definitions (subset used in app) ─────────────────────── */
.fa-music              { --fa: "\f001"; }
.fa-check, .fa-check   { --fa: "\f00c"; }
.fa-times, .fa-xmark   { --fa: "\f00d"; }
.fa-download           { --fa: "\f019"; }
.fa-redo               { --fa: "\f01e"; }
.fa-sync               { --fa: "\f021"; }
.fa-list, .fa-list-squares { --fa: "\f03a"; }
.fa-video, .fa-video-camera { --fa: "\f03d"; }
.fa-lock               { --fa: "\f023"; }
.fa-play               { --fa: "\f04b"; }
.fa-chevron-right      { --fa: "\f054"; }
.fa-check-circle, .fa-circle-check { --fa: "\f058"; }
.fa-question-circle    { --fa: "\f059"; }
.fa-arrow-left         { --fa: "\f060"; }
.fa-arrow-right        { --fa: "\f061"; }
.fa-arrow-down         { --fa: "\f063"; }
.fa-chevron-down       { --fa: "\f078"; }
.fa-cut, .fa-scissors  { --fa: "\f0c4"; }
.fa-link               { --fa: "\f0c1"; }
.fa-spinner            { --fa: "\f110"; }
.fa-share-alt, .fa-share-nodes { --fa: "\f1e0"; }
.fa-sliders, .fa-sliders-h { --fa: "\f1de"; }
.fa-exclamation-triangle, .fa-triangle-exclamation, .fa-warning { --fa: "\f071"; }
.fa-bolt, .fa-zap      { --fa: "\f0e7"; }
.fa-rocket             { --fa: "\f135"; }
.fa-play-circle        { --fa: "\f144"; }
.fa-history            { --fa: "\f1da"; }
.fa-server             { --fa: "\f233"; }
.fa-user-circle        { --fa: "\f2bd"; }
.fa-sign-out-alt       { --fa: "\f2f5"; }
.fa-gem                { --fa: "\f3a5"; }
.fa-shield-alt, .fa-shield-halved { --fa: "\f3ed"; }
.fa-clipboard-check    { --fa: "\f46c"; }
.fa-user-shield        { --fa: "\f505"; }
.fa-book-open          { --fa: "\f518"; }
.fa-trash-alt, .fa-trash-can { --fa: "\f2ed"; }

/* ── Brand icon definitions ──────────────────────────────────────────── */
.fa-youtube            { --fa: "\f167"; }
.fa-facebook           { --fa: "\f09a"; }
.fa-facebook-f         { --fa: "\f39e"; }
.fa-instagram          { --fa: "\f16d"; }
.fa-twitter            { --fa: "\f099"; }
.fa-tiktok             { --fa: "\e07b"; }
.fa-telegram, .fa-telegram-plane { --fa: "\f2c6"; }
.fa-vimeo              { --fa: "\f40a"; }
.fa-dailymotion        { --fa: "\e052"; }
.fa-twitch             { --fa: "\f1e8"; }
.fa-soundcloud         { --fa: "\f1be"; }
.fa-bandcamp           { --fa: "\f2d5"; }
.fa-reddit             { --fa: "\f1a1"; }
.fa-pinterest          { --fa: "\f0d2"; }
.fa-linkedin           { --fa: "\f08c"; }
.fa-threads            { --fa: "\e618"; }
.fa-vk                 { --fa: "\f189"; }
.fa-whatsapp           { --fa: "\f232"; }
.fa-x-twitter          { --fa: "\e61b"; }
