/* ========================================
   像素图标层 — 用 Pixelarticons 覆盖 Butterfly 的 Font Awesome 图标
   ----------------------------------------
   原理：保留主题里硬编码的 .fa-* 类名作为钩子，仅用 CSS 把字体字形换成像素 SVG。
   - 用 mask + background-color:currentColor → 图标自动随文字色（浅/深色模式都对）
   - image-rendering:pixelated → 缩放时保持像素硬边
   - 不改任何 pug 模板，主题升级不丢
   图标来源：Pixelarticons (MIT, https://pixelarticons.com)，见 /img/pixel-icons/LICENSE
   品牌图标 fa-github 用自绘的像素 Octocat（github.svg）。
   ======================================== */

/* 所有被接管的图标共用的基础样式 */
.fa-bullhorn::before,
.fa-calendar-alt::before,
.fa-history::before,
.fa-clock::before,
.fa-eye::before,
.fa-inbox::before,
.fa-folder-open::before,
.fa-tag::before,
.fa-tags::before,
.fa-archive::before,
.fa-home::before,
.fa-search::before,
.fa-chevron-left::before,
.fa-chevron-right::before,
.fa-chevron-down::before,
.fa-angle-right::before,
.fa-angle-down::before,
.fa-arrow-up::before,
.fa-bars::before,
.fa-list-ul::before,
.fa-stream::before,
.fa-comments::before,
.fa-comment-dots::before,
.fa-cog::before,
.fa-adjust::before,
.fa-book-open::before,
.fa-arrows-alt-h::before,
.fa-sms::before,
.fa-pencil-alt::before,
.fa-file-word::before,
.fa-chart-line::before,
.fa-thumbtack::before,
.fa-spinner::before,
.fa-times::before,
.fa-envelope::before,
.fa-github::before {
  content: "" !important;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  image-rendering: pixelated;
}

