/* 全站图标：本地 SVG + CSS mask，无图标字体、无外部 CDN。
 *
 * 文件名带内容 hash（<名称>.<hash8>.svg）。这不是为了好看，是为了让
 * 「CSS 指向的 URL」和「文件内容」永远一一对应：
 *   · 内容变了 -> hash 变了 -> URL 变了 -> 不会命中旧缓存
 *   · 文件一旦生成即不可变，可以放心设长缓存（immutable）
 *   · 不再出现「改了 SVG 忘了改 CSS」这种静默不一致
 * sync_icons.py 会检出绕过生成器的手工改动并把文件归位。
 *
 * 上色用 mask + currentColor，不用 <img>：
 *   <img> 是固定颜色位图，侧边栏选中态、链接 hover、深色模式的图标颜色会全丢；
 *   mask 只用 alpha 通道，配 background-color: currentColor 能继承文字颜色。
 *
 * mask 按需加载：一个页面只下载该页用到的几个 SVG。
 *
 * 命名沿用 Iconify 的「集合:图标」（fa6-solid:dumbbell）。因为用的是自建规则
 * 而不是 Iconify 的 <iconify-icon>，冒号在 class 名里要转义才能匹配：
 *   class="vp-icon iconfont icon-fa6-solid:dumbbell"
 *   .icon-fa6-solid\:dumbbell { mask: url('...a1b2c3d4.svg') }
 * 两边必须成对改。
 *
 * 维护（scripts/icons/）：
 *   sync_icons.py      本脚本：归位 / 补齐 / 重生成 CSS / 清理无用文件
 *   audit_icons.py     只读自检：比对「站点引用 / CSS 规则 / svg 目录」三者
 *   check_svg_bounds.py 只读自检：算路径包围盒，查有没有被自己的 viewBox 裁掉
 *   make_icon_sheet.py 生成对照表页面，肉眼核对图标贴不贴身
 *   fetch_icons.ps1    从 Iconify 补下载（Python urllib 会被 403，只能走 PowerShell）
 *   font_to_svg.py     从归档字体重新抽字形（只在需要找回已废弃字形时用）
 *
 * 2026-10-18 教训：字体抽出来的字形（Q 二次曲线）viewBox 归一化写死成 1000x1000，
 * 而哑铃、代码、终端那批字形实际宽到 1115~1252，右边一整块被 SVG 自己裁掉。
 * 构建成功、文件在、URL 解析也对，只有肉眼看得出——所以上面那个边界检查是常驻关卡。
 */

