/*!
 * Font Awesome 子集 —— 自托管，替代 CDN 上的 FA 6.4.0 完整包和本地 FA 4.7.0 完整字体。
 *
 * 字体 252,232 -> 17,572 字节（7.0%）：
 *   FA6 solid    95 个图标  150,124 ->  7,232
 *   FA6 regular   3 个图标   24,948 ->    852
 *   FA4         101 个图标   77,160 ->  9,488
 *
 * 生成方式分两步：
 *   1. 扫 class 属性里的 fa / fas / far 组合，能判断出走哪套字体，进对应子集。
 *   2. 再扫一遍全部 fa- 记号（含 JS 里拼字符串赋 className 的），这类判断不出
 *      上下文，凡是某套 CSS 定义过就都收进去，宁可多几个字形。
 *
 * 第 2 步是补出来的。第一版只扫了 class 属性，漏掉了
 *   icon.className = 'fa ' + (isDark ? 'fa-sun-o' : 'fa-moon-o') + ...
 * 里的 fa-sun-o，结果暗色模式下主题切换按钮是个空圆圈。
 *
 * 页面上两套写法同时存在且都在用：
 *   fa  + 图标类      -> FA 4.7.0 的 FontAwesome 字体
 *   fas / far + 图标类 -> FA 6.4.0 的 Font Awesome 6 Free
 *
 * content 规则刻意按上下文限定（基类与图标类同时出现才生效）：
 * 同一个图标名在 FA4 与 FA6 里码点未必相同，不限定会串味。
 *
 * 新增图标后必须重新生成，并且要改上面 src 里的 ?v= —— /fonts/ 在 nginx 上是
 * 一年 immutable，文件名不变的话浏览器会一直用缓存里的旧字体。
 * 2026-09-14 就是这么坑的：CSS 走内容哈希每次都是新的，规则有了，
 * 字体却还是最早那版 74 个图标的，于是播放器的上一首/下一首/播放模式
 * 三个图标在手机上画不出来（画布实测宽度 0.5em，缺字形的回落值）。
 * FontAwesomeSubsetContractTest 会在漏图标或漏版本号时失败。
 */
