/* Lightweight local icon fallback for Phantamate.
   This removes the first-paint dependency on the external Font Awesome CSS. */
.fa-solid,
.fa-regular,
.fa-brands {
  display:inline-block;
  width:1em;
  min-width:1em;
  text-align:center;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-style:normal;
  font-weight:700;
  line-height:1;
}
.fa-solid::before,
.fa-regular::before,
.fa-brands::before { content:"•"; }
.fa-arrow-left::before { content:"←"; }
.fa-arrow-right::before { content:"→"; }
.fa-bell::before { content:"◔"; }
.fa-bolt::before { content:"↯"; }
.fa-book-open::before { content:"□"; }
.fa-box-open::before { content:"▱"; }
.fa-brain::before { content:"◎"; }
.fa-check::before,
.fa-circle-check::before { content:"✓"; }
.fa-chevron-down::before { content:"⌄"; }
.fa-chevron-left::before { content:"‹"; }
.fa-chevron-right::before { content:"›"; }
.fa-circle::before { content:"●"; }
.fa-circle-exclamation::before,
.fa-heart-circle-exclamation::before { content:"!"; }
.fa-circle-info::before { content:"i"; }
.fa-circle-notch::before,
.fa-spinner::before { content:"◌"; }
.fa-circle-question::before { content:"?"; }
.fa-clock::before { content:"◷"; }
.fa-comment-dots::before,
.fa-comment-heart::before { content:"◌"; }
.fa-compass::before { content:"◇"; }
.fa-copy::before { content:"⧉"; }
.fa-dice::before { content:"⚂"; }
.fa-ellipsis::before { content:"…"; }
.fa-envelope-open-text::before { content:"✉"; }
.fa-file-arrow-up::before { content:"⇧"; }
.fa-heart::before,
.fa-heart-pulse::before,
.fa-shield-heart::before { content:"♥"; }
.fa-image::before { content:"▧"; }
.fa-layer-group::before { content:"▤"; }
.fa-link::before { content:"⌁"; }
.fa-lock::before { content:"◼"; }
.fa-magnifying-glass::before,
.fa-search::before { content:"⌕"; }
.fa-microchip::before { content:"▣"; }
.fa-minus::before { content:"−"; }
.fa-palette::before { content:"◐"; }
.fa-paper-plane::before { content:"➤"; }
.fa-pen::before,
.fa-wand-magic-sparkles::before { content:"✎"; }
.fa-people-group::before,
.fa-user-plus::before,
.fa-user-shield::before,
.fa-user::before { content:"◉"; }
.fa-plus::before { content:"+"; }
.fa-qrcode::before { content:"▦"; }
.fa-rotate::before,
.fa-rotate-left::before { content:"↻"; }
.fa-share-nodes::before { content:"↗"; }
.fa-sliders::before { content:"☰"; }
.fa-sparkles::before,
.fa-star::before { content:"✦"; }
.fa-ticket::before { content:"▰"; }
.fa-trash-can::before { content:"×"; }
.fa-weixin::before {
  content:"";
  display:inline-block;
  width:1em;
  height:1em;
  background:currentColor;
  vertical-align:-0.12em;
  -webkit-mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M9.2%204.3C5.2%204.3%202%206.8%202%2010c0%201.8%201%203.4%202.6%204.5l-.6%202.2%202.4-1.2c.9.3%201.8.5%202.8.5.2%200%20.4%200%20.6%200-.2-.6-.3-1.2-.3-1.9%200-3.2%202.9-5.8%206.6-6.1C14.9%205.8%2012.3%204.3%209.2%204.3Zm-2.5%204.9a1%201%200%201%201%200-2%201%201%200%200%201%200%202Zm5%200a1%201%200%201%201%200-2%201%201%200%200%201%200%202Z%27/%3E%3Cpath%20d%3D%27M16%208.9c-3.3%200-6%202.1-6%204.8s2.7%204.8%206%204.8c.8%200%201.6-.1%202.3-.4l2%201-.5-1.8c1.3-.9%202.1-2.2%202.1-3.7.1-2.6-2.6-4.7-5.9-4.7Zm-2%203.7a.8.8%200%201%201%200-1.6.8.8%200%200%201%200%201.6Zm4%200a.8.8%200%201%201%200-1.6.8.8%200%200%201%200%201.6Z%27/%3E%3C/svg%3E");
  mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M9.2%204.3C5.2%204.3%202%206.8%202%2010c0%201.8%201%203.4%202.6%204.5l-.6%202.2%202.4-1.2c.9.3%201.8.5%202.8.5.2%200%20.4%200%20.6%200-.2-.6-.3-1.2-.3-1.9%200-3.2%202.9-5.8%206.6-6.1C14.9%205.8%2012.3%204.3%209.2%204.3Zm-2.5%204.9a1%201%200%201%201%200-2%201%201%200%200%201%200%202Zm5%200a1%201%200%201%201%200-2%201%201%200%200%201%200%202Z%27/%3E%3Cpath%20d%3D%27M16%208.9c-3.3%200-6%202.1-6%204.8s2.7%204.8%206%204.8c.8%200%201.6-.1%202.3-.4l2%201-.5-1.8c1.3-.9%202.1-2.2%202.1-3.7.1-2.6-2.6-4.7-5.9-4.7Zm-2%203.7a.8.8%200%201%201%200-1.6.8.8%200%200%201%200%201.6Zm4%200a.8.8%200%201%201%200-1.6.8.8%200%200%201%200%201.6Z%27/%3E%3C/svg%3E");
}
.fa-xmark::before { content:"×"; }
.fa-spin { animation:huanou-icon-spin 1s linear infinite; }
@keyframes huanou-icon-spin { to { transform:rotate(360deg); } }