.iconfont {
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* akar-icons:php-fill */
.icon-akar-icons\:php-fill {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/akar-icons-php-fill.ae73c35b.svg') no-repeat center / contain;
          mask: url('/icons/svg/akar-icons-php-fill.ae73c35b.svg') no-repeat center / contain;
}

/* anzhuo */
.icon-anzhuo {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/anzhuo.968014aa.svg') no-repeat center / contain;
          mask: url('/icons/svg/anzhuo.968014aa.svg') no-repeat center / contain;
}

/* app */
.icon-app {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/app.f0e75bfa.svg') no-repeat center / contain;
          mask: url('/icons/svg/app.f0e75bfa.svg') no-repeat center / contain;
}

/* bokeyuan */
.icon-bokeyuan {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/bokeyuan.07a8d16d.svg') no-repeat center / contain;
          mask: url('/icons/svg/bokeyuan.07a8d16d.svg') no-repeat center / contain;
}

/* clarity:tools-solid */
.icon-clarity\:tools-solid {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/clarity-tools-solid.5e954de5.svg') no-repeat center / contain;
          mask: url('/icons/svg/clarity-tools-solid.5e954de5.svg') no-repeat center / contain;
}

/* coding */
.icon-coding {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/coding.63e03ffa.svg') no-repeat center / contain;
          mask: url('/icons/svg/coding.63e03ffa.svg') no-repeat center / contain;
}

/* docker */
.icon-docker {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/docker.acaf5602.svg') no-repeat center / contain;
          mask: url('/icons/svg/docker.acaf5602.svg') no-repeat center / contain;
}

/* dushu */
.icon-dushu {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/dushu.2c9892a0.svg') no-repeat center / contain;
          mask: url('/icons/svg/dushu.2c9892a0.svg') no-repeat center / contain;
}

/* fa6-brands:chrome */
.icon-fa6-brands\:chrome {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-chrome.e163abd4.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-chrome.e163abd4.svg') no-repeat center / contain;
}

/* fa6-brands:cloudflare */
.icon-fa6-brands\:cloudflare {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-cloudflare.054f21e4.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-cloudflare.054f21e4.svg') no-repeat center / contain;
}

/* fa6-brands:docker */
.icon-fa6-brands\:docker {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-docker.53acaf08.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-docker.53acaf08.svg') no-repeat center / contain;
}

/* fa6-brands:github */
.icon-fa6-brands\:github {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-github.b7e779be.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-github.b7e779be.svg') no-repeat center / contain;
}

/* fa6-brands:html5 */
.icon-fa6-brands\:html5 {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-html5.1fa0fd56.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-html5.1fa0fd56.svg') no-repeat center / contain;
}

/* fa6-brands:js */
.icon-fa6-brands\:js {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-js.1d8baec3.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-js.1d8baec3.svg') no-repeat center / contain;
}

/* fa6-brands:linux */
.icon-fa6-brands\:linux {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-linux.76488235.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-linux.76488235.svg') no-repeat center / contain;
}

/* fa6-brands:markdown */
.icon-fa6-brands\:markdown {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-markdown.c82f45ba.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-markdown.c82f45ba.svg') no-repeat center / contain;
}

/* fa6-brands:octopus-deploy */
.icon-fa6-brands\:octopus-deploy {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-octopus-deploy.8d80f509.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-octopus-deploy.8d80f509.svg') no-repeat center / contain;
}

/* fa6-brands:python */
.icon-fa6-brands\:python {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-python.6b635e25.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-python.6b635e25.svg') no-repeat center / contain;
}

/* fa6-brands:react */
.icon-fa6-brands\:react {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-react.f7090d7c.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-react.f7090d7c.svg') no-repeat center / contain;
}

/* fa6-brands:vuejs */
.icon-fa6-brands\:vuejs {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-brands-vuejs.11b834f7.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-brands-vuejs.11b834f7.svg') no-repeat center / contain;
}

/* fa6-solid:atom */
.icon-fa6-solid\:atom {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-atom.f2494c61.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-atom.f2494c61.svg') no-repeat center / contain;
}

/* fa6-solid:baby */
.icon-fa6-solid\:baby {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-baby.f24643a6.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-baby.f24643a6.svg') no-repeat center / contain;
}

/* fa6-solid:blog */
.icon-fa6-solid\:blog {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-blog.1c82c93b.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-blog.1c82c93b.svg') no-repeat center / contain;
}

/* fa6-solid:book-open-reader */
.icon-fa6-solid\:book-open-reader {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-book-open-reader.0104cf6e.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-book-open-reader.0104cf6e.svg') no-repeat center / contain;
}

/* fa6-solid:bowl-food */
.icon-fa6-solid\:bowl-food {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-bowl-food.82928e80.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-bowl-food.82928e80.svg') no-repeat center / contain;
}

/* fa6-solid:brain */
.icon-fa6-solid\:brain {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-brain.208126d2.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-brain.208126d2.svg') no-repeat center / contain;
}

/* fa6-solid:cart-shopping */
.icon-fa6-solid\:cart-shopping {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-cart-shopping.d522ee23.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-cart-shopping.d522ee23.svg') no-repeat center / contain;
}

/* fa6-solid:chart-simple */
.icon-fa6-solid\:chart-simple {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-chart-simple.48ca9c26.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-chart-simple.48ca9c26.svg') no-repeat center / contain;
}

/* fa6-solid:circle-question */
.icon-fa6-solid\:circle-question {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-circle-question.de8ffdb1.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-circle-question.de8ffdb1.svg') no-repeat center / contain;
}

/* fa6-solid:cloud-arrow-up */
.icon-fa6-solid\:cloud-arrow-up {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-cloud-arrow-up.ecc86a2a.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-cloud-arrow-up.ecc86a2a.svg') no-repeat center / contain;
}

/* fa6-solid:code */
.icon-fa6-solid\:code {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-code.21dff776.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-code.21dff776.svg') no-repeat center / contain;
}

/* fa6-solid:comment-dots */
.icon-fa6-solid\:comment-dots {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-comment-dots.8cf8efe8.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-comment-dots.8cf8efe8.svg') no-repeat center / contain;
}

/* fa6-solid:comments-dollar */
.icon-fa6-solid\:comments-dollar {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-comments-dollar.502c87ed.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-comments-dollar.502c87ed.svg') no-repeat center / contain;
}

/* fa6-solid:compass */
.icon-fa6-solid\:compass {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-compass.5261a90d.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-compass.5261a90d.svg') no-repeat center / contain;
}

/* fa6-solid:database */
.icon-fa6-solid\:database {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-database.36c27527.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-database.36c27527.svg') no-repeat center / contain;
}

/* fa6-solid:desktop */
.icon-fa6-solid\:desktop {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-desktop.70a8b780.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-desktop.70a8b780.svg') no-repeat center / contain;
}

/* fa6-solid:dumbbell */
.icon-fa6-solid\:dumbbell {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-dumbbell.d0564e91.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-dumbbell.d0564e91.svg') no-repeat center / contain;
}

/* fa6-solid:file-lines */
.icon-fa6-solid\:file-lines {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-file-lines.4cbd60fd.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-file-lines.4cbd60fd.svg') no-repeat center / contain;
}

/* fa6-solid:globe */
.icon-fa6-solid\:globe {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-globe.8b4b0b10.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-globe.8b4b0b10.svg') no-repeat center / contain;
}

/* fa6-solid:graduation-cap */
.icon-fa6-solid\:graduation-cap {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-graduation-cap.cb733626.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-graduation-cap.cb733626.svg') no-repeat center / contain;
}

/* fa6-solid:image */
.icon-fa6-solid\:image {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-image.13474ab3.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-image.13474ab3.svg') no-repeat center / contain;
}

/* fa6-solid:keyboard */
.icon-fa6-solid\:keyboard {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-keyboard.f17613ec.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-keyboard.f17613ec.svg') no-repeat center / contain;
}

/* fa6-solid:layer-group */
.icon-fa6-solid\:layer-group {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-layer-group.1934e110.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-layer-group.1934e110.svg') no-repeat center / contain;
}

/* fa6-solid:lightbulb */
.icon-fa6-solid\:lightbulb {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-lightbulb.15067991.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-lightbulb.15067991.svg') no-repeat center / contain;
}

/* fa6-solid:list */
.icon-fa6-solid\:list {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-list.b1a01777.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-list.b1a01777.svg') no-repeat center / contain;
}

/* fa6-solid:magnifying-glass */
.icon-fa6-solid\:magnifying-glass {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-magnifying-glass.eee48ca1.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-magnifying-glass.eee48ca1.svg') no-repeat center / contain;
}

/* fa6-solid:message */
.icon-fa6-solid\:message {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-message.55baa6ce.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-message.55baa6ce.svg') no-repeat center / contain;
}

/* fa6-solid:mug-hot */
.icon-fa6-solid\:mug-hot {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-mug-hot.a27fb4a9.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-mug-hot.a27fb4a9.svg') no-repeat center / contain;
}

/* fa6-solid:network-wired */
.icon-fa6-solid\:network-wired {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-network-wired.0992e332.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-network-wired.0992e332.svg') no-repeat center / contain;
}

/* fa6-solid:palette */
.icon-fa6-solid\:palette {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-palette.57f26e76.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-palette.57f26e76.svg') no-repeat center / contain;
}

/* fa6-solid:repeat */
.icon-fa6-solid\:repeat {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-repeat.2cef9500.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-repeat.2cef9500.svg') no-repeat center / contain;
}

/* fa6-solid:robot */
.icon-fa6-solid\:robot {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-robot.963e4aa1.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-robot.963e4aa1.svg') no-repeat center / contain;
}

/* fa6-solid:rotate */
.icon-fa6-solid\:rotate {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-rotate.eb03edb5.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-rotate.eb03edb5.svg') no-repeat center / contain;
}

/* fa6-solid:rss */
.icon-fa6-solid\:rss {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-rss.ea725ab4.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-rss.ea725ab4.svg') no-repeat center / contain;
}

/* fa6-solid:screwdriver-wrench */
.icon-fa6-solid\:screwdriver-wrench {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-screwdriver-wrench.97f32e65.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-screwdriver-wrench.97f32e65.svg') no-repeat center / contain;
}

/* fa6-solid:server */
.icon-fa6-solid\:server {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-server.1671cc25.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-server.1671cc25.svg') no-repeat center / contain;
}

/* fa6-solid:square-rss */
.icon-fa6-solid\:square-rss {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-square-rss.6c275727.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-square-rss.6c275727.svg') no-repeat center / contain;
}

/* fa6-solid:suitcase-medical */
.icon-fa6-solid\:suitcase-medical {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-suitcase-medical.18977955.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-suitcase-medical.18977955.svg') no-repeat center / contain;
}

/* fa6-solid:terminal */
.icon-fa6-solid\:terminal {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-terminal.9a9d81a9.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-terminal.9a9d81a9.svg') no-repeat center / contain;
}

/* fa6-solid:toolbox */
.icon-fa6-solid\:toolbox {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-toolbox.efb97a5d.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-toolbox.efb97a5d.svg') no-repeat center / contain;
}

/* fa6-solid:user */
.icon-fa6-solid\:user {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/fa6-solid-user.20a6bae4.svg') no-repeat center / contain;
          mask: url('/icons/svg/fa6-solid-user.20a6bae4.svg') no-repeat center / contain;
}

/* ic:baseline-tips-and-updates */
.icon-ic\:baseline-tips-and-updates {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/ic-baseline-tips-and-updates.733b7861.svg') no-repeat center / contain;
          mask: url('/icons/svg/ic-baseline-tips-and-updates.733b7861.svg') no-repeat center / contain;
}

/* jiagou */
.icon-jiagou {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/jiagou.b09530b5.svg') no-repeat center / contain;
          mask: url('/icons/svg/jiagou.b09530b5.svg') no-repeat center / contain;
}

/* jichushezhi */
.icon-jichushezhi {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/jichushezhi.469fff2f.svg') no-repeat center / contain;
          mask: url('/icons/svg/jichushezhi.469fff2f.svg') no-repeat center / contain;
}

/* mdi:docker */
.icon-mdi\:docker {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/mdi-docker.fb757a3c.svg') no-repeat center / contain;
          mask: url('/icons/svg/mdi-docker.fb757a3c.svg') no-repeat center / contain;
}

/* mdi:home-automation */
.icon-mdi\:home-automation {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/mdi-home-automation.5e50365e.svg') no-repeat center / contain;
          mask: url('/icons/svg/mdi-home-automation.5e50365e.svg') no-repeat center / contain;
}

/* mdi:server */
.icon-mdi\:server {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/mdi-server.da6ce350.svg') no-repeat center / contain;
          mask: url('/icons/svg/mdi-server.da6ce350.svg') no-repeat center / contain;
}

/* meirijihua */
.icon-meirijihua {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/meirijihua.9a37830b.svg') no-repeat center / contain;
          mask: url('/icons/svg/meirijihua.9a37830b.svg') no-repeat center / contain;
}

/* mingcute:server-line */
.icon-mingcute\:server-line {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/mingcute-server-line.60e6627b.svg') no-repeat center / contain;
          mask: url('/icons/svg/mingcute-server-line.60e6627b.svg') no-repeat center / contain;
}

/* ri:chat-smile-ai-fill */
.icon-ri\:chat-smile-ai-fill {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/ri-chat-smile-ai-fill.f361985f.svg') no-repeat center / contain;
          mask: url('/icons/svg/ri-chat-smile-ai-fill.f361985f.svg') no-repeat center / contain;
}

/* ri:nextjs-fill */
.icon-ri\:nextjs-fill {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/ri-nextjs-fill.84ccb963.svg') no-repeat center / contain;
          mask: url('/icons/svg/ri-nextjs-fill.84ccb963.svg') no-repeat center / contain;
}

/* shenghuo */
.icon-shenghuo {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/shenghuo.e007b622.svg') no-repeat center / contain;
          mask: url('/icons/svg/shenghuo.e007b622.svg') no-repeat center / contain;
}

/* shuju */
.icon-shuju {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/shuju.9f166e25.svg') no-repeat center / contain;
          mask: url('/icons/svg/shuju.9f166e25.svg') no-repeat center / contain;
}

/* simple-icons:docsify */
.icon-simple-icons\:docsify {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/simple-icons-docsify.769e2452.svg') no-repeat center / contain;
          mask: url('/icons/svg/simple-icons-docsify.769e2452.svg') no-repeat center / contain;
}

/* simple-icons:nginx */
.icon-simple-icons\:nginx {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/simple-icons-nginx.9ab7eb3f.svg') no-repeat center / contain;
          mask: url('/icons/svg/simple-icons-nginx.9ab7eb3f.svg') no-repeat center / contain;
}

/* simple-icons:tauri */
.icon-simple-icons\:tauri {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/simple-icons-tauri.a66dd9d1.svg') no-repeat center / contain;
          mask: url('/icons/svg/simple-icons-tauri.a66dd9d1.svg') no-repeat center / contain;
}

/* tishicimoban */
.icon-tishicimoban {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/tishicimoban.cc722dea.svg') no-repeat center / contain;
          mask: url('/icons/svg/tishicimoban.cc722dea.svg') no-repeat center / contain;
}

/* windows */
.icon-windows {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/windows.61ec8c9f.svg') no-repeat center / contain;
          mask: url('/icons/svg/windows.61ec8c9f.svg') no-repeat center / contain;
}

/* zhibo */
.icon-zhibo {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/icons/svg/zhibo.3640449a.svg') no-repeat center / contain;
          mask: url('/icons/svg/zhibo.3640449a.svg') no-repeat center / contain;
}