@font-face{font-family:"FontAwesome";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/fontawesome/fa4.woff2?v=20260914a) format("woff2")}
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/fonts/fontawesome/fa6-solid.woff2?v=20260914a) format("woff2")}
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/fontawesome/fa6-regular.woff2?v=20260914a) format("woff2")}
.fa,.fas,.far,.fa-solid,.fa-regular{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}
.fa{font-family:"FontAwesome";font-weight:400}
.fas,.fa-solid{font-family:"Font Awesome 6 Free";font-weight:900}
.far,.fa-regular{font-family:"Font Awesome 6 Free";font-weight:400}
.fa-fw{text-align:center;width:1.28571429em}
.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}
.fa-2x{font-size:2em}.fa-3x{font-size:3em}
.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}
.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}
@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}
@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}
.fa.fa-angle-down:before{content:"\f107"}.fa.fa-angle-left:before{content:"\f104"}.fa.fa-angle-right:before{content:"\f105"}.fa.fa-angle-up:before{content:"\f106"}.fa.fa-arrow-left:before{content:"\f060"}.fa.fa-arrow-right:before{content:"\f061"}.fa.fa-arrow-up:before{content:"\f062"}.fa.fa-arrows-alt:before{content:"\f0b2"}.fa.fa-ban:before{content:"\f05e"}.fa.fa-bars:before{content:"\f0c9"}.fa.fa-bold:before{content:"\f032"}.fa.fa-bolt:before{content:"\f0e7"}.fa.fa-book:before{content:"\f02d"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-camera:before{content:"\f030"}.fa.fa-check:before{content:"\f00c"}.fa.fa-check-circle:before{content:"\f058"}.fa.fa-chevron-down:before{content:"\f078"}.fa.fa-chevron-left:before{content:"\f053"}.fa.fa-chevron-right:before{content:"\f054"}.fa.fa-chevron-up:before{content:"\f077"}.fa.fa-circle-o:before{content:"\f10c"}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-clone:before{content:"\f24d"}.fa.fa-cloud:before{content:"\f0c2"}.fa.fa-code:before{content:"\f121"}.fa.fa-cog:before{content:"\f013"}.fa.fa-columns:before{content:"\f0db"}.fa.fa-comment-o:before{content:"\f0e5"}.fa.fa-commenting:before{content:"\f27a"}.fa.fa-comments:before{content:"\f086"}.fa.fa-dashboard:before{content:"\f0e4"}.fa.fa-diamond:before{content:"\f219"}.fa.fa-download:before{content:"\f019"}.fa.fa-edit:before{content:"\f044"}.fa.fa-envelope:before{content:"\f0e0"}.fa.fa-eraser:before{content:"\f12d"}.fa.fa-exclamation-circle:before{content:"\f06a"}.fa.fa-external-link:before{content:"\f08e"}.fa.fa-eye:before{content:"\f06e"}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-text-o:before{content:"\f0f6"}.fa.fa-fire:before{content:"\f06d"}.fa.fa-folder-open-o:before{content:"\f115"}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-heart:before{content:"\f004"}.fa.fa-heart-o:before{content:"\f08a"}.fa.fa-home:before{content:"\f015"}.fa.fa-id-card-o:before{content:"\f2c3"}.fa.fa-italic:before{content:"\f033"}.fa.fa-link:before{content:"\f0c1"}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-list-ol:before{content:"\f0cb"}.fa.fa-list-ul:before{content:"\f0ca"}.fa.fa-minus:before{content:"\f068"}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-music:before{content:"\f001"}.fa.fa-paint-brush:before{content:"\f1fc"}.fa.fa-paper-plane:before{content:"\f1d8"}.fa.fa-pause:before{content:"\f04c"}.fa.fa-pencil:before{content:"\f040"}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-play:before{content:"\f04b"}.fa.fa-plus:before{content:"\f067"}.fa.fa-qq:before{content:"\f1d6"}.fa.fa-qrcode:before{content:"\f029"}.fa.fa-question-circle:before{content:"\f059"}.fa.fa-quote-left:before{content:"\f10d"}.fa.fa-random:before{content:"\f074"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-repeat:before{content:"\f01e"}.fa.fa-reply:before{content:"\f112"}.fa.fa-retweet:before{content:"\f079"}.fa.fa-road:before{content:"\f018"}.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-save:before{content:"\f0c7"}.fa.fa-search:before{content:"\f002"}.fa.fa-search-minus:before{content:"\f010"}.fa.fa-search-plus:before{content:"\f00e"}.fa.fa-share-alt:before{content:"\f1e0"}.fa.fa-sign-out:before{content:"\f08b"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-spinner:before{content:"\f110"}.fa.fa-star:before{content:"\f005"}.fa.fa-star-o:before{content:"\f006"}.fa.fa-step-backward:before{content:"\f048"}.fa.fa-step-forward:before{content:"\f051"}.fa.fa-strikethrough:before{content:"\f0cc"}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-table:before{content:"\f0ce"}.fa.fa-tags:before{content:"\f02c"}.fa.fa-times:before{content:"\f00d"}.fa.fa-times-circle:before{content:"\f057"}.fa.fa-trash:before{content:"\f1f8"}.fa.fa-undo:before{content:"\f0e2"}.fa.fa-upload:before{content:"\f093"}.fa.fa-user:before{content:"\f007"}.fa.fa-user-circle:before{content:"\f2bd"}.fa.fa-user-o:before{content:"\f2c0"}
.fas.fa-angle-down:before{content:"\f107"}.fas.fa-angle-left:before{content:"\f104"}.fas.fa-angle-right:before{content:"\f105"}.fas.fa-angle-up:before{content:"\f106"}.fas.fa-arrow-left:before{content:"\f060"}.fas.fa-arrow-right:before{content:"\f061"}.fas.fa-arrow-up:before{content:"\f062"}.fas.fa-arrows-alt:before{content:"\f0b2"}.fas.fa-ban:before{content:"\f05e"}.fas.fa-bars:before{content:"\f0c9"}.fas.fa-bold:before{content:"\f032"}.fas.fa-bolt:before{content:"\f0e7"}.fas.fa-book:before{content:"\f02d"}.fas.fa-calendar:before{content:"\f133"}.fas.fa-camera:before{content:"\f030"}.fas.fa-check:before{content:"\f00c"}.fas.fa-check-circle:before{content:"\f058"}.fas.fa-chevron-down:before{content:"\f078"}.fas.fa-chevron-left:before{content:"\f053"}.fas.fa-chevron-right:before{content:"\f054"}.fas.fa-chevron-up:before{content:"\f077"}.fas.fa-circle-notch:before{content:"\f1ce"}.fas.fa-cloud:before{content:"\f0c2"}.fas.fa-cloud-rain:before{content:"\f73d"}.fas.fa-cloud-showers-heavy:before{content:"\f740"}.fas.fa-cloud-sun:before{content:"\f6c4"}.fas.fa-code:before{content:"\f121"}.fas.fa-cog:before{content:"\f013"}.fas.fa-columns:before{content:"\f0db"}.fas.fa-commenting:before{content:"\f4ad"}.fas.fa-comments:before{content:"\f086"}.fas.fa-dashboard:before{content:"\f624"}.fas.fa-diamond:before{content:"\f219"}.fas.fa-download:before{content:"\f019"}.fas.fa-edit:before{content:"\f044"}.fas.fa-envelope:before{content:"\f0e0"}.fas.fa-eraser:before{content:"\f12d"}.fas.fa-exclamation-circle:before{content:"\f06a"}.fas.fa-external-link:before{content:"\f08e"}.fas.fa-eye:before{content:"\f06e"}.fas.fa-fire:before{content:"\f06d"}.fas.fa-header:before{content:"\f1dc"}.fas.fa-heart:before{content:"\f004"}.fas.fa-home:before{content:"\f015"}.fas.fa-italic:before{content:"\f033"}.fas.fa-lightbulb:before{content:"\f0eb"}.fas.fa-link:before{content:"\f0c1"}.fas.fa-linkedin:before{content:"\f08c"}.fas.fa-list-ol:before{content:"\f0cb"}.fas.fa-list-ul:before{content:"\f0ca"}.fas.fa-minus:before{content:"\f068"}.fas.fa-music:before{content:"\f001"}.fas.fa-paint-brush:before{content:"\f1fc"}.fas.fa-paper-plane:before{content:"\f1d8"}.fas.fa-pause:before{content:"\f04c"}.fas.fa-pencil:before{content:"\f303"}.fas.fa-play:before{content:"\f04b"}.fas.fa-plus:before{content:"\2b"}.fas.fa-qq:before{content:"\f1d6"}.fas.fa-qrcode:before{content:"\f029"}.fas.fa-question-circle:before{content:"\f059"}.fas.fa-quote-left:before{content:"\f10d"}.fas.fa-random:before{content:"\f074"}.fas.fa-refresh:before{content:"\f021"}.fas.fa-repeat:before{content:"\f363"}.fas.fa-reply:before{content:"\f3e5"}.fas.fa-retweet:before{content:"\f079"}.fas.fa-road:before{content:"\f018"}.fas.fa-rotate-right:before{content:"\f2f9"}.fas.fa-save:before{content:"\f0c7"}.fas.fa-search:before{content:"\f002"}.fas.fa-search-minus:before{content:"\f010"}.fas.fa-search-plus:before{content:"\f00e"}.fas.fa-share-alt:before{content:"\f1e0"}.fas.fa-sign-out:before{content:"\f08b"}.fas.fa-smog:before{content:"\f75f"}.fas.fa-snowflake:before{content:"\f2dc"}.fas.fa-sort-numeric-asc:before{content:"\f162"}.fas.fa-spinner:before{content:"\f110"}.fas.fa-star:before{content:"\f005"}.fas.fa-step-backward:before{content:"\f048"}.fas.fa-step-forward:before{content:"\f051"}.fas.fa-strikethrough:before{content:"\f0cc"}.fas.fa-sun:before{content:"\f185"}.fas.fa-table:before{content:"\f0ce"}.fas.fa-tags:before{content:"\f02c"}.fas.fa-thumbtack:before{content:"\f08d"}.fas.fa-times:before{content:"\f00d"}.fas.fa-times-circle:before{content:"\f057"}.fas.fa-trash:before{content:"\f1f8"}.fas.fa-trash-alt:before{content:"\f2ed"}.fas.fa-undo:before{content:"\f0e2"}.fas.fa-upload:before{content:"\f093"}.fas.fa-user:before{content:"\f007"}.fas.fa-user-circle:before{content:"\f2bd"}.fa-solid.fa-angle-down:before{content:"\f107"}.fa-solid.fa-angle-left:before{content:"\f104"}.fa-solid.fa-angle-right:before{content:"\f105"}.fa-solid.fa-angle-up:before{content:"\f106"}.fa-solid.fa-arrow-left:before{content:"\f060"}.fa-solid.fa-arrow-right:before{content:"\f061"}.fa-solid.fa-arrow-up:before{content:"\f062"}.fa-solid.fa-arrows-alt:before{content:"\f0b2"}.fa-solid.fa-ban:before{content:"\f05e"}.fa-solid.fa-bars:before{content:"\f0c9"}.fa-solid.fa-bold:before{content:"\f032"}.fa-solid.fa-bolt:before{content:"\f0e7"}.fa-solid.fa-book:before{content:"\f02d"}.fa-solid.fa-calendar:before{content:"\f133"}.fa-solid.fa-camera:before{content:"\f030"}.fa-solid.fa-check:before{content:"\f00c"}.fa-solid.fa-check-circle:before{content:"\f058"}.fa-solid.fa-chevron-down:before{content:"\f078"}.fa-solid.fa-chevron-left:before{content:"\f053"}.fa-solid.fa-chevron-right:before{content:"\f054"}.fa-solid.fa-chevron-up:before{content:"\f077"}.fa-solid.fa-circle-notch:before{content:"\f1ce"}.fa-solid.fa-cloud:before{content:"\f0c2"}.fa-solid.fa-cloud-rain:before{content:"\f73d"}.fa-solid.fa-cloud-showers-heavy:before{content:"\f740"}.fa-solid.fa-cloud-sun:before{content:"\f6c4"}.fa-solid.fa-code:before{content:"\f121"}.fa-solid.fa-cog:before{content:"\f013"}.fa-solid.fa-columns:before{content:"\f0db"}.fa-solid.fa-commenting:before{content:"\f4ad"}.fa-solid.fa-comments:before{content:"\f086"}.fa-solid.fa-dashboard:before{content:"\f624"}.fa-solid.fa-diamond:before{content:"\f219"}.fa-solid.fa-download:before{content:"\f019"}.fa-solid.fa-edit:before{content:"\f044"}.fa-solid.fa-envelope:before{content:"\f0e0"}.fa-solid.fa-eraser:before{content:"\f12d"}.fa-solid.fa-exclamation-circle:before{content:"\f06a"}.fa-solid.fa-external-link:before{content:"\f08e"}.fa-solid.fa-eye:before{content:"\f06e"}.fa-solid.fa-fire:before{content:"\f06d"}.fa-solid.fa-header:before{content:"\f1dc"}.fa-solid.fa-heart:before{content:"\f004"}.fa-solid.fa-home:before{content:"\f015"}.fa-solid.fa-italic:before{content:"\f033"}.fa-solid.fa-lightbulb:before{content:"\f0eb"}.fa-solid.fa-link:before{content:"\f0c1"}.fa-solid.fa-linkedin:before{content:"\f08c"}.fa-solid.fa-list-ol:before{content:"\f0cb"}.fa-solid.fa-list-ul:before{content:"\f0ca"}.fa-solid.fa-minus:before{content:"\f068"}.fa-solid.fa-music:before{content:"\f001"}.fa-solid.fa-paint-brush:before{content:"\f1fc"}.fa-solid.fa-paper-plane:before{content:"\f1d8"}.fa-solid.fa-pause:before{content:"\f04c"}.fa-solid.fa-pencil:before{content:"\f303"}.fa-solid.fa-play:before{content:"\f04b"}.fa-solid.fa-plus:before{content:"\2b"}.fa-solid.fa-qq:before{content:"\f1d6"}.fa-solid.fa-qrcode:before{content:"\f029"}.fa-solid.fa-question-circle:before{content:"\f059"}.fa-solid.fa-quote-left:before{content:"\f10d"}.fa-solid.fa-random:before{content:"\f074"}.fa-solid.fa-refresh:before{content:"\f021"}.fa-solid.fa-repeat:before{content:"\f363"}.fa-solid.fa-reply:before{content:"\f3e5"}.fa-solid.fa-retweet:before{content:"\f079"}.fa-solid.fa-road:before{content:"\f018"}.fa-solid.fa-rotate-right:before{content:"\f2f9"}.fa-solid.fa-save:before{content:"\f0c7"}.fa-solid.fa-search:before{content:"\f002"}.fa-solid.fa-search-minus:before{content:"\f010"}.fa-solid.fa-search-plus:before{content:"\f00e"}.fa-solid.fa-share-alt:before{content:"\f1e0"}.fa-solid.fa-sign-out:before{content:"\f08b"}.fa-solid.fa-smog:before{content:"\f75f"}.fa-solid.fa-snowflake:before{content:"\f2dc"}.fa-solid.fa-sort-numeric-asc:before{content:"\f162"}.fa-solid.fa-spinner:before{content:"\f110"}.fa-solid.fa-star:before{content:"\f005"}.fa-solid.fa-step-backward:before{content:"\f048"}.fa-solid.fa-step-forward:before{content:"\f051"}.fa-solid.fa-strikethrough:before{content:"\f0cc"}.fa-solid.fa-sun:before{content:"\f185"}.fa-solid.fa-table:before{content:"\f0ce"}.fa-solid.fa-tags:before{content:"\f02c"}.fa-solid.fa-thumbtack:before{content:"\f08d"}.fa-solid.fa-times:before{content:"\f00d"}.fa-solid.fa-times-circle:before{content:"\f057"}.fa-solid.fa-trash:before{content:"\f1f8"}.fa-solid.fa-trash-alt:before{content:"\f2ed"}.fa-solid.fa-undo:before{content:"\f0e2"}.fa-solid.fa-upload:before{content:"\f093"}.fa-solid.fa-user:before{content:"\f007"}.fa-solid.fa-user-circle:before{content:"\f2bd"}
.far.fa-clone:before{content:"\f24d"}.far.fa-images:before{content:"\f302"}.far.fa-smile:before{content:"\f118"}.fa-regular.fa-clone:before{content:"\f24d"}.fa-regular.fa-images:before{content:"\f302"}.fa-regular.fa-smile:before{content:"\f118"}
