@font-face {
    font-family: 'SourceHanSerifSC';
    src: local('Source Han Serif SC'),
         local('SourceHanSerifSC'),
         url('../../fonts/SourceHanSerifSC-VF.otf.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2A700-2B73F, U+2B740-2B81F, U+2B820-2CEAF, U+F900-FAFF, U+2F800-2FA1F;
}

@font-face {
    font-family: 'SimpleLineIcons';
    src: url('../../fonts/Simple-Line-Icons.ttf') format('truetype'),
         url('../../fonts/Simple-Line-Icons.woff') format('woff'),
         url('../../fonts/Simple-Line-Icons.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
    unicode-range: U+E001-E0A0;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 16px;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: 'kern' 1, 'liga' 1;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'SourceHanSerifSC', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    font-weight: 700;
    letter-spacing: -0.3px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.font-serif {
    font-family: 'SourceHanSerifSC', 'Times New Roman', Times, serif;
    font-feature-settings: 'kern' 1, 'liga' 1;
}

.font-icon {
    font-family: 'SimpleLineIcons', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.font-icon:before {
    content: attr(data-icon);
}

@supports not (font-display: swap) {
    @font-face {
        font-family: 'SourceHanSerifSC';
        src: url('../../fonts/SourceHanSerifSC-VF.otf.woff2') format('woff2');
        font-weight: 100 900;
        font-style: normal;
    }
    
    @font-face {
        font-family: 'SimpleLineIcons';
        src: url('../../fonts/Simple-Line-Icons.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }
}

@font-face {
    font-family: 'SourceHanSerifSC-fallback';
    src: local('Songti SC'), local('SimSun'), local('serif');
    font-weight: 100 900;
    font-style: normal;
    unicode-range: U+4E00-9FFF, U+3400-4DBF;
}

@font-face {
    font-family: 'SimpleLineIcons-fallback';
    src: local('Arial'), local('sans-serif');
    font-weight: normal;
    font-style: normal;
    unicode-range: U+E001-E0A0;
}

.font-loading {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.font-loaded {
    opacity: 1;
}

.font-error {
    font-family: 'SourceHanSerifSC-fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif !important;
}