/* ═══════════════════════════════════════════════════
   Bilibili Icon Font Library v1.0
   uumi.cloud/css/bilibili-icons.css
   字体目录：uumi.cloud/fonts/

   引用方式：
   <link rel="stylesheet" href="https://uumi.cloud/css/bilibili-icons.css">

   图标使用：
   <i class="bili-icon bili-home"></i>
   <i class="bili-icon bili-bp-danmu"></i>
   <i class="bili-icon bili-bcc-home"></i>
   ═══════════════════════════════════════════════════ */

/* ── 基础类 ─────────────────────────────────────── */
.bili-icon {
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  vertical-align: -0.125em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── freshspace ─────────────────────────────────── */
@font-face {
  font-family: 'bili-fresh';
  src: url('https://uumi.cloud/fonts/freshspace-zpjpp3aqht.woff2') format('woff2'),
       url('https://uumi.cloud/fonts/freshspace-zpjpp3aqht-colrv0.woff') format('woff'),
       url('https://uumi.cloud/fonts/freshspace-zpjpp3aqht.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ── bp-icon-font ───────────────────────────────── */
@font-face {
  font-family: 'bili-bp';
  src: url('https://uumi.cloud/fonts/bp-icon-font.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ── bcc-iconfont ───────────────────────────────── */
@font-face {
  font-family: 'bili-bcc';
  src: url('https://uumi.cloud/fonts/iconfont.eot');
  src: url('https://uumi.cloud/fonts/iconfont.eot#iefix') format('embedded-opentype'),
       url('https://uumi.cloud/fonts/bcc-iconfont.woff2') format('woff2'),
       url('https://uumi.cloud/fonts/iconfont.woff') format('woff'),
       url('https://uumi.cloud/fonts/iconfont.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ── freshspace 默认绑定 ────────────────────────── */
.bili-icon,
[class^="bili-"]:not([class*="bili-bp-"]):not([class*="bili-bcc-"]):not(.bili-icon-bp):not(.bili-icon-bcc),
[class*=" bili-"]:not([class*="bili-bp-"]):not([class*="bili-bcc-"]):not(.bili-icon-bp):not(.bili-icon-bcc) {
  font-family: 'bili-fresh' !important;
}

/* ── bp-icon-font 绑定 ──────────────────────────── */
.bili-icon-bp,
[class^="bili-bp-"],
[class*=" bili-bp-"] {
  font-family: 'bili-bp' !important;
  -webkit-text-stroke-width: 0.2px;
}

/* ── bcc-iconfont 绑定 ──────────────────────────── */
.bili-icon-bcc,
[class^="bili-bcc-"],
[class*=" bili-bcc-"] {
  font-family: 'bili-bcc' !important;
}

/* ═══════════════════════════════════════════════════
   freshspace 图标映射（76个）
   ═══════════════════════════════════════════════════ */
.bili-add::before            { content: "\e000"; }
.bili-more-v::before         { content: "\e001"; }
.bili-home::before           { content: "\e002"; }
.bili-dynamic::before        { content: "\e003"; }
.bili-star::before           { content: "\e004"; }
.bili-heart::before          { content: "\e005"; }
.bili-setting::before        { content: "\e006"; }
.bili-male::before           { content: "\e007"; }
.bili-female::before         { content: "\e008"; }
.bili-search::before         { content: "\e009"; }
.bili-expand::before         { content: "\e00a"; }
.bili-copy::before           { content: "\e00b"; }
.bili-follow::before         { content: "\e00c"; }
.bili-user-info::before      { content: "\e00d"; }
.bili-following::before      { content: "\e00e"; }
.bili-arrow-right::before    { content: "\e00f"; }
.bili-arrow-right-l::before  { content: "\e010"; }
.bili-eye-off::before        { content: "\e011"; }
.bili-eye::before            { content: "\e012"; }
.bili-check::before          { content: "\e013"; }
.bili-menu::before           { content: "\e014"; }
.bili-playdata::before       { content: "\e015"; }
.bili-uploader::before       { content: "\e016"; }
.bili-danmu::before          { content: "\e017"; }
.bili-play-next::before      { content: "\e018"; }
.bili-play-fav::before       { content: "\e019"; }
.bili-submit::before         { content: "\e01a"; }
.bili-school::before         { content: "\e01b"; }
.bili-tag::before            { content: "\e01c"; }
.bili-job::before            { content: "\e01d"; }
.bili-cake::before           { content: "\e01e"; }
.bili-uid::before            { content: "\e01f"; }
.bili-close::before          { content: "\e020"; }
.bili-live::before           { content: "\e021"; }
.bili-upload::before         { content: "\e022"; }
.bili-bell::before           { content: "\e023"; }
.bili-bell-live::before      { content: "\e024"; }
.bili-gift::before           { content: "\e025"; }
.bili-playtime::before       { content: "\e026"; }
.bili-thumbup::before        { content: "\e027"; }
.bili-history::before        { content: "\e028"; }
.bili-refresh::before        { content: "\e029"; }
.bili-folder-add::before     { content: "\e02a"; }
.bili-play::before           { content: "\e02b"; }
.bili-grid::before           { content: "\e02c"; }
.bili-list::before           { content: "\e02d"; }
.bili-archive::before        { content: "\e02e"; }
.bili-topic::before          { content: "\e02f"; }
.bili-anime-topic::before    { content: "\e030"; }
.bili-delete::before         { content: "\e031"; }
.bili-collapse::before       { content: "\e032"; }
.bili-audio::before          { content: "\e033"; }
.bili-back::before           { content: "\e034"; }
.bili-battery::before        { content: "\e035"; }
.bili-star-fill::before      { content: "\e036"; }
.bili-thumbup-fill::before   { content: "\e037"; }
.bili-theme::before          { content: "\e038"; }
.bili-fav::before            { content: "\e039"; }
.bili-tag-outline::before    { content: "\e03a"; }
.bili-close-circle::before   { content: "\e03b"; }
.bili-lock::before           { content: "\e03c"; }
.bili-classroom::before      { content: "\e03d"; }
.bili-arrow-up::before       { content: "\e03e"; }
.bili-share::before          { content: "\e03f"; }
.bili-star-half::before      { content: "\e040"; }
.bili-lock-fill::before      { content: "\e041"; }
.bili-lv0::before            { content: "\e042"; }
.bili-lv1::before            { content: "\e043"; }
.bili-lv2::before            { content: "\e044"; }
.bili-lv3::before            { content: "\e045"; }
.bili-lv4::before            { content: "\e046"; }
.bili-lv5::before            { content: "\e047"; }
.bili-lv6::before            { content: "\e048"; }
.bili-lv6-flash::before      { content: "\e049"; }
.bili-report::before         { content: "\e04a"; }
.bili-share-line::before     { content: "\e04b"; }
.bili-report-circle::before  { content: "\e04c"; }
.bili-help::before           { content: "\e04d"; }

/* ═══════════════════════════════════════════════════
   bp-icon-font 图标映射（28个）
   ═══════════════════════════════════════════════════ */
.bili-bp-add::before          { content: "\E001"; }
.bili-bp-tri-left::before     { content: "\E002"; }
.bili-bp-tri-right::before    { content: "\E003"; }
.bili-bp-close::before        { content: "\E004"; }
.bili-bp-danmu::before        { content: "\E005"; }
.bili-bp-emoji::before        { content: "\E006"; }
.bili-bp-warning::before      { content: "\E007"; }
.bili-bp-good::before         { content: "\E008"; }
.bili-bp-group-dyn::before    { content: "\E009"; }
.bili-bp-timer::before        { content: "\E00A"; }
.bili-bp-info::before         { content: "\E00B"; }
.bili-bp-alert::before        { content: "\E00C"; }
.bili-bp-forbid::before       { content: "\E00D"; }
.bili-bp-left-dyn::before     { content: "\E00E"; }
.bili-bp-link::before         { content: "\E00F"; }
.bili-bp-lottery::before      { content: "\E010"; }
.bili-bp-more::before         { content: "\E011"; }
.bili-bp-pic::before          { content: "\E012"; }
.bili-bp-play::before         { content: "\E013"; }
.bili-bp-right-dyn::before    { content: "\E014"; }
.bili-bp-processing::before   { content: "\E015"; }
.bili-bp-sq-dyn::before       { content: "\E016"; }
.bili-bp-ss-dyn::before       { content: "\E017"; }
.bili-bp-top::before          { content: "\E018"; }
.bili-bp-topic::before        { content: "\E019"; }
.bili-bp-vote::before         { content: "\E01A"; }
.bili-bp-vote-create::before  { content: "\E01B"; }
.bili-bp-html::before         { content: "\E01C"; }

/* ═══════════════════════════════════════════════════
   bcc-iconfont 图标映射（68个）
   ═══════════════════════════════════════════════════ */
.bili-bcc-del-draft::before    { content: "\e6aa"; }
.bili-bcc-danmu-mgr::before    { content: "\e6ab"; }
.bili-bcc-comment-mgr::before  { content: "\e6ac"; }
.bili-bcc-edit-log::before     { content: "\e6ad"; }
.bili-bcc-collect::before      { content: "\e6ae"; }
.bili-bcc-share-draft::before  { content: "\e6af"; }
.bili-bcc-edit-draft::before   { content: "\e6b0"; }
.bili-bcc-personalize::before  { content: "\e6a9"; }
.bili-bcc-announce::before     { content: "\e6a8"; }
.bili-bcc-img-upload::before   { content: "\e6a7"; }
.bili-bcc-audio-upload::before { content: "\e6a6"; }
.bili-bcc-inter-upload::before { content: "\e6a5"; }
.bili-bcc-video-upload::before { content: "\e6a3"; }
.bili-bcc-col-upload::before   { content: "\e6a4"; }
.bili-bcc-change::before       { content: "\e6a2"; }
.bili-bcc-audit::before        { content: "\e6a1"; }
.bili-bcc-time::before         { content: "\e6a0"; }
.bili-bcc-warn::before         { content: "\e69f"; }
.bili-bcc-playback::before     { content: "\e690"; }
.bili-bcc-barrage::before      { content: "\e691"; }
.bili-bcc-likes::before        { content: "\e692"; }
.bili-bcc-contrib::before      { content: "\e693"; }
.bili-bcc-warn-x::before       { content: "\e694"; }
.bili-bcc-share::before        { content: "\e695"; }
.bili-bcc-comment::before      { content: "\e696"; }
.bili-bcc-collection::before   { content: "\e697"; }
.bili-bcc-list-more::before    { content: "\e698"; }
.bili-bcc-playlist::before     { content: "\e699"; }
.bili-bcc-ranking::before      { content: "\e69a"; }
.bili-bcc-medium::before       { content: "\e69b"; }
.bili-bcc-medium1::before      { content: "\e69c"; }
.bili-bcc-medium-bak::before   { content: "\e69d"; }
.bili-bcc-reward::before       { content: "\e69e"; }
.bili-bcc-lv1::before          { content: "\e687"; }
.bili-bcc-lv2::before          { content: "\e688"; }
.bili-bcc-lv3::before          { content: "\e689"; }
.bili-bcc-lv4::before          { content: "\e68a"; }
.bili-bcc-lv5::before          { content: "\e68b"; }
.bili-bcc-lv6::before          { content: "\e68c"; }
.bili-bcc-lv7::before          { content: "\e68d"; }
.bili-bcc-lv8::before          { content: "\e68e"; }
.bili-bcc-lv9::before          { content: "\e68f"; }
.bili-bcc-lvx::before          { content: "\e686"; }
.bili-bcc-player::before       { content: "\e684"; }
.bili-bcc-rank::before         { content: "\e685"; }
.bili-bcc-sort-un::before      { content: "\e682"; }
.bili-bcc-sort-on::before      { content: "\e683"; }
.bili-bcc-shape::before        { content: "\e681"; }
.bili-bcc-mall-old::before     { content: "\e680"; }
.bili-bcc-mall::before         { content: "\e67f"; }
.bili-bcc-course::before       { content: "\e67e"; }
.bili-bcc-sys-err::before      { content: "\e67b"; }
.bili-bcc-sys-tip::before      { content: "\e67c"; }
.bili-bcc-success::before      { content: "\e67d"; }
.bili-bcc-unprotect::before    { content: "\e67a"; }
.bili-bcc-task-del::before     { content: "\e678"; }
.bili-bcc-protect::before      { content: "\e679"; }
.bili-bcc-exit::before         { content: "\e671"; }
.bili-bcc-shop::before         { content: "\e672"; }
.bili-bcc-manage::before       { content: "\e673"; }
.bili-bcc-livecenter::before   { content: "\e674"; }
.bili-bcc-wallet::before       { content: "\e675"; }
.bili-bcc-order::before        { content: "\e676"; }
.bili-bcc-personal::before     { content: "\e677"; }
.bili-bcc-tick::before         { content: "\e670"; }
.bili-bcc-default::before      { content: "\e66f"; }
.bili-bcc-selected::before     { content: "\e66e"; }
.bili-bcc-search::before       { content: "\e66d"; }
.bili-bcc-contribute::before   { content: "\e66c"; }
.bili-bcc-message::before      { content: "\e66b"; }
.bili-bcc-setting::before      { content: "\e66a"; }
.bili-bcc-experiment::before   { content: "\e669"; }
.bili-bcc-college::before      { content: "\e668"; }
.bili-bcc-earnings::before     { content: "\e667"; }
.bili-bcc-data::before         { content: "\e666"; }
.bili-bcc-content::before      { content: "\e665"; }
.bili-bcc-home::before         { content: "\e650"; }
.bili-bcc-more::before         { content: "\e643"; }
.bili-bcc-delete::before       { content: "\e645"; }
.bili-bcc-growth::before       { content: "\e649"; }
.bili-bcc-enter::before        { content: "\e64a"; }
.bili-bcc-dropdown::before     { content: "\e64b"; }
.bili-bcc-fans::before         { content: "\e64d"; }
.bili-bcc-kefu::before         { content: "\e64e"; }
.bili-bcc-info::before         { content: "\e64f"; }
.bili-bcc-download::before     { content: "\e651"; }
.bili-bcc-pull::before         { content: "\e654"; }
.bili-bcc-placed::before       { content: "\e655"; }
.bili-bcc-help::before         { content: "\e656"; }
.bili-bcc-lab::before          { content: "\e657"; }
.bili-bcc-recommend::before    { content: "\e658"; }
.bili-bcc-history::before      { content: "\e659"; }
.bili-bcc-cmt-mgr::before      { content: "\e65a"; }
.bili-bcc-about::before        { content: "\e65b"; }
.bili-bcc-recommend-l::before  { content: "\e65c"; }
.bili-bcc-close::before        { content: "\e65d"; }
.bili-bcc-nav-home::before     { content: "\e65e"; }
.bili-bcc-feedback::before     { content: "\e65f"; }
.bili-bcc-tag::before          { content: "\e660"; }
.bili-bcc-logo::before         { content: "\e661"; }
.bili-bcc-interactive::before  { content: "\e662"; }
.bili-bcc-tag1::before         { content: "\e663"; }
.bili-bcc-tag2::before         { content: "\e664"; }