summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--README_CN.md4
-rw-r--r--assets/js/fuji.js15
-rw-r--r--assets/scss/_primer/LICENSE2
-rw-r--r--assets/scss/_primer/base/base.scss9
-rw-r--r--assets/scss/_primer/base/kbd.scss11
-rw-r--r--assets/scss/_primer/base/normalize.scss2
-rw-r--r--assets/scss/_primer/markdown/blob-csv.scss4
-rw-r--r--assets/scss/_primer/markdown/code.scss5
-rw-r--r--assets/scss/_primer/markdown/headings.scss8
-rw-r--r--assets/scss/_primer/markdown/images.scss7
-rw-r--r--assets/scss/_primer/markdown/lists.scss23
-rw-r--r--assets/scss/_primer/markdown/markdown-body.scss8
-rw-r--r--assets/scss/_primer/markdown/tables.scss12
-rw-r--r--assets/scss/_primer/support/index.scss3
-rw-r--r--assets/scss/_primer/support/mixins/buttons.scss172
-rw-r--r--assets/scss/_primer/support/mixins/color-modes.scss106
-rw-r--r--assets/scss/_primer/support/mixins/misc.scss21
-rw-r--r--assets/scss/_primer/support/variables/color-system.scss243
-rw-r--r--assets/scss/_primer/support/variables/colors.scss55
-rw-r--r--assets/scss/_primer/support/variables/layout.scss69
-rw-r--r--assets/scss/_primer/support/variables/misc.scss29
-rw-r--r--assets/scss/_primer/support/variables/typography.scss3
-rw-r--r--assets/scss/_primer/utilities/layout.scss37
-rw-r--r--assets/scss/_var.scss24
-rw-r--r--exampleSite/config.toml3
-rw-r--r--exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content2
-rw-r--r--layouts/404.html2
-rw-r--r--layouts/_default/baseof.html7
-rw-r--r--layouts/_default/search.html2
-rw-r--r--layouts/_default/single.html2
-rw-r--r--layouts/partials/analytic-cfga.html2
-rw-r--r--layouts/partials/analytic-gtag.html2
-rw-r--r--layouts/partials/comment-disqus.html2
-rw-r--r--layouts/partials/comment-disqusjs.html4
-rw-r--r--layouts/partials/favicon.html2
-rw-r--r--layouts/partials/head.html4
-rw-r--r--layouts/partials/math.html6
-rw-r--r--layouts/partials/scripts-end.html4
-rw-r--r--layouts/partials/scripts-front.html2
-rw-r--r--layouts/partials/sidebar.html4
-rw-r--r--layouts/partials/styles.html2
-rw-r--r--layouts/shortcodes/aplayer.html2
-rw-r--r--layouts/shortcodes/img-lazy.html2
-rw-r--r--layouts/shortcodes/img-nz-lazy.html2
-rw-r--r--layouts/shortcodes/img-nz.html2
-rw-r--r--layouts/shortcodes/math.html2
-rw-r--r--layouts/shortcodes/table-dense.html2
-rw-r--r--package.json4
-rw-r--r--resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content2
50 files changed, 318 insertions, 628 deletions
diff --git a/README.md b/README.md
index 671c6e5..438f3b9 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ Fuji is a minimal Hugo theme with full dark mode support and GitHub Primer markd
> Checkout the brand new [VSCode Aofuji Light Theme](https://github.com/dsrkafuu/vscode-theme-aofuji) which has similar color scheme to [Aofuji](https://github.com/dsrkafuu/hugo-template-aofuji)!
-Supported languages: `cs`, `en`, `ja`, `nl`, `pt-pt`, `zh-hans`, `zh-hant`. Check the i18n folder to add more languages.
+Supported languages: `cs`, `de`, `en`, `eo`, `fr`, `ja`, `nl`, `pl`, `pt-pt`, `zh-hans`, `zh-hant`. Check the i18n folder to add more languages.
## 📑 Table of contents
@@ -252,8 +252,6 @@ Feel free to use the [issue tracker](https://github.com/dsrkafuu/hugo-theme-fuji
## 📝 License
-<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji?ref=badge_large" alt="FOSSA Status"><img align="right" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji.svg?type=large"/></a>
-
The theme is released under the `Apache License 2.0`, for more information read the [License](https://github.com/dsrkafuu/hugo-theme-fuji/blob/master/LICENSE).
- [Primer CSS - MIT](https://github.com/primer/css/blob/master/LICENSE)
diff --git a/README_CN.md b/README_CN.md
index 4ff2dda..df0e4f4 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -10,7 +10,7 @@
> 介绍一个全新的亮色 VSCode 主题 [Aofuji Light Theme](https://github.com/dsrkafuu/vscode-theme-aofuji),它的配色方案继承自 [Aofuji](https://github.com/amzrk2/hugo-template-aofuji)!
-支持的 i18n 语言:`cs`, `en`, `ja`, `nl`, `pt-pt`, `zh-hans`, `zh-hant`。i18n 文件夹内为所有语言文件。
+支持的 i18n 语言:`cs`, `de`, `en`, `eo`, `fr`, `ja`, `nl`, `pl`, `pt-pt`, `zh-hans`, `zh-hant`。i18n 文件夹内为所有语言文件。
## 目录
@@ -250,8 +250,6 @@ To override SCSS rules, create `[SITEROOT]/assets/scss/_custom_rules.scss`. This
## 📝 License
-<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji?ref=badge_large" alt="FOSSA Status"><img align="right" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji.svg?type=large"/></a>
-
The theme is released under the `Apache License 2.0`, for more information read the [License](https://github.com/dsrkafuu/hugo-theme-fuji/blob/master/LICENSE).
- [Primer CSS - MIT](https://github.com/primer/css/blob/master/LICENSE)
diff --git a/assets/js/fuji.js b/assets/js/fuji.js
index d2eab58..ed10d17 100644
--- a/assets/js/fuji.js
+++ b/assets/js/fuji.js
@@ -58,6 +58,7 @@ function updateUtterancesTheme(utterancesFrame) {
document.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {
let nowTheme = getNowTheme();
let domTheme = document.body.getAttribute('data-theme');
+ const needAuto = document.body.getAttribute('data-theme-auto') === 'true';
let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
if (domTheme === 'auto') {
@@ -65,15 +66,13 @@ document.querySelector('.btn .btn-toggle-mode').addEventListener('click', () =>
document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');
localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');
} else if (domTheme === 'light') {
- // if now in user mode and light mode
- document.body.setAttribute('data-theme', 'dark');
- // if the theme want to switch is system theme
- localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');
+ const tar = systemTheme === 'dark' ? (needAuto ? 'auto' : 'dark') : 'dark';
+ document.body.setAttribute('data-theme', tar);
+ localStorage.setItem('fuji_data-theme', tar);
} else {
- // if now in user mode and dark mode
- document.body.setAttribute('data-theme', 'light');
- // if the theme want to switch is system theme
- localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');
+ const tar = systemTheme === 'light' ? (needAuto ? 'auto' : 'light') : 'light';
+ document.body.setAttribute('data-theme', tar);
+ localStorage.setItem('fuji_data-theme', tar);
}
// switch comment area theme
diff --git a/assets/scss/_primer/LICENSE b/assets/scss/_primer/LICENSE
index 71fbac5..4a03ad6 100644
--- a/assets/scss/_primer/LICENSE
+++ b/assets/scss/_primer/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2018 GitHub Inc.
+Copyright (c) 2021 GitHub Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/assets/scss/_primer/base/base.scss b/assets/scss/_primer/base/base.scss
index 381fa89..8b6fbb0 100644
--- a/assets/scss/_primer/base/base.scss
+++ b/assets/scss/_primer/base/base.scss
@@ -16,12 +16,12 @@ body {
font-family: $body-font;
font-size: $body-font-size;
line-height: $body-line-height;
- color: $text-gray-dark;
- background-color: $bg-white;
+ color: var(--color-text-primary);
+ background-color: var(--color-bg-canvas);
}
a {
- color: $text-blue;
+ color: var(--color-text-link);
text-decoration: none;
&:hover {
@@ -45,8 +45,7 @@ hr,
overflow: hidden;
background: transparent;
border: 0;
- // stylelint-disable-next-line primer/borders
- border-bottom: $border-width $border-style lighten($gray-300, 5%);
+ border-bottom: $border-width $border-style var(--color-border-secondary);
@include clearfix();
}
diff --git a/assets/scss/_primer/base/kbd.scss b/assets/scss/_primer/base/kbd.scss
index 7ee4503..033c03a 100644
--- a/assets/scss/_primer/base/kbd.scss
+++ b/assets/scss/_primer/base/kbd.scss
@@ -8,14 +8,13 @@ kbd {
font: 11px $mono-font;
// stylelint-disable-next-line primer/typography
line-height: 10px;
- // stylelint-disable-next-line primer/colors
- color: $gray-700;
+ color: var(--color-text-primary);
vertical-align: middle;
- background-color: $bg-gray-light;
+ background-color: var(--color-bg-secondary);
// stylelint-disable-next-line primer/borders
- border: $border-style $border-width $border-gray-dark;
- border-bottom-color: $border-gray-dark;
+ border: $border-style $border-width var(--color-border-tertiary);
+ border-bottom-color: var(--color-border-tertiary);
border-radius: $border-radius;
// stylelint-disable-next-line primer/box-shadow
- box-shadow: inset 0 -1px 0 $border-gray-dark;
+ box-shadow: inset 0 -1px 0 var(--color-border-tertiary);
}
diff --git a/assets/scss/_primer/base/normalize.scss b/assets/scss/_primer/base/normalize.scss
index 95931e7..6a1e3c1 100644
--- a/assets/scss/_primer/base/normalize.scss
+++ b/assets/scss/_primer/base/normalize.scss
@@ -162,7 +162,7 @@ h1 {
mark {
background-color: #ff0;
- color: $text-black;
+ color: var(--color-text-primary);
}
/**
diff --git a/assets/scss/_primer/markdown/blob-csv.scss b/assets/scss/_primer/markdown/blob-csv.scss
index e97e447..be7d257 100644
--- a/assets/scss/_primer/markdown/blob-csv.scss
+++ b/assets/scss/_primer/markdown/blob-csv.scss
@@ -15,7 +15,7 @@
// stylelint-disable-next-line primer/spacing
padding: 10px $spacer-2 9px;
text-align: right;
- background: $bg-white;
+ background: var(--color-bg-primary);
border: 0;
}
@@ -23,7 +23,7 @@
th {
font-weight: $font-weight-bold;
- background: $bg-gray;
+ background: var(--color-bg-tertiary);
border-top: 0;
}
}
diff --git a/assets/scss/_primer/markdown/code.scss b/assets/scss/_primer/markdown/code.scss
index fbd2d16..5ed6a6c 100644
--- a/assets/scss/_primer/markdown/code.scss
+++ b/assets/scss/_primer/markdown/code.scss
@@ -8,8 +8,7 @@
margin: 0;
// stylelint-disable-next-line primer/typography
font-size: 85%;
- // stylelint-disable-next-line primer/colors
- background-color: rgba($black, 0.05);
+ background-color: var(--color-markdown-code-bg);
border-radius: $border-radius;
br { display: none; }
@@ -50,7 +49,7 @@
font-size: 85%;
// stylelint-disable-next-line primer/typography
line-height: 1.45;
- background-color: $bg-gray;
+ background-color: var(--color-bg-tertiary);
border-radius: $border-radius;
}
diff --git a/assets/scss/_primer/markdown/headings.scss b/assets/scss/_primer/markdown/headings.scss
index 26347bb..3cd86e9 100644
--- a/assets/scss/_primer/markdown/headings.scss
+++ b/assets/scss/_primer/markdown/headings.scss
@@ -15,7 +15,7 @@
line-height: $lh-condensed;
.octicon-link {
- color: $text-black;
+ color: var(--color-text-primary);
vertical-align: middle;
visibility: hidden;
}
@@ -39,7 +39,7 @@
padding-bottom: 0.3em;
// stylelint-disable-next-line primer/typography
font-size: 2em;
- border-bottom: $border-width $border-style $border-gray-light;
+ border-bottom: $border-width $border-style var(--color-border-secondary);
}
h2 {
@@ -47,7 +47,7 @@
padding-bottom: 0.3em;
// stylelint-disable-next-line primer/typography
font-size: 1.5em;
- border-bottom: $border-width $border-style $border-gray-light;
+ border-bottom: $border-width $border-style var(--color-border-secondary);
}
h3 {
@@ -67,6 +67,6 @@
h6 {
// stylelint-disable-next-line primer/typography
font-size: 0.85em;
- color: $text-gray-light;
+ color: var(--color-text-tertiary);
}
}
diff --git a/assets/scss/_primer/markdown/images.scss b/assets/scss/_primer/markdown/images.scss
index caea502..3efb011 100644
--- a/assets/scss/_primer/markdown/images.scss
+++ b/assets/scss/_primer/markdown/images.scss
@@ -8,7 +8,7 @@
// because we put padding on the images to hide header lines, and some people
// specify the width of their images in their markdown.
box-sizing: content-box;
- background-color: $bg-white;
+ background-color: var(--color-bg-primary);
&[align=right] {
// stylelint-disable-next-line primer/spacing
@@ -44,8 +44,7 @@
// stylelint-disable-next-line primer/spacing
margin: 13px 0 0;
overflow: hidden;
- // stylelint-disable-next-line primer/borders
- border: $border-width $border-style lighten($gray-300, 5%);
+ border: $border-width $border-style var(--color-markdown-frame-border);
}
span img {
@@ -58,7 +57,7 @@
// stylelint-disable-next-line primer/spacing
padding: 5px 0 0;
clear: both;
- color: $text-gray-dark;
+ color: var(--color-text-primary);
}
}
diff --git a/assets/scss/_primer/markdown/lists.scss b/assets/scss/_primer/markdown/lists.scss
index b680faf..f61233c 100644
--- a/assets/scss/_primer/markdown/lists.scss
+++ b/assets/scss/_primer/markdown/lists.scss
@@ -2,7 +2,6 @@
// stylelint-disable selector-no-qualifying-type
// stylelint-disable selector-max-type
.markdown-body {
-
// Lists, Blockquotes & Such
ul,
ol {
@@ -15,6 +14,24 @@
}
}
+ ol[type="1"] {
+ list-style-type: decimal;
+ }
+
+ ol[type="a"] {
+ list-style-type: lower-alpha;
+ }
+
+ ol[type="i"] {
+ list-style-type: lower-roman;
+ }
+
+ // Reset <ol> style to decimal (HTML default) specifically for AsciiDoc
+ // <div><ol> construction (doesn't affect MarkDown)
+ div > ol:not([type]) {
+ list-style-type: decimal;
+ }
+
// Did someone complain about list spacing? Encourage them
// to create the spacing with their markdown formatting.
// List behavior should be controled by the markup, not the css.
@@ -46,10 +63,6 @@
margin-bottom: 0;
}
- li {
- word-wrap: break-all;
- }
-
li > p {
margin-top: $spacer-3;
}
diff --git a/assets/scss/_primer/markdown/markdown-body.scss b/assets/scss/_primer/markdown/markdown-body.scss
index 6581f19..eb46ea8 100644
--- a/assets/scss/_primer/markdown/markdown-body.scss
+++ b/assets/scss/_primer/markdown/markdown-body.scss
@@ -45,7 +45,7 @@
// Link Colors
.absent {
- color: $text-red;
+ color: var(--color-text-danger);
}
.anchor {
@@ -77,16 +77,16 @@
padding: 0;
margin: $spacer-4 0;
// stylelint-disable-next-line primer/colors
- background-color: $gray-200;
+ background-color: var(--color-border-primary);
border: 0;
}
blockquote {
// stylelint-disable-next-line primer/spacing
padding: 0 1em;
- color: $text-gray-light;
+ color: var(--color-text-tertiary);
// stylelint-disable-next-line primer/borders
- border-left: 0.25em $border-style lighten($gray-300, 5%);
+ border-left: 0.25em $border-style var(--color-markdown-blockquote-border);
> :first-child {
margin-top: 0;
diff --git a/assets/scss/_primer/markdown/tables.scss b/assets/scss/_primer/markdown/tables.scss
index 5e1e0bd..83a1a9f 100644
--- a/assets/scss/_primer/markdown/tables.scss
+++ b/assets/scss/_primer/markdown/tables.scss
@@ -2,7 +2,7 @@
// stylelint-disable selector-max-type
.markdown-body {
// Tables
- table:not(.highlight) {
+ table {
display: block;
width: 100%; // keep for backwards compatibility
width: max-content;
@@ -17,17 +17,15 @@
td {
// stylelint-disable-next-line primer/spacing
padding: 6px 13px;
- // stylelint-disable-next-line primer/borders
- border: $border-width $border-style lighten($gray-300, 5%);
+ border: $border-width $border-style var(--color-markdown-table-border);
}
tr {
- background-color: $bg-white;
- // stylelint-disable-next-line primer/borders
- border-top: $border-width $border-style darken($gray-300, 4%);
+ background-color: var(--color-bg-primary);
+ border-top: $border-width $border-style var(--color-markdown-table-tr-border);
&:nth-child(2n) {
- background-color: $bg-gray;
+ background-color: var(--color-bg-tertiary);
}
}
diff --git a/assets/scss/_primer/support/index.scss b/assets/scss/_primer/support/index.scss
index 93f9449..85a2c7c 100644
--- a/assets/scss/_primer/support/index.scss
+++ b/assets/scss/_primer/support/index.scss
@@ -1,11 +1,10 @@
// variables
@import "./variables/typography.scss";
-@import "./variables/colors.scss";
@import "./variables/layout.scss";
@import "./variables/misc.scss";
// mixins
+@import "./mixins/color-modes.scss";
@import "./mixins/typography.scss";
@import "./mixins/layout.scss";
-@import "./mixins/buttons.scss";
@import "./mixins/misc.scss";
diff --git a/assets/scss/_primer/support/mixins/buttons.scss b/assets/scss/_primer/support/mixins/buttons.scss
deleted file mode 100644
index ca8b59f..0000000
--- a/assets/scss/_primer/support/mixins/buttons.scss
+++ /dev/null
@@ -1,172 +0,0 @@
-
-// TODO: See if the mixins below can be deprecated
-// Might still be needed for .btn-blue
-// ------------------------------------------------------------------
-
-// Button color generator for primary and themed buttons
-
-// New button hotness
-@mixin btn-solid($color, $bg, $bg2) {
- color: $color;
- background-color: $bg2;
- background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);
-
- @if $bg == $gray-000 {
- &:focus,
- &.focus {
- box-shadow: $btn-input-focus-shadow;
- }
-
- &:hover,
- &.hover {
- background-color: darken($bg2, 3%);
- background-image: linear-gradient(-180deg, darken($bg, 3%) 0%, darken($bg2, 3%) 90%);
- background-position: 0 -$em-spacer-5;
- border-color: rgba($black, 0.35);
- }
-
- &:active,
- &.selected,
- &[aria-selected=true],
- [open] > & {
- background-color: darken(desaturate($bg, 10%), 6%);
- background-image: none;
- border-color: rgba($black, 0.35); // repeat to avoid shift on click-drag off of button
- box-shadow: $btn-active-shadow;
- }
-
- &:disabled,
- &.disabled,
- &[aria-disabled=true] {
- color: rgba($color, 0.4);
- background-color: $bg2;
- background-image: none;
- border-color: $border-color-button;
- box-shadow: none;
- }
-
- }
- @else {
- &:focus,
- &.focus {
- box-shadow: 0 0 0 0.2em rgba($bg, 0.4);
- }
-
- &:hover,
- &.hover {
- background-color: darken($bg2, 2%);
- background-image: linear-gradient(-180deg, darken($bg, 2%) 0%, darken($bg2, 2%) 90%);
- background-position: 0 -$em-spacer-5;
- border-color: $black-fade-50;
- }
-
- &:active,
- &.selected,
- &[aria-selected=true],
- [open] > & {
- background-color: darken(mix($bg, $bg2, 50%), 7%);
- background-image: none;
- border-color: $black-fade-50; // repeat to avoid shift on click-drag off of button
- box-shadow: $btn-active-shadow;
- }
-
- &:disabled,
- &.disabled,
- &[aria-disabled=true] {
- color: rgba($color, 0.75);
- background-color: mix($bg2, $white, 50%);
- background-image: none;
- border-color: $border-color-button;
- box-shadow: none;
- }
-
- .Counter {
- color: darken($bg, 8%);
- background-color: $white;
- }
- }
-}
-
-// Inverse button hover style
-@mixin btn-inverse($color, $bg, $bg2) {
- color: $color;
- background-color: $bg;
- background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);
-
- &:focus {
- box-shadow: 0 0 0 0.2em rgba($color, 0.4);
- }
-
- &:hover {
- color: $text-white;
- background-color: $color;
- background-image: linear-gradient(-180deg, lighten($color, 10%) 0%, $color 90%);
- border-color: $black-fade-50;
-
- .Counter {
- color: $text-white;
- }
- }
-
- &:active,
- &.selected,
- &[aria-selected=true],
- [open] > & {
- color: $text-white;
- background-color: darken($color, 5%);
- background-image: none;
- border-color: $black-fade-50;
- box-shadow: $btn-active-shadow;
- }
-
- &:disabled,
- &.disabled,
- &[aria-disabled=true] {
- color: rgba($color, 0.4);
- background-color: $bg2;
- background-image: none;
- border-color: $border-color-button;
- box-shadow: none;
- }
-}
-
-// Outline color generator for btn-outline to make the hover state inverse the text and bg colors.
-@mixin btn-outline($text-color: $text-blue, $bg-color: $bg-white) {
- color: $text-color;
- background-color: $bg-color;
- background-image: none;
-
- .Counter {
- background-color: rgba($black, 0.07);
- }
-
- &:hover,
- &:active,
- &.selected,
- &[aria-selected=true],
- [open] > & {
- color: $bg-color;
- background-color: $text-color;
- background-image: none;
- border-color: $text-color;
-
- .Counter {
- color: $text-color;
- background-color: $bg-color;
- }
- }
-
- &:focus {
- border-color: $text-color;
- box-shadow: 0 0 0 0.2em rgba($text-color, 0.4);
- }
-
- &:disabled,
- &.disabled,
- &[aria-disabled=true] {
- color: $black-fade-30;
- background-color: $bg-white;
- border-color: $black-fade-15;
- box-shadow: none;
- }
-}
diff --git a/assets/scss/_primer/support/mixins/color-modes.scss b/assets/scss/_primer/support/mixins/color-modes.scss
new file mode 100644
index 0000000..e4ad958
--- /dev/null
+++ b/assets/scss/_primer/support/mixins/color-modes.scss
@@ -0,0 +1,106 @@
+@mixin color-mode-theme($theme-name, $include-root: false) {
+ @if $include-root {
+ :root,
+ [data-color-mode="light"][data-light-theme="#{$theme-name}"],
+ [data-color-mode="dark"][data-dark-theme="#{$theme-name}"] {
+ @content;
+
+ /*! */ // This is a fix for a cssstats bug see https://github.com/cssstats/cssstats/issues/331
+ }
+ }
+ @else {
+ [data-color-mode="light"][data-light-theme="#{$theme-name}"],
+ [data-color-mode="dark"][data-dark-theme="#{$theme-name}"] {
+ @content;
+ }
+ }
+
+ @media (prefers-color-scheme: light) {
+ [data-color-mode="auto"][data-light-theme="#{$theme-name}"] {
+ @content;
+ }
+ }
+
+ @media (prefers-color-scheme: dark) {
+ [data-color-mode="auto"][data-dark-theme="#{$theme-name}"] {
+ @content;
+ }
+ }
+}
+
+@mixin color-mode($mode) {
+ @if $mode == light {
+ :root,
+ [data-color-mode="light"][data-light-theme*="#{$mode}"],
+ [data-color-mode="dark"][data-dark-theme*="#{$mode}"] {
+ @content;
+ }
+ }
+ @else {
+ [data-color-mode="light"][data-light-theme*="#{$mode}"],
+ [data-color-mode="dark"][data-dark-theme*="#{$mode}"] {
+ @content;
+ }
+ }
+
+ @media (prefers-color-scheme: light) {
+ [data-color-mode="auto"][data-light-theme*="#{$mode}"] {
+ @content;
+ }
+ }
+
+ @media (prefers-color-scheme: dark) {
+ [data-color-mode="auto"][data-dark-theme*="#{$mode}"] {
+ @content;
+ }
+ }
+}
+
+// This mixin takes a map of color mode vars and splits them into dark and light mode
+// The goal is to reduce the amount of dark/light mode selectors compiled.
+//
+// Example input for $color-map
+//
+// @include color-variables(("custom-css-variable-1": (
+// light: var(--color-scale-gray-3),
+// dark: var(--color-scale-gray-5)
+// ),
+// "custom-css-variable-2": (
+// light: var(--color-scale-gray-2),
+// dark: var(--color-scale-gray-6)
+// ),
+// "custom-css-variable-3": (
+// light: var(--color-scale-gray-2),
+// dark: var(--color-scale-gray-6)
+// )
+// ));
+@mixin color-variables($color-map) {
+ // Create map to store incoming variables
+ $dark-colors: ();
+ $light-colors: ();
+
+ @each $name, $value in $color-map {
+ @each $type, $color in $value {
+ @if $type == dark {
+ $dark-colors: append($dark-colors, (--color-#{$name}, #{$color}));
+ }
+ @else {
+ $light-colors: append($light-colors, (--color-#{$name}, #{$color}));
+ }
+ }
+ }
+
+ $mode-colors: (
+ dark: $dark-colors,
+ light: $light-colors
+ );
+
+ // Loop through sorted list
+ @each $mode, $variables in $mode-colors {
+ @include color-mode($mode) {
+ @each $prop, $val in $variables {
+ #{$prop}: $val;
+ }
+ }
+ }
+}
diff --git a/assets/scss/_primer/support/mixins/misc.scss b/assets/scss/_primer/support/mixins/misc.scss
index ebdd32d..e4641ab 100644
--- a/assets/scss/_primer/support/mixins/misc.scss
+++ b/assets/scss/_primer/support/mixins/misc.scss
@@ -1,29 +1,26 @@
// Generate a two-color caret for any element.
-@mixin double-caret($foreground: $text-white, $background: lighten($gray-300, 5%)) {
+@mixin double-caret($background: var(--color-bg-primary), $border: var(--color-border-primary)) {
&::after,
&::before {
position: absolute;
top: 11px;
right: 100%;
- left: -16px;
+ left: -8px;
display: block;
- width: 0;
- height: 0;
+ width: 8px;
+ height: 16px;
pointer-events: none;
content: " ";
- border-color: transparent;
- border-style: solid solid outset;
+ clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
&::after {
- margin-top: 1px;
- margin-left: 2px;
- border-width: 7px;
- border-right-color: $foreground;
+ margin-left: 1px;
+ background-color: var(--color-bg-primary);
+ background-image: linear-gradient($background, $background);
}
&::before {
- border-width: 8px;
- border-right-color: $background;
+ background-color: $border;
}
}
diff --git a/assets/scss/_primer/support/variables/color-system.scss b/assets/scss/_primer/support/variables/color-system.scss
deleted file mode 100644
index febc58b..0000000
--- a/assets/scss/_primer/support/variables/color-system.scss
+++ /dev/null
@@ -1,243 +0,0 @@
-// Black based on same hue as $gray-900
-$black: #1b1f23 !default;
-$white: #fff !default;
-
-//
-//
-// -------- Grays --------
-$gray-000: #fafbfc !default;
-$gray-100: #f6f8fa !default;
-$gray-200: #e1e4e8 !default;
-$gray-300: #d1d5da !default;
-$gray-400: #959da5 !default;
-$gray-500: #6a737d !default;
-$gray-600: #586069 !default;
-$gray-700: #444d56 !default;
-$gray-800: #2f363d !default;
-$gray-900: #24292e !default; // body font color
-
-// -------- Blue --------
-$blue-000: #f1f8ff !default;
-$blue-100: #dbedff !default;
-$blue-200: #c8e1ff !default;
-$blue-300: #79b8ff !default;
-$blue-400: #2188ff !default;
-$blue-500: #0366d6 !default; // Default: Passes AA with #fff
-$blue-600: #005cc5 !default;
-$blue-700: #044289 !default;
-$blue-800: #032f62 !default;
-$blue-900: #05264c !default; // Passes with 1/2/300 blues
-
-// -------- Green --------
-$green-000: #f0fff4 !default;
-$green-100: #dcffe4 !default;
-$green-200: #bef5cb !default;
-$green-300: #85e89d !default;
-$green-400: #34d058 !default;
-$green-500: #28a745 !default; // Default. passes AA Large
-$green-600: #22863a !default; // Text green, passes AA on #fff
-$green-700: #176f2c !default;
-$green-800: #165c26 !default;
-$green-900: #144620 !default;
-
-// -------- Yellow --------
-$yellow-000: #fffdef !default;
-$yellow-100: #fffbdd !default;
-$yellow-200: #fff5b1 !default;
-$yellow-300: #ffea7f !default;
-$yellow-400: #ffdf5d !default;
-$yellow-500: #ffd33d !default;
-$yellow-600: #f9c513 !default;
-$yellow-700: #dbab09 !default;
-$yellow-800: #b08800 !default;
-$yellow-900: #735c0f !default;
-
-// -------- Orange --------
-$orange-000: #fff8f2 !default;
-$orange-100: #ffebda !default;
-$orange-200: #ffd1ac !default;
-$orange-300: #ffab70 !default;
-$orange-400: #fb8532 !default;
-$orange-500: #f66a0a !default; // Default. passes AA Large with #fff
-$orange-600: #e36209 !default;
-$orange-700: #d15704 !default;
-$orange-800: #c24e00 !default;
-$orange-900: #a04100 !default;
-
-// -------- Red --------
-$red-000: #ffeef0 !default;
-$red-100: #ffdce0 !default;
-$red-200: #fdaeb7 !default;
-$red-300: #f97583 !default;
-$red-400: #ea4a5a !default;
-$red-500: #d73a49 !default; // Default. passes AA
-$red-600: #cb2431 !default;
-$red-700: #b31d28 !default;
-$red-800: #9e1c23 !default;
-$red-900: #86181d !default;
-
-// -------- Purple --------
-$purple-000: #f5f0ff !default;
-$purple-100: #e6dcfd !default;
-$purple-200: #d1bcf9 !default;
-$purple-300: #b392f0 !default;
-$purple-400: #8a63d2 !default;
-$purple-500: #6f42c1 !default; // passes AA with #fff
-$purple-600: #5a32a3 !default;
-$purple-700: #4c2889 !default;
-$purple-800: #3a1d6e !default;
-$purple-900: #29134e !default;
-
-// -------- Pink --------
-$pink-000: #ffeef8 !default;
-$pink-100: #fedbf0 !default;
-$pink-200: #f9b3dd !default;
-$pink-300: #f692ce !default;
-$pink-400: #ec6cb9 !default;
-$pink-500: #ea4aaa !default;
-$pink-600: #d03592 !default;
-$pink-700: #b93a86 !default;
-$pink-800: #99306f !default;
-$pink-900: #6d224f !default;
-
-// -------- Fades --------
-$black-fade-15: rgba($black, 0.15) !default;
-$black-fade-30: rgba($black, 0.3) !default;
-$black-fade-50: rgba($black, 0.5) !default;
-$black-fade-70: rgba($black, 0.7) !default;
-$black-fade-85: rgba($black, 0.85) !default;
-
-$white-fade-15: rgba($white, 0.15) !default;
-$white-fade-30: rgba($white, 0.3) !default;
-$white-fade-50: rgba($white, 0.5) !default;
-$white-fade-70: rgba($white, 0.7) !default;
-$white-fade-85: rgba($white, 0.85) !default;
-
-// -------- Color defaults --------
-$red: $red-500 !default;
-$purple: $purple-500 !default;
-$blue: $blue-500 !default;
-$green: $green-500 !default;
-$yellow: $yellow-500 !default;
-$orange: $orange-500 !default;
-
-$gray-dark: $gray-900 !default;
-$gray-light: $gray-400 !default;
-$gray: $gray-500 !default;
-
-// -------- Color gradient maps --------
-
-$grays: (
- 0: $gray-000,
- 1: $gray-100,
- 2: $gray-200,
- 3: $gray-300,
- 4: $gray-400,
- 5: $gray-500,
- 6: $gray-600,
- 7: $gray-700,
- 8: $gray-800,
- 9: $gray-900,
-) !default;
-
-$blues: (
- 0: $blue-000,
- 1: $blue-100,
- 2: $blue-200,
- 3: $blue-300,
- 4: $blue-400,
- 5: $blue-500,
- 6: $blue-600,
- 7: $blue-700,
- 8: $blue-800,
- 9: $blue-900,
-) !default;
-
-$greens: (
- 0: $green-000,
- 1: $green-100,
- 2: $green-200,
- 3: $green-300,
- 4: $green-400,
- 5: $green-500,
- 6: $green-600,
- 7: $green-700,
- 8: $green-800,
- 9: $green-900,
-) !default;
-
-$yellows: (
- 0: $yellow-000,
- 1: $yellow-100,
- 2: $yellow-200,
- 3: $yellow-300,
- 4: $yellow-400,
- 5: $yellow-500,
- 6: $yellow-600,
- 7: $yellow-700,
- 8: $yellow-800,
- 9: $yellow-900,
-) !default;
-
-$oranges: (
- 0: $orange-000,
- 1: $orange-100,
- 2: $orange-200,
- 3: $orange-300,
- 4: $orange-400,
- 5: $orange-500,
- 6: $orange-600,
- 7: $orange-700,
- 8: $orange-800,
- 9: $orange-900,
-) !default;
-
-$reds: (
- 0: $red-000,
- 1: $red-100,
- 2: $red-200,
- 3: $red-300,
- 4: $red-400,
- 5: $red-500,
- 6: $red-600,
- 7: $red-700,
- 8: $red-800,
- 9: $red-900,
-) !default;
-
-$purples: (
- 0: $purple-000,
- 1: $purple-100,
- 2: $purple-200,
- 3: $purple-300,
- 4: $purple-400,
- 5: $purple-500,
- 6: $purple-600,
- 7: $purple-700,
- 8: $purple-800,
- 9: $purple-900,
-) !default;
-
-$pinks: (
- 0: $pink-000,
- 1: $pink-100,
- 2: $pink-200,
- 3: $pink-300,
- 4: $pink-400,
- 5: $pink-500,
- 6: $pink-600,
- 7: $pink-700,
- 8: $pink-800,
- 9: $pink-900,
-) !default;
-
-$hue-maps: (
- "gray": $grays,
- "blue": $blues,
- "green": $greens,
- "yellow": $yellows,
- "orange": $oranges,
- "red": $reds,
- "purple": $purples,
- "pink": $pinks,
-) !default;
diff --git a/assets/scss/_primer/support/variables/colors.scss b/assets/scss/_primer/support/variables/colors.scss
deleted file mode 100644
index 3623156..0000000
--- a/assets/scss/_primer/support/variables/colors.scss
+++ /dev/null
@@ -1,55 +0,0 @@
-@import "color-system.scss";
-// Color variables
-
-// Border colors
-$border-white: $white !default;
-$border-black-fade: $black-fade-15 !default;
-$border-white-fade: $white-fade-15 !default;
-$border-gray-dark: $gray-300 !default;
-$border-gray-darker: $gray-700 !default;
-$border-gray-light: lighten($gray-200, 3%) !default;
-$border-gray: $gray-200 !default;
-$border-blue: $blue-500 !default;
-$border-blue-light: $blue-200 !default;
-$border-green: $green-400 !default;
-$border-green-light: desaturate($green-300, 40%) !default;
-$border-purple: $purple !default;
-$border-red: $red !default;
-$border-red-light: $red-300 !default;
-$border-yellow: $yellow-600 !default;
-
-// Background colors
-$bg-white: $white !default;
-$bg-black: $black !default;
-$bg-black-fade: $black-fade-50 !default;
-$bg-blue-light: $blue-000 !default;
-$bg-blue: $blue-500 !default;
-$bg-gray-dark: $gray-900 !default;
-$bg-gray-light: $gray-000 !default;
-$bg-gray: $gray-100 !default;
-$bg-green: $green-500 !default;
-$bg-green-light: $green-100 !default;
-$bg-orange: $orange-700 !default;
-$bg-purple: $purple-500 !default;
-$bg-purple-light: $purple-000 !default;
-$bg-pink: $pink-500 !default;
-$bg-red: $red-500 !default;
-$bg-red-light: $red-000 !default;
-$bg-yellow: $yellow-500 !default;
-$bg-yellow-light: $yellow-200 !default;
-$bg-yellow-dark: $yellow-700 !default;
-
-// Text colors
-$text-black: $black !default;
-$text-white: $white !default;
-$text-blue: $blue-500 !default;
-$text-gray-dark: $gray-900 !default;
-$text-gray-light: $gray-500 !default;
-$text-gray: $gray-600 !default;
-$text-green: $green-600 !default;
-$text-orange: $orange-900 !default;
-$text-orange-light: $orange-600 !default;
-$text-purple: $purple !default;
-$text-pink: $pink-500 !default;
-$text-red: $red-600 !default;
-$text-yellow: $yellow-800 !default;
diff --git a/assets/scss/_primer/support/variables/layout.scss b/assets/scss/_primer/support/variables/layout.scss
index 227235c..1c09c00 100644
--- a/assets/scss/_primer/support/variables/layout.scss
+++ b/assets/scss/_primer/support/variables/layout.scss
@@ -63,6 +63,38 @@ $spacer-map: (
6: $spacer-6,
) !default;
+// Increases the core spacing scale first by 8px for $spacer-7, then by 16px
+// increments from $spacer-8 to $spacer-12, i.e. after 40px, we have 48, 64,
+// 80, 96, etc.
+$spacer-7: $spacer * 6 !default; // 48px
+$spacer-8: $spacer * 8 !default; // 64px
+$spacer-9: $spacer * 10 !default; // 80px
+$spacer-10: $spacer * 12 !default; // 96px
+$spacer-11: $spacer * 14 !default; // 112px
+$spacer-12: $spacer * 16 !default; // 128px
+
+$spacers-large: (
+ 7: $spacer-7,
+ 8: $spacer-8,
+ 9: $spacer-9,
+ 10: $spacer-10,
+ 11: $spacer-11,
+ 12: $spacer-12,
+) !default;
+
+$spacer-map-extended: map-merge(
+ (
+ 0: 0,
+ 1: $spacer-1,
+ 2: $spacer-2,
+ 3: $spacer-3,
+ 4: $spacer-4,
+ 5: $spacer-5,
+ 6: $spacer-6,
+ ),
+ $spacers-large,
+) !default;
+
// Em spacer variables
$em-spacer-1: 0.0625em !default; // 1/16
$em-spacer-2: 0.125em !default; // 1/8
@@ -141,3 +173,40 @@ $responsive-positions: (
fixed,
sticky
) !default;
+
+$sidebar-width: (
+ sm: 220px,
+ md: 256px,
+ lg: 296px,
+ xl: 320px
+) !default;
+
+$sidebar-narrow-width: (
+ md: 240px,
+ lg: 256px,
+ xl: 296px
+) !default;
+
+$sidebar-wide-width: (
+ md: 296px,
+ lg: 320px,
+ xl: 344px
+) !default;
+
+$gutter: (
+ md: $spacer-3,
+ lg: $spacer-4,
+ xl: $spacer-5
+) !default;
+
+$gutter-condensed: (
+ md: $spacer-3,
+ lg: $spacer-3,
+ xl: $spacer-4
+) !default;
+
+$gutter-spacious: (
+ md: $spacer-4,
+ lg: $spacer-5,
+ xl: $spacer-6
+) !default;
diff --git a/assets/scss/_primer/support/variables/misc.scss b/assets/scss/_primer/support/variables/misc.scss
index dd74a8f..897aa71 100644
--- a/assets/scss/_primer/support/variables/misc.scss
+++ b/assets/scss/_primer/support/variables/misc.scss
@@ -2,41 +2,16 @@
// Border
$border-width: 1px !default;
-$border-color: $border-gray !default;
$border-style: solid !default;
-$border: $border-width $border-color $border-style !default;
+$border: $border-width $border-style var(--color-border-primary) !default;
// Border Radius
$border-radius-1: 4px !default;
$border-radius-2: 6px !default;
+$border-radius-3: 8px !default;
$border-radius: $border-radius-2 !default;
-// Box shadow
-$box-shadow: 0 1px 0 rgba($black, 0.04) !default;
-$box-shadow-medium: 0 3px 6px rgba($gray-400, 0.15) !default;
-$box-shadow-large: 0 8px 24px rgba($gray-400, 0.2) !default;
-$box-shadow-extra-large: 0 12px 48px rgba($gray-400, 0.3) !default;
-
-$box-shadow-highlight: inset 0 1px 0 rgba($white, 0.25) !default; // top highlight
-$box-shadow-inset: inset 0 1px 0 rgba($border-color, 0.2) !default; // top inner shadow
-$box-shadow-focus: 0 0 0 3px rgba($border-blue, 0.3) !default; // blue focus ring
-
-// Button variables
-$border-color-button: $black-fade-15 !default;
-$btn-active-shadow: inset 0 0.15em 0.3em $black-fade-15 !default; // TODO: Deprecate?
-
-// Form variables
-$form-control-shadow: inset 0 1px 2px rgba($black, 0.075) !default; // TODO: Deprecate?
-$btn-input-focus-shadow: 0 0 0 0.2em rgba($blue, 0.3) !default; // TODO: Deprecate? Replaced by $box-shadow-focus
-
// Tooltips
$tooltip-max-width: 250px !default;
-$tooltip-background-color: $black !default;
-$tooltip-text-color: $white !default;
$tooltip-delay: 0.4s !default;
$tooltip-duration: 0.1s !default;
-
-// diffstat background colors
-$bg-diffstat-added: darken($green-400, 5%) !default;
-$bg-diffstat-deleted: $red-600 !default;
-$bg-diffstat-neutral: $gray-300 !default;
diff --git a/assets/scss/_primer/support/variables/typography.scss b/assets/scss/_primer/support/variables/typography.scss
index dcb57a7..50b7933 100644
--- a/assets/scss/_primer/support/variables/typography.scss
+++ b/assets/scss/_primer/support/variables/typography.scss
@@ -35,7 +35,8 @@ $lh-default: 1.5 !default;
$body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji" !default;
// Monospace font stack
-$mono-font: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace !default;
+// Note: SFMono-Regular needs to come before SF Mono to fix an older version of the font in Chrome
+$mono-font: ui-monospace, SFMono-Regular, SF Mono, Consolas, Liberation Mono, Menlo, monospace !default;
// The base body size
$body-font-size: 14px !default;
diff --git a/assets/scss/_primer/utilities/layout.scss b/assets/scss/_primer/utilities/layout.scss
index 1b4da95..10258cd 100644
--- a/assets/scss/_primer/utilities/layout.scss
+++ b/assets/scss/_primer/utilities/layout.scss
@@ -1,7 +1,7 @@
// Layout
-// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, comment-empty-line-before
+// stylelint-disable block-opening-brace-space-before, comment-empty-line-before
-// Loop through the breakpoint values
+/* Position */
@each $breakpoint, $variant in $responsive-variants {
@include breakpoint($breakpoint) {
@each $position in $responsive-positions {
@@ -12,14 +12,19 @@
}
}
-/* Set top 0 */
-.top-0 { top: 0 !important; }
-/* Set right 0 */
-.right-0 { right: 0 !important; }
-/* Set bottom 0 */
-.bottom-0 { bottom: 0 !important; }
-/* Set left 0 */
-.left-0 { left: 0 !important; }
+/* Final position */
+@each $breakpoint, $variant in $responsive-variants {
+ @include breakpoint($breakpoint) {
+ .top#{$variant}-0 { top: 0 !important; }
+ .right#{$variant}-0 { right: 0 !important; }
+ .bottom#{$variant}-0 { bottom: 0 !important; }
+ .left#{$variant}-0 { left: 0 !important; }
+ .top#{$variant}-auto { top: auto !important; }
+ .right#{$variant}-auto { right: auto !important; }
+ .bottom#{$variant}-auto { bottom: auto !important; }
+ .left#{$variant}-auto { left: auto !important; }
+ }
+}
/* Vertical align middle */
.v-align-middle { vertical-align: middle !important; }
@@ -35,10 +40,14 @@
.v-align-baseline { vertical-align: baseline !important; }
// Overflow utilities
-@each $overflow in (visible, hidden, auto, scroll) {
- .overflow-#{$overflow} { overflow: $overflow !important; }
- .overflow-x-#{$overflow} { overflow-x: $overflow !important; }
- .overflow-y-#{$overflow} { overflow-y: $overflow !important; }
+@each $breakpoint, $variant in $responsive-variants {
+ @include breakpoint($breakpoint) {
+ @each $overflow in (visible, hidden, auto, scroll) {
+ .overflow#{$variant}-#{$overflow} { overflow: $overflow !important; }
+ .overflow#{$variant}-x-#{$overflow} { overflow-x: $overflow !important; }
+ .overflow#{$variant}-y-#{$overflow} { overflow-y: $overflow !important; }
+ }
+ }
}
// Clear floats
diff --git a/assets/scss/_var.scss b/assets/scss/_var.scss
index 95b7b78..c897b80 100644
--- a/assets/scss/_var.scss
+++ b/assets/scss/_var.scss
@@ -13,11 +13,10 @@ $font-weight-light: 400;
$body-font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', 'Arial', 'Helvetica Neue',
'Helvetica', 'PingFang SC', 'Hiragino Sans GB', 'Source Han Sans CN', 'Source Han Sans SC',
'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif !default;
-$mono-font: 'Cascadia Code', 'SF Mono', 'Fira Code', 'Consolas', -apple-system, BlinkMacSystemFont,
- 'SF Pro Text', 'Segoe UI', 'Arial', 'Helvetica Neue', 'Helvetica', 'PingFang SC',
- 'Hiragino Sans GB', 'Source Han Sans CN', 'Source Han Sans SC', 'Microsoft YaHei',
- 'WenQuanYi Micro Hei', monospace !default;
-$title-font: 'Product Sans', $body-font !default;
+$mono-font: 'SF Mono', 'Fira Code', 'Consolas', -apple-system, BlinkMacSystemFont, 'SF Pro Text',
+ 'Segoe UI', 'Arial', 'Helvetica Neue', 'Helvetica', 'PingFang SC', 'Hiragino Sans GB',
+ 'Source Han Sans CN', 'Source Han Sans SC', 'Microsoft YaHei', 'WenQuanYi Micro Hei', monospace !default;
+$title-font: 'Product Sans', sans-serif !default;
$body-font-size: 16px !default;
$width-md: 768px;
@@ -43,18 +42,17 @@ $dark-color-codebg: #414449 !default; // kai GitHub
@font-face {
font-family: 'Product Sans';
font-style: normal;
- font-weight: 700;
font-display: swap;
- src: local('Product Sans Bold'), local('ProductSans-Bold'),
- url('https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/product-sans/product-sans-bold.woff2')
- format('woff2');
+ font-weight: 700;
+ src: url('https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/product_sans/product_sans_700.woff2')
+ format('woff2');
}
@font-face {
- font-family: 'Cascadia Code';
+ font-family: 'Fira Code';
font-style: normal;
font-display: swap;
- src: local('Cascadia Code Regular'),
- url('https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/cascadia-code/cascadia-code.woff2')
- format('woff2');
+ font-weight: 400;
+ src: url('https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/fira_code/fira_code_400.woff2')
+ format('woff2');
}
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index 378d3a9..33c6c30 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -33,9 +33,10 @@ paginate = 10
[params]
author = "DSRKafuU" # You can also set author in post front matter individually
subTitle = "A minimal Hugo theme."
+ defaultTheme = "auto" # default theme when first visit (auto|dark|light)
# Source URL of the website, will appear in the footer
- sourceURL = "https://github.com/itsme/my_blog"
+ sourceURL = "https://github.com/dsrkafuu/hugo-theme-fuji"
# Use CloudFlare Workers to accelerate the Google Analytics
# If you are using this please comment the googleAnalytics above
diff --git a/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content b/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
index be3e6fa..ac40ab5 100644
--- a/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
+++ b/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
@@ -1 +1 @@
-@font-face{font-family:'Product Sans';font-style:normal;font-weight:700;font-display:swap;src:local("Product Sans Bold"),local("ProductSans-Bold"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/product-sans/product-sans-bold.woff2") format("woff2")}@font-face{font-family:'Cascadia Code';font-style:normal;font-display:swap;src:local("Cascadia Code Regular"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/cascadia-code/cascadia-code.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#1b1f23}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:#24292e;background-color:#fff}a{color:#0366d6;text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:0.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:#6a737d}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table:not(.highlight){display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table:not(.highlight) th{font-weight:600}.markdown-body table:not(.highlight) th,.markdown-body table:not(.highlight) td{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table:not(.highlight) tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table:not(.highlight) tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table:not(.highlight) img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #dfe2e5}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292e}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("../iconfont/iconfont.woff2") format("woff2"),url("../iconfont/iconfont.woff") format("woff"),url("../iconfont/iconfont.ttf") format("truetype"),url("../iconfont/iconfont.svg") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:32rem;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%}
+@font-face{font-family:'Product Sans';font-style:normal;font-display:swap;font-weight:700;src:url("https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/product_sans/product_sans_700.woff2") format("woff2")}@font-face{font-family:'Fira Code';font-style:normal;font-display:swap;font-weight:400;src:url("https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/fira_code/fira_code_400.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:var(--color-text-primary)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-canvas)}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-secondary)}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-bg-secondary);border:solid 1px var(--color-border-tertiary);border-bottom-color:var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-bg-secondary);border:solid 1px var(--color-border-tertiary);border-bottom-color:var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--color-text-danger)}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-primary);border:0}.markdown-body blockquote{padding:0 1em;color:var(--color-text-tertiary);border-left:0.25em solid var(--color-markdown-blockquote-border)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--color-text-primary);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid var(--color-border-secondary)}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-secondary)}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:var(--color-text-tertiary)}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body ol[type="a"]{list-style-type:lower-alpha}.markdown-body ol[type="i"]{list-style-type:lower-roman}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--color-markdown-table-border)}.markdown-body table tr{background-color:var(--color-bg-primary);border-top:1px solid var(--color-markdown-table-tr-border)}.markdown-body table tr:nth-child(2n){background-color:var(--color-bg-tertiary)}.markdown-body table img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:var(--color-bg-primary)}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-markdown-frame-border)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-text-primary)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:var(--color-markdown-code-bg);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:var(--color-bg-tertiary);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-bg-primary);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:var(--color-bg-tertiary);border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.top-auto{top:auto !important}.right-auto{right:auto !important}.bottom-auto{bottom:auto !important}.left-auto{left:auto !important}@media (min-width: 544px){.top-sm-0{top:0 !important}.right-sm-0{right:0 !important}.bottom-sm-0{bottom:0 !important}.left-sm-0{left:0 !important}.top-sm-auto{top:auto !important}.right-sm-auto{right:auto !important}.bottom-sm-auto{bottom:auto !important}.left-sm-auto{left:auto !important}}@media (min-width: 768px){.top-md-0{top:0 !important}.right-md-0{right:0 !important}.bottom-md-0{bottom:0 !important}.left-md-0{left:0 !important}.top-md-auto{top:auto !important}.right-md-auto{right:auto !important}.bottom-md-auto{bottom:auto !important}.left-md-auto{left:auto !important}}@media (min-width: 1012px){.top-lg-0{top:0 !important}.right-lg-0{right:0 !important}.bottom-lg-0{bottom:0 !important}.left-lg-0{left:0 !important}.top-lg-auto{top:auto !important}.right-lg-auto{right:auto !important}.bottom-lg-auto{bottom:auto !important}.left-lg-auto{left:auto !important}}@media (min-width: 1280px){.top-xl-0{top:0 !important}.right-xl-0{right:0 !important}.bottom-xl-0{bottom:0 !important}.left-xl-0{left:0 !important}.top-xl-auto{top:auto !important}.right-xl-auto{right:auto !important}.bottom-xl-auto{bottom:auto !important}.left-xl-auto{left:auto !important}}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}@media (min-width: 544px){.overflow-sm-visible{overflow:visible !important}.overflow-sm-x-visible{overflow-x:visible !important}.overflow-sm-y-visible{overflow-y:visible !important}.overflow-sm-hidden{overflow:hidden !important}.overflow-sm-x-hidden{overflow-x:hidden !important}.overflow-sm-y-hidden{overflow-y:hidden !important}.overflow-sm-auto{overflow:auto !important}.overflow-sm-x-auto{overflow-x:auto !important}.overflow-sm-y-auto{overflow-y:auto !important}.overflow-sm-scroll{overflow:scroll !important}.overflow-sm-x-scroll{overflow-x:scroll !important}.overflow-sm-y-scroll{overflow-y:scroll !important}}@media (min-width: 768px){.overflow-md-visible{overflow:visible !important}.overflow-md-x-visible{overflow-x:visible !important}.overflow-md-y-visible{overflow-y:visible !important}.overflow-md-hidden{overflow:hidden !important}.overflow-md-x-hidden{overflow-x:hidden !important}.overflow-md-y-hidden{overflow-y:hidden !important}.overflow-md-auto{overflow:auto !important}.overflow-md-x-auto{overflow-x:auto !important}.overflow-md-y-auto{overflow-y:auto !important}.overflow-md-scroll{overflow:scroll !important}.overflow-md-x-scroll{overflow-x:scroll !important}.overflow-md-y-scroll{overflow-y:scroll !important}}@media (min-width: 1012px){.overflow-lg-visible{overflow:visible !important}.overflow-lg-x-visible{overflow-x:visible !important}.overflow-lg-y-visible{overflow-y:visible !important}.overflow-lg-hidden{overflow:hidden !important}.overflow-lg-x-hidden{overflow-x:hidden !important}.overflow-lg-y-hidden{overflow-y:hidden !important}.overflow-lg-auto{overflow:auto !important}.overflow-lg-x-auto{overflow-x:auto !important}.overflow-lg-y-auto{overflow-y:auto !important}.overflow-lg-scroll{overflow:scroll !important}.overflow-lg-x-scroll{overflow-x:scroll !important}.overflow-lg-y-scroll{overflow-y:scroll !important}}@media (min-width: 1280px){.overflow-xl-visible{overflow:visible !important}.overflow-xl-x-visible{overflow-x:visible !important}.overflow-xl-y-visible{overflow-y:visible !important}.overflow-xl-hidden{overflow:hidden !important}.overflow-xl-x-hidden{overflow-x:hidden !important}.overflow-xl-y-hidden{overflow-y:hidden !important}.overflow-xl-auto{overflow:auto !important}.overflow-xl-x-auto{overflow-x:auto !important}.overflow-xl-y-auto{overflow-y:auto !important}.overflow-xl-scroll{overflow:scroll !important}.overflow-xl-x-scroll{overflow-x:scroll !important}.overflow-xl-y-scroll{overflow-y:scroll !important}}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAX0AAsAAAAADYwAAAWkAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCELgqKaIh/ATYCJAM8CyAABCAFhG0HglMbugsRVaRPkf0ssGPyVCOvy8czJ7P+a4tNOQfB8987zTt6I0UeybxE4C2h7RA5WSAqILiEbCihivCVHidAwByCG4wZN3LTmZ9k86cXTdmo469pe92NkME0+WTx5WpNdcgnwuG6AI2PlX8PeJ+kCOhIVaEsCwVMiowBy0LW65qEV52clCwq54jn4VCAYQDjUAcdclQNLhoWFcqtWbm8A7cQgu7QKVyf07CpRp2HjWudbr0JnBu9v/qZKcoFC1vgI6WXHbyEVKCCpBxXOY4WOY7jDhcFjLcCAcYBGtS2xpgNSJIzDsEsnTUHAQ66qhX4QbJSwSHFRBQCl7lRP8Dg4RMmQugWHW0cqhCsfx4oB5Z8aB7NjUCgrAUGAssCDwKxwIdAWxCGwKZ2ww6CCAFXIQgXDER2wSGIABuIAHsQAfYRhAAnEIQFnATzSUhRv8kAYCSoVWClYHlNVFbQaCxhE61gJ/mJuB5U86PK9x1fbJLye+moknE8O+QkQ/RYyo/tLnxbU/yutvx9fSloKZXqRmXra9MjrisWywszTxbq66q7X18qFeZlPygXi7VjM8t9CS8leQclrS4Uamr/QLlcXyq11L1ZOuD58oHvlI9+q5iqrTNXvzf9kQ8GXvP+jAff3a0pN6+ufn5Nc36aukJhaefi1pIrFtTXLazdXU/X7HFZR67Z886E44w5Q6njNxtl8O1vmBuf7KUvf2p4/JZn+tpXPN0SsaMHmba1rmZBfe1hCSPUx3eqzyjtjjVYcTEmXzjo5dIQ0xzdvWXpdqm5+enjnznzqeOerLe2ZLbL7tiNt+69ym3DPerDt9wxC799Q2f3tYMuzSeZq9Fc0kMu7eld3N2ys3ERSOOr2hj9qgQZ4xplZ3u/U525O9wxdcqKFauXJyPXH3z4kr4d/UbkDusce+PFFeX/u+qT6zcjPfPsEeeNb91gjpg6hS+uzTM1iB8gx6WVqFSulw8/FPDXjxC47KLWYatX33RC/IOb7RP/yk60V82Pn9C0enXXOxuiv/3xx29RmoVBMuhe+eknuVcIIMdlSVOb3/yFZ/jmM8/Qvr+FpsS/T5cPpZXbB3HajgSjQ4yeOeq43Qu++CLxacIUvXZgLpVO5W3tXH6qedZMzRONcUrwrvvu0cIivYZoUnmQpJ7SXV36KSE8clx2iicfO+rY0e+NWjZ26X3b1vHuYSdMZ5bAwv3HceGGH+zDDkun7ez2D2PH7mCY5BYubG8PSuSeqeSnzpBLvHjNoHA43ndgitkyaNCk2yUlt086L//TtTcNwhefo+rjRpJ+PnjMhVce8ckfuUg7uUk+0OtRu9Ykh/3/ASo3y8fSFAWeFfm4KQA5ToDKl5KXQWC0zRaDgCTI+1n6j3ExBn8tE9uj8/7t3v/noE+3fDd9sEklr5Ec4GKBmv7To5Wd9Irl0KhetL9dFAVEmYgNP5ZBGEmHCpyQ4PPT+bv/iEYp3AI9Bosq+oPgMkyhNePAxmMaOLgsBMNYDt3aI8kmBKVDwBhODkAR4x6wiPAMCDHeUmjNZ2DTg1/BIWbtAIz/Lna59Jo3b0JWqYZqBx55ciZcTVz+m5p5sJJnI/0/SfTpUKR5Of+LJpJDrBHXTanqwAmP8BkcjYaBIQh3hJq2qmGVZa7pgVLkcWG8EcRSpAYqO8BDbOL8wMpU3v4bacwGlnQ0u3T/R0TkZw4KqVyh+JImVbOXUjVaa5SUohywdQUbgU+KIoPkMBCaF+oQpFLtDlnBSkbdOa2Unl4e3/dRgMEvFS3Jiio03TAt23E939m7CRP0ggMlsbUSTCO+Tqe/iGQF27bX32FLa+EpqSz2jYEbRB+kS9+jenrHsrFSz9T3LdaXWyrXdndYZveec0DtY+RJxUbNR504v0YreTf0DOKR1Dax6jW2ViveJh9Rmg+R6tKM+nFvwYsFAAAA") format("woff2"),url("iconfont.woff?t=1615774773267") format("woff"),url("iconfont.ttf?t=1615774773267") format("truetype"),url("iconfont.svg?t=1615774773267#iconfont") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-sync-circle-sharp:before{content:'\e613'}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:80vh;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%}
diff --git a/layouts/404.html b/layouts/404.html
index ee8fb79..8fe8176 100644
--- a/layouts/404.html
+++ b/layouts/404.html
@@ -2,4 +2,4 @@
<div class="404-not-found" style="font-size: 2rem; padding-top: 1.5rem;">
<span>404 NOT FOUND</span>
</div>
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index c6a64e5..ac7b70f 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -5,7 +5,10 @@
{{ partial "head.html" . }}
</head>
-<body data-theme="auto">
+<body
+ data-theme="{{- if .Site.Params.defaultTheme -}}{{ .Site.Params.defaultTheme }}{{- else -}}auto{{- end -}}"
+ data-theme-auto='{{- if ne .Site.Params.defaultTheme "auto" -}}false{{- else -}}true{{- end -}}'
+ >
{{ partial "scripts-front.html" . }}
{{ partial "header.html" . }}
@@ -24,4 +27,4 @@
{{ partial "scripts-end.html" . }}
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/layouts/_default/search.html b/layouts/_default/search.html
index a2cdd4f..88c7021 100644
--- a/layouts/_default/search.html
+++ b/layouts/_default/search.html
@@ -36,4 +36,4 @@
</div>
{{ "<% } %>" | safeHTML }}
</script>
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index cd2bd48..54b6934 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -28,4 +28,4 @@
{{ else if and (.Site.Params.utterancesRepo) (ne .Params.showComments false) }}
{{ partial "comment-utterances.html" . }}
{{ else }}{{ end }}
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/partials/analytic-cfga.html b/layouts/partials/analytic-cfga.html
index d1e52af..fa93ede 100644
--- a/layouts/partials/analytic-cfga.html
+++ b/layouts/partials/analytic-cfga.html
@@ -4,4 +4,4 @@
window.ga_api = '{{ .Site.Params.googleAnalyticsRoute }}';
</script>
<script async src="https://cdn.jsdelivr.net/npm/cfga@1.0.3/cfga.min.js"></script>
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/partials/analytic-gtag.html b/layouts/partials/analytic-gtag.html
index f851745..d39e550 100644
--- a/layouts/partials/analytic-gtag.html
+++ b/layouts/partials/analytic-gtag.html
@@ -10,4 +10,4 @@
gtag('config', '{{ . }}');
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id={{ . }}"></script>
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/partials/comment-disqus.html b/layouts/partials/comment-disqus.html
index 32ecc5d..625c203 100644
--- a/layouts/partials/comment-disqus.html
+++ b/layouts/partials/comment-disqus.html
@@ -18,4 +18,4 @@
document.querySelector('span.post-comment-notloaded').setAttribute('style', 'display: none;');
}
</script>
-</div> \ No newline at end of file
+</div>
diff --git a/layouts/partials/comment-disqusjs.html b/layouts/partials/comment-disqusjs.html
index 76bc099..18d1d82 100644
--- a/layouts/partials/comment-disqusjs.html
+++ b/layouts/partials/comment-disqusjs.html
@@ -3,7 +3,7 @@
<i class="iconfont icon-chatbox-ellipses-sharp"></i>&nbsp;{{ i18n "postComment" }}
</span>
<div id="disqus_thread" style="display: none;"></div>
- <script src="https://cdn.jsdelivr.net/npm/disqusjs@1.3/dist/disqus.js"></script>
+ <script src="https://cdn.jsdelivr.net/npm/disqusjs@1.3.0/dist/disqus.js"></script>
<script>
function loadComment() {
document.querySelector('#disqus_thread').removeAttribute('style');
@@ -19,4 +19,4 @@
document.querySelector('span.post-comment-notloaded').setAttribute('style', 'display: none;');
}
</script>
-</div> \ No newline at end of file
+</div>
diff --git a/layouts/partials/favicon.html b/layouts/partials/favicon.html
index 3dabd7d..87d5215 100644
--- a/layouts/partials/favicon.html
+++ b/layouts/partials/favicon.html
@@ -1 +1 @@
-<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn@1/images/favicons/dsrca/favicon.ico" />
+<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/images/favicons/dsrca.ico" />
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index c9f194a..7dedc44 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -43,7 +43,7 @@
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.css" />
{{ end }}
{{ if .Site.Params.useDisqusJS }}
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/disqusjs@1.3/dist/disqusjs.css" />
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/disqusjs@1.3.0/dist/disqusjs.css" />
{{ end }}
{{ partial "analytic-gtag.html" . }}
-{{ partial "analytic-cfga.html" . }} \ No newline at end of file
+{{ partial "analytic-cfga.html" . }}
diff --git a/layouts/partials/math.html b/layouts/partials/math.html
index 79be746..90409a8 100644
--- a/layouts/partials/math.html
+++ b/layouts/partials/math.html
@@ -1,7 +1,7 @@
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css" />
-<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.js"></script>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.13.11/dist/katex.min.css" />
+<script defer src="https://cdn.jsdelivr.net/npm/katex@0.13.11/dist/katex.min.js"></script>
<script
defer
- src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/contrib/auto-render.min.js"
+ src="https://cdn.jsdelivr.net/npm/katex@0.13.11/dist/contrib/auto-render.min.js"
onload="renderMathInElement(document.body);"
></script>
diff --git a/layouts/partials/scripts-end.html b/layouts/partials/scripts-end.html
index 82388cf..11329ef 100644
--- a/layouts/partials/scripts-end.html
+++ b/layouts/partials/scripts-end.html
@@ -4,7 +4,7 @@
{{ else if eq .Section "archives" }}
{{ else }}
<script defer src="https://cdn.jsdelivr.net/npm/medium-zoom@1.0.6/dist/medium-zoom.min.js"></script>
-<script defer src="https://cdn.jsdelivr.net/npm/lazysizes@5.3.0/lazysizes.min.js"></script>
+<script defer src="https://cdn.jsdelivr.net/npm/lazysizes@5.3.2/lazysizes.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/components/prism-core.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
{{ end }}
@@ -61,4 +61,4 @@
}
});
</script>
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/partials/scripts-front.html b/layouts/partials/scripts-front.html
index c802702..c28912a 100644
--- a/layouts/partials/scripts-front.html
+++ b/layouts/partials/scripts-front.html
@@ -10,4 +10,4 @@
document.body.setAttribute('data-theme', fujiThemeData === 'dark' ? 'dark' : 'light');
}
}
-</script> \ No newline at end of file
+</script>
diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html
index 1d6ae92..d0d0db9 100644
--- a/layouts/partials/sidebar.html
+++ b/layouts/partials/sidebar.html
@@ -48,8 +48,8 @@
<div class="sidebar-item sidebar-bgm">
<h3>{{ i18n "sidebarBangumiChart" }}</h3>
<img class="lazyload" src="{{ $.Site.Params.lazyPlaceholder | relURL }}"
- data-src="https://bgm.tv/chart/img/{{ . }}" alt="Bangumi 图像榜单" />
+ data-src="https://bgm.tv/chart/img/{{ . }}" alt="Bangumi" />
</div>
{{ end }}
{{ end }}
-</aside> \ No newline at end of file
+</aside>
diff --git a/layouts/partials/styles.html b/layouts/partials/styles.html
index cc6d930..5e8fd34 100644
--- a/layouts/partials/styles.html
+++ b/layouts/partials/styles.html
@@ -10,4 +10,4 @@
filter: brightness(60%);
}
</style>
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/shortcodes/aplayer.html b/layouts/shortcodes/aplayer.html
index ac56aaa..37ed544 100644
--- a/layouts/shortcodes/aplayer.html
+++ b/layouts/shortcodes/aplayer.html
@@ -6,4 +6,4 @@
{{ with .Get "artists" -}}data-artists="{{- . -}}"{{- end }}
{{ with .Get "covers" -}}data-covers="{{- . -}}"{{- end }}
></div>
-</div> \ No newline at end of file
+</div>
diff --git a/layouts/shortcodes/img-lazy.html b/layouts/shortcodes/img-lazy.html
index eed9b0e..9b3513f 100644
--- a/layouts/shortcodes/img-lazy.html
+++ b/layouts/shortcodes/img-lazy.html
@@ -2,4 +2,4 @@
<p><div class="image-wrapper ratio-{{ index .Params 0 }}">
<img class="lazyload img-zoomable" data-src="{{ index .Params 2 | relURL | safeURL }}" alt="{{ index .Params 1 }}" />
</div></p>
-{{- end -}} \ No newline at end of file
+{{- end -}}
diff --git a/layouts/shortcodes/img-nz-lazy.html b/layouts/shortcodes/img-nz-lazy.html
index bba88b6..54a2f8b 100644
--- a/layouts/shortcodes/img-nz-lazy.html
+++ b/layouts/shortcodes/img-nz-lazy.html
@@ -2,4 +2,4 @@
<p><div class="image-wrapper ratio-{{ index .Params 0 }}">
<img class="lazyload" data-src="{{ index .Params 2 | relURL | safeURL }}" alt="{{ index .Params 1 }}" />
</div></p>
-{{- end -}} \ No newline at end of file
+{{- end -}}
diff --git a/layouts/shortcodes/img-nz.html b/layouts/shortcodes/img-nz.html
index 175dc5b..0033b14 100644
--- a/layouts/shortcodes/img-nz.html
+++ b/layouts/shortcodes/img-nz.html
@@ -2,4 +2,4 @@
<p>
<img src="{{ index .Params 1 | relURL | safeURL }}" alt="{{ index .Params 0 }}" />
</p>
-{{- end -}} \ No newline at end of file
+{{- end -}}
diff --git a/layouts/shortcodes/math.html b/layouts/shortcodes/math.html
index 3fcdaa7..16aadce 100644
--- a/layouts/shortcodes/math.html
+++ b/layouts/shortcodes/math.html
@@ -2,4 +2,4 @@
\( {{- trim .Inner "\n" -}} \)
{{ else }}
$$ {{- trim .Inner "\n" -}} $$
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/shortcodes/table-dense.html b/layouts/shortcodes/table-dense.html
index 6c77418..d5666a8 100644
--- a/layouts/shortcodes/table-dense.html
+++ b/layouts/shortcodes/table-dense.html
@@ -1,3 +1,3 @@
{{ $htmlTable := .Inner | markdownify }}
{{ $htmlTable := replace $htmlTable "<table>" "<table class=\"table-dense\">" }}
-{{ $htmlTable | safeHTML }} \ No newline at end of file
+{{ $htmlTable | safeHTML }}
diff --git a/package.json b/package.json
index 66d1af5..447e1a9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "hugo-theme-fuji",
- "version": "2.6.0",
+ "version": "2.7.0",
"description": "A minimal Hugo theme with nice theme color. | 一个主题色极简 Hugo 主题。",
"repository": {
"type": "git",
@@ -18,6 +18,6 @@
},
"homepage": "https://github.com/dsrkafuu/hugo-theme-fuji#readme",
"dependencies": {
- "@primer/css": "15.1.0"
+ "@primer/css": "17.2.1"
}
}
diff --git a/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content b/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
index be3e6fa..ac40ab5 100644
--- a/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
+++ b/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
@@ -1 +1 @@
-@font-face{font-family:'Product Sans';font-style:normal;font-weight:700;font-display:swap;src:local("Product Sans Bold"),local("ProductSans-Bold"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/product-sans/product-sans-bold.woff2") format("woff2")}@font-face{font-family:'Cascadia Code';font-style:normal;font-display:swap;src:local("Cascadia Code Regular"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/cascadia-code/cascadia-code.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#1b1f23}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:#24292e;background-color:#fff}a{color:#0366d6;text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:0.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:#6a737d}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table:not(.highlight){display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table:not(.highlight) th{font-weight:600}.markdown-body table:not(.highlight) th,.markdown-body table:not(.highlight) td{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table:not(.highlight) tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table:not(.highlight) tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table:not(.highlight) img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #dfe2e5}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292e}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("../iconfont/iconfont.woff2") format("woff2"),url("../iconfont/iconfont.woff") format("woff"),url("../iconfont/iconfont.ttf") format("truetype"),url("../iconfont/iconfont.svg") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:32rem;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%}
+@font-face{font-family:'Product Sans';font-style:normal;font-display:swap;font-weight:700;src:url("https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/product_sans/product_sans_700.woff2") format("woff2")}@font-face{font-family:'Fira Code';font-style:normal;font-display:swap;font-weight:400;src:url("https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/fira_code/fira_code_400.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:var(--color-text-primary)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-canvas)}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-secondary)}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-bg-secondary);border:solid 1px var(--color-border-tertiary);border-bottom-color:var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-bg-secondary);border:solid 1px var(--color-border-tertiary);border-bottom-color:var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--color-text-danger)}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-primary);border:0}.markdown-body blockquote{padding:0 1em;color:var(--color-text-tertiary);border-left:0.25em solid var(--color-markdown-blockquote-border)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--color-text-primary);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid var(--color-border-secondary)}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-secondary)}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:var(--color-text-tertiary)}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body ol[type="a"]{list-style-type:lower-alpha}.markdown-body ol[type="i"]{list-style-type:lower-roman}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--color-markdown-table-border)}.markdown-body table tr{background-color:var(--color-bg-primary);border-top:1px solid var(--color-markdown-table-tr-border)}.markdown-body table tr:nth-child(2n){background-color:var(--color-bg-tertiary)}.markdown-body table img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:var(--color-bg-primary)}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-markdown-frame-border)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-text-primary)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:var(--color-markdown-code-bg);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:var(--color-bg-tertiary);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-bg-primary);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:var(--color-bg-tertiary);border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.top-auto{top:auto !important}.right-auto{right:auto !important}.bottom-auto{bottom:auto !important}.left-auto{left:auto !important}@media (min-width: 544px){.top-sm-0{top:0 !important}.right-sm-0{right:0 !important}.bottom-sm-0{bottom:0 !important}.left-sm-0{left:0 !important}.top-sm-auto{top:auto !important}.right-sm-auto{right:auto !important}.bottom-sm-auto{bottom:auto !important}.left-sm-auto{left:auto !important}}@media (min-width: 768px){.top-md-0{top:0 !important}.right-md-0{right:0 !important}.bottom-md-0{bottom:0 !important}.left-md-0{left:0 !important}.top-md-auto{top:auto !important}.right-md-auto{right:auto !important}.bottom-md-auto{bottom:auto !important}.left-md-auto{left:auto !important}}@media (min-width: 1012px){.top-lg-0{top:0 !important}.right-lg-0{right:0 !important}.bottom-lg-0{bottom:0 !important}.left-lg-0{left:0 !important}.top-lg-auto{top:auto !important}.right-lg-auto{right:auto !important}.bottom-lg-auto{bottom:auto !important}.left-lg-auto{left:auto !important}}@media (min-width: 1280px){.top-xl-0{top:0 !important}.right-xl-0{right:0 !important}.bottom-xl-0{bottom:0 !important}.left-xl-0{left:0 !important}.top-xl-auto{top:auto !important}.right-xl-auto{right:auto !important}.bottom-xl-auto{bottom:auto !important}.left-xl-auto{left:auto !important}}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}@media (min-width: 544px){.overflow-sm-visible{overflow:visible !important}.overflow-sm-x-visible{overflow-x:visible !important}.overflow-sm-y-visible{overflow-y:visible !important}.overflow-sm-hidden{overflow:hidden !important}.overflow-sm-x-hidden{overflow-x:hidden !important}.overflow-sm-y-hidden{overflow-y:hidden !important}.overflow-sm-auto{overflow:auto !important}.overflow-sm-x-auto{overflow-x:auto !important}.overflow-sm-y-auto{overflow-y:auto !important}.overflow-sm-scroll{overflow:scroll !important}.overflow-sm-x-scroll{overflow-x:scroll !important}.overflow-sm-y-scroll{overflow-y:scroll !important}}@media (min-width: 768px){.overflow-md-visible{overflow:visible !important}.overflow-md-x-visible{overflow-x:visible !important}.overflow-md-y-visible{overflow-y:visible !important}.overflow-md-hidden{overflow:hidden !important}.overflow-md-x-hidden{overflow-x:hidden !important}.overflow-md-y-hidden{overflow-y:hidden !important}.overflow-md-auto{overflow:auto !important}.overflow-md-x-auto{overflow-x:auto !important}.overflow-md-y-auto{overflow-y:auto !important}.overflow-md-scroll{overflow:scroll !important}.overflow-md-x-scroll{overflow-x:scroll !important}.overflow-md-y-scroll{overflow-y:scroll !important}}@media (min-width: 1012px){.overflow-lg-visible{overflow:visible !important}.overflow-lg-x-visible{overflow-x:visible !important}.overflow-lg-y-visible{overflow-y:visible !important}.overflow-lg-hidden{overflow:hidden !important}.overflow-lg-x-hidden{overflow-x:hidden !important}.overflow-lg-y-hidden{overflow-y:hidden !important}.overflow-lg-auto{overflow:auto !important}.overflow-lg-x-auto{overflow-x:auto !important}.overflow-lg-y-auto{overflow-y:auto !important}.overflow-lg-scroll{overflow:scroll !important}.overflow-lg-x-scroll{overflow-x:scroll !important}.overflow-lg-y-scroll{overflow-y:scroll !important}}@media (min-width: 1280px){.overflow-xl-visible{overflow:visible !important}.overflow-xl-x-visible{overflow-x:visible !important}.overflow-xl-y-visible{overflow-y:visible !important}.overflow-xl-hidden{overflow:hidden !important}.overflow-xl-x-hidden{overflow-x:hidden !important}.overflow-xl-y-hidden{overflow-y:hidden !important}.overflow-xl-auto{overflow:auto !important}.overflow-xl-x-auto{overflow-x:auto !important}.overflow-xl-y-auto{overflow-y:auto !important}.overflow-xl-scroll{overflow:scroll !important}.overflow-xl-x-scroll{overflow-x:scroll !important}.overflow-xl-y-scroll{overflow-y:scroll !important}}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAX0AAsAAAAADYwAAAWkAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCELgqKaIh/ATYCJAM8CyAABCAFhG0HglMbugsRVaRPkf0ssGPyVCOvy8czJ7P+a4tNOQfB8987zTt6I0UeybxE4C2h7RA5WSAqILiEbCihivCVHidAwByCG4wZN3LTmZ9k86cXTdmo469pe92NkME0+WTx5WpNdcgnwuG6AI2PlX8PeJ+kCOhIVaEsCwVMiowBy0LW65qEV52clCwq54jn4VCAYQDjUAcdclQNLhoWFcqtWbm8A7cQgu7QKVyf07CpRp2HjWudbr0JnBu9v/qZKcoFC1vgI6WXHbyEVKCCpBxXOY4WOY7jDhcFjLcCAcYBGtS2xpgNSJIzDsEsnTUHAQ66qhX4QbJSwSHFRBQCl7lRP8Dg4RMmQugWHW0cqhCsfx4oB5Z8aB7NjUCgrAUGAssCDwKxwIdAWxCGwKZ2ww6CCAFXIQgXDER2wSGIABuIAHsQAfYRhAAnEIQFnATzSUhRv8kAYCSoVWClYHlNVFbQaCxhE61gJ/mJuB5U86PK9x1fbJLye+moknE8O+QkQ/RYyo/tLnxbU/yutvx9fSloKZXqRmXra9MjrisWywszTxbq66q7X18qFeZlPygXi7VjM8t9CS8leQclrS4Uamr/QLlcXyq11L1ZOuD58oHvlI9+q5iqrTNXvzf9kQ8GXvP+jAff3a0pN6+ufn5Nc36aukJhaefi1pIrFtTXLazdXU/X7HFZR67Z886E44w5Q6njNxtl8O1vmBuf7KUvf2p4/JZn+tpXPN0SsaMHmba1rmZBfe1hCSPUx3eqzyjtjjVYcTEmXzjo5dIQ0xzdvWXpdqm5+enjnznzqeOerLe2ZLbL7tiNt+69ym3DPerDt9wxC799Q2f3tYMuzSeZq9Fc0kMu7eld3N2ys3ERSOOr2hj9qgQZ4xplZ3u/U525O9wxdcqKFauXJyPXH3z4kr4d/UbkDusce+PFFeX/u+qT6zcjPfPsEeeNb91gjpg6hS+uzTM1iB8gx6WVqFSulw8/FPDXjxC47KLWYatX33RC/IOb7RP/yk60V82Pn9C0enXXOxuiv/3xx29RmoVBMuhe+eknuVcIIMdlSVOb3/yFZ/jmM8/Qvr+FpsS/T5cPpZXbB3HajgSjQ4yeOeq43Qu++CLxacIUvXZgLpVO5W3tXH6qedZMzRONcUrwrvvu0cIivYZoUnmQpJ7SXV36KSE8clx2iicfO+rY0e+NWjZ26X3b1vHuYSdMZ5bAwv3HceGGH+zDDkun7ez2D2PH7mCY5BYubG8PSuSeqeSnzpBLvHjNoHA43ndgitkyaNCk2yUlt086L//TtTcNwhefo+rjRpJ+PnjMhVce8ckfuUg7uUk+0OtRu9Ykh/3/ASo3y8fSFAWeFfm4KQA5ToDKl5KXQWC0zRaDgCTI+1n6j3ExBn8tE9uj8/7t3v/noE+3fDd9sEklr5Ec4GKBmv7To5Wd9Irl0KhetL9dFAVEmYgNP5ZBGEmHCpyQ4PPT+bv/iEYp3AI9Bosq+oPgMkyhNePAxmMaOLgsBMNYDt3aI8kmBKVDwBhODkAR4x6wiPAMCDHeUmjNZ2DTg1/BIWbtAIz/Lna59Jo3b0JWqYZqBx55ciZcTVz+m5p5sJJnI/0/SfTpUKR5Of+LJpJDrBHXTanqwAmP8BkcjYaBIQh3hJq2qmGVZa7pgVLkcWG8EcRSpAYqO8BDbOL8wMpU3v4bacwGlnQ0u3T/R0TkZw4KqVyh+JImVbOXUjVaa5SUohywdQUbgU+KIoPkMBCaF+oQpFLtDlnBSkbdOa2Unl4e3/dRgMEvFS3Jiio03TAt23E939m7CRP0ggMlsbUSTCO+Tqe/iGQF27bX32FLa+EpqSz2jYEbRB+kS9+jenrHsrFSz9T3LdaXWyrXdndYZveec0DtY+RJxUbNR504v0YreTf0DOKR1Dax6jW2ViveJh9Rmg+R6tKM+nFvwYsFAAAA") format("woff2"),url("iconfont.woff?t=1615774773267") format("woff"),url("iconfont.ttf?t=1615774773267") format("truetype"),url("iconfont.svg?t=1615774773267#iconfont") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-sync-circle-sharp:before{content:'\e613'}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:80vh;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%}