/* 单图标映射（FA 类名 → Pixelarticons SVG） */
.fa-bullhorn::before     { -webkit-mask-image: url(/img/pixel-icons/megaphone.svg);          mask-image: url(/img/pixel-icons/megaphone.svg); }
.fa-calendar-alt::before { -webkit-mask-image: url(/img/pixel-icons/calendar.svg);           mask-image: url(/img/pixel-icons/calendar.svg); }
.fa-history::before      { -webkit-mask-image: url(/img/pixel-icons/reload.svg);             mask-image: url(/img/pixel-icons/reload.svg); }
.fa-clock::before        { -webkit-mask-image: url(/img/pixel-icons/clock.svg);              mask-image: url(/img/pixel-icons/clock.svg); }
.fa-eye::before          { -webkit-mask-image: url(/img/pixel-icons/eye.svg);                mask-image: url(/img/pixel-icons/eye.svg); }
.fa-inbox::before        { -webkit-mask-image: url(/img/pixel-icons/inbox.svg);              mask-image: url(/img/pixel-icons/inbox.svg); }
.fa-folder-open::before  { -webkit-mask-image: url(/img/pixel-icons/folder.svg);             mask-image: url(/img/pixel-icons/folder.svg); }
.fa-tag::before          { -webkit-mask-image: url(/img/pixel-icons/bookmark.svg);           mask-image: url(/img/pixel-icons/bookmark.svg); }
.fa-tags::before         { -webkit-mask-image: url(/img/pixel-icons/bookmark.svg);           mask-image: url(/img/pixel-icons/bookmark.svg); }
.fa-archive::before      { -webkit-mask-image: url(/img/pixel-icons/archive.svg);            mask-image: url(/img/pixel-icons/archive.svg); }
.fa-home::before         { -webkit-mask-image: url(/img/pixel-icons/home.svg);               mask-image: url(/img/pixel-icons/home.svg); }
.fa-search::before       { -webkit-mask-image: url(/img/pixel-icons/search.svg);             mask-image: url(/img/pixel-icons/search.svg); }
.fa-chevron-left::before { -webkit-mask-image: url(/img/pixel-icons/chevron-left.svg);       mask-image: url(/img/pixel-icons/chevron-left.svg); }
.fa-chevron-right::before{ -webkit-mask-image: url(/img/pixel-icons/chevron-right.svg);      mask-image: url(/img/pixel-icons/chevron-right.svg); }
.fa-chevron-down::before { -webkit-mask-image: url(/img/pixel-icons/chevron-down.svg);       mask-image: url(/img/pixel-icons/chevron-down.svg); }
.fa-angle-right::before  { -webkit-mask-image: url(/img/pixel-icons/chevron-right.svg);      mask-image: url(/img/pixel-icons/chevron-right.svg); }
.fa-angle-down::before   { -webkit-mask-image: url(/img/pixel-icons/chevron-down.svg);       mask-image: url(/img/pixel-icons/chevron-down.svg); }
.fa-arrow-up::before     { -webkit-mask-image: url(/img/pixel-icons/arrow-up.svg);           mask-image: url(/img/pixel-icons/arrow-up.svg); }
.fa-bars::before         { -webkit-mask-image: url(/img/pixel-icons/menu.svg);               mask-image: url(/img/pixel-icons/menu.svg); }
.fa-list-ul::before      { -webkit-mask-image: url(/img/pixel-icons/bulletlist.svg);         mask-image: url(/img/pixel-icons/bulletlist.svg); }
.fa-stream::before       { -webkit-mask-image: url(/img/pixel-icons/list-box.svg);           mask-image: url(/img/pixel-icons/list-box.svg); }
.fa-comments::before     { -webkit-mask-image: url(/img/pixel-icons/message.svg);            mask-image: url(/img/pixel-icons/message.svg); }
.fa-comment-dots::before { -webkit-mask-image: url(/img/pixel-icons/message-text.svg);       mask-image: url(/img/pixel-icons/message-text.svg); }
.fa-cog::before          { -webkit-mask-image: url(/img/pixel-icons/settings-cog.svg);       mask-image: url(/img/pixel-icons/settings-cog.svg); }
.fa-adjust::before       { -webkit-mask-image: url(/img/pixel-icons/moon.svg);               mask-image: url(/img/pixel-icons/moon.svg); }
.fa-book-open::before    { -webkit-mask-image: url(/img/pixel-icons/book-open.svg);          mask-image: url(/img/pixel-icons/book-open.svg); }
.fa-arrows-alt-h::before { -webkit-mask-image: url(/img/pixel-icons/arrows-horizontal.svg);  mask-image: url(/img/pixel-icons/arrows-horizontal.svg); }
.fa-sms::before          { -webkit-mask-image: url(/img/pixel-icons/message-text.svg);       mask-image: url(/img/pixel-icons/message-text.svg); }
.fa-pencil-alt::before   { -webkit-mask-image: url(/img/pixel-icons/magic-edit.svg);         mask-image: url(/img/pixel-icons/magic-edit.svg); }
.fa-file-word::before    { -webkit-mask-image: url(/img/pixel-icons/file-text.svg);          mask-image: url(/img/pixel-icons/file-text.svg); }
.fa-chart-line::before   { -webkit-mask-image: url(/img/pixel-icons/analytics.svg);          mask-image: url(/img/pixel-icons/analytics.svg); }
.fa-thumbtack::before    { -webkit-mask-image: url(/img/pixel-icons/map-pin.svg);            mask-image: url(/img/pixel-icons/map-pin.svg); }
.fa-spinner::before      { -webkit-mask-image: url(/img/pixel-icons/loader.svg);             mask-image: url(/img/pixel-icons/loader.svg); }
.fa-times::before        { -webkit-mask-image: url(/img/pixel-icons/close.svg);              mask-image: url(/img/pixel-icons/close.svg); }
.fa-envelope::before     { -webkit-mask-image: url(/img/pixel-icons/mail.svg);               mask-image: url(/img/pixel-icons/mail.svg); }
/* 自绘像素 Octocat（Pixelarticons 无品牌 logo），16x16 currentColor */
.fa-github::before       { -webkit-mask-image: url(/img/pixel-icons/github.svg);             mask-image: url(/img/pixel-icons/github.svg); }
