/*!
 * Font Awesome本地化完整版本
 * 包含所有常用图标和字体定义
 * 使用Unicode符号确保跨平台兼容性
 */

/* 基础样式重置 */
.fa, .fas, .far, .fab, .fal {
  display: inline-block;
  font-family: 'Segoe UI Symbol', 'Arial Unicode MS', 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  width: 1.25em;
  speak: none;
}

/* 常用图标映射 - 使用Unicode符号确保兼容性 */
.fa-scissors:before { content: '✂️'; }
.fa-cut:before { content: '✂️'; }
.fa-image:before { content: '🖼️'; }
.fa-file-image:before { content: '🖼️'; }
.fa-file-image-o:before { content: '🖼️'; }
.fa-file-alt:before { content: '📄'; }
.fa-file-text:before { content: '📄'; }
.fa-file-text-o:before { content: '📄'; }
.fa-wave-square:before { content: '〰️'; }
.fa-check-circle:before { content: '✅'; }
.fa-eye:before { content: '👁️'; }
.fa-exchange-alt:before { content: '🔄'; }
.fa-sitemap:before { content: '🗂️'; }
.fa-file-audio-o:before { content: '🎵'; }
.fa-file-audio:before { content: '🎵'; }
.fa-clock:before { content: '🕐'; }
.fa-play:before { content: '▶️'; }
.fa-pause:before { content: '⏸️'; }
.fa-stop:before { content: '⏹️'; }
.fa-upload:before { content: '📤'; }
.fa-download:before { content: '📥'; }
.fa-folder:before { content: '📁'; }
.fa-folder-open:before { content: '📂'; }
.fa-file:before { content: '📄'; }
.fa-file-o:before { content: '📄'; }
.fa-file-pdf-o:before { content: '📕'; }
.fa-file-word-o:before { content: '📝'; }
.fa-file-excel-o:before { content: '📊'; }
.fa-file-powerpoint-o:before { content: '📊'; }
.fa-file-archive-o:before { content: '🗜️'; }
.fa-file-code-o:before { content: '💻'; }
.fa-file-video-o:before { content: '🎬'; }
.fa-cog:before { content: '⚙️'; }
.fa-gear:before { content: '⚙️'; }
.fa-home:before { content: '🏠'; }
.fa-list:before { content: '📝'; }
.fa-check:before { content: '✓'; }
.fa-times:before { content: '✗'; }
.fa-plus:before { content: '+'; }
.fa-minus:before { content: '−'; }
.fa-search:before { content: '🔍'; }
.fa-refresh:before { content: '🔄'; }
.fa-sync:before { content: '🔄'; }
.fa-undo:before { content: '↶'; }
.fa-redo:before { content: '↷'; }
.fa-copy:before { content: '📋'; }
.fa-trash:before { content: '🗑️'; }
.fa-save:before { content: '💾'; }
.fa-info-circle:before { content: 'ℹ️'; }
.fa-question-circle:before { content: '❓'; }
.fa-exclamation-triangle:before { content: '⚠️'; }
.fa-exclamation-circle:before { content: '❗'; }
.fa-headphones:before { content: '🎧'; }
.fa-volume-up:before { content: '🔊'; }
.fa-volume-down:before { content: '🔉'; }
.fa-volume-off:before { content: '🔇'; }
.fa-step-backward:before { content: '⏮️'; }
.fa-step-forward:before { content: '⏭️'; }
.fa-backward:before { content: '⏪'; }
.fa-forward:before { content: '⏩'; }
.fa-fast-backward:before { content: '⏪'; }
.fa-fast-forward:before { content: '⏩'; }
.fa-eject:before { content: '⏏️'; }
.fa-expand:before { content: '⤢'; }
.fa-compress:before { content: '⤣'; }
.fa-eye-slash:before { content: '🙈'; }
.fa-flag:before { content: '🏳️'; }
.fa-mouse-pointer:before { content: '👆'; }
.fa-bars:before { content: '☰'; }
.fa-close:before { content: '✕'; }
.fa-remove:before { content: '✕'; }
.fa-pen:before { content: '✏️'; }
.fa-edit:before { content: '✏️'; }
.fa-history:before { content: '🕰️'; }
.fa-spinner:before { content: '⏳'; }
.fa-chevron-right:before { content: '▶'; }
.fa-chevron-down:before { content: '▼'; }
.fa-chevron-left:before { content: '◀'; }
.fa-chevron-up:before { content: '▲'; }
.fa-ellipsis-h:before { content: '⋯'; }
.fa-hdd-o:before { content: '💾'; }
.fa-tags:before { content: '🏷️'; }
.fa-desktop:before { content: '🖥️'; }
.fa-play-circle:before { content: '▶️'; }
.fa-film:before { content: '🎬'; }
.fa-closed-captioning:before { content: '📝'; }
.fa-music:before { content: '🎵'; }
.fa-question:before { content: '?'; }
.fa-folder-open-o:before { content: '📂'; }
.fa-table:before { content: '📊'; }

/* 尺寸类 */
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-lg { font-size: 1.33333333em; line-height: 0.75em; vertical-align: -15%; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }

/* 颜色类 */
.fa-fw { width: 1.28571429em; text-align: center; }
.fa-ul { padding-left: 0; margin-left: 2.14285714em; list-style-type: none; }
.fa-ul > li { position: relative; }
.fa-li { position: absolute; left: -2.14285714em; width: 2.14285714em; top: 0.14285714em; text-align: center; }
.fa-li.fa-lg { left: -1.85714286em; }

/* 旋转动画 */
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

@-webkit-keyframes fa-spin {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); }
}

@keyframes fa-spin {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); }
}

/* 权重类 */
.fas { font-weight: 900; }
.far { font-weight: 400; }
.fab { font-weight: 400; }

/* 边距类 */
.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eee;
  border-radius: 0.1em;
}

.fa-pull-left { float: left; }
.fa-pull-right { float: right; }
.fa.fa-pull-left { margin-right: 0.3em; }
.fa.fa-pull-right { margin-left: 0.3em; }

/* 旋转类 */
.fa-rotate-90 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }
.fa-rotate-180 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }
.fa-rotate-270 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }

.fa-flip-horizontal { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; -webkit-transform: scale(-1, 1); -ms-transform: scale(-1, 1); transform: scale(-1, 1); }
.fa-flip-vertical { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); }

/* 组合类 */
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x { line-height: inherit; }
.fa-stack-2x { font-size: 2em; }

/* 响应式支持 */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: 'FontAwesome';
    font-style: normal;
    font-weight: normal;
    src: local('Segoe UI Symbol'), local('Arial Unicode MS'), local('Apple Color Emoji'), local('Segoe UI Emoji');
  }
}

/* 兼容性修复 */
.fa {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}