/* 檔案路徑：static/css/icons.css（tools/build_icons.py 產生，不要手改）
 * 10/22 介面改版：全站圖示改成線條款（Tabler Icons 3.34.0，MIT，static/vendor/tabler-icons/）。
 * 模板照舊寫 <i class="fas fa-edit">：這裡把每個用到的 Font Awesome 名稱對到 Tabler 的字碼；
 * 沒對到的名稱照樣用 Font Awesome（core/test_icons.py:IconMappingTests 會擋）。字型只含用到的字（子集化）。 */
@font-face {
    font-family: "tabler-icons";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("../vendor/tabler-icons/fonts/tabler-icons-kls.5c88bab10d24.woff2") format("woff2");
}
.fa, .fas, .far, .fab { display: inline-block; line-height: 1; vertical-align: -0.125em; }
.fa-address-card::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f021"; }
.fa-angle-double-left::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea64"; }
.fa-angle-double-right::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea65"; }
.fa-angle-left::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea60"; }
.fa-angle-right::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea61"; }
.fa-archive::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea0b"; }
.fa-arrow-down::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea16"; }
.fa-arrow-left::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea19"; }
.fa-arrow-right::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea1f"; }
.fa-arrow-right-long::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea1f"; }
.fa-arrow-up::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea25"; }
.fa-balance-scale::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ebc2"; }
.fa-ban::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea2e"; }
.fa-bars::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ec42"; }
.fa-bell::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea35"; }
.fa-bolt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea38"; }
.fa-book::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea39"; }
.fa-book-open::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\efc5"; }
.fa-box::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea45"; }
.fa-boxes::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f2c9"; }
.fa-broom::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb8b"; }
.fa-building::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea4f"; }
.fa-calculator::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb80"; }
.fa-calendar-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea53"; }
.fa-calendar-check::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f824"; }
.fa-camera::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea54"; }
.fa-cash-register::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\fee6"; }
.fa-certificate::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ed76"; }
.fa-chart-area::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea57"; }
.fa-chart-bar::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea59"; }
.fa-chart-line::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea5c"; }
.fa-chart-pie::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea5d"; }
.fa-check::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea5e"; }
.fa-check-circle::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea67"; }
.fa-check-double::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ebaa"; }
.fa-check-square::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb28"; }
.fa-chevron-down::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea5f"; }
.fa-chevron-left::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea60"; }
.fa-chevron-right::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea61"; }
.fa-chevron-up::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea62"; }
.fa-circle-info::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eac5"; }
.fa-clipboard-check::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea6c"; }
.fa-clipboard-list::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea6d"; }
.fa-clock::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea70"; }
.fa-clone::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea7a"; }
.fa-cloud-download-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea71"; }
.fa-cloud-upload-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea75"; }
.fa-cog::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb20"; }
.fa-coins::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f65d"; }
.fa-columns::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb83"; }
.fa-copy::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea7a"; }
.fa-credit-card::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea84"; }
.fa-crown::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ed12"; }
.fa-cubes::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ee17"; }
.fa-database::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea88"; }
.fa-dollar-sign::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb84"; }
.fa-download::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea96"; }
.fa-edit::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb04"; }
.fa-ellipsis-h::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea95"; }
.fa-envelope-open-text::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eae4"; }
.fa-exchange-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f1f4"; }
.fa-exclamation-circle::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea05"; }
.fa-exclamation-triangle::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea06"; }
.fa-external-link-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea99"; }
.fa-eye::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea9a"; }
.fa-eye-slash::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ecf0"; }
.fa-file-contract::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eaa2"; }
.fa-file-excel::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f03e"; }
.fa-file-invoice::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb67"; }
.fa-file-invoice-dollar::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\efe0"; }
.fa-file-signature::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eee0"; }
.fa-filter::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eaa5"; }
.fa-globe::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb54"; }
.fa-hand-holding-usd::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f65d"; }
.fa-hand-pointer::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ef4f"; }
.fa-handshake::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f0f3"; }
.fa-heartbeat::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ef92"; }
.fa-history::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ebea"; }
.fa-home::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eac1"; }
.fa-id-badge::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f076"; }
.fa-id-card::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eac3"; }
.fa-inbox::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eac4"; }
.fa-industry::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f082"; }
.fa-info-circle::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eac5"; }
.fa-key::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eac7"; }
.fa-layer-group::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eef7"; }
.fa-lightbulb::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea51"; }
.fa-link::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eade"; }
.fa-list::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb6b"; }
.fa-list-ol::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ef11"; }
.fa-list-ul::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb6b"; }
.fa-lock::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eae2"; }
.fa-long-arrow-alt-right::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea1f"; }
.fa-magic::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ebcb"; }
.fa-map-marker-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eae8"; }
.fa-minus-square::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb29"; }
.fa-money-bill-wave::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ee25"; }
.fa-money-check-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea55"; }
.fa-mug-hot::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eafb"; }
.fa-pen::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb04"; }
.fa-percent::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ecf4"; }
.fa-plus::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb0b"; }
.fa-plus-circle::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea69"; }
.fa-plus-square::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb2a"; }
.fa-print::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb0e"; }
.fa-question-circle::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f91d"; }
.fa-receipt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\edfd"; }
.fa-recycle::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb9b"; }
.fa-redo::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb13"; }
.fa-road::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f018"; }
.fa-route::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb17"; }
.fa-save::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb62"; }
.fa-search::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb1c"; }
.fa-search-dollar::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ef0a"; }
.fa-share-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb21"; }
.fa-shield-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb24"; }
.fa-shipping-fast::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ec4b"; }
.fa-sign-in-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eba7"; }
.fa-sign-out-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eba8"; }
.fa-sitemap::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb9d"; }
.fa-sliders-h::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ec38"; }
.fa-spinner::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f226"; }
.fa-square::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb2c"; }
.fa-star::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb2e"; }
.fa-sticky-note::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb6d"; }
.fa-store::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea4e"; }
.fa-stream::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f031"; }
.fa-table::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eba1"; }
.fa-tachometer-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eab1"; }
.fa-tag::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\10096"; }
.fa-tags::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ef86"; }
.fa-tasks::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb6a"; }
.fa-th::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\edba"; }
.fa-times::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb55"; }
.fa-times-circle::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea6a"; }
.fa-tools::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb40"; }
.fa-trash::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb41"; }
.fa-trash-alt::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb41"; }
.fa-triangle-exclamation::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ea06"; }
.fa-truck::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ebc4"; }
.fa-truck-loading::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f1da"; }
.fa-truck-moving::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ebc4"; }
.fa-undo::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb77"; }
.fa-unlink::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb46"; }
.fa-unlock::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eae1"; }
.fa-upload::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb47"; }
.fa-user::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb4d"; }
.fa-user-check::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb49"; }
.fa-user-circle::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ef68"; }
.fa-user-clock::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\fd1f"; }
.fa-user-cog::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f9d4"; }
.fa-user-edit::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f7cc"; }
.fa-user-friends::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\fa21"; }
.fa-user-lock::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f7d0"; }
.fa-user-plus::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb4b"; }
.fa-user-shield::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f7d0"; }
.fa-user-tag::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\fc51"; }
.fa-user-tie::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f7d1"; }
.fa-users::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ebf2"; }
.fa-wallet::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\eb75"; }
.fa-weight::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\ebc2"; }
.fa-weight-hanging::before { font-family: "tabler-icons" !important; font-weight: 400 !important; content: "\f589"; }
