/*
 * Local icon set — replaces the Font Awesome 6.4.0 CDN stylesheet.
 *
 * Only eleven icons were ever used, so the whole library (a render-blocking third-party
 * stylesheet plus webfonts) was replaced with CSS mask images. Markup is unchanged:
 * `<i class="fa fa-bars"></i>` still works and still inherits colour via currentColor.
 */

.fa {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: var(--fa-icon) no-repeat center / contain;
    mask: var(--fa-icon) no-repeat center / contain;
}

.fa-bars { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M3 6h18M3 12h18M3 18h18%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 fill=%22none%22/%3E%3C/svg%3E"); }
.fa-arrow-right { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M4 12h15M13 6l6 6-6 6%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 fill=%22none%22/%3E%3C/svg%3E"); }
.fa-play { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M7 4.5l12 7.5-12 7.5z%22 fill=%22black%22/%3E%3C/svg%3E"); }
.fa-volume-high { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M4 9h3.5L12 5v14L7.5 15H4z%22 fill=%22black%22/%3E%3Cpath d=%22M16 8.5a5 5 0 010 7M18.8 6a9 9 0 010 12%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 fill=%22none%22/%3E%3C/svg%3E"); }
.fa-volume-xmark { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M4 9h3.5L12 5v14L7.5 15H4z%22 fill=%22black%22/%3E%3Cpath d=%22M16.5 9.5l5 5M21.5 9.5l-5 5%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 fill=%22none%22/%3E%3C/svg%3E"); }
.fa-paper-plane { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M21 3L2 11l7 2.5L11.5 21z%22 fill=%22black%22/%3E%3Cpath d=%22M21 3L9 13.5%22 stroke=%22white%22 stroke-width=%221.4%22 fill=%22none%22/%3E%3C/svg%3E"); }
.fa-wand-magic-sparkles { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M3 21L14 10l-1-1L2 20z%22 fill=%22black%22/%3E%3Cpath d=%22M15.5 5.5l1.2 2.6 2.6 1.2-2.6 1.2-1.2 2.6-1.2-2.6L11.7 9.3l2.6-1.2z%22 fill=%22black%22/%3E%3Cpath d=%22M20 15l.7 1.5 1.5.7-1.5.7-.7 1.5-.7-1.5-1.5-.7 1.5-.7z%22 fill=%22black%22/%3E%3C/svg%3E"); }
.fa-shield-halved { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M12 2.5l7.5 3v6c0 4.6-3.1 8.6-7.5 10-4.4-1.4-7.5-5.4-7.5-10v-6z%22 fill=%22black%22/%3E%3Cpath d=%22M12 2.5v19%22 stroke=%22white%22 stroke-width=%221.3%22 fill=%22none%22/%3E%3C/svg%3E"); }
.fa-lock { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M7 10V7.5a5 5 0 0110 0V10%22 stroke=%22black%22 stroke-width=%222%22 fill=%22none%22/%3E%3Crect x=%224.5%22 y=%2210%22 width=%2215%22 height=%2210.5%22 rx=%222.2%22 fill=%22black%22/%3E%3C/svg%3E"); }
.fa-external-link { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M13 4h7v7%22 stroke=%22black%22 stroke-width=%222.1%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 fill=%22none%22/%3E%3Cpath d=%22M20 4l-9 9%22 stroke=%22black%22 stroke-width=%222.1%22 stroke-linecap=%22round%22 fill=%22none%22/%3E%3Cpath d=%22M18 14v4.5a2 2 0 01-2 2H5.5a2 2 0 01-2-2V8a2 2 0 012-2H10%22 stroke=%22black%22 stroke-width=%222.1%22 stroke-linecap=%22round%22 fill=%22none%22/%3E%3C/svg%3E"); }
.fa-circle-check { --fa-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229.5%22 fill=%22black%22/%3E%3Cpath d=%22M7.5 12.3l3.1 3.1 5.9-6.2%22 stroke=%22white%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 fill=%22none%22/%3E%3C/svg%3E"); }
