/*!
 * Font Awesome 6.5.1 — minimal subset for codalanguez.com
 * 11 brand icons + 8 solid icons (19 total), served from subset webfonts
 * (fa-*-subset.woff2) that contain ONLY these glyphs — ~4 KB total vs the
 * ~273 KB full fa-solid-900 + fa-brands-400 webfonts, and vs ~1 MB all.min.css.
 *
 * Brands : patreon, discord, instagram, tiktok, goodreads-g, amazon,
 *          threads, x-twitter, youtube, facebook, github
 * Solid  : book-open-reader, envelope-open-text, book-bookmark, palette,
 *          shirt, link, magnifying-glass, ghost
 *
 * NOTE: Civitai and Substack are NOT in Font Awesome 6.5.1, so the social
 * walker renders those two as inline SVG (see Haunted_Tech_Social_Walker).
 * Bluesky was dropped (unused, and \e671 isn't in the 6.5.1 brand font).
 *
 * Regenerate the subset webfonts with:
 *   SOLID=f5da,f658,e0bb,f53f,f553,f0c1,f002,f6e2
 *   BRANDS=f3d9,f392,f16d,e07b,f3a9,f270,e618,e61b,f167,f09a,f09b
 *   python -m fontTools.subset webfonts/fa-solid-900.woff2  --unicodes=$SOLID  --flavor=woff2 --output-file=webfonts/fa-solid-900-subset.woff2  --no-hinting --desubroutinize --layout-features='' --notdef-outline
 *   python -m fontTools.subset webfonts/fa-brands-400.woff2 --unicodes=$BRANDS --flavor=woff2 --output-file=webfonts/fa-brands-400-subset.woff2 --no-hinting --desubroutinize --layout-features='' --notdef-outline
 *   (repeat without --flavor for the .ttf fallbacks)
 */

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style:  normal;
  font-weight: 400;
  font-display: swap; /* FA uses PUA code points; fallback is invisible in all system fonts */
  src: url("webfonts/fa-brands-400-subset.woff2") format("woff2"),
       url("webfonts/fa-brands-400-subset.ttf")   format("truetype");
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style:  normal;
  font-weight: 900;
  font-display: swap; /* FA uses PUA code points; fallback is invisible in all system fonts */
  src: url("webfonts/fa-solid-900-subset.woff2") format("woff2"),
       url("webfonts/fa-solid-900-subset.ttf")   format("truetype");
}

.fa-brands,
.fa-solid {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style:   normal;
  font-variant: normal;
  line-height:  1;
  text-rendering: auto;
}

.fa-brands { font-family: "Font Awesome 6 Brands"; font-weight: 400; }
.fa-solid  { font-family: "Font Awesome 6 Free";   font-weight: 900; }

/* ---------------------------------------------------------------------------
 * Brand icons
 * ------------------------------------------------------------------------- */
.fa-patreon::before     { content: "\f3d9"; }
.fa-discord::before     { content: "\f392"; }
.fa-github::before      { content: "\f09b"; }
.fa-instagram::before   { content: "\f16d"; }
.fa-tiktok::before      { content: "\e07b"; }
.fa-goodreads-g::before { content: "\f3a9"; }
.fa-amazon::before      { content: "\f270"; }
.fa-threads::before     { content: "\e618"; }
.fa-x-twitter::before   { content: "\e61b"; }
.fa-youtube::before     { content: "\f167"; }
.fa-facebook::before    { content: "\f09a"; }

/* ---------------------------------------------------------------------------
 * Solid icons
 * ------------------------------------------------------------------------- */
.fa-book-open-reader::before   { content: "\f5da"; }
.fa-envelope-open-text::before { content: "\f658"; }
.fa-book-bookmark::before      { content: "\e0bb"; }
.fa-palette::before            { content: "\f53f"; }
.fa-shirt::before              { content: "\f553"; }
.fa-link::before               { content: "\f0c1"; }
.fa-magnifying-glass::before   { content: "\f002"; }
.fa-ghost::before              { content: "\f6e2"; }
