.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.d-none {
  display: none !important;
}

.ms-1,
.mx-1 {
  margin-left: 0.25em !important;
}

.me-1,
.mx-1 {
  margin-right: 0.25em !important;
}

.ps-1,
.px-1 {
  padding-left: 0.25em !important;
}

.pe-1,
.px-1 {
  padding-right: 0.25em !important;
}

.text-primary {
  color: var(--fi-primary) !important;
}

.text-secondary {
  color: var(--fi-secondary) !important;
}

.text-success {
  color: var(--fi-success) !important;
}

.text-info {
  color: var(--fi-info) !important;
}

.text-warning {
  color: var(--fi-warning) !important;
}

.text-danger {
  color: var(--fi-danger) !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.variant-numeric {
  font-variant-numeric: tabular-nums lining-nums;
}

.rounded-full {
  border-radius: calc(infinity * 1px);
}

.is-fullscreen .fa-expand {
  --fa: "\f066";
  font-weight: 900;
  color: var(--fi-global-link-hover-color);
}

[data-theme-mode=dark] .auto-dark-mode {
  filter: invert(1) hue-rotate(0.5turn);
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .auto-dark-mode {
    filter: invert(1) hue-rotate(0.5turn);
  }
}

.page-break-before {
  break-before: page;
}

.page-break-after {
  break-after: page;
}

@media only screen and (min-width: 681px) {
  .d-none-desktop {
    display: none;
  }
}
@media only screen and (max-width: 680px) {
  .d-none-mobile {
    display: none !important;
  }
}
@media only print {
  @page {
    size: A4 portrait;
    margin: 1.27cm;
  }
  .d-none-print {
    display: none !important;
  }
}
:root {
  font-family: var(--fi-global-font-family);
  font-weight: var(--fi-global-font-weight);
  font-display: swap;
  font-size: var(--fi-global-font-size);
  line-height: var(--fi-global-line-height);
  width: 100%;
  scroll-behavior: smooth;
  overflow: auto;
  container-type: scroll-state;
  container-name: scroller;
}
:root:has(dialog[open], .is-fullscreen) {
  overflow: hidden;
}
@media screen and (prefers-reduced-motion: reduce) {
  :root {
    scroll-behavior: auto;
  }
}

body {
  margin: 0;
  background-color: var(--fi-global-background-color);
  color: var(--fi-global-font-color);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  word-wrap: break-word;
  overflow-wrap: break-word;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

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 {
  object-fit: cover;
}

img,
video {
  max-width: 100%;
  height: auto;
  border-radius: var(--fi-global-border-radius);
}

button {
  border-radius: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: 1.15;
  margin: 0;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
  font-size: 1.5rem;
}
legend + * {
  clear: left;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: vertical;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
  border-radius: var(--fi-global-border-radius);
}

details.center summary {
  text-align: center;
}

summary {
  display: list-item;
  cursor: pointer;
}

dialog {
  padding: 0;
}

[hidden] {
  display: none;
}

::selection {
  background-color: var(--fi-selection-color);
}

a,
a::before,
a::after {
  text-decoration: none;
  color: light-dark(#161209, #b3bdcb);
}

a:active,
a:hover {
  color: light-dark(#2983bb, #fff);
}

:root {
  interpolate-size: allow-keywords;
  color-scheme: light dark;
}
:root[data-theme-mode=light] {
  color-scheme: light;
}
:root[data-theme-mode=dark] {
  color-scheme: dark;
}
:root {
  --fi-global-font-family: system-ui, -apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei UI, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif;
  --fi-global-font-size: 16px;
  --fi-global-font-weight: 400;
  --fi-global-line-height: 1.5rem;
  --fi-global-border-radius: 6px;
  --fi-header-height: 3.5rem;
  --fi-header-title-font-family: system-ui, -apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei UI, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif;
  --fi-header-title-font-size: 1.375rem;
  --fi-submenu-height: 1.75rem;
  --fi-toc-title-font-size: 1rem;
  --fi-toc-content-font-size: 0.875rem;
  --fi-collection-title-font-size: 1rem;
  --fi-collection-list-font-size: 0.875rem;
  --fi-related-title-font-size: 1rem;
  --fi-related-list-font-size: 0.875rem;
  --fi-reward-img-width: 180px;
  --fi-code-font-size: 0.875em;
  --fi-code-block-font-size: 0.875rem;
  --fi-code-font-family: Source Code Pro, Menlo, Consolas, Monaco, monospace, system-ui, -apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei UI, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif;
  --fi-code-error-color: #dc3545;
  --fi-scrollbar-track-color: transparent;
  --fi-scrollbar-width: thin;
  --fi-scrollbar-width-legacy: 12px;
  --fi-bezier: cubic-bezier(0.4, 0, 0.2, 1);
  --fi-divider-edge-weak: linear-gradient(to right, transparent, var(--fi-divider-bg, #d0d0d5), transparent);
}
:root:has(.breadcrumb-container.sticky) {
  --fi-breadcrumb-height: 2.5rem;
}

:root {
  --fi-primary: light-dark(#1677ff, rgb(0, 104.7017167382, 251.5));
  --fi-secondary: light-dark(#8b949e, rgb(125.1126760563, 135.1901408451, 146.3873239437));
  --fi-success: light-dark(#52c41a, rgb(72.5810810811, 173.4864864865, 23.0135135135));
  --fi-info: light-dark(#13c2c2, rgb(16.7253521127, 170.7746478873, 170.7746478873));
  --fi-warning: light-dark(#faad14, rgb(239.40625, 160.9625, 5.09375));
  --fi-danger: light-dark(#ff4d4f, rgb(255, 51.5, 53.7865168539));
}

:root {
  --fi-global-background-color: light-dark(#ffffff, #1f252d);
  --fi-global-font-color: light-dark(#1f2328, #b3bdcb);
  --fi-global-font-secondary-color: light-dark(#8b949e, #7d8792);
  --fi-global-font-tertiary-color: light-dark(rgb(172.3295774648, 178.7436619718, 185.8704225352), rgb(95.6828451883, 104.4610878661, 114.1171548117));
  --fi-global-link-color: light-dark(#161209, #b3bdcb);
  --fi-global-link-hover-color: light-dark(#2983bb, #fff);
  --fi-global-border-color: light-dark(#d7dee4, #383f47);
  --fi-global-border-color-light: light-dark(rgb(230.223880597, 234.5597014925, 238.276119403), rgb(44.7559055118, 50.3503937008, 56.7440944882));
  --fi-global-border-color-weight: light-dark(rgb(199.776119403, 209.4402985075, 217.723880597), rgb(67.2440944882, 75.6496062992, 85.2559055118));
  --fi-header-background-color: light-dark(#f6f8fa, #151b23);
  --fi-menu-active-color: light-dark(#161209, #fff);
  --fi-menu-border-color: light-dark(rgba(60, 60, 60, 0.1215686275), rgba(84, 84, 84, 0.4784313725));
  --fi-search-background-color: light-dark(#e9eaed, #202833);
  --fi-selection-color: light-dark(rgba(53, 166, 247, 0.25), rgba(50, 112, 194, 0.4));
  --fi-scrollbar-color: light-dark(#a6a6a6, #a6a6a6);
  --fi-scrollbar-hover-color: light-dark(#7d7d7d, #7d7d7d);
  --fi-scrollbar-thumb-color: light-dark(#a6a6a6, #a6a6a6);
  --fi-scrollbar-thumb-hover-color: light-dark(#7d7d7d, #7d7d7d);
  --fi-tag-cloud-start: light-dark(#b3bdcb, #909092);
  --fi-tag-cloud-end: light-dark(#1f2328, #b3bdcb);
  --fi-pagination-link-color: light-dark(#bfbfbf, #b3bdcb);
  --fi-pagination-link-hover-color: light-dark(#000, #fff);
}

:root {
  --fi-single-link-color: light-dark(#2376b7, #1781b5);
  --fi-single-link-hover-color: light-dark(#ea517f, #cc5595);
  --fi-table-background-color: light-dark(#f9fbfe, #26303a);
  --fi-table-thead-color: light-dark(#e3ebf4, #3a4653);
  --fi-table-border-color: light-dark(#d4dee8, #4b5867);
  --fi-blockquote-color: light-dark(#697681, #9ba3aa);
  --fi-reward-color: light-dark(tomato, rgb(255, 77.3804347826, 45.5));
  --fi-hr-active-color: light-dark(rgb(236.1969230769, 99.2030769231, 140.3907692308), rgb(244.8, 244.8, 244.8));
  --fi-code-color: light-dark(#26323d, #c5d1dc);
  --fi-code-inline-background-color: light-dark(rgba(175, 184, 193, 0.2), rgba(99, 110, 123, 0.4));
  --fi-code-block-background-color: light-dark(#f3f7fb, #2a333d);
  --fi-code-header-color: light-dark(#70808f, #99a7b5);
  --fi-code-header-background-color: light-dark(#dde6ef, #161f28);
  --fi-code-highlight-color: light-dark(#fff2b8, rgba(191, 144, 32, 0.28));
}

:root {
  --fi-github-corner-color: light-dark(white, black);
  --fi-github-corner-fill: light-dark(#151b23, #f6f8fa);
}

.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
}
.wrapper main {
  flex: 1 0 auto;
}
.wrapper main aside {
  flex: 1;
  padding: 0.5rem;
  max-width: 500px;
}
.wrapper main aside:not(:has(~ aside)) {
  display: none;
}
@media only screen and (max-width: 960px) {
  .wrapper main aside {
    display: none !important;
  }
}
.wrapper main.fi-container {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-inline: 0.5rem;
}
.wrapper main.fi-container[data-reverse] {
  flex-direction: row-reverse;
}
.wrapper main.fi-container:has(.home:not(.posts)) {
  align-items: center;
}
@media only screen and (min-width: 961px) and (max-width: 1200px) {
  .wrapper main aside:first-child:empty:has(~ aside:not(:empty)),
  .wrapper main aside:first-child:not(:empty) ~ aside#toc-auto:empty {
    display: none;
  }
  .wrapper main aside:first-child:empty:has(~ aside:not(:empty)) ~ article,
  .wrapper main aside:first-child:not(:empty) ~ article:has(~ aside:empty) {
    flex: 3;
  }
  .wrapper:has(main > aside:first-child:empty ~ aside:not(:empty)) .breadcrumb-container .breadcrumb,
  .wrapper:has(main > aside:first-child:empty ~ aside:not(:empty)) #comments .comment {
    flex: 3;
  }
  .wrapper:has(main > aside:first-child:empty ~ aside:not(:empty)) .breadcrumb-container::before,
  .wrapper:has(main > aside:first-child:empty ~ aside:not(:empty)) #comments::before {
    display: none;
  }
  .wrapper:has(main > aside:first-child:not(:empty) ~ aside#toc-auto:empty) .breadcrumb-container .breadcrumb,
  .wrapper:has(main > aside:first-child:not(:empty) ~ aside#toc-auto:empty) #comments .comment {
    flex: 3;
  }
  .wrapper:has(main > aside:first-child:not(:empty) ~ aside#toc-auto:empty) .breadcrumb-container::after,
  .wrapper:has(main > aside:first-child:not(:empty) ~ aside#toc-auto:empty) #comments::after {
    display: none;
  }
}

header {
  width: 100%;
  transition: box-shadow 0.3s ease;
  background-color: var(--fi-header-background-color);
  z-index: 200;
}
header:hover {
  box-shadow: 0 0 1.5rem 0 light-dark(rgba(0, 0, 0, 0.125), rgba(255, 255, 255, 0.125));
}
@supports (container-type: scroll-state) {
  @container scroller (scroll-state(scrollable: top)) {
    header {
      box-shadow: 0 0 1.5rem 0 light-dark(rgba(0, 0, 0, 0.125), rgba(255, 255, 255, 0.125));
    }
  }
}
@supports (container-type: scroll-state) {
  @container scroller (scroll-state(scrollable: top)) {
    header.blur {
      background-color: transparent;
      backdrop-filter: saturate(1.2) blur(10px);
      background-size: 4px 4px;
      background-image: radial-gradient(transparent 1px, var(--fi-header-background-color) 1px);
    }
  }
}
@supports not (container-type: scroll-state) {
  header.blur {
    background-color: transparent;
    backdrop-filter: saturate(1.2) blur(10px);
    background-size: 4px 4px;
    background-image: radial-gradient(transparent 1px, var(--fi-header-background-color) 1px);
  }
}
header.animate__animated.header__fadeInDown {
  animation-name: fi-header-fade-in-down;
}
header.animate__animated.header__fadeOutUp {
  animation-name: fi-header-fade-out-up;
}
@media only print {
  header {
    display: none !important;
  }
}

@keyframes fi-header-fade-in-down {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fi-header-fade-out-up {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  box-sizing: border-box;
  width: 100%;
}

.header-title {
  font-size: var(--fi-header-title-font-size);
  font-family: var(--fi-header-title-font-family);
  font-weight: bold;
  line-height: 1;
  padding: 0.25rem;
  min-width: 10%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 10;
  display: flex;
  align-items: flex-end;
  gap: 0.25rem;
}
.header-title .header-title-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.header-title .header-title-link .logo {
  height: 32px;
  width: auto;
}
.header-title .header-subtitle {
  font-size: 0.75rem;
  line-height: var(--fi-header-title-font-size);
}

.menu {
  margin: 0;
  padding: 0;
}
.menu .menu-item-divider {
  list-style: none;
  margin: 0.25rem 0.5rem;
  height: 1px;
  background-color: var(--fi-menu-border-color);
}
.menu .menu-item {
  list-style: none;
}
.menu .menu-item .dropdown-icon {
  margin-left: 0.25rem;
  font-size: 0.875em;
  color: var(--fi-global-font-color);
}
.menu .menu-item .dropdown-icon.open::before {
  content: "\f078";
}
.menu .menu-item.active > .menu-link,
.menu .menu-item.active > .nested-item > .menu-link {
  font-weight: bold;
  color: var(--fi-menu-active-color);
}
.menu .menu-item .menu-link[href="javascript:void(0);"] {
  color: inherit;
}
.menu .menu-item .menu-link i {
  transform: perspective(1rem);
  transition: transform 0.4s ease;
}
.menu .menu-item .menu-link:hover i {
  transform: perspective(1rem) translateZ(0.2rem);
}

.menu .search {
  position: relative;
}
.menu .search input {
  color: transparent;
  box-sizing: border-box;
  height: 2.5rem;
  width: 1.25rem;
  border: none;
  outline: none;
  background-color: transparent;
  vertical-align: baseline !important;
  transition: width 0.3s ease;
  border-radius: 0.5rem;
}
.menu .search input::placeholder {
  color: transparent;
}
.menu .search .search-button {
  margin: 0;
  position: absolute;
  left: auto;
  right: 1rem;
}
.menu .search .search-toggle {
  left: 0.5rem;
  right: auto;
}
.menu .search .search-toggle:focus-visible {
  outline: none;
}
.menu .search .search-toggle:focus-visible::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.3em;
  height: 1.3em;
  transform: translate(-50%, -50%);
  outline: -webkit-focus-ring-color auto 1px;
  outline-offset: 0.2rem;
  pointer-events: none;
}
#header-desktop.open .menu .search .search-toggle {
  left: 1rem;
}
.menu .search .search-loading {
  display: none;
}
.menu .search .search-clear {
  display: none;
}
.open .menu .search input, .menu .search.mobile input {
  color: var(--fi-global-font-color);
  background-color: var(--fi-search-background-color);
  padding: 0 2rem 0 2rem;
}
.open .menu .search .search-button, .menu .search.mobile .search-button {
  color: var(--fi-global-font-tertiary-color);
}
.open .menu .search .search-clear:hover, .menu .search.mobile .search-clear:hover {
  color: #ff6b6b;
}
.open .menu .search .search-toggle:hover, .menu .search.mobile .search-toggle:hover {
  cursor: default;
}
.open .menu .search input::placeholder, .menu .search.mobile input::placeholder {
  color: var(--fi-global-font-tertiary-color);
}

.theme-switch {
  position: relative;
}
.theme-switch:focus-visible {
  outline: none;
}
.theme-switch:focus-visible::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.3em;
  height: 1.3em;
  transform: translate(-50%, -50%);
  outline: -webkit-focus-ring-color auto 1px;
  outline-offset: 0.2rem;
  pointer-events: none;
}
.theme-switch i {
  display: inline-block;
  transform: rotate(225deg) scale(1);
  transform-origin: center;
}
[data-theme-mode=auto] .theme-switch i {
  animation: fi-theme-switch-auto 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-theme-mode=light] .theme-switch i {
  --fa: '';
  animation: fi-theme-switch-light 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-theme-mode=dark] .theme-switch i {
  --fa: '';
  animation: fi-theme-switch-dark 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media screen and (prefers-reduced-motion: reduce) {
  .theme-switch i {
    animation: none !important;
  }
}
@keyframes fi-theme-switch-auto {
  0% {
    transform: rotate(180deg) scale(0.9);
    opacity: 0.7;
  }
  60% {
    transform: rotate(245deg) scale(1.08);
    opacity: 1;
  }
  100% {
    transform: rotate(225deg) scale(1);
    opacity: 1;
  }
}
@keyframes fi-theme-switch-light {
  0% {
    transform: rotate(140deg) scale(0.82);
    opacity: 0.55;
  }
  55% {
    transform: rotate(250deg) scale(1.12);
    opacity: 1;
  }
  100% {
    transform: rotate(225deg) scale(1);
    opacity: 1;
  }
}
@keyframes fi-theme-switch-dark {
  0% {
    transform: rotate(310deg) scale(0.86);
    opacity: 0.55;
  }
  55% {
    transform: rotate(205deg) scale(1.08);
    opacity: 1;
  }
  100% {
    transform: rotate(225deg) scale(1);
    opacity: 1;
  }
}

#header-desktop {
  display: block;
  position: sticky;
  top: 0;
  height: var(--fi-header-height);
  line-height: var(--fi-header-height);
  box-sizing: border-box;
}
[data-header-desktop=normal] #header-desktop {
  position: static;
}
#header-desktop nav {
  overflow: hidden;
  white-space: nowrap;
}
#header-desktop .header-wrapper {
  padding: 0 2rem;
  height: 100%;
}
#header-desktop .header-wrapper[data-github-corner=left] {
  padding-inline-start: var(--fi-header-height);
}
#header-desktop .header-wrapper[data-github-corner=right] {
  padding-inline-end: var(--fi-header-height);
}
#header-desktop .header-wrapper .menu {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
#header-desktop .header-wrapper .menu > .menu-item:hover .sub-menu {
  display: block;
  transform: translateX(-0.5rem);
}
#header-desktop .header-wrapper .menu > .menu-item.language-switch:hover .sub-menu {
  transform: translateX(calc(1.75rem - 100%));
}
#header-desktop .header-wrapper .menu .menu-item {
  padding: 0 0.5rem;
}
#header-desktop .header-wrapper .menu .menu-item.delimiter {
  width: 0;
  margin: 18.5px 0.5rem;
  padding: 0;
  border-left: 1.5px solid var(--fi-global-border-color);
}
#header-desktop .header-wrapper .menu .sub-menu {
  position: absolute;
  margin: 0;
  padding: 0.25rem 0;
  display: none;
  top: calc(var(--fi-header-height) - 0.75rem);
  border: 1px solid var(--fi-menu-border-color);
  background-color: var(--fi-header-background-color);
  max-height: 60vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  transition: box-shadow 0.3s ease;
  border-radius: var(--fi-global-border-radius);
  box-shadow: 0 0 1.5rem 0 light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
}
#header-desktop .header-wrapper .menu .sub-menu .menu-item {
  height: var(--fi-submenu-height);
  line-height: var(--fi-submenu-height);
  max-width: 15rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow-x: hidden;
}
@media only screen and (max-width: 1200px) {
  #header-desktop .header-wrapper {
    padding-inline: 1rem;
  }
}
#header-desktop.open .header-wrapper .menu .menu-item.search input {
  width: 24rem;
}
@media only screen and (max-width: 680px) {
  #header-desktop {
    display: none;
  }
}

#header-mobile {
  position: sticky;
  top: 0;
  height: var(--fi-header-height);
  line-height: var(--fi-header-height);
}
[data-header-mobile=normal] #header-mobile {
  position: static;
}
#header-mobile .header-container {
  padding: 0;
  margin: 0;
  height: var(--fi-header-height);
  position: relative;
}
#header-mobile .header-container .header-wrapper {
  height: 100%;
  padding: 0 1rem;
  font-size: 1.125rem;
  transition: margin-top 0.3s ease;
}
#header-mobile .header-container .header-wrapper .header-title {
  max-width: 80%;
}
#header-mobile .header-container .header-wrapper .theme-switch {
  line-height: 1.25em;
}
#header-mobile .header-container .header-wrapper .menu-toggle {
  position: relative;
}
#header-mobile .header-container .header-wrapper .menu-toggle:focus-visible {
  outline: none;
}
#header-mobile .header-container .header-wrapper .menu-toggle:focus-visible::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.3em;
  height: 1.3em;
  transform: translate(-50%, -50%);
  outline: -webkit-focus-ring-color auto 1px;
  outline-offset: 0.2rem;
  pointer-events: none;
}
#header-mobile .header-container .header-wrapper .menu-toggle span {
  display: block;
  background-color: var(--fi-global-font-color);
  width: 20px;
  height: 2px;
  transition: all 0.3s ease-in-out;
  border-radius: calc(infinity * 1px);
}
#header-mobile .header-container .header-wrapper .menu-toggle span:not(:last-child) {
  margin-bottom: 6px;
}
#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2) {
  opacity: 0;
}
#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}
#header-mobile .header-container .menu {
  background-color: var(--fi-header-background-color);
  border-top: 2px solid var(--fi-global-border-color-light);
  display: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  max-height: 70vh;
  --fi-scrollbar-width: none;
  --fi-scrollbar-width-legacy: 0;
  box-shadow: 0 0.125rem 0.25rem light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
}
#header-mobile .header-container .menu .search-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding: 0.5rem 1rem;
  line-height: 2.5rem;
  position: sticky;
  top: 0;
  background-color: var(--fi-header-background-color);
  z-index: 100;
}
#header-mobile .header-container .menu .search {
  flex-grow: 10;
}
#header-mobile .header-container .menu .search .algolia-autocomplete,
#header-mobile .header-container .menu .search input {
  width: 100%;
}
#header-mobile .header-container .menu .search-loading,
#header-mobile .header-container .menu .search-clear {
  right: 0.5rem;
}
#header-mobile .header-container .menu .search-button {
  top: 0;
}
#header-mobile .header-container .menu .search-cancel {
  display: none;
  margin-left: 0.75rem;
}
#header-mobile .header-container .menu .menu-item {
  display: block;
  position: relative;
  line-height: 2.5rem;
  padding: 0 1rem;
}
#header-mobile .header-container .menu .menu-item:not(.menu-system):hover {
  background-color: light-dark(#f2f2f3, #535355);
}
#header-mobile .header-container .menu .menu-item .menu-link {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow-x: hidden;
  flex: 4;
}
#header-mobile .header-container .menu .menu-item .nested-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#header-mobile .header-container .menu .menu-item .nested-item .menu-link {
  max-width: 80%;
}
#header-mobile .header-container .menu .menu-system {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  position: sticky;
  bottom: 0;
  line-height: 2.5rem;
  padding: 0 1rem;
  background-color: var(--fi-header-background-color);
}
#header-mobile .header-container .menu .menu-system .menu-system-item {
  padding-inline: 0.5rem;
}
#header-mobile .header-container .menu .menu-system .language-switch {
  position: relative;
}
#header-mobile .header-container .menu .menu-system .language-switch .language-select {
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#header-mobile .header-container .menu .sub-menu {
  padding-left: 0;
  display: none;
}
#header-mobile .header-container .menu .sub-menu.open {
  display: block;
}
#header-mobile .header-container .menu .sub-menu .menu-item:hover {
  background-color: light-dark(#e7e7ea, #5d5d5f);
}
#header-mobile .header-container .menu.active {
  display: block;
}
#header-mobile.open .header-wrapper {
  margin-top: calc(var(--fi-header-height) * -1);
}
#header-mobile.open .menu {
  padding-top: 0;
  border-top: none;
}
#header-mobile.open .menu .menu-item {
  display: none;
}
#header-mobile.open .menu .search-cancel {
  display: inline;
}
@media only screen and (min-width: 681px) {
  #header-mobile {
    display: none;
  }
}

.search-dropdown {
  position: fixed;
  top: var(--fi-header-height);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
  z-index: 200;
  box-shadow: 0 0.125rem 0.25rem light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
}
.search-dropdown.desktop {
  right: 2rem;
  width: 30rem;
}
@media only screen and (max-width: 1200px) {
  .search-dropdown.desktop {
    right: 1rem;
  }
}
.search-dropdown.mobile {
  right: 0;
  width: 100%;
}
.search-dropdown .dropdown-menu {
  right: 0 !important;
  background-color: var(--fi-global-background-color);
}
.search-dropdown .dropdown-menu .suggestions {
  overflow-y: auto;
  overscroll-behavior: contain;
  max-height: calc(100dvh - var(--fi-header-height) - 40px);
}
.search-dropdown .dropdown-menu .suggestions .suggestion {
  padding: 0.75rem 1rem;
}
.search-dropdown .dropdown-menu .suggestions .suggestion > :first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
}
.search-dropdown .dropdown-menu .suggestions .suggestion > :first-child > a {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1rem;
  font-weight: bold;
}
.search-dropdown .dropdown-menu .suggestions .suggestion > :first-child .suggestion-date {
  font-size: 0.875rem;
  flex-shrink: 0;
  color: var(--fi-global-font-tertiary-color);
}
.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context {
  display: -webkit-box;
  line-height: 1.25rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--fi-global-font-secondary-color);
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.search-dropdown .dropdown-menu .suggestions .suggestion em {
  font-style: normal;
  background-color: var(--fi-selection-color);
}
.search-dropdown .dropdown-menu .suggestions .suggestion.cursor {
  background-color: var(--fi-code-block-background-color);
}
.search-dropdown .dropdown-menu .suggestions .suggestion:hover {
  cursor: pointer;
}
.search-dropdown .dropdown-menu .search-empty {
  padding: 1rem;
  text-align: center;
}
.search-dropdown .dropdown-menu .search-empty .search-query {
  font-weight: bold;
}
[data-theme-mode=dark] .search-dropdown .dropdown-menu .search-empty .search-query {
  color: #ddd;
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .search-dropdown .dropdown-menu .search-empty .search-query {
    color: #ddd;
  }
}
.search-dropdown .dropdown-menu .search-footer {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  text-align: right;
  color: var(--fi-global-font-secondary-color);
}
.search-dropdown .dropdown-menu .search-footer a,
.search-dropdown .dropdown-menu .search-footer a::before,
.search-dropdown .dropdown-menu .search-footer a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #1781b5);
}
.search-dropdown .dropdown-menu .search-footer a:active,
.search-dropdown .dropdown-menu .search-footer a:hover {
  color: light-dark(#ea517f, #cc5595);
}

@media only screen and (min-width: 1441px) {
  :is(main > .page, .breadcrumb-container > .breadcrumb, #comments > .comment) {
    width: round(60%, 2px);
    max-width: 1200px;
  }
}
@media only screen and (min-width: 1201px) and (max-width: 1440px) {
  :is(main > .page, .breadcrumb-container > .breadcrumb, #comments > .comment) {
    width: round(56%, 2px);
  }
}
@media only screen and (min-width: 961px) and (max-width: 1200px) {
  :is(main > .page, .breadcrumb-container > .breadcrumb, #comments > .comment) {
    width: round(52%, 2px);
  }
}
@media only screen and (min-width: 681px) and (max-width: 960px) {
  :is(main > .page, .breadcrumb-container > .breadcrumb, #comments > .comment) {
    width: round(80%, 2px);
  }
}
@media only screen and (max-width: 680px) {
  :is(main > .page, .breadcrumb-container > .breadcrumb, #comments > .comment) {
    width: 100%;
  }
}

@media only screen and (min-width: 1441px) {
  [data-page-style=wide] :is(main > .page, .breadcrumb-container > .breadcrumb, #comments > .comment) {
    width: round(64%, 2px);
    max-width: 1600px;
  }
}
@media only screen and (min-width: 1201px) and (max-width: 1440px) {
  [data-page-style=wide] :is(main > .page, .breadcrumb-container > .breadcrumb, #comments > .comment) {
    width: round(60%, 2px);
  }
}
@media only screen and (min-width: 961px) and (max-width: 1200px) {
  [data-page-style=wide] :is(main > .page, .breadcrumb-container > .breadcrumb, #comments > .comment) {
    width: round(56%, 2px);
  }
}

@media only screen and (min-width: 1441px) {
  [data-page-style=narrow] :is(main > .page, .breadcrumb-container > .breadcrumb, #comments > .comment) {
    max-width: 800px;
  }
}

.breadcrumb-container {
  padding-inline: 0.5rem;
  font-size: 0.75rem;
  background-color: var(--fi-global-background-color);
  display: flex;
  z-index: 100;
}
.breadcrumb-container:has(~ main[data-reverse]) {
  flex-direction: row-reverse;
}
.breadcrumb-container::before, .breadcrumb-container::after {
  content: "";
  flex: 1;
  padding-inline: 0.5rem;
}
@media only screen and (max-width: 960px) {
  .breadcrumb-container::before, .breadcrumb-container::after {
    display: none;
  }
}
.breadcrumb-container.sticky {
  position: sticky;
  top: 0px;
  transition: top 0.5s ease;
}
@media only screen and (min-width: 681px) {
  [data-header-desktop=sticky] .breadcrumb-container.sticky, [data-header-desktop=auto] .breadcrumb-container.sticky {
    top: var(--fi-header-height);
  }
  [data-header-desktop=auto]:has(#header-desktop.header__fadeOutUp) .breadcrumb-container.sticky {
    top: 0px;
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] .breadcrumb-container.sticky, [data-header-mobile=auto] .breadcrumb-container.sticky {
    top: var(--fi-header-height);
  }
  [data-header-mobile=auto]:has(#header-mobile.header__fadeOutUp) .breadcrumb-container.sticky {
    top: 0px;
  }
}
@media screen and (prefers-reduced-motion: reduce) {
  .breadcrumb-container.sticky {
    transition: none;
  }
}
.breadcrumb-container .breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  padding: 0.5rem;
  margin: 0 auto;
  list-style: none;
  box-shadow: inset 0 -1px 0 var(--fi-global-border-color);
  overflow-x: auto;
  overflow-y: hidden;
  box-sizing: border-box;
}
.breadcrumb-container .breadcrumb .breadcrumb-item {
  display: flex;
  flex-shrink: 0;
}
.breadcrumb-container .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: attr(data-separator);
  display: inline-block;
  padding-inline: 0.5rem;
  color: var(--fi-global-border-color);
}
.breadcrumb-container .breadcrumb .breadcrumb-item.active {
  color: var(--fi-global-font-secondary-color);
}
@media only print {
  .breadcrumb-container {
    display: none !important;
  }
}

.pagination {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  white-space: nowrap;
  width: 100%;
  padding: 1rem 0;
}
.pagination a {
  font-size: 0.8rem;
  color: var(--fi-pagination-link-color);
  letter-spacing: 0.1rem;
  font-weight: 700;
  padding: 5px 5px;
  text-decoration: none;
  transition: 0.3s;
}
.pagination li {
  padding: 5px;
  margin: 0 10px;
  box-sizing: border-box;
  position: relative;
  display: inline;
}
.pagination li.disabled {
  display: none;
}
.pagination li:hover a {
  color: var(--fi-pagination-link-hover-color);
}
.pagination li::before, .pagination li::after {
  position: absolute;
  content: "";
  width: 0;
  height: 3px;
  background: var(--fi-pagination-link-hover-color);
  bottom: 0px;
  transition: 0.3s;
}
.pagination li::before {
  left: 50%;
}
.pagination li::after {
  right: 50%;
}
.pagination li:hover::before, .pagination li:hover::after {
  width: 50%;
}
.pagination li.active a {
  color: var(--fi-pagination-link-hover-color);
}
.pagination li.active::before, .pagination li.active::after {
  width: 50%;
}
@media only screen and (max-width: 680px) {
  .pagination li {
    margin: 0 5px;
  }
}

.wrapper > #comments {
  padding: 2rem 0.5rem;
  display: flex;
}
.wrapper > #comments::before, .wrapper > #comments::after {
  content: "";
  flex: 1;
  padding-inline: 0.5rem;
}
@media only screen and (max-width: 960px) {
  .wrapper > #comments::before, .wrapper > #comments::after {
    display: none;
  }
}
.wrapper > #comments .comment {
  margin: 0 auto;
  padding-inline: 0.5rem;
  box-sizing: border-box;
}
.wrapper > #comments .comment iframe {
  width: 100%;
}
@media only print {
  .wrapper > #comments {
    display: none !important;
  }
}

footer {
  height: auto;
  width: 100%;
  text-align: center;
  line-height: 1.25rem;
  padding: 1rem 0;
}
footer .footer-container {
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
}
footer .footer-container .footer-line {
  width: 100%;
}
footer .footer-container .footer-line .footer-divider:not(:first-child)::before {
  content: "|";
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
[data-theme-mode=dark] footer .footer-container .footer-line .hugo-icon,
[data-theme-mode=dark] footer .footer-container .footer-line .fixit-icon,
[data-theme-mode=dark] footer .footer-container .footer-line .animate-icon {
  filter: invert(1) hue-rotate(0.5turn) opacity(0.6);
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] footer .footer-container .footer-line .hugo-icon,
  [data-theme-mode=auto] footer .footer-container .footer-line .fixit-icon,
  [data-theme-mode=auto] footer .footer-container .footer-line .animate-icon {
    filter: invert(1) hue-rotate(0.5turn) opacity(0.6);
  }
}
footer .footer-container .footer-line .animate-icon {
  color: light-dark(#e01846, #ff5f7a);
  animation: icon-animate 1.33s ease-in-out infinite;
}
@media only screen and (max-width: 680px) {
  footer .footer-container {
    font-size: 0.618rem;
  }
}
@media only print {
  footer {
    display: none !important;
  }
}

@keyframes icon-animate {
  0%, 100% {
    transform: scale(1);
  }
  10%, 30% {
    transform: scale(0.9);
  }
  20%, 40%, 60%, 80% {
    transform: scale(1.1);
  }
  50%, 70% {
    transform: scale(1.1);
  }
}
.page {
  padding-inline: 0.5rem;
  box-sizing: border-box;
}
.page .content [id] {
  scroll-margin-top: var(--fi-scroll-margin-top, 0.5rem);
}
@media only screen and (min-width: 681px) {
  [data-header-desktop=sticky] .page .content [id], [data-header-desktop=auto] .page .content [id] {
    --fi-scroll-margin-top: calc(var(--fi-header-height) + 0.5rem);
  }
  [data-header-desktop=sticky]:has(.breadcrumb-container.sticky) .page .content [id], [data-header-desktop=auto]:has(.breadcrumb-container.sticky) .page .content [id] {
    --fi-scroll-margin-top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px) + 0.5rem);
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] .page .content [id], [data-header-mobile=auto] .page .content [id] {
    --fi-scroll-margin-top: calc(var(--fi-header-height) + 0.5rem);
  }
  [data-header-mobile=sticky]:has(.breadcrumb-container.sticky) .page .content [id], [data-header-mobile=auto]:has(.breadcrumb-container.sticky) .page .content [id] {
    --fi-scroll-margin-top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px) + 0.5rem);
  }
}
@media only print {
  .page {
    width: 100% !important;
    padding-top: 0 !important;
  }
}

.single .single-title {
  padding: 1rem 0 0.5rem;
  margin: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 140%;
}
.single .single-title .icon-pin {
  display: inline-block;
  width: max-content;
  transform: rotate(30deg);
  margin-right: 0.25em;
  color: var(--fi-danger);
}
.single .single-title .icon-repost {
  display: inline-block;
  width: max-content;
  margin-right: 0.25em;
  color: var(--fi-success);
}
@media only print {
  .single .single-title {
    text-align: center;
  }
}
.single .single-subtitle {
  margin-block: 0 0.5rem;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.15;
}
@media only print {
  .single .single-subtitle {
    text-align: center;
  }
}
.single .post-meta {
  font-size: 0.875rem;
  color: var(--fi-global-font-secondary-color);
}
.single .post-meta span {
  display: inline-block;
}
.single .post-meta a,
.single .post-meta a::before,
.single .post-meta a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #b3bdcb);
}
.single .post-meta a:active,
.single .post-meta a:hover {
  color: light-dark(#ea517f, #fff);
}
.single .post-meta .author {
  font-size: 1.05rem;
}
.single .post-meta .author img.avatar {
  width: 1.3rem;
  height: 1.3rem;
  vertical-align: text-bottom;
  border: 0.25px solid var(--fi-global-border-color);
  box-sizing: border-box;
  object-position: center;
  border-radius: calc(infinity * 1px);
  object-fit: cover;
}
@media only print {
  .single .post-meta {
    text-align: center;
  }
  .single .post-meta .comment-visitors,
  .single .post-meta .comment-count {
    display: none;
  }
}
.single .featured-image {
  margin: 1rem 0;
}
.single .featured-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  overflow: hidden;
}
.single #content[data-end-flag]:not([data-password])::after {
  content: attr(data-end-flag);
  display: block;
  text-align: center;
  font-size: 0.875em;
  padding: 0.25rem;
  color: var(--fi-global-font-tertiary-color);
  opacity: 0.8;
}
.single hr {
  position: relative;
  height: 1em;
  margin-block: 1em;
  background-image: linear-gradient(to right, var(--fi-global-border-color) 50%, transparent 50%);
  background-size: 10px 2px;
  background-position: center;
  background-repeat: repeat-x;
  border: none;
}
.single hr.awesome-hr::before {
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  left: 5%;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fi-hr-active-color);
  font-size: 20px;
  line-height: 1;
  transition: left 1s ease-in-out, color 0.3s ease, border-color 0.3s ease;
  font-family: var(--fa-family-classic);
  font-weight: 600;
  content: "\f0c4";
  z-index: 1;
}
.single hr.awesome-hr:hover::before {
  left: calc(95% - 20px);
}
.single .content {
  margin-block: 1rem;
}
.single .content > h1,
.single .content > h2 {
  font-size: 1.5em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid var(--fi-global-border-color-light);
}
.single .content > h3 {
  font-size: 1.25em;
}
.single .content > h4 {
  font-size: 1em;
}
.single .content > h5 {
  font-size: 0.875em;
}
.single .content > h6 {
  font-size: 0.85em;
}
.single .content .heading-element {
  display: flex;
  font-weight: bold;
  line-height: 1.25;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}
.single .content .heading-element:hover > .heading-mark, .single .content .heading-element:target > .heading-mark {
  opacity: 1;
}
.single .content .heading-element > .heading-mark {
  display: inline-flex;
  align-items: center;
  opacity: 0;
  padding-inline: 0.5rem;
  transition: all 0.2s ease-in-out;
}
.single .content .heading-element > .heading-mark a,
.single .content .heading-element > .heading-mark a::before,
.single .content .heading-element > .heading-mark a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #1781b5);
}
.single .content .heading-element > .heading-mark a:active,
.single .content .heading-element > .heading-mark a:hover {
  color: light-dark(#ea517f, #cc5595);
}
.single .content .heading-element > .heading-mark svg {
  fill: currentColor;
}
.single .content p {
  margin: 0.5rem 0;
}
.single .content b,
.single .content strong {
  font-weight: bold;
}
[data-theme-mode=dark] .single .content b,
[data-theme-mode=dark] .single .content strong {
  color: #ddd;
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .single .content b,
  [data-theme-mode=auto] .single .content strong {
    color: #ddd;
  }
}
.single .content a,
.single .content a::before,
.single .content a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #1781b5);
}
.single .content a:active,
.single .content a:hover {
  color: light-dark(#ea517f, #cc5595);
}
.single .content a {
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.single .content a b,
.single .content a strong {
  color: inherit;
}
.single .content > ul,
.single .content > ol,
.single .content > dl {
  margin-block: 0.5em;
}
.single .content :is(ol, ul) :is(ol, ul) {
  padding-left: 20px;
}
.single .content li::marker {
  color: var(--fi-secondary);
}
.single .content li:hover::marker {
  color: var(--fi-single-link-hover-color);
}
.single .content li[data-task] {
  list-style: none;
}
.single .content li[data-task] > i {
  margin: 0 0.25em 0 -1.5em;
  color: var(--fi-task-icon-color, "var(--fi-secondary)");
}
.single .content li[data-task] > span {
  color: var(--fi-task-text-color);
}
.single .content li[data-task=x] > i {
  background-color: rgb(from var(--fi-secondary) r g b / 0.2);
  mask-image: linear-gradient(#000, #000);
  mask-size: 0.875em 0.875em;
  mask-repeat: no-repeat;
  mask-position: center;
}
.single .content li[data-task="-"] > i {
  opacity: 0.7;
}
.single .content li[data-task="-"] > span {
  --fi-task-text-color: var(--fi-secondary);
  opacity: 0.7;
  text-decoration: line-through var(--fi-secondary);
}
.single .content li[data-task="/"] > i {
  --fi-task-icon-color: var(--fi-success);
}
.single .content li[data-task="/"] > span {
  --fi-task-text-color: var(--fi-success);
}
.single .content li[data-task="!"] > i, .single .content li[data-task="!x"] > i {
  --fi-task-icon-color: var(--fi-danger);
}
.single .content li[data-task="?"] > i {
  --fi-task-icon-color: var(--fi-warning);
}
.single .content dl dt {
  font-weight: bold;
}
.single .content dl dd {
  margin: 0.25em 0 1em;
}
.single .content ruby {
  background-color: var(--fi-code-block-background-color);
}
.single .content ruby rt {
  color: var(--fi-global-font-secondary-color);
}
.single .content mark {
  padding: 0.14em 0.28em;
  background-color: var(--fi-mark-background-color, "mark");
  color: var(--fi-mark-color, "marktext");
  border-radius: var(--fi-global-border-radius);
}
.single .content mark.mark-primary {
  --fi-mark-color: #fff;
  --fi-mark-background-color: var(--fi-primary);
}
.single .content mark.mark-secondary {
  --fi-mark-color: #fff;
  --fi-mark-background-color: var(--fi-secondary);
}
.single .content mark.mark-success {
  --fi-mark-color: #fff;
  --fi-mark-background-color: var(--fi-success);
}
.single .content mark.mark-info {
  --fi-mark-color: #fff;
  --fi-mark-background-color: var(--fi-info);
}
.single .content mark.mark-warning {
  --fi-mark-color: #fff;
  --fi-mark-background-color: var(--fi-warning);
}
.single .content mark.mark-danger {
  --fi-mark-color: #fff;
  --fi-mark-background-color: var(--fi-danger);
}
.single .content .table-wrapper {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  margin: 0.5rem 0;
  background: var(--fi-table-background-color);
  border: 1px solid var(--fi-table-border-color);
  border-radius: var(--fi-global-border-radius);
  --fi-scrollbar-thumb-color: var(--fi-table-background-color);
}
.single .content .table-wrapper > table {
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-spacing: 0;
  background: var(--fi-table-background-color);
  border-collapse: separate;
}
.single .content .table-wrapper > table thead {
  background: var(--fi-table-thead-color);
}
.single .content .table-wrapper > table:not([class]) tbody tr:nth-child(odd) {
  background: light-dark(rgb(239.1642857143, 244.4428571429, 252.3607142857), rgb(43.5515625, 55.0125, 66.4734375));
}
.single .content .table-wrapper > table:not([class]) tbody tr:hover {
  background: light-dark(rgb(229.3285714286, 237.8857142857, 250.7214285714), rgb(49.103125, 62.025, 74.946875));
}
.single .content .table-wrapper > table th,
.single .content .table-wrapper > table td {
  padding: 0.3rem 1rem;
  border-right: 1px solid var(--fi-table-border-color);
  border-bottom: 1px solid var(--fi-table-border-color);
}
.single .content .table-wrapper > table tr > :last-child {
  border-right: none;
}
.single .content .table-wrapper > table > :last-child > tr:last-child > * {
  border-bottom: none;
}
.single .content img {
  max-width: 100%;
}
.single .content img:not([src*=".svg"]) {
  min-height: 1em;
}
.single .content svg {
  max-width: 100%;
}
.single .content figure {
  margin: 0.5rem;
  text-align: center;
}
.single .content figure .image-caption:not(:empty) {
  min-width: 20%;
  max-width: 80%;
  display: inline-block;
  padding: 0.5rem;
  margin: 0 auto;
  font-size: 0.875rem;
  color: #969696;
}
.single .content figure img {
  display: block;
  margin: 0 auto;
  height: auto;
  overflow: hidden;
}
.single .content blockquote {
  display: block;
  border-left: 0.25em solid var(--fi-global-border-color);
  color: var(--fi-blockquote-color);
  padding: 0 1em;
  margin: 1rem 0;
}
.single .content blockquote ul,
.single .content blockquote ol {
  padding-left: 1.5em;
}
.single .content blockquote dl dd {
  margin-inline-start: 0.25em;
}
.single .content blockquote a,
.single .content blockquote a::before,
.single .content blockquote a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #b3bdcb);
}
.single .content blockquote a:active,
.single .content blockquote a:hover {
  color: light-dark(#ea517f, #fff);
}
.single .content sup[id^=fnref]:has(.footnote-ref) {
  padding: 2px 4px;
  background-color: light-dark(rgba(238, 238, 238, 0.7), rgba(56, 139, 253, 0.1));
  color: light-dark(#555555, #58a6ff);
  cursor: pointer;
  border-radius: 0.25rem;
}
.single .content sup[id^=fnref]:has(.footnote-ref) a,
.single .content sup[id^=fnref]:has(.footnote-ref) a::before,
.single .content sup[id^=fnref]:has(.footnote-ref) a::after {
  text-decoration: none;
  color: light-dark(#161209, #1781b5);
}
.single .content sup[id^=fnref]:has(.footnote-ref) a:active,
.single .content sup[id^=fnref]:has(.footnote-ref) a:hover {
  color: light-dark(#2983bb, #cc5595);
}
.single .content .footnotes {
  font-size: 0.75rem;
  white-space: normal;
  color: light-dark(#a3a3ae, #9d9d9f);
}
.single .content .footnotes a,
.single .content .footnotes a::before,
.single .content .footnotes a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #b3bdcb);
}
.single .content .footnotes a:active,
.single .content .footnotes a:hover {
  color: light-dark(#ea517f, #fff);
}
.single .content .footnotes ol {
  margin-block: 1em;
  padding-left: 1rem;
}
.single .content .footnotes hr {
  background-color: var(--fi-global-border-color);
  height: 1px;
  margin-block: 1em;
}
.single .content .footnotes code {
  font-size: 0.75rem;
}
.single .content .footnotes a:not(.footnote-backref) {
  color: inherit;
  text-decoration: underline;
}
.single .content .footnotes p {
  margin: 0.25rem 0;
}
.single .content kbd {
  display: inline-block;
  padding: 0 0.25rem;
  background-color: var(--fi-global-background-color);
  border: 1px solid var(--fi-global-border-color);
  font-size: 0.8rem;
  font-family: var(--fi-code-font-family);
  color: var(--fi-code-color);
  box-shadow: inset 0 -1px 0 var(--fi-global-border-color);
  border-radius: var(--fi-global-border-radius);
}
.single .content .diagram-container {
  position: relative;
  margin-block: 0.5rem;
}
.single .content .diagram-container > .copy-icon-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}
.single .content .katex-display {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-right: 2px;
}
.single .content .katex-error {
  padding: 0.14em 0.28em;
  background-color: mark;
  cursor: help;
  border-radius: var(--fi-global-border-radius);
}
.single .content mjx-container[jax=CHTML][display=true] {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}
.single .content mjx-container[jax=CHTML] mjx-xypic g {
  stroke: currentColor !important;
}
.single .content mjx-container[jax=CHTML] mjx-xypic mjx-xypic-object {
  color: currentColor !important;
  fill: currentColor !important;
}
.single .content json-viewer[boxed] + json-viewer[boxed] {
  margin-top: 0.5rem;
}
[data-theme-mode=dark] .single .content json-viewer {
  --jv-bg-color: var(--fi-code-block-background-color);
  --jv-border-color: var(--fi-global-border-color);
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .single .content json-viewer {
    --jv-bg-color: var(--fi-code-block-background-color);
    --jv-border-color: var(--fi-global-border-color);
  }
}

.single .admonition {
  position: relative;
  margin: 1rem 0;
  padding: 0 0.75rem;
  border-left: 0.25rem solid;
  overflow: hidden;
  background-color: var(--fi-admonition-bg-color);
  border-left-color: var(--fi-admonition-color);
  border-radius: var(--fi-global-border-radius);
}
.single .admonition .admonition-title {
  font-weight: var(--fi-admonition-title-font-weight, "bold");
  margin: 0 -0.75rem;
  padding: 0.25rem 1.8rem;
  border-bottom: 1px solid;
  position: relative;
  border-radius: 0;
}
.single .admonition .admonition-title strong {
  font-weight: bolder;
  text-shadow: light-dark(0 0.05rem 0.05rem rgba(0, 0, 0, 0.2), 0 0.05rem 0.05rem rgba(255, 255, 255, 0.2));
}
.single .admonition .admonition-title:not(:has(+ .details-content)) {
  --fi-admonition-title-font-weight: normal;
  padding: 0.75rem 1rem 0.75rem 2.2rem;
  border: 0;
}
.single .admonition .admonition-title:not(:has(+ .details-content)) i.icon {
  left: 1.1rem;
  font-size: 1rem;
}
.single .admonition > .admonition-title {
  border-bottom-color: var(--fi-admonition-bg-color);
  background-color: var(--fi-admonition-bg-color-collapsed);
  transition: all 0.2s ease;
}
.single .admonition > .admonition-title i.icon {
  color: var(--fi-admonition-color);
}
.single .admonition.open > .admonition-title {
  background-color: var(--fi-admonition-bg-color);
}
.single .admonition .admonition-content {
  padding: 0.5rem 0;
}
.single .admonition .admonition-content > p {
  margin: 0;
}
.single .admonition .admonition-content .code-block .code-header,
.single .admonition .admonition-content .code-tabs .tabs-header {
  top: initial !important;
}
.single .admonition i.icon {
  font-size: 0.85rem;
  position: absolute;
  top: 50%;
  left: 0.9rem;
  translate: -50% -50%;
}
.single .admonition i.details-icon {
  position: absolute;
  top: 50%;
  right: 0.9rem;
  translate: 50% -50%;
}
.single .admonition {
  --fi-admonition-color: #448aff;
  --fi-admonition-bg-color: rgba(68, 138, 255, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(68, 138, 255, 0.25);
}
.single .admonition.abstract {
  --fi-admonition-color: #00b0ff;
  --fi-admonition-bg-color: rgba(0, 176, 255, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(0, 176, 255, 0.25);
}
.single .admonition.info {
  --fi-admonition-color: #00b8d4;
  --fi-admonition-bg-color: rgba(0, 184, 212, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(0, 184, 212, 0.25);
}
.single .admonition.todo {
  --fi-admonition-color: #5e9aff;
  --fi-admonition-bg-color: rgba(94, 154, 255, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(94, 154, 255, 0.25);
}
.single .admonition.tip {
  --fi-admonition-color: #00bfa5;
  --fi-admonition-bg-color: rgba(0, 191, 165, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(0, 191, 165, 0.25);
}
.single .admonition.success {
  --fi-admonition-color: #00c853;
  --fi-admonition-bg-color: rgba(0, 200, 83, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(0, 200, 83, 0.25);
}
.single .admonition.question {
  --fi-admonition-color: #ffbd67;
  --fi-admonition-bg-color: rgba(255, 190, 0, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(255, 190, 0, 0.25);
}
.single .admonition.warning {
  --fi-admonition-color: #ff9100;
  --fi-admonition-bg-color: rgba(255, 145, 0, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(255, 145, 0, 0.25);
}
.single .admonition.failure {
  --fi-admonition-color: #ff5252;
  --fi-admonition-bg-color: rgba(255, 82, 82, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(255, 82, 82, 0.25);
}
.single .admonition.danger {
  --fi-admonition-color: #ff1744;
  --fi-admonition-bg-color: rgba(255, 23, 68, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(255, 23, 68, 0.25);
}
.single .admonition.bug {
  --fi-admonition-color: #f50057;
  --fi-admonition-bg-color: rgba(245, 0, 87, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(245, 0, 87, 0.25);
}
.single .admonition.example {
  --fi-admonition-color: #651fff;
  --fi-admonition-bg-color: rgba(101, 31, 255, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(101, 31, 255, 0.25);
}
.single .admonition.quote {
  --fi-admonition-color: #9e9e9e;
  --fi-admonition-bg-color: rgba(159, 159, 159, 0.1);
  --fi-admonition-bg-color-collapsed: rgba(159, 159, 159, 0.25);
}
.single .admonition:last-child {
  margin-bottom: 0.75rem;
}
.single .admonition:not(:has(.admonition-title)) {
  border: 1px solid var(--fi-admonition-bg-color);
}
.single .admonition:not(:has(.admonition-title)) .admonition-content {
  padding: 0.75rem 0.25rem;
}

.single .bilibili {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  margin: 1rem auto;
  text-align: center;
}
.single .bilibili iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.single .bluesky-embed {
  margin: 1rem auto;
}

.single .douyin {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 60.725%;
  margin: 1rem auto;
  text-align: center;
}
.single .douyin iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
@media only screen and (max-width: 680px) {
  .single .douyin {
    width: 92%;
    margin-inline: 4%;
    padding-bottom: 190%;
  }
}

.single .card-link {
  position: relative;
  display: block;
  margin: 0.5rem auto;
  box-sizing: border-box;
  width: clamp(50%, 400px, 100%);
  max-width: 100%;
  overflow: hidden;
  text-decoration: none;
  border: none;
  border-radius: 0.75rem;
}

.cl-backdrop {
  position: absolute;
  top: 0.75rem;
  bottom: 0.75rem;
  left: 0;
  right: 0;
  background-image: var(--fi-logo-img);
  background-repeat: no-repeat;
  filter: blur(0.5rem);
  opacity: 0.5;
  background-size: contain;
  background-position: center;
}
.cl-content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
  background-color: light-dark(rgba(245, 245, 245, 0.88), rgba(61, 62, 65, 0.88));
}
.cl-text {
  overflow: hidden;
}
.cl-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  max-height: 2.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--fi-global-font-color);
}
.cl-meta {
  display: flex;
  align-items: center;
  margin-top: 0.25rem;
  font-size: 0.825rem;
  color: var(--fi-global-font-secondary-color);
}
.cl-icon-link {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin-right: 0.25rem;
}
.cl-url {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cl-shortcut-icon {
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
  margin-left: 0.25rem;
}
.cl-shortcut-icon:is(i) {
  text-align: center;
  font-size: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cl-shortcut-image {
  width: 4rem;
  height: 4rem !important;
  flex-shrink: 0;
  margin-left: 0.25rem;
  object-fit: cover;
  border-radius: calc(infinity * 1px);
}

.single blockquote.blockquote-center {
  border-left: none;
  margin: 40px 0;
  padding: 0;
  position: relative;
  text-align: center;
  color: inherit;
}
.single blockquote.blockquote-center::after, .single blockquote.blockquote-center::before {
  left: 0;
  line-height: 1;
  opacity: 0.6;
  position: absolute;
  width: 100%;
}
.single blockquote.blockquote-center::before {
  border-top: 1px solid var(--fi-global-border-color);
  text-align: left;
  top: -20px;
  font-family: var(--fa-family-classic);
  font-weight: 900;
  content: "\f10d";
}
.single blockquote.blockquote-center::after {
  border-bottom: 1px solid var(--fi-global-border-color);
  bottom: -20px;
  text-align: right;
  font-family: var(--fa-family-classic);
  font-weight: 900;
  content: "\f10e";
}

.single .echarts {
  text-align: center;
}
.single .echarts:not([_echarts_instance_])::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(1rem);
  background-position: center;
  background-repeat: no-repeat;
  background-image: var(--fi-loading-img);
  background-size: 60px;
  z-index: 10;
}

.single .file-tree-wrapper {
  border: 1px solid var(--fi-global-border-color);
  padding: 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  margin-block: 0.5rem;
  border-radius: var(--fi-global-border-radius);
  transition: box-shadow 0.2s ease;
}
.single .file-tree-wrapper:hover {
  box-shadow: 0 2px 8px light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
}
.single .file-tree-wrapper ul.file-tree {
  list-style: none;
  margin: 0;
  padding: 0;
}
.single .file-tree-wrapper ul.file-tree .file-tree-item {
  position: relative;
}
.single .file-tree-wrapper ul.file-tree .file-tree-item.file-tree-folder > .file-tree-toggle {
  cursor: pointer;
  font-weight: bold;
}
[data-theme-mode=dark] .single .file-tree-wrapper ul.file-tree .file-tree-item.file-tree-folder > .file-tree-toggle {
  color: #ddd;
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .single .file-tree-wrapper ul.file-tree .file-tree-item.file-tree-folder > .file-tree-toggle {
    color: #ddd;
  }
}
.single .file-tree-wrapper ul.file-tree .file-tree-item.file-tree-folder > .file-tree-toggle:hover i,
.single .file-tree-wrapper ul.file-tree .file-tree-item.file-tree-folder > .file-tree-toggle:hover span {
  opacity: 0.6;
}
.single .file-tree-wrapper ul.file-tree .file-tree-item .file-tree-label {
  display: inline-flex;
  align-items: center;
  position: relative;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  transition: all 0.15s ease;
  border-radius: var(--fi-global-border-radius);
}
.single .file-tree-wrapper ul.file-tree .file-tree-item .file-tree-label .file-tree-icon {
  width: 1rem;
  text-align: center;
  flex-shrink: 0;
}
.single .file-tree-wrapper ul.file-tree .file-tree-item .file-tree-label .file-tree-label__inner {
  word-break: break-all;
}
.single .file-tree-wrapper ul.file-tree .file-tree-item .file-tree-label.is-highlighted {
  color: var(--fi-global-link-hover-color);
}
.single .file-tree-wrapper ul.file-tree:not([data-level="0"]) .file-tree-item {
  margin: 0.25rem 0;
  padding-left: 0.25rem;
}
.single .file-tree-wrapper ul.file-tree:not([data-level="0"]) .file-tree-item .file-tree-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -0.5rem;
  translate: 0 -50%;
  width: 0.75rem;
  height: 1px;
  background-color: var(--fi-global-font-secondary-color);
}
.single .file-tree-wrapper .file-tree .file-tree {
  padding-left: 1.25rem;
  position: relative;
}
.single .file-tree-wrapper .file-tree .file-tree::before {
  content: "";
  position: absolute;
  top: -0.25rem;
  bottom: 0.625rem;
  left: calc(1rem - 0.5px);
  width: 1px;
  background-color: var(--fi-global-font-secondary-color);
  height: var(--fi-file-tree-line-height);
}
.single .file-tree-wrapper .file-tree-item.is-collapsed > .file-tree {
  display: none;
}
.single .file-tree-wrapper .file-tree-item.is-collapsed > .file-tree-label .file-tree-icon::before {
  --fa: '\f07b';
}

.single .gist {
  background-color: var(--fi-code-block-background-color);
  border-radius: var(--fi-global-border-radius);
}
.single .gist .gist-file,
.single .gist .gist-data,
.single .gist .gist-meta {
  border: none;
}
.single .gist .gist-data {
  background-color: inherit;
}
.single .gist .gist-data .blob-wrapper {
  padding-block: 0.5rem;
  overscroll-behavior-x: none;
}
.single .gist .gist-data .blob-wrapper table.highlight {
  background-color: inherit;
  overflow: initial;
}
.single .gist .gist-data .blob-wrapper table.highlight td.blob-num {
  position: sticky;
  left: 0;
  background-color: var(--fi-code-block-background-color);
  z-index: 1;
}
.single .gist .gist-data .blob-wrapper table.highlight td.blob-code {
  padding-left: 2px !important;
}
.single .gist .gist-meta {
  padding: 0.4rem 0.8rem;
  background-color: var(--fi-code-header-background-color);
}
.single .gist .gist-meta a,
.single .gist .gist-meta a::before,
.single .gist .gist-meta a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #1781b5);
}
.single .gist .gist-meta a:active,
.single .gist .gist-meta a:hover {
  color: light-dark(#ea517f, #cc5595);
}
.single .gist .gist-meta {
  border-radius: 0 0 var(--fi-global-border-radius) var(--fi-global-border-radius);
}
[data-theme-mode=dark] .single .gist {
  --fi-color-blob-num: #778491;
  --fi-color-blob-code-inner: #c5d1de;
  --fi-color-prettylights-syntax-comment: #768390;
  --fi-color-prettylights-syntax-constant: #6cb6ff;
  --fi-color-prettylights-syntax-constant-other-reference-link: #96d0ff;
  --fi-color-prettylights-syntax-entity: #dcbdfb;
  --fi-color-prettylights-syntax-storage-modifier-import: #adbac7;
  --fi-color-prettylights-syntax-entity-tag: #8ddb8c;
  --fi-color-prettylights-syntax-keyword: #f47067;
  --fi-color-prettylights-syntax-string: #96d0ff;
  --fi-color-prettylights-syntax-variable: #f69d50;
  --fi-color-prettylights-syntax-brackethighlighter-unmatched: #e5534b;
  --fi-color-prettylights-syntax-brackethighlighter-angle: #768390;
  --fi-color-prettylights-syntax-invalid-illegal-text: #cdd9e5;
  --fi-color-prettylights-syntax-invalid-illegal-bg: #922323;
  --fi-color-prettylights-syntax-carriage-return-text: #cdd9e5;
  --fi-color-prettylights-syntax-carriage-return-bg: #ad2e2c;
  --fi-color-prettylights-syntax-string-regexp: #8ddb8c;
  --fi-color-prettylights-syntax-markup-list: #eac55f;
  --fi-color-prettylights-syntax-markup-heading: #316dca;
  --fi-color-prettylights-syntax-markup-italic: #adbac7;
  --fi-color-prettylights-syntax-markup-bold: #adbac7;
  --fi-color-prettylights-syntax-markup-deleted-text: #ffd8d3;
  --fi-color-prettylights-syntax-markup-deleted-bg: #78191b;
  --fi-color-prettylights-syntax-markup-inserted-text: #b4f1b4;
  --fi-color-prettylights-syntax-markup-inserted-bg: #1b4721;
  --fi-color-prettylights-syntax-markup-changed-text: #ffddb0;
  --fi-color-prettylights-syntax-markup-changed-bg: #682d0f;
  --fi-color-prettylights-syntax-markup-ignored-text: #adbac7;
  --fi-color-prettylights-syntax-markup-ignored-bg: #255ab2;
  --fi-color-prettylights-syntax-meta-diff-range: #dcbdfb;
  --fi-color-prettylights-syntax-sublimelinter-gutter-mark: #545d68;
}
[data-theme-mode=dark] .single .gist .blob-num {
  color: var(--fi-color-blob-num);
}
[data-theme-mode=dark] .single .gist .blob-code-inner {
  color: var(--fi-color-blob-code-inner);
}
[data-theme-mode=dark] .single .gist .pl-c {
  color: var(--fi-color-prettylights-syntax-comment);
}
[data-theme-mode=dark] .single .gist .pl-c1,
[data-theme-mode=dark] .single .gist .pl-s .pl-v {
  color: var(--fi-color-prettylights-syntax-constant);
}
[data-theme-mode=dark] .single .gist .pl-e,
[data-theme-mode=dark] .single .gist .pl-en {
  color: var(--fi-color-prettylights-syntax-entity);
}
[data-theme-mode=dark] .single .gist .pl-smi,
[data-theme-mode=dark] .single .gist .pl-s .pl-s1 {
  color: var(--fi-color-prettylights-syntax-storage-modifier-import);
}
[data-theme-mode=dark] .single .gist .pl-ent {
  color: var(--fi-color-prettylights-syntax-entity-tag);
}
[data-theme-mode=dark] .single .gist .pl-k {
  color: var(--fi-color-prettylights-syntax-keyword);
}
[data-theme-mode=dark] .single .gist .pl-s,
[data-theme-mode=dark] .single .gist .pl-pds,
[data-theme-mode=dark] .single .gist .pl-s .pl-pse .pl-s1,
[data-theme-mode=dark] .single .gist .pl-sr,
[data-theme-mode=dark] .single .gist .pl-sr .pl-cce,
[data-theme-mode=dark] .single .gist .pl-sr .pl-sre,
[data-theme-mode=dark] .single .gist .pl-sr .pl-sra {
  color: var(--fi-color-prettylights-syntax-string);
}
[data-theme-mode=dark] .single .gist .pl-v,
[data-theme-mode=dark] .single .gist .pl-smw {
  color: var(--fi-color-prettylights-syntax-variable);
}
[data-theme-mode=dark] .single .gist .pl-bu {
  color: var(--fi-color-prettylights-syntax-brackethighlighter-unmatched);
}
[data-theme-mode=dark] .single .gist .pl-ii {
  color: var(--fi-color-prettylights-syntax-invalid-illegal-text);
  background-color: var(--fi-color-prettylights-syntax-invalid-illegal-bg);
}
[data-theme-mode=dark] .single .gist .pl-c2 {
  color: var(--fi-color-prettylights-syntax-carriage-return-text);
  background-color: var(--fi-color-prettylights-syntax-carriage-return-bg);
}
[data-theme-mode=dark] .single .gist .pl-c2::before {
  content: "^M";
}
[data-theme-mode=dark] .single .gist .pl-sr .pl-cce {
  font-weight: bold;
  color: var(--fi-color-prettylights-syntax-string-regexp);
}
[data-theme-mode=dark] .single .gist .pl-ml {
  color: var(--fi-color-prettylights-syntax-markup-list);
}
[data-theme-mode=dark] .single .gist .pl-mh,
[data-theme-mode=dark] .single .gist .pl-mh .pl-en,
[data-theme-mode=dark] .single .gist .pl-ms {
  font-weight: bold;
  color: var(--fi-color-prettylights-syntax-markup-heading);
}
[data-theme-mode=dark] .single .gist .pl-mi {
  font-style: italic;
  color: var(--fi-color-prettylights-syntax-markup-italic);
}
[data-theme-mode=dark] .single .gist .pl-mb {
  font-weight: bold;
  color: var(--fi-color-prettylights-syntax-markup-bold);
}
[data-theme-mode=dark] .single .gist .pl-md {
  color: var(--fi-color-prettylights-syntax-markup-deleted-text);
  background-color: var(--fi-color-prettylights-syntax-markup-deleted-bg);
}
[data-theme-mode=dark] .single .gist .pl-mi1 {
  color: var(--fi-color-prettylights-syntax-markup-inserted-text);
  background-color: var(--fi-color-prettylights-syntax-markup-inserted-bg);
}
[data-theme-mode=dark] .single .gist .pl-mc {
  color: var(--fi-color-prettylights-syntax-markup-changed-text);
  background-color: var(--fi-color-prettylights-syntax-markup-changed-bg);
}
[data-theme-mode=dark] .single .gist .pl-mi2 {
  color: var(--fi-color-prettylights-syntax-markup-ignored-text);
  background-color: var(--fi-color-prettylights-syntax-markup-ignored-bg);
}
[data-theme-mode=dark] .single .gist .pl-mdr {
  font-weight: bold;
  color: var(--fi-color-prettylights-syntax-meta-diff-range);
}
[data-theme-mode=dark] .single .gist .pl-ba {
  color: var(--fi-color-prettylights-syntax-brackethighlighter-angle);
}
[data-theme-mode=dark] .single .gist .pl-sg {
  color: var(--fi-color-prettylights-syntax-sublimelinter-gutter-mark);
}
[data-theme-mode=dark] .single .gist .pl-corl {
  text-decoration: underline;
  color: var(--fi-color-prettylights-syntax-constant-other-reference-link);
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .single .gist {
    --fi-color-blob-num: #778491;
    --fi-color-blob-code-inner: #c5d1de;
    --fi-color-prettylights-syntax-comment: #768390;
    --fi-color-prettylights-syntax-constant: #6cb6ff;
    --fi-color-prettylights-syntax-constant-other-reference-link: #96d0ff;
    --fi-color-prettylights-syntax-entity: #dcbdfb;
    --fi-color-prettylights-syntax-storage-modifier-import: #adbac7;
    --fi-color-prettylights-syntax-entity-tag: #8ddb8c;
    --fi-color-prettylights-syntax-keyword: #f47067;
    --fi-color-prettylights-syntax-string: #96d0ff;
    --fi-color-prettylights-syntax-variable: #f69d50;
    --fi-color-prettylights-syntax-brackethighlighter-unmatched: #e5534b;
    --fi-color-prettylights-syntax-brackethighlighter-angle: #768390;
    --fi-color-prettylights-syntax-invalid-illegal-text: #cdd9e5;
    --fi-color-prettylights-syntax-invalid-illegal-bg: #922323;
    --fi-color-prettylights-syntax-carriage-return-text: #cdd9e5;
    --fi-color-prettylights-syntax-carriage-return-bg: #ad2e2c;
    --fi-color-prettylights-syntax-string-regexp: #8ddb8c;
    --fi-color-prettylights-syntax-markup-list: #eac55f;
    --fi-color-prettylights-syntax-markup-heading: #316dca;
    --fi-color-prettylights-syntax-markup-italic: #adbac7;
    --fi-color-prettylights-syntax-markup-bold: #adbac7;
    --fi-color-prettylights-syntax-markup-deleted-text: #ffd8d3;
    --fi-color-prettylights-syntax-markup-deleted-bg: #78191b;
    --fi-color-prettylights-syntax-markup-inserted-text: #b4f1b4;
    --fi-color-prettylights-syntax-markup-inserted-bg: #1b4721;
    --fi-color-prettylights-syntax-markup-changed-text: #ffddb0;
    --fi-color-prettylights-syntax-markup-changed-bg: #682d0f;
    --fi-color-prettylights-syntax-markup-ignored-text: #adbac7;
    --fi-color-prettylights-syntax-markup-ignored-bg: #255ab2;
    --fi-color-prettylights-syntax-meta-diff-range: #dcbdfb;
    --fi-color-prettylights-syntax-sublimelinter-gutter-mark: #545d68;
  }
  [data-theme-mode=auto] .single .gist .blob-num {
    color: var(--fi-color-blob-num);
  }
  [data-theme-mode=auto] .single .gist .blob-code-inner {
    color: var(--fi-color-blob-code-inner);
  }
  [data-theme-mode=auto] .single .gist .pl-c {
    color: var(--fi-color-prettylights-syntax-comment);
  }
  [data-theme-mode=auto] .single .gist .pl-c1,
  [data-theme-mode=auto] .single .gist .pl-s .pl-v {
    color: var(--fi-color-prettylights-syntax-constant);
  }
  [data-theme-mode=auto] .single .gist .pl-e,
  [data-theme-mode=auto] .single .gist .pl-en {
    color: var(--fi-color-prettylights-syntax-entity);
  }
  [data-theme-mode=auto] .single .gist .pl-smi,
  [data-theme-mode=auto] .single .gist .pl-s .pl-s1 {
    color: var(--fi-color-prettylights-syntax-storage-modifier-import);
  }
  [data-theme-mode=auto] .single .gist .pl-ent {
    color: var(--fi-color-prettylights-syntax-entity-tag);
  }
  [data-theme-mode=auto] .single .gist .pl-k {
    color: var(--fi-color-prettylights-syntax-keyword);
  }
  [data-theme-mode=auto] .single .gist .pl-s,
  [data-theme-mode=auto] .single .gist .pl-pds,
  [data-theme-mode=auto] .single .gist .pl-s .pl-pse .pl-s1,
  [data-theme-mode=auto] .single .gist .pl-sr,
  [data-theme-mode=auto] .single .gist .pl-sr .pl-cce,
  [data-theme-mode=auto] .single .gist .pl-sr .pl-sre,
  [data-theme-mode=auto] .single .gist .pl-sr .pl-sra {
    color: var(--fi-color-prettylights-syntax-string);
  }
  [data-theme-mode=auto] .single .gist .pl-v,
  [data-theme-mode=auto] .single .gist .pl-smw {
    color: var(--fi-color-prettylights-syntax-variable);
  }
  [data-theme-mode=auto] .single .gist .pl-bu {
    color: var(--fi-color-prettylights-syntax-brackethighlighter-unmatched);
  }
  [data-theme-mode=auto] .single .gist .pl-ii {
    color: var(--fi-color-prettylights-syntax-invalid-illegal-text);
    background-color: var(--fi-color-prettylights-syntax-invalid-illegal-bg);
  }
  [data-theme-mode=auto] .single .gist .pl-c2 {
    color: var(--fi-color-prettylights-syntax-carriage-return-text);
    background-color: var(--fi-color-prettylights-syntax-carriage-return-bg);
  }
  [data-theme-mode=auto] .single .gist .pl-c2::before {
    content: "^M";
  }
  [data-theme-mode=auto] .single .gist .pl-sr .pl-cce {
    font-weight: bold;
    color: var(--fi-color-prettylights-syntax-string-regexp);
  }
  [data-theme-mode=auto] .single .gist .pl-ml {
    color: var(--fi-color-prettylights-syntax-markup-list);
  }
  [data-theme-mode=auto] .single .gist .pl-mh,
  [data-theme-mode=auto] .single .gist .pl-mh .pl-en,
  [data-theme-mode=auto] .single .gist .pl-ms {
    font-weight: bold;
    color: var(--fi-color-prettylights-syntax-markup-heading);
  }
  [data-theme-mode=auto] .single .gist .pl-mi {
    font-style: italic;
    color: var(--fi-color-prettylights-syntax-markup-italic);
  }
  [data-theme-mode=auto] .single .gist .pl-mb {
    font-weight: bold;
    color: var(--fi-color-prettylights-syntax-markup-bold);
  }
  [data-theme-mode=auto] .single .gist .pl-md {
    color: var(--fi-color-prettylights-syntax-markup-deleted-text);
    background-color: var(--fi-color-prettylights-syntax-markup-deleted-bg);
  }
  [data-theme-mode=auto] .single .gist .pl-mi1 {
    color: var(--fi-color-prettylights-syntax-markup-inserted-text);
    background-color: var(--fi-color-prettylights-syntax-markup-inserted-bg);
  }
  [data-theme-mode=auto] .single .gist .pl-mc {
    color: var(--fi-color-prettylights-syntax-markup-changed-text);
    background-color: var(--fi-color-prettylights-syntax-markup-changed-bg);
  }
  [data-theme-mode=auto] .single .gist .pl-mi2 {
    color: var(--fi-color-prettylights-syntax-markup-ignored-text);
    background-color: var(--fi-color-prettylights-syntax-markup-ignored-bg);
  }
  [data-theme-mode=auto] .single .gist .pl-mdr {
    font-weight: bold;
    color: var(--fi-color-prettylights-syntax-meta-diff-range);
  }
  [data-theme-mode=auto] .single .gist .pl-ba {
    color: var(--fi-color-prettylights-syntax-brackethighlighter-angle);
  }
  [data-theme-mode=auto] .single .gist .pl-sg {
    color: var(--fi-color-prettylights-syntax-sublimelinter-gutter-mark);
  }
  [data-theme-mode=auto] .single .gist .pl-corl {
    text-decoration: underline;
    color: var(--fi-color-prettylights-syntax-constant-other-reference-link);
  }
}

.single .mapbox {
  margin: 0.5rem 0;
  padding: 0.5rem 0;
  border-radius: var(--fi-global-border-radius);
}

:is(.mermaid, .mermaid-dark):not([data-processed])::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(1rem);
  background-position: center;
  background-repeat: no-repeat;
  background-image: var(--fi-loading-img);
  background-size: 60px;
  z-index: 10;
}

:is(.mermaid, .mermaid-dark, .mermaid-neutral) {
  position: relative;
  box-sizing: border-box;
  margin: 0 !important;
  overflow: hidden !important;
}
:is(.mermaid, .mermaid-dark, .mermaid-neutral)[data-processed] {
  background-color: transparent;
}
:is(.mermaid, .mermaid-dark, .mermaid-neutral)[data-processed] svg {
  display: block;
  margin-inline: auto;
}
:is(.mermaid, .mermaid-dark, .mermaid-neutral) svg {
  max-width: 100%;
  height: auto;
}

.diagram-tabs :is(.mermaid, .mermaid-dark)[data-processed] svg {
  will-change: transform;
}
.diagram-tabs .tabs-actions .fullscreen-btn {
  position: relative;
  margin-inline-start: 4px;
}
.diagram-tabs .tabs-actions .fullscreen-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  translate: -2px -50%;
  height: var(--fi-code-block-font-size);
  background-color: var(--fi-global-border-color-weight);
}
.diagram-tabs .diagram-container {
  margin-block: 0 !important;
}
.diagram-tabs.is-fullscreen .diagram-container {
  height: 100%;
}
.diagram-tabs.is-fullscreen :is(.mermaid, .mermaid-dark)[data-processed] {
  height: 100%;
}

:is(.mermaid-dark, .mermaid-neutral) {
  position: absolute;
  inset: 0;
  width: 100%;
  visibility: hidden;
  pointer-events: none;
}

[data-theme-mode=dark] .mermaid {
  position: absolute;
  inset: 0;
  width: 100%;
  visibility: hidden;
  pointer-events: none;
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .mermaid {
    position: absolute;
    inset: 0;
    width: 100%;
    visibility: hidden;
    pointer-events: none;
  }
}

[data-theme-mode=dark] .mermaid-dark {
  position: relative;
  inset: auto;
  visibility: visible;
  pointer-events: auto;
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .mermaid-dark {
    position: relative;
    inset: auto;
    visibility: visible;
    pointer-events: auto;
  }
}

@media only print {
  .diagram-tabs {
    border: none !important;
    background-color: transparent !important;
  }
  .diagram-tabs .tabs-header {
    display: none !important;
  }
  .mermaid,
  .mermaid-dark {
    display: none;
  }
  .mermaid-neutral {
    position: relative;
    inset: auto;
    visibility: visible;
    pointer-events: auto;
  }
}
tab-container {
  display: flex;
  gap: 0.75rem;
  margin-block: 0.5rem 1rem;
  position: relative;
}
tab-container:not(:defined)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(1rem);
  background-position: center;
  background-repeat: no-repeat;
  background-image: var(--fi-loading-img);
  background-size: 60px;
  z-index: 10;
}
tab-container tab-container {
  margin-block: 1rem;
}
tab-container > .tab-button {
  position: relative;
  display: block;
  border: none;
  color: inherit;
  background-color: transparent;
  font-size: 0.9em;
  font-weight: 500;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.3s ease;
}
tab-container > .tab-panel[hidden] {
  display: none;
}
tab-container > .tab-panel > *:first-child {
  margin-top: 0;
}
tab-container::part(tablist-tab-wrapper) {
  flex: 1 0 auto;
}
tab-container::part(tablist) {
  display: flex;
}
tab-container[placement=top]::part(tablist-wrapper), tab-container[placement=bottom]::part(tablist-wrapper) {
  max-width: 100%;
}
tab-container[placement=top]::part(tablist), tab-container[placement=bottom]::part(tablist) {
  gap: 1rem;
}
tab-container[placement=left], tab-container[placement=right] {
  max-width: 100%;
}
tab-container[placement=left]::part(tablist-wrapper), tab-container[placement=right]::part(tablist-wrapper) {
  min-height: 100px;
}
tab-container[placement=left]::part(tablist), tab-container[placement=right]::part(tablist) {
  flex-direction: column;
}
tab-container[placement=left] > .tab-button, tab-container[placement=right] > .tab-button {
  max-width: 300px;
}
tab-container[placement=left] > .tab-panel, tab-container[placement=right] > .tab-panel {
  flex: 1;
  min-width: 0;
}
tab-container[placement=top] {
  flex-direction: column;
}
tab-container[placement=bottom] {
  flex-direction: column-reverse;
}
tab-container[placement=right] {
  flex-direction: row-reverse;
}
tab-container[type=underline] > .tab-button {
  padding-block: 0.75rem;
}
tab-container[type=underline] > .tab-button[aria-selected=true], tab-container[type=underline] > .tab-button[aria-selected=false]:hover {
  color: var(--fi-primary);
}
tab-container[type=underline] > .tab-button[aria-selected=false]:hover {
  opacity: 0.7;
}
tab-container[type=underline]:not(:has(> .tab-button:hover)) > .tab-button[aria-selected=true],
tab-container[type=underline] > .tab-button:hover {
  anchor-name: --fi-tab-underline-active;
}
tab-container[type=underline]::part(tablist-wrapper) {
  position: relative;
}
tab-container[type=underline]::part(tablist-wrapper)::before {
  content: "";
  position: absolute;
  position-anchor: --fi-tab-underline-active;
  inset: anchor(inside);
  pointer-events: none;
}
tab-container[type=underline]:has(> .tab-button[aria-selected=false]:hover)::part(tablist-wrapper)::before {
  opacity: 0.7;
}
tab-container[type=underline][placement=top], tab-container[type=underline][placement=bottom] {
  gap: 0.5rem;
}
tab-container[type=underline][placement=top] > .tab-button, tab-container[type=underline][placement=bottom] > .tab-button {
  padding-inline: 1.5rem;
}
tab-container[type=underline][placement=top]::part(tablist-wrapper), tab-container[type=underline][placement=bottom]::part(tablist-wrapper) {
  overflow-x: auto;
  overflow-y: hidden;
}
tab-container[type=underline][placement=top]::part(tablist-wrapper)::before, tab-container[type=underline][placement=bottom]::part(tablist-wrapper)::before {
  transition: all 0.3s ease-in-out, top, bottom 0s;
}
tab-container[type=underline][placement=left] > .tab-button, tab-container[type=underline][placement=right] > .tab-button {
  padding-inline: 1rem;
}
tab-container[type=underline][placement=left]::part(tablist-wrapper)::before, tab-container[type=underline][placement=right]::part(tablist-wrapper)::before {
  transition: all 0.3s ease-in-out, left, right 0s;
}
tab-container[type=underline][placement=top]::part(tablist-tab-wrapper) {
  border-bottom: 2px solid var(--fi-global-border-color);
}
tab-container[type=underline][placement=top]::part(tablist-wrapper)::before {
  box-shadow: inset 0 -2px 0 var(--fi-primary);
  translate: 0 2px;
}
tab-container[type=underline][placement=bottom]::part(tablist-tab-wrapper) {
  border-top: 2px solid var(--fi-global-border-color);
}
tab-container[type=underline][placement=bottom]::part(tablist-wrapper)::before {
  box-shadow: inset 0 2px 0 var(--fi-primary);
  translate: 0 -2px;
}
tab-container[type=underline][placement=left]::part(tablist-tab-wrapper) {
  border-right: 2px solid var(--fi-global-border-color);
}
tab-container[type=underline][placement=left]::part(tablist-wrapper)::before {
  box-shadow: inset -2px 0 0 var(--fi-primary);
  translate: 2px 0;
}
tab-container[type=underline][placement=left] > .tab-button {
  text-align: right;
}
tab-container[type=underline][placement=right]::part(tablist-tab-wrapper) {
  border-left: 2px solid var(--fi-global-border-color);
}
tab-container[type=underline][placement=right]::part(tablist-wrapper)::before {
  box-shadow: inset 2px 0 0 var(--fi-primary);
  translate: -2px 0;
}
tab-container[type=underline][placement=right] > .tab-button {
  text-align: left;
}
tab-container[type=pill] > .tab-button {
  background-color: var(--fi-code-inline-background-color);
  padding-inline: 1.25rem;
  padding-block: 0.75rem;
  border-radius: calc(infinity * 1px);
}
tab-container[type=pill] > .tab-button[aria-selected=true] {
  color: #ffffff;
  background-color: var(--fi-primary);
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.3);
  box-shadow: 0 0.125rem 0.5rem light-dark(rgba(0, 0, 0, 0.3), rgba(255, 255, 255, 0.3));
}
tab-container[type=pill] > .tab-button[aria-selected=false]:hover {
  background-color: light-dark(rgba(175, 184, 193, 0.4), rgba(99, 110, 123, 0.6));
}
tab-container[type=pill][placement=top]::part(tablist-tab-wrapper), tab-container[type=pill][placement=bottom]::part(tablist-tab-wrapper) {
  max-width: 100%;
}
tab-container[type=pill][placement=top]::part(tablist), tab-container[type=pill][placement=bottom]::part(tablist) {
  flex-wrap: wrap;
  row-gap: 0.5rem;
}
tab-container[type=pill][placement=left], tab-container[type=pill][placement=right] {
  padding-bottom: 0.5rem;
}
tab-container[type=pill][placement=left]::part(tablist), tab-container[type=pill][placement=right]::part(tablist) {
  gap: 0.75rem;
}
tab-container[type=pill][placement=top] > .tab-button:hover {
  translate: 0 2px;
}
tab-container[type=pill][placement=bottom] > .tab-button:hover {
  translate: 0 -2px;
}
tab-container[type=pill][placement=left]::part(tablist) {
  margin-left: 0.5rem;
}
tab-container[type=pill][placement=left] > .tab-button:hover {
  translate: 2px 0;
}
tab-container[type=pill][placement=right]::part(tablist) {
  margin-right: 0.5rem;
}
tab-container[type=pill][placement=right] > .tab-button:hover {
  translate: -2px 0;
}
tab-container[type=card] {
  gap: 0;
}
tab-container[type=card]::part(tablist) {
  gap: 0.25rem;
}
tab-container[type=card] > .tab-button {
  border: 1px solid var(--fi-global-border-color);
  background-color: var(--fi-code-block-background-color);
  padding-inline: 1.5rem;
  padding-block: 0.75rem;
}
tab-container[type=card] > .tab-button[aria-selected=true], tab-container[type=card] > .tab-button[aria-selected=false]:hover {
  background-color: var(--fi-global-background-color);
  color: var(--fi-global-link-color);
  z-index: 1;
}
tab-container[type=card] > .tab-panel {
  padding: 0.75rem;
  background-color: var(--fi-global-background-color);
  border: 1px solid var(--fi-global-border-color);
}
tab-container[type=card][placement=top]::part(tablist-wrapper), tab-container[type=card][placement=bottom]::part(tablist-wrapper) {
  overflow-x: auto;
  overflow-y: hidden;
}
tab-container[type=card][placement=top] > .tab-button:first-of-type, tab-container[type=card][placement=bottom] > .tab-button:first-of-type {
  position: sticky;
  left: 0;
  z-index: 2;
}
tab-container[type=card][placement=top] > .tab-button:last-of-type, tab-container[type=card][placement=bottom] > .tab-button:last-of-type {
  position: sticky;
  right: 0;
  z-index: 2;
}
tab-container[type=card][placement=top]::part(tablist-tab-wrapper) {
  border-bottom: 1px solid var(--fi-global-border-color);
}
tab-container[type=card][placement=top] > .tab-button {
  translate: 0 1px;
  border-radius: var(--fi-global-border-radius) var(--fi-global-border-radius) 0 0;
}
tab-container[type=card][placement=top] > .tab-button[aria-selected=true] {
  border-bottom-color: var(--fi-global-background-color);
}
tab-container[type=card][placement=top] > .tab-panel {
  border-top: none;
  border-radius: 0 0 var(--fi-global-border-radius) var(--fi-global-border-radius);
}
tab-container[type=card][placement=bottom]::part(tablist-tab-wrapper) {
  border-top: 1px solid var(--fi-global-border-color);
}
tab-container[type=card][placement=bottom] > .tab-button {
  translate: 0 -1px;
  border-radius: 0 0 var(--fi-global-border-radius) var(--fi-global-border-radius);
}
tab-container[type=card][placement=bottom] > .tab-button[aria-selected=true] {
  border-top-color: var(--fi-global-background-color);
}
tab-container[type=card][placement=bottom] > .tab-panel {
  border-bottom: none;
  border-radius: var(--fi-global-border-radius) var(--fi-global-border-radius) 0 0;
}
tab-container[type=card][placement=left]::part(tablist-tab-wrapper) {
  border-right: 1px solid var(--fi-global-border-color);
}
tab-container[type=card][placement=left] > .tab-button {
  translate: 1px 0;
  border-radius: var(--fi-global-border-radius) 0 0 var(--fi-global-border-radius);
}
tab-container[type=card][placement=left] > .tab-button[aria-selected=true] {
  border-right-color: var(--fi-global-background-color);
}
tab-container[type=card][placement=left] > .tab-panel {
  border-left: none;
  border-radius: 0 var(--fi-global-border-radius) var(--fi-global-border-radius) 0;
}
tab-container[type=card][placement=right]::part(tablist-tab-wrapper) {
  border-left: 1px solid var(--fi-global-border-color);
}
tab-container[type=card][placement=right] > .tab-button {
  translate: -1px 0;
  border-radius: 0 var(--fi-global-border-radius) var(--fi-global-border-radius) 0;
}
tab-container[type=card][placement=right] > .tab-button[aria-selected=true] {
  border-left-color: var(--fi-global-background-color);
}
tab-container[type=card][placement=right] > .tab-panel {
  border-right: none;
  border-radius: var(--fi-global-border-radius) 0 0 var(--fi-global-border-radius);
}
tab-container[type=segment]::part(tablist-wrapper) {
  overflow-x: auto;
  overflow-y: hidden;
}
tab-container[type=segment]::part(tablist-tab-wrapper) {
  position: relative;
  padding: 0.25rem;
  background-color: var(--fi-code-block-background-color);
  border-radius: var(--fi-global-border-radius);
}
tab-container[type=segment]::part(tablist) {
  gap: 0;
}
tab-container[type=segment] > .tab-button {
  position: relative;
  font-weight: 400;
  flex-grow: 1;
  z-index: 1;
  padding-inline: 1.25rem;
  padding-block: 0.75rem;
  border-radius: var(--fi-global-border-radius);
}
tab-container[type=segment] > .tab-button[aria-selected=true], tab-container[type=segment] > .tab-button:hover {
  font-weight: 500;
}
tab-container[type=segment] > .tab-button[aria-selected=true] {
  box-shadow: none;
}
tab-container[type=segment]:not(:has(> .tab-button:hover)) > .tab-button[aria-selected=true],
tab-container[type=segment] > .tab-button:hover {
  anchor-name: --fi-tab-segment-active;
}
tab-container[type=segment]::part(tablist-tab-wrapper)::before {
  content: "";
  position: absolute;
  pointer-events: none;
  position-anchor: --fi-tab-segment-active;
  top: anchor(top);
  left: anchor(left);
  width: anchor-size(width);
  height: anchor-size(height);
  background-color: var(--fi-global-background-color);
  transition: top 0.3s ease, left 0.3s ease, width 0.3s ease, height 0.3s ease;
  box-shadow: 0 0.125rem 0.25rem light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
  border-radius: var(--fi-global-border-radius);
}

@media only screen and (max-width: 680px) {
  tab-container[type=underline][placement=top] > .tab-button, tab-container[type=underline][placement=bottom] > .tab-button {
    padding-inline: 0.875rem;
  }
  tab-container[type=underline][placement=top]::part(tablist), tab-container[type=underline][placement=bottom]::part(tablist) {
    gap: 0;
  }
  tab-container[type=pill][placement=top] > .tab-button, tab-container[type=pill][placement=bottom] > .tab-button {
    padding-inline: 1rem;
  }
  tab-container[type=pill][placement=top]::part(tablist), tab-container[type=pill][placement=bottom]::part(tablist) {
    gap: 0.375rem 0.5rem;
  }
  tab-container[type=card] > .tab-button {
    padding-inline: 1rem;
    padding-block: 0.75rem;
  }
}
@keyframes tabSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
tab-container .tab-panel:not([hidden]) {
  animation: tabSlideIn 0.3s ease-out;
}

@supports (-moz-appearance: none) {
  tab-container[type=underline] > .tab-button {
    --fi-tab-button-border-color: transparent;
  }
  tab-container[type=underline] > .tab-button[aria-selected=true], tab-container[type=underline] > .tab-button[aria-selected=false]:hover {
    --fi-tab-button-border-color: var(--fi-primary);
  }
  tab-container[type=underline][placement=top] > .tab-button {
    translate: 0 2px;
    border-bottom: 2px solid var(--fi-tab-button-border-color);
  }
  tab-container[type=underline][placement=bottom] > .tab-button {
    translate: 0 -2px;
    border-top: 2px solid var(--fi-tab-button-border-color);
  }
  tab-container[type=underline][placement=left] > .tab-button {
    translate: 2px 0;
    border-right: 2px solid var(--fi-tab-button-border-color);
  }
  tab-container[type=underline][placement=right] > .tab-button {
    translate: -2px 0;
    border-left: 2px solid var(--fi-tab-button-border-color);
  }
  tab-container[type=segment] > .tab-button[aria-selected=true] {
    background-color: var(--fi-global-background-color);
    box-shadow: 0 0.125rem 0.25rem light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
  }
}
.single ul.fi-timeline {
  list-style: none;
  box-sizing: border-box;
  overflow: auto;
  margin: 1rem auto;
  --fi-timeline-color: var(--fi-global-border-color);
  --fi-timeline-circle-color: #FF735A;
  --fi-timeline-circle-size: 10px;
  --fi-timeline-width: 2px;
}
.single ul.fi-timeline[data-animation] .fi-timeline-item::before {
  border-color: var(--fi-timeline-color);
  animation-name: border-color-fade;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-delay: calc(var(--fi-timeline-index) * 0.3s);
}
@keyframes border-color-fade {
  0% {
    border-color: var(--fi-timeline-color);
  }
  50% {
    border-color: var(--fi-timeline-circle-color);
  }
  100% {
    border-color: var(--fi-timeline-color);
  }
}
.single ul.fi-timeline .fi-timeline-item {
  position: relative;
  padding: 0.5rem 1.75rem;
}
.single ul.fi-timeline .fi-timeline-item[data-type=primary] {
  --fi-timeline-circle-color: var(--fi-primary);
}
.single ul.fi-timeline .fi-timeline-item[data-type=secondary] {
  --fi-timeline-circle-color: var(--fi-secondary);
}
.single ul.fi-timeline .fi-timeline-item[data-type=success] {
  --fi-timeline-circle-color: var(--fi-success);
}
.single ul.fi-timeline .fi-timeline-item[data-type=info] {
  --fi-timeline-circle-color: var(--fi-info);
}
.single ul.fi-timeline .fi-timeline-item[data-type=warning] {
  --fi-timeline-circle-color: var(--fi-warning);
}
.single ul.fi-timeline .fi-timeline-item[data-type=danger] {
  --fi-timeline-circle-color: var(--fi-danger);
}
.single ul.fi-timeline .fi-timeline-item .fi-timeline-item__timestamp {
  font-size: 0.8125rem;
  line-height: 1;
  color: var(--fi-global-font-secondary-color);
}
.single ul.fi-timeline .fi-timeline-item .fi-timeline-item__timestamp.is-top {
  margin-bottom: 0.25rem;
  padding-top: 0.34375rem;
}
.single ul.fi-timeline .fi-timeline-item .fi-timeline-item__timestamp.is-bottom {
  margin-top: 0.25rem;
}
.single ul.fi-timeline .fi-timeline-item .fi-timeline-item__content {
  font-size: 0.875rem;
}
.single ul.fi-timeline .fi-timeline-item[data-node=dot]::before {
  background-color: var(--fi-timeline-circle-color) !important;
}
.single ul.fi-timeline .fi-timeline-item[data-size=small]::before {
  transform: scale(0.8) translateY(-50%);
}
.single ul.fi-timeline .fi-timeline-item[data-size=large]::before {
  transform: scale(1.2) translateY(-50%);
}
.single ul.fi-timeline .fi-timeline-item::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  transform: translateY(-50%);
  left: 0;
  text-align: center;
  border-style: solid;
  color: transparent;
  width: var(--fi-timeline-circle-size);
  height: var(--fi-timeline-circle-size);
  font-size: var(--fi-timeline-circle-size);
  line-height: var(--fi-timeline-circle-size);
  border-width: var(--fi-timeline-width);
  border-color: var(--fi-timeline-circle-color);
  background-color: var(--fi-global-background-color);
  border-radius: calc(infinity * 1px);
  z-index: 1;
}
.single ul.fi-timeline .fi-timeline-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(var(--fi-timeline-circle-size) / 2 + var(--fi-timeline-width) / 2);
  width: var(--fi-timeline-width);
  height: 100%;
  background-color: var(--fi-timeline-color);
}

.single .version-link {
  white-space: nowrap;
}
.single .version-link img.version {
  height: 1.25em;
  vertical-align: text-bottom;
}

.single .alert {
  padding: 0.5rem 1rem;
  margin-block: 1rem;
  color: inherit;
  border-left: 0.25em solid var(--fi-alert-border-color);
}
.single .alert > :first-child {
  margin-top: 0;
}
.single .alert > :last-child {
  margin-bottom: 0;
}
.single .alert .alert-title {
  display: flex;
  font-weight: 500;
  align-items: center;
  line-height: 1;
  margin-bottom: 1rem;
  color: var(--fi-alert-color);
}
.single .alert .alert-title > svg.icon {
  width: initial;
  height: initial;
  margin-right: 0.5rem;
}
.single .alert.alert-note {
  --fi-alert-border-color: light-dark(#0969da, #316dca);
  --fi-alert-color: light-dark(#0969da, #478be6);
}
.single .alert.alert-tip {
  --fi-alert-border-color: light-dark(#1a7f37, #347d39);
  --fi-alert-color: light-dark(#1a7f37, #57ab5a);
}
.single .alert.alert-important {
  --fi-alert-border-color: light-dark(#8250df, #8256d0);
  --fi-alert-color: light-dark(#8250df, #986ee2);
}
.single .alert.alert-warning {
  --fi-alert-border-color: light-dark(#bf8700, #966600);
  --fi-alert-color: light-dark(#9a6700, #c69026);
}
.single .alert.alert-caution {
  --fi-alert-border-color: light-dark(#cf222e, #c93c37);
  --fi-alert-color: light-dark(#d1242f, #e5534b);
}

.single .highlight {
  /* LineLink */
}
.single .highlight .lnlinks {
  outline: none;
  text-decoration: none;
  color: inherit;
}
.single .highlight {
  /* LineHighlight */
}
.single .highlight .hl {
  display: block;
  background-color: var(--fi-code-highlight-color);
  box-shadow: -0.75rem 0 0 var(--fi-code-highlight-color), 0.75rem 0 0 var(--fi-code-highlight-color);
}
.single .highlight {
  /* Maintained by @Lruihao for FixIt theme */
  /* Error */
}
.single .highlight .chroma .err {
  color: #dc3545;
  font-style: italic;
  border-bottom: 1px dotted #dc3545;
}
.single .highlight {
  /* Keyword */
}
.single .highlight .chroma .k {
  color: #cf222e;
}
.single .highlight {
  /* KeywordConstant */
}
.single .highlight .chroma .kc {
  color: #0550ae;
}
.single .highlight {
  /* KeywordDeclaration */
}
.single .highlight .chroma .kd {
  color: #cf222e;
}
.single .highlight {
  /* KeywordNamespace */
}
.single .highlight .chroma .kn {
  color: #cf222e;
}
.single .highlight {
  /* KeywordPseudo */
}
.single .highlight .chroma .kp {
  color: #cf222e;
}
.single .highlight {
  /* KeywordReserved */
}
.single .highlight .chroma .kr {
  color: #cf222e;
}
.single .highlight {
  /* KeywordType */
}
.single .highlight .chroma .kt {
  color: #cf222e;
}
.single .highlight {
  /* Name */
}
.single .highlight .chroma .n {
  color: #26323d;
}
.single .highlight {
  /* NameAttribute */
}
.single .highlight .chroma .na {
  color: #0550ae;
}
.single .highlight {
  /* NameBuiltin */
}
.single .highlight .chroma .nb {
  color: #0550ae;
}
.single .highlight {
  /* NameBuiltinPseudo */
}
.single .highlight .chroma .bp {
  color: #26323d;
}
.single .highlight {
  /* NameClass */
}
.single .highlight .chroma .nc {
  color: #8250df;
}
.single .highlight {
  /* NameConstant */
}
.single .highlight .chroma .no {
  color: #cf222e;
}
.single .highlight {
  /* NameDecorator */
}
.single .highlight .chroma .nd {
  color: #8250df;
}
.single .highlight {
  /* NameEntity */
}
.single .highlight .chroma .ni {
  color: #0550ae;
}
.single .highlight {
  /* NameException */
}
.single .highlight .chroma .ne {
  color: #0550ae;
}
.single .highlight {
  /* NameFunction */
}
.single .highlight .chroma .nf {
  color: #0550ae;
}
.single .highlight {
  /* NameFunctionMagic */
}
.single .highlight .chroma .fm {
  color: #0550ae;
}
.single .highlight {
  /* NameLabel */
}
.single .highlight .chroma .nl {
  color: #0550ae;
}
.single .highlight {
  /* NameNamespace */
}
.single .highlight .chroma .nn {
  color: #8250df;
}
.single .highlight {
  /* NameOther */
}
.single .highlight .chroma .nx {
  color: #0550ae;
}
.single .highlight {
  /* NameProperty */
}
.single .highlight .chroma .py {
  color: #0550ae;
}
.single .highlight {
  /* NameTag */
}
.single .highlight .chroma .nt {
  color: #116329;
}
.single .highlight {
  /* NameVariable */
}
.single .highlight .chroma .nv {
  color: #953800;
}
.single .highlight {
  /* NameVariableClass */
}
.single .highlight .chroma .vc {
  color: #0550ae;
}
.single .highlight {
  /* NameVariableGlobal */
}
.single .highlight .chroma .vg {
  color: #0550ae;
}
.single .highlight {
  /* NameVariableInstance */
}
.single .highlight .chroma .vi {
  color: #0550ae;
}
.single .highlight {
  /* NameVariableMagic */
}
.single .highlight .chroma .vm {
  color: #0550ae;
}
.single .highlight {
  /* Literal */
}
.single .highlight .chroma .l {
  color: #0550ae;
}
.single .highlight {
  /* LiteralDate */
}
.single .highlight .chroma .ld {
  color: #0a3069;
}
.single .highlight {
  /* LiteralString */
}
.single .highlight .chroma .s {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringAffix */
}
.single .highlight .chroma .sa {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringBacktick */
}
.single .highlight .chroma .sb {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringChar */
}
.single .highlight .chroma .sc {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringDelimiter */
}
.single .highlight .chroma .dl {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringDoc */
}
.single .highlight .chroma .sd {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringDouble */
}
.single .highlight .chroma .s2 {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringEscape */
}
.single .highlight .chroma .se {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringHeredoc */
}
.single .highlight .chroma .sh {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringInterpol */
}
.single .highlight .chroma .si {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringOther */
}
.single .highlight .chroma .sx {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringRegex */
}
.single .highlight .chroma .sr {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringSingle */
}
.single .highlight .chroma .s1 {
  color: #0a3069;
}
.single .highlight {
  /* LiteralStringSymbol */
}
.single .highlight .chroma .ss {
  color: #0a3069;
}
.single .highlight {
  /* LiteralNumber */
}
.single .highlight .chroma .m {
  color: #0550ae;
}
.single .highlight {
  /* LiteralNumberBin */
}
.single .highlight .chroma .mb {
  color: #0550ae;
}
.single .highlight {
  /* LiteralNumberFloat */
}
.single .highlight .chroma .mf {
  color: #0550ae;
}
.single .highlight {
  /* LiteralNumberHex */
}
.single .highlight .chroma .mh {
  color: #0550ae;
}
.single .highlight {
  /* LiteralNumberInteger */
}
.single .highlight .chroma .mi {
  color: #0550ae;
}
.single .highlight {
  /* LiteralNumberIntegerLong */
}
.single .highlight .chroma .il {
  color: #0550ae;
}
.single .highlight {
  /* LiteralNumberOct */
}
.single .highlight .chroma .mo {
  color: #0550ae;
}
.single .highlight {
  /* Operator */
}
.single .highlight .chroma .o {
  color: #cf222e;
}
.single .highlight {
  /* OperatorWord */
}
.single .highlight .chroma .ow {
  color: #cf222e;
}
.single .highlight {
  /* Punctuation */
}
.single .highlight .chroma .p {
  color: #26323d;
}
.single .highlight {
  /* Comment */
}
.single .highlight .chroma .c {
  color: #6e7781;
}
.single .highlight {
  /* CommentHashbang */
}
.single .highlight .chroma .ch {
  color: #6e7781;
}
.single .highlight {
  /* CommentMultiline */
}
.single .highlight .chroma .cm {
  color: #6e7781;
}
.single .highlight {
  /* CommentSingle */
}
.single .highlight .chroma .c1 {
  color: #6e7781;
}
.single .highlight {
  /* CommentSpecial */
}
.single .highlight .chroma .cs {
  color: #6e7781;
}
.single .highlight {
  /* CommentPreproc */
}
.single .highlight .chroma .cp {
  color: #0550ae;
}
.single .highlight {
  /* CommentPreprocFile */
}
.single .highlight .chroma .cpf {
  color: #6e7781;
}
.single .highlight {
  /* Generic */
}
.single .highlight .chroma .g {
  color: #26323d;
}
.single .highlight {
  /* GenericDeleted */
}
.single .highlight .chroma .gd {
  color: #82071e;
}
.single .highlight {
  /* GenericEmph */
}
.single .highlight .chroma .ge {
  color: #26323d;
  font-style: italic;
}
.single .highlight {
  /* GenericError */
}
.single .highlight .chroma .gr {
  color: #dc3545;
}
.single .highlight {
  /* GenericHeading */
}
.single .highlight .chroma .gh {
  color: #26323d;
}
.single .highlight {
  /* GenericInserted */
}
.single .highlight .chroma .gi {
  color: #116329;
}
.single .highlight {
  /* GenericOutput */
}
.single .highlight .chroma .go {
  color: #26323d;
}
.single .highlight {
  /* GenericPrompt */
}
.single .highlight .chroma .gp {
  color: #26323d;
}
.single .highlight {
  /* GenericStrong */
}
.single .highlight .chroma .gs {
  font-weight: bold;
}
.single .highlight {
  /* GenericSubheading */
}
.single .highlight .chroma .gu {
  color: #26323d;
}
.single .highlight {
  /* GenericTraceback */
}
.single .highlight .chroma .gt {
  color: #dc3545;
}
.single .highlight {
  /* GenericUnderline */
}
.single .highlight .chroma .gl {
  color: #26323d;
  text-decoration: underline;
}
.single .highlight {
  /* TextWhitespace */
}
.single .highlight .chroma .w {
  color: #26323d;
}
.single .highlight {
  /* Other */
}
.single .highlight .chroma .x {
  color: #26323d;
}
.single .highlight {
  /* Language Diff */
}
.single .highlight .chroma .language-diff {
  /* GenericDeleted */
}
.single .highlight .chroma .language-diff .gd {
  background-color: #ffebe9;
}
.single .highlight .chroma .language-diff {
  /* GenericInserted */
}
.single .highlight .chroma .language-diff .gi {
  background-color: #dafbe1;
}
.single .highlight .chroma .language-diff .gs {
  font-weight: normal;
  color: #953800;
  background-color: #ffd8b5;
}
[data-theme-mode=dark] .single .highlight {
  /* Maintained by @Lruihao for FixIt theme */
  /* Error */
}
[data-theme-mode=dark] .single .highlight .chroma .err {
  color: #dc3545;
}
[data-theme-mode=dark] .single .highlight {
  /* Keyword */
}
[data-theme-mode=dark] .single .highlight .chroma .k {
  color: #f47067;
}
[data-theme-mode=dark] .single .highlight {
  /* KeywordConstant */
}
[data-theme-mode=dark] .single .highlight .chroma .kc {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* KeywordDeclaration */
}
[data-theme-mode=dark] .single .highlight .chroma .kd {
  color: #f47067;
}
[data-theme-mode=dark] .single .highlight {
  /* KeywordNamespace */
}
[data-theme-mode=dark] .single .highlight .chroma .kn {
  color: #f47067;
}
[data-theme-mode=dark] .single .highlight {
  /* KeywordPseudo */
}
[data-theme-mode=dark] .single .highlight .chroma .kp {
  color: #f47067;
}
[data-theme-mode=dark] .single .highlight {
  /* KeywordReserved */
}
[data-theme-mode=dark] .single .highlight .chroma .kr {
  color: #f47067;
}
[data-theme-mode=dark] .single .highlight {
  /* KeywordType */
}
[data-theme-mode=dark] .single .highlight .chroma .kt {
  color: #f47067;
}
[data-theme-mode=dark] .single .highlight {
  /* Name */
}
[data-theme-mode=dark] .single .highlight .chroma .n {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* NameAttribute */
}
[data-theme-mode=dark] .single .highlight .chroma .na {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameBuiltin */
}
[data-theme-mode=dark] .single .highlight .chroma .nb {
  color: #dcbdfb;
}
[data-theme-mode=dark] .single .highlight {
  /* NameBuiltinPseudo */
}
[data-theme-mode=dark] .single .highlight .chroma .bp {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* NameClass */
}
[data-theme-mode=dark] .single .highlight .chroma .nc {
  color: #dcbdfb;
}
[data-theme-mode=dark] .single .highlight {
  /* NameConstant */
}
[data-theme-mode=dark] .single .highlight .chroma .no {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameDecorator */
}
[data-theme-mode=dark] .single .highlight .chroma .nd {
  color: #dcbdfb;
}
[data-theme-mode=dark] .single .highlight {
  /* NameEntity */
}
[data-theme-mode=dark] .single .highlight .chroma .ni {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameException */
}
[data-theme-mode=dark] .single .highlight .chroma .ne {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameFunction */
}
[data-theme-mode=dark] .single .highlight .chroma .nf {
  color: #dcbdfb;
}
[data-theme-mode=dark] .single .highlight {
  /* NameFunctionMagic */
}
[data-theme-mode=dark] .single .highlight .chroma .fm {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameLabel */
}
[data-theme-mode=dark] .single .highlight .chroma .nl {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameNamespace */
}
[data-theme-mode=dark] .single .highlight .chroma .nn {
  color: #f47067;
}
[data-theme-mode=dark] .single .highlight {
  /* NameOther */
}
[data-theme-mode=dark] .single .highlight .chroma .nx {
  color: #dcbdfb;
}
[data-theme-mode=dark] .single .highlight {
  /* NameProperty */
}
[data-theme-mode=dark] .single .highlight .chroma .py {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameTag */
}
[data-theme-mode=dark] .single .highlight .chroma .nt {
  color: #8ddb8c;
}
[data-theme-mode=dark] .single .highlight {
  /* NameVariable */
}
[data-theme-mode=dark] .single .highlight .chroma .nv {
  color: #f69d50;
}
[data-theme-mode=dark] .single .highlight {
  /* NameVariableClass */
}
[data-theme-mode=dark] .single .highlight .chroma .vc {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameVariableGlobal */
}
[data-theme-mode=dark] .single .highlight .chroma .vg {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameVariableInstance */
}
[data-theme-mode=dark] .single .highlight .chroma .vi {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* NameVariableMagic */
}
[data-theme-mode=dark] .single .highlight .chroma .vm {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* Literal */
}
[data-theme-mode=dark] .single .highlight .chroma .l {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralDate */
}
[data-theme-mode=dark] .single .highlight .chroma .ld {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralString */
}
[data-theme-mode=dark] .single .highlight .chroma .s {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringAffix */
}
[data-theme-mode=dark] .single .highlight .chroma .sa {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringBacktick */
}
[data-theme-mode=dark] .single .highlight .chroma .sb {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringChar */
}
[data-theme-mode=dark] .single .highlight .chroma .sc {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringDelimiter */
}
[data-theme-mode=dark] .single .highlight .chroma .dl {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringDoc */
}
[data-theme-mode=dark] .single .highlight .chroma .sd {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringDouble */
}
[data-theme-mode=dark] .single .highlight .chroma .s2 {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringEscape */
}
[data-theme-mode=dark] .single .highlight .chroma .se {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringHeredoc */
}
[data-theme-mode=dark] .single .highlight .chroma .sh {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringInterpol */
}
[data-theme-mode=dark] .single .highlight .chroma .si {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringOther */
}
[data-theme-mode=dark] .single .highlight .chroma .sx {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringRegex */
}
[data-theme-mode=dark] .single .highlight .chroma .sr {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringSingle */
}
[data-theme-mode=dark] .single .highlight .chroma .s1 {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralStringSymbol */
}
[data-theme-mode=dark] .single .highlight .chroma .ss {
  color: #96d0ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralNumber */
}
[data-theme-mode=dark] .single .highlight .chroma .m {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralNumberBin */
}
[data-theme-mode=dark] .single .highlight .chroma .mb {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralNumberFloat */
}
[data-theme-mode=dark] .single .highlight .chroma .mf {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralNumberHex */
}
[data-theme-mode=dark] .single .highlight .chroma .mh {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralNumberInteger */
}
[data-theme-mode=dark] .single .highlight .chroma .mi {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralNumberIntegerLong */
}
[data-theme-mode=dark] .single .highlight .chroma .il {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* LiteralNumberOct */
}
[data-theme-mode=dark] .single .highlight .chroma .mo {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* Operator */
}
[data-theme-mode=dark] .single .highlight .chroma .o {
  color: #f47067;
}
[data-theme-mode=dark] .single .highlight {
  /* OperatorWord */
}
[data-theme-mode=dark] .single .highlight .chroma .ow {
  color: #f47067;
}
[data-theme-mode=dark] .single .highlight {
  /* Punctuation */
}
[data-theme-mode=dark] .single .highlight .chroma .p {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* Comment */
}
[data-theme-mode=dark] .single .highlight .chroma .c {
  color: #768390;
}
[data-theme-mode=dark] .single .highlight {
  /* CommentHashbang */
}
[data-theme-mode=dark] .single .highlight .chroma .ch {
  color: #768390;
}
[data-theme-mode=dark] .single .highlight {
  /* CommentMultiline */
}
[data-theme-mode=dark] .single .highlight .chroma .cm {
  color: #768390;
}
[data-theme-mode=dark] .single .highlight {
  /* CommentSingle */
}
[data-theme-mode=dark] .single .highlight .chroma .c1 {
  color: #768390;
}
[data-theme-mode=dark] .single .highlight {
  /* CommentSpecial */
}
[data-theme-mode=dark] .single .highlight .chroma .cs {
  color: #768390;
}
[data-theme-mode=dark] .single .highlight {
  /* CommentPreproc */
}
[data-theme-mode=dark] .single .highlight .chroma .cp {
  color: #6cb6ff;
}
[data-theme-mode=dark] .single .highlight {
  /* CommentPreprocFile */
}
[data-theme-mode=dark] .single .highlight .chroma .cpf {
  color: #768390;
}
[data-theme-mode=dark] .single .highlight {
  /* Generic */
}
[data-theme-mode=dark] .single .highlight .chroma .g {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericDeleted */
}
[data-theme-mode=dark] .single .highlight .chroma .gd {
  color: #ffd8d3;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericEmph */
}
[data-theme-mode=dark] .single .highlight .chroma .ge {
  color: #c5d1dc;
  font-style: italic;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericError */
}
[data-theme-mode=dark] .single .highlight .chroma .gr {
  color: #dc3545;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericHeading */
}
[data-theme-mode=dark] .single .highlight .chroma .gh {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericInserted */
}
[data-theme-mode=dark] .single .highlight .chroma .gi {
  color: #b4f1b4;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericOutput */
}
[data-theme-mode=dark] .single .highlight .chroma .go {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericPrompt */
}
[data-theme-mode=dark] .single .highlight .chroma .gp {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericStrong */
}
[data-theme-mode=dark] .single .highlight .chroma .gs {
  font-weight: bold;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericSubheading */
}
[data-theme-mode=dark] .single .highlight .chroma .gu {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericTraceback */
}
[data-theme-mode=dark] .single .highlight .chroma .gt {
  color: #dc3545;
}
[data-theme-mode=dark] .single .highlight {
  /* GenericUnderline */
}
[data-theme-mode=dark] .single .highlight .chroma .gl {
  color: #c5d1dc;
  text-decoration: underline;
}
[data-theme-mode=dark] .single .highlight {
  /* TextWhitespace */
}
[data-theme-mode=dark] .single .highlight .chroma .w {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* Other */
}
[data-theme-mode=dark] .single .highlight .chroma .x {
  color: #c5d1dc;
}
[data-theme-mode=dark] .single .highlight {
  /* Language Diff */
}
[data-theme-mode=dark] .single .highlight .chroma .language-diff {
  /* GenericDeleted */
}
[data-theme-mode=dark] .single .highlight .chroma .language-diff .gd {
  background-color: #78191b;
}
[data-theme-mode=dark] .single .highlight .chroma .language-diff {
  /* GenericInserted */
}
[data-theme-mode=dark] .single .highlight .chroma .language-diff .gi {
  background-color: #1b4721;
}
[data-theme-mode=dark] .single .highlight .chroma .language-diff .gs {
  font-weight: normal;
  color: #ffddb0;
  background-color: #682d0f;
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .single .highlight {
    /* Maintained by @Lruihao for FixIt theme */
    /* Error */
  }
  [data-theme-mode=auto] .single .highlight .chroma .err {
    color: #dc3545;
  }
  [data-theme-mode=auto] .single .highlight {
    /* Keyword */
  }
  [data-theme-mode=auto] .single .highlight .chroma .k {
    color: #f47067;
  }
  [data-theme-mode=auto] .single .highlight {
    /* KeywordConstant */
  }
  [data-theme-mode=auto] .single .highlight .chroma .kc {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* KeywordDeclaration */
  }
  [data-theme-mode=auto] .single .highlight .chroma .kd {
    color: #f47067;
  }
  [data-theme-mode=auto] .single .highlight {
    /* KeywordNamespace */
  }
  [data-theme-mode=auto] .single .highlight .chroma .kn {
    color: #f47067;
  }
  [data-theme-mode=auto] .single .highlight {
    /* KeywordPseudo */
  }
  [data-theme-mode=auto] .single .highlight .chroma .kp {
    color: #f47067;
  }
  [data-theme-mode=auto] .single .highlight {
    /* KeywordReserved */
  }
  [data-theme-mode=auto] .single .highlight .chroma .kr {
    color: #f47067;
  }
  [data-theme-mode=auto] .single .highlight {
    /* KeywordType */
  }
  [data-theme-mode=auto] .single .highlight .chroma .kt {
    color: #f47067;
  }
  [data-theme-mode=auto] .single .highlight {
    /* Name */
  }
  [data-theme-mode=auto] .single .highlight .chroma .n {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameAttribute */
  }
  [data-theme-mode=auto] .single .highlight .chroma .na {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameBuiltin */
  }
  [data-theme-mode=auto] .single .highlight .chroma .nb {
    color: #dcbdfb;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameBuiltinPseudo */
  }
  [data-theme-mode=auto] .single .highlight .chroma .bp {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameClass */
  }
  [data-theme-mode=auto] .single .highlight .chroma .nc {
    color: #dcbdfb;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameConstant */
  }
  [data-theme-mode=auto] .single .highlight .chroma .no {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameDecorator */
  }
  [data-theme-mode=auto] .single .highlight .chroma .nd {
    color: #dcbdfb;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameEntity */
  }
  [data-theme-mode=auto] .single .highlight .chroma .ni {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameException */
  }
  [data-theme-mode=auto] .single .highlight .chroma .ne {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameFunction */
  }
  [data-theme-mode=auto] .single .highlight .chroma .nf {
    color: #dcbdfb;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameFunctionMagic */
  }
  [data-theme-mode=auto] .single .highlight .chroma .fm {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameLabel */
  }
  [data-theme-mode=auto] .single .highlight .chroma .nl {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameNamespace */
  }
  [data-theme-mode=auto] .single .highlight .chroma .nn {
    color: #f47067;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameOther */
  }
  [data-theme-mode=auto] .single .highlight .chroma .nx {
    color: #dcbdfb;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameProperty */
  }
  [data-theme-mode=auto] .single .highlight .chroma .py {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameTag */
  }
  [data-theme-mode=auto] .single .highlight .chroma .nt {
    color: #8ddb8c;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameVariable */
  }
  [data-theme-mode=auto] .single .highlight .chroma .nv {
    color: #f69d50;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameVariableClass */
  }
  [data-theme-mode=auto] .single .highlight .chroma .vc {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameVariableGlobal */
  }
  [data-theme-mode=auto] .single .highlight .chroma .vg {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameVariableInstance */
  }
  [data-theme-mode=auto] .single .highlight .chroma .vi {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* NameVariableMagic */
  }
  [data-theme-mode=auto] .single .highlight .chroma .vm {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* Literal */
  }
  [data-theme-mode=auto] .single .highlight .chroma .l {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralDate */
  }
  [data-theme-mode=auto] .single .highlight .chroma .ld {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralString */
  }
  [data-theme-mode=auto] .single .highlight .chroma .s {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringAffix */
  }
  [data-theme-mode=auto] .single .highlight .chroma .sa {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringBacktick */
  }
  [data-theme-mode=auto] .single .highlight .chroma .sb {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringChar */
  }
  [data-theme-mode=auto] .single .highlight .chroma .sc {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringDelimiter */
  }
  [data-theme-mode=auto] .single .highlight .chroma .dl {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringDoc */
  }
  [data-theme-mode=auto] .single .highlight .chroma .sd {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringDouble */
  }
  [data-theme-mode=auto] .single .highlight .chroma .s2 {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringEscape */
  }
  [data-theme-mode=auto] .single .highlight .chroma .se {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringHeredoc */
  }
  [data-theme-mode=auto] .single .highlight .chroma .sh {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringInterpol */
  }
  [data-theme-mode=auto] .single .highlight .chroma .si {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringOther */
  }
  [data-theme-mode=auto] .single .highlight .chroma .sx {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringRegex */
  }
  [data-theme-mode=auto] .single .highlight .chroma .sr {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringSingle */
  }
  [data-theme-mode=auto] .single .highlight .chroma .s1 {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralStringSymbol */
  }
  [data-theme-mode=auto] .single .highlight .chroma .ss {
    color: #96d0ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralNumber */
  }
  [data-theme-mode=auto] .single .highlight .chroma .m {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralNumberBin */
  }
  [data-theme-mode=auto] .single .highlight .chroma .mb {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralNumberFloat */
  }
  [data-theme-mode=auto] .single .highlight .chroma .mf {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralNumberHex */
  }
  [data-theme-mode=auto] .single .highlight .chroma .mh {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralNumberInteger */
  }
  [data-theme-mode=auto] .single .highlight .chroma .mi {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralNumberIntegerLong */
  }
  [data-theme-mode=auto] .single .highlight .chroma .il {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* LiteralNumberOct */
  }
  [data-theme-mode=auto] .single .highlight .chroma .mo {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* Operator */
  }
  [data-theme-mode=auto] .single .highlight .chroma .o {
    color: #f47067;
  }
  [data-theme-mode=auto] .single .highlight {
    /* OperatorWord */
  }
  [data-theme-mode=auto] .single .highlight .chroma .ow {
    color: #f47067;
  }
  [data-theme-mode=auto] .single .highlight {
    /* Punctuation */
  }
  [data-theme-mode=auto] .single .highlight .chroma .p {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* Comment */
  }
  [data-theme-mode=auto] .single .highlight .chroma .c {
    color: #768390;
  }
  [data-theme-mode=auto] .single .highlight {
    /* CommentHashbang */
  }
  [data-theme-mode=auto] .single .highlight .chroma .ch {
    color: #768390;
  }
  [data-theme-mode=auto] .single .highlight {
    /* CommentMultiline */
  }
  [data-theme-mode=auto] .single .highlight .chroma .cm {
    color: #768390;
  }
  [data-theme-mode=auto] .single .highlight {
    /* CommentSingle */
  }
  [data-theme-mode=auto] .single .highlight .chroma .c1 {
    color: #768390;
  }
  [data-theme-mode=auto] .single .highlight {
    /* CommentSpecial */
  }
  [data-theme-mode=auto] .single .highlight .chroma .cs {
    color: #768390;
  }
  [data-theme-mode=auto] .single .highlight {
    /* CommentPreproc */
  }
  [data-theme-mode=auto] .single .highlight .chroma .cp {
    color: #6cb6ff;
  }
  [data-theme-mode=auto] .single .highlight {
    /* CommentPreprocFile */
  }
  [data-theme-mode=auto] .single .highlight .chroma .cpf {
    color: #768390;
  }
  [data-theme-mode=auto] .single .highlight {
    /* Generic */
  }
  [data-theme-mode=auto] .single .highlight .chroma .g {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericDeleted */
  }
  [data-theme-mode=auto] .single .highlight .chroma .gd {
    color: #ffd8d3;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericEmph */
  }
  [data-theme-mode=auto] .single .highlight .chroma .ge {
    color: #c5d1dc;
    font-style: italic;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericError */
  }
  [data-theme-mode=auto] .single .highlight .chroma .gr {
    color: #dc3545;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericHeading */
  }
  [data-theme-mode=auto] .single .highlight .chroma .gh {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericInserted */
  }
  [data-theme-mode=auto] .single .highlight .chroma .gi {
    color: #b4f1b4;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericOutput */
  }
  [data-theme-mode=auto] .single .highlight .chroma .go {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericPrompt */
  }
  [data-theme-mode=auto] .single .highlight .chroma .gp {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericStrong */
  }
  [data-theme-mode=auto] .single .highlight .chroma .gs {
    font-weight: bold;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericSubheading */
  }
  [data-theme-mode=auto] .single .highlight .chroma .gu {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericTraceback */
  }
  [data-theme-mode=auto] .single .highlight .chroma .gt {
    color: #dc3545;
  }
  [data-theme-mode=auto] .single .highlight {
    /* GenericUnderline */
  }
  [data-theme-mode=auto] .single .highlight .chroma .gl {
    color: #c5d1dc;
    text-decoration: underline;
  }
  [data-theme-mode=auto] .single .highlight {
    /* TextWhitespace */
  }
  [data-theme-mode=auto] .single .highlight .chroma .w {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* Other */
  }
  [data-theme-mode=auto] .single .highlight .chroma .x {
    color: #c5d1dc;
  }
  [data-theme-mode=auto] .single .highlight {
    /* Language Diff */
  }
  [data-theme-mode=auto] .single .highlight .chroma .language-diff {
    /* GenericDeleted */
  }
  [data-theme-mode=auto] .single .highlight .chroma .language-diff .gd {
    background-color: #78191b;
  }
  [data-theme-mode=auto] .single .highlight .chroma .language-diff {
    /* GenericInserted */
  }
  [data-theme-mode=auto] .single .highlight .chroma .language-diff .gi {
    background-color: #1b4721;
  }
  [data-theme-mode=auto] .single .highlight .chroma .language-diff .gs {
    font-weight: normal;
    color: #ffddb0;
    background-color: #682d0f;
  }
}

.copy-icon-btn {
  box-sizing: content-box;
  width: 1rem;
  height: 1rem;
  line-height: 1;
  padding: 0.5rem;
  border: 1px solid var(--fi-global-border-color);
  color: light-dark(#25292e, #d1d7e0);
  background-color: light-dark(#f6f8fa, #2a313c);
  user-select: none;
  border-radius: var(--fi-global-border-radius);
  z-index: 1;
}
.copy-icon-btn:hover {
  background-color: light-dark(rgb(236.1642857143, 240.35, 244.5357142857), rgb(35.7, 41.65, 51));
}
.copy-icon-btn .fa-clone {
  font-size: 1rem;
}
.copy-icon-btn[data-copied] .fa-clone {
  --fa: "\f00c";
  --fa-style: 900;
  color: var(--fi-global-link-hover-color);
}
@media only print {
  .copy-icon-btn {
    display: none !important;
  }
}

@media only screen and (min-width: 1201px) {
  .single .content :is(.code-block, .diagram-container) .copy-icon-btn {
    display: none;
    opacity: 0;
    transform: scale(0.9);
    transition: display 0.25s allow-discrete, opacity 0.25s, transform 0.25s, color 0.1s, background-color 0.1s, box-shadow 0.1s, border-color 0.1s;
  }
  .single .content :is(.code-block, .diagram-container):hover .copy-icon-btn {
    display: block;
    opacity: 1;
    transform: scale(1);
  }
  @starting-style {
    .single .content :is(.code-block, .diagram-container):hover .copy-icon-btn {
      opacity: 0;
      transform: scale(0.9);
    }
  }
}

.single code {
  padding: 0.2em 0.4em;
  margin: 0;
  font-size: var(--fi-code-font-size);
  line-height: var(--fi-code-font-size);
  font-family: var(--fi-code-font-family);
  color: var(--fi-code-color);
  background-color: var(--fi-code-inline-background-color);
  text-decoration: inherit;
  border-radius: var(--fi-global-border-radius);
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.single .color-code {
  position: relative;
  --fi-color-code-size: 0.64em;
}
.single .color-code .color-preview {
  display: inline-block;
  width: var(--fi-color-code-size);
  height: var(--fi-color-code-size);
  border-radius: calc(infinity * 1px);
  margin-right: 0.25em;
  vertical-align: middle;
  border: 1px solid;
  pointer-events: none;
  transform: translateY(-1px);
  border-color: light-dark(rgba(209, 217, 224, 0.7019607843), rgba(61, 68, 77, 0.7019607843));
}
.single pre {
  margin: 0;
  line-height: 1.45em;
  padding: 0.5rem 0.75rem;
  overflow: auto;
  font-size: var(--fi-code-block-font-size);
  font-family: var(--fi-code-font-family);
  background-color: var(--fi-code-block-background-color);
  tab-size: 4;
  border-radius: var(--fi-global-border-radius);
}
.single pre + pre {
  margin-top: 0.5rem;
}
.single pre code {
  padding: 0;
  background-color: transparent;
  font-size: inherit;
  line-height: inherit;
  min-width: max-content;
  border-radius: 0;
}
.single pre img {
  min-height: 1em;
  max-height: 1.2em;
  vertical-align: text-bottom;
}
.single .highlight,
.single .gist {
  font-size: var(--fi-code-block-font-size);
  font-family: var(--fi-code-font-family);
  --fi-scrollbar-thumb-color: inherit;
}
.single .highlight table,
.single .gist table {
  width: 100%;
  max-width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
.single .highlight table,
.single .highlight table thead,
.single .highlight table tr,
.single .highlight table td,
.single .gist table,
.single .gist table thead,
.single .gist table tr,
.single .gist table td {
  margin: 0;
  padding: 0;
  border: none;
}
.single .highlight {
  margin: 0.5rem 0;
  position: relative;
  border-radius: var(--fi-global-border-radius);
}
.single .highlight > div.chroma {
  position: relative;
  background-color: var(--fi-code-block-background-color);
  border-radius: var(--fi-global-border-radius);
}
.single .highlight > div.chroma:is(pre):has(.ln) {
  padding: 0.5rem;
}
.single .highlight > div.chroma .lntable {
  overflow: auto;
  overscroll-behavior-x: none;
  display: block;
  background-color: var(--fi-code-block-background-color);
  border-radius: var(--fi-global-border-radius);
}
.single .highlight > div.chroma .lntable td {
  vertical-align: top;
  padding: 0;
}
.single .highlight > div.chroma .lntable pre {
  outline-offset: -1px;
  border-radius: 0;
}
.single .highlight > div.chroma .lntable .lntd:first-child {
  position: sticky;
  left: 0;
}
.single .highlight > div.chroma .lntable .lntd:last-child {
  width: 100%;
}
.single .highlight > div.chroma .lntable .lntd:last-child code {
  width: 100%;
}
.single .highlight .lnt {
  display: block;
  width: calc(var(--fi-line-digit) * 1ch);
  min-width: 0.75rem;
  text-align: right;
}
.single .highlight .ln {
  display: inline-block;
  width: calc(var(--fi-line-digit) * 1ch);
  min-width: 0.75rem;
  text-align: right;
  padding-right: 0.75rem;
  position: sticky;
  left: 0;
}
.single .highlight .lnt,
.single .highlight .ln {
  color: var(--fi-global-font-secondary-color);
  user-select: none;
}
.single .highlight:not(.code-block) .lntd:last-child pre.chroma {
  padding-left: 0;
}
.single .highlight.code-block[data-shadow=always] {
  box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.06), 0 5px 12px 4px rgba(0, 0, 0, 0.04);
}
.single .highlight.code-block[data-shadow=hover] {
  transition: box-shadow 0.3s var(--fi-bezier);
}
.single .highlight.code-block[data-shadow=hover]:hover {
  box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.06), 0 5px 12px 4px rgba(0, 0, 0, 0.04);
}
.single .highlight.code-block .code-wrapper {
  overflow: hidden;
  height: auto;
  position: relative;
  counter-reset: codeNos calc(var(--fi-line-start) - 1);
  transition: height 0.5s ease-out;
  border-radius: var(--fi-global-border-radius);
  border-radius: var(--fi-global-border-radius);
  --fi-max-shown-lines: attr(data-max number, 10);
  --fi-line-start: attr(data-line-start number, 1);
  --fi-line-digit: attr(data-line-digit number, 1);
}
@media screen and (prefers-reduced-motion: reduce) {
  .single .highlight.code-block .code-wrapper {
    transition: none;
  }
}
.single .highlight.code-block:has(.code-expand-btn):not(.is-expanded, .is-collapsed) .code-wrapper {
  height: calc(1.45em * var(--fi-max-shown-lines) + var(--fi-code-expand-offset, 0.5rem));
}
.single .highlight.code-block:has(.code-expand-btn):not(.is-expanded, .is-collapsed)[data-mode=mac] .code-wrapper {
  --fi-code-expand-offset: 2.375rem;
}
.single .highlight.code-block .code-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  font-family: var(--fi-global-font-family);
  font-weight: bold;
  line-height: 1.4em;
  color: var(--fi-code-header-color);
  background-color: var(--fi-code-header-background-color);
  position: sticky;
  transition: border-radius 0s;
  cursor: pointer;
  z-index: 2;
  border-radius: var(--fi-global-border-radius) var(--fi-global-border-radius) 0 0;
  top: var(--fi-breadcrumb-height, 0px);
}
@media only screen and (min-width: 681px) {
  [data-header-desktop=sticky] .single .highlight.code-block .code-header, [data-header-desktop=auto] .single .highlight.code-block .code-header {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
  [data-header-desktop=auto]:has(#header-desktop.header__fadeOutUp) .single .highlight.code-block .code-header {
    top: var(--fi-breadcrumb-height, 0px);
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] .single .highlight.code-block .code-header, [data-header-mobile=auto] .single .highlight.code-block .code-header {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
  [data-header-mobile=auto]:has(#header-mobile.header__fadeOutUp) .single .highlight.code-block .code-header {
    top: var(--fi-breadcrumb-height, 0px);
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] .single .highlight.code-block .code-header {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
}
.single .highlight.code-block .code-header {
  transition: top 0.5s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .single .highlight.code-block .code-header {
    transition: none;
  }
}
.single .highlight.code-block .code-header + .code-wrapper {
  border-radius: 0 0 var(--fi-global-border-radius) var(--fi-global-border-radius);
}
.single .highlight.code-block .code-header + .code-wrapper > pre.chroma {
  border-radius: 0 0 var(--fi-global-border-radius) var(--fi-global-border-radius);
}
.single .highlight.code-block .code-header .code-title {
  width: 100%;
  padding: 0.4rem;
}
.single .highlight.code-block .code-header .code-title::after {
  padding-left: 0.2rem;
  content: attr(data-name, var(--fi-code-type, "Code"));
}
.single .highlight.code-block .code-header .code-title[data-name]::after {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.single .highlight.code-block .code-header .code-title .arrow {
  padding: 0 0.2rem;
  transition: transform 0.2s ease;
}
.single .highlight.code-block .code-header .code-title .title-inner {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--fi-code-header-background-color);
  padding-inline: 1em;
  max-width: calc(100% - 200px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 3;
}
.single .highlight.code-block .code-header .ellipses-btn {
  display: none;
  padding: 0.4rem;
}
.single .highlight.code-block .code-header button {
  padding: 0.4rem;
}
@media only print {
  .single .highlight.code-block .code-header button {
    display: none !important;
  }
}
.single .highlight.code-block .code-header .copy-btn[data-copied] .fa-clone {
  --fa: "\f00c";
  font-weight: 900;
  color: var(--fi-global-link-hover-color);
}
.single .highlight.code-block .code-header .download-btn[data-downloaded] .fa-download {
  --fa: "\f1ce";
  font-weight: 900;
  color: var(--fi-global-link-hover-color);
}
.single .highlight.code-block .code-header.language-🔥 {
  --fi-code-type: "Mojo";
}
.single .highlight.code-block .code-header.language-1s {
  --fi-code-type: "OnesEnterprise";
}
.single .highlight.code-block .code-header.language-1s\:enterprise {
  --fi-code-type: "OnesEnterprise";
}
.single .highlight.code-block .code-header.language-abap {
  --fi-code-type: "ABAP";
}
.single .highlight.code-block .code-header.language-abl {
  --fi-code-type: "OpenEdge ABL";
}
.single .highlight.code-block .code-header.language-abnf {
  --fi-code-type: "ABNF";
}
.single .highlight.code-block .code-header.language-aconf {
  --fi-code-type: "ApacheConf";
}
.single .highlight.code-block .code-header.language-actionscript {
  --fi-code-type: "ActionScript";
}
.single .highlight.code-block .code-header.language-actionscript3 {
  --fi-code-type: "ActionScript 3";
}
.single .highlight.code-block .code-header.language-ada {
  --fi-code-type: "Ada";
}
.single .highlight.code-block .code-header.language-ada2005 {
  --fi-code-type: "Ada";
}
.single .highlight.code-block .code-header.language-ada95 {
  --fi-code-type: "Ada";
}
.single .highlight.code-block .code-header.language-agda {
  --fi-code-type: "Agda";
}
.single .highlight.code-block .code-header.language-ahk {
  --fi-code-type: "AutoHotkey";
}
.single .highlight.code-block .code-header.language-al {
  --fi-code-type: "AL";
}
.single .highlight.code-block .code-header.language-alloy {
  --fi-code-type: "Alloy";
}
.single .highlight.code-block .code-header.language-ampl {
  --fi-code-type: "AMPL";
}
.single .highlight.code-block .code-header.language-ansible {
  --fi-code-type: "YAML+Jinja";
}
.single .highlight.code-block .code-header.language-antlr {
  --fi-code-type: "ANTLR";
}
.single .highlight.code-block .code-header.language-apache {
  --fi-code-type: "ApacheConf";
}
.single .highlight.code-block .code-header.language-apacheconf {
  --fi-code-type: "ApacheConf";
}
.single .highlight.code-block .code-header.language-apl {
  --fi-code-type: "APL";
}
.single .highlight.code-block .code-header.language-applescript {
  --fi-code-type: "AppleScript";
}
.single .highlight.code-block .code-header.language-aql {
  --fi-code-type: "ArangoDB AQL";
}
.single .highlight.code-block .code-header.language-arduino {
  --fi-code-type: "Arduino";
}
.single .highlight.code-block .code-header.language-arexx {
  --fi-code-type: "Rexx";
}
.single .highlight.code-block .code-header.language-armasm {
  --fi-code-type: "ArmAsm";
}
.single .highlight.code-block .code-header.language-art {
  --fi-code-type: "Arturo";
}
.single .highlight.code-block .code-header.language-arturo {
  --fi-code-type: "Arturo";
}
.single .highlight.code-block .code-header.language-as {
  --fi-code-type: "ActionScript";
}
.single .highlight.code-block .code-header.language-as3 {
  --fi-code-type: "ActionScript 3";
}
.single .highlight.code-block .code-header.language-asm {
  --fi-code-type: "GAS";
}
.single .highlight.code-block .code-header.language-atl {
  --fi-code-type: "ATL";
}
.single .highlight.code-block .code-header.language-autohotkey {
  --fi-code-type: "AutoHotkey";
}
.single .highlight.code-block .code-header.language-autoit {
  --fi-code-type: "AutoIt";
}
.single .highlight.code-block .code-header.language-awk {
  --fi-code-type: "Awk";
}
.single .highlight.code-block .code-header.language-b3d {
  --fi-code-type: "BlitzBasic";
}
.single .highlight.code-block .code-header.language-ballerina {
  --fi-code-type: "Ballerina";
}
.single .highlight.code-block .code-header.language-bash {
  --fi-code-type: "Bash";
}
.single .highlight.code-block .code-header.language-bash-session {
  --fi-code-type: "Bash Session";
}
.single .highlight.code-block .code-header.language-basic {
  --fi-code-type: "QBasic";
}
.single .highlight.code-block .code-header.language-bat {
  --fi-code-type: "Batchfile";
}
.single .highlight.code-block .code-header.language-batch {
  --fi-code-type: "Batchfile";
}
.single .highlight.code-block .code-header.language-beef {
  --fi-code-type: "Beef";
}
.single .highlight.code-block .code-header.language-bf {
  --fi-code-type: "Brainfuck";
}
.single .highlight.code-block .code-header.language-bib {
  --fi-code-type: "BibTeX";
}
.single .highlight.code-block .code-header.language-bibtex {
  --fi-code-type: "BibTeX";
}
.single .highlight.code-block .code-header.language-bicep {
  --fi-code-type: "Bicep";
}
.single .highlight.code-block .code-header.language-bind {
  --fi-code-type: "Dns";
}
.single .highlight.code-block .code-header.language-blitzbasic {
  --fi-code-type: "BlitzBasic";
}
.single .highlight.code-block .code-header.language-bnf {
  --fi-code-type: "BNF";
}
.single .highlight.code-block .code-header.language-bplus {
  --fi-code-type: "BlitzBasic";
}
.single .highlight.code-block .code-header.language-bqn {
  --fi-code-type: "BQN";
}
.single .highlight.code-block .code-header.language-brainfuck {
  --fi-code-type: "Brainfuck";
}
.single .highlight.code-block .code-header.language-bsdmake {
  --fi-code-type: "Makefile";
}
.single .highlight.code-block .code-header.language-c {
  --fi-code-type: "C";
}
.single .highlight.code-block .code-header.language-c\# {
  --fi-code-type: "C#";
}
.single .highlight.code-block .code-header.language-c\+\+ {
  --fi-code-type: "C++";
}
.single .highlight.code-block .code-header.language-c3 {
  --fi-code-type: "C3";
}
.single .highlight.code-block .code-header.language-caddy {
  --fi-code-type: "Caddyfile";
}
.single .highlight.code-block .code-header.language-caddy-d {
  --fi-code-type: "Caddyfile Directives";
}
.single .highlight.code-block .code-header.language-caddyfile {
  --fi-code-type: "Caddyfile";
}
.single .highlight.code-block .code-header.language-caddyfile-d {
  --fi-code-type: "Caddyfile Directives";
}
.single .highlight.code-block .code-header.language-caddyfile-directives {
  --fi-code-type: "Caddyfile Directives";
}
.single .highlight.code-block .code-header.language-capnp {
  --fi-code-type: "Cap'n Proto";
}
.single .highlight.code-block .code-header.language-cassandra {
  --fi-code-type: "Cassandra CQL";
}
.single .highlight.code-block .code-header.language-cassette {
  --fi-code-type: "VHS";
}
.single .highlight.code-block .code-header.language-ceylon {
  --fi-code-type: "Ceylon";
}
.single .highlight.code-block .code-header.language-cf3 {
  --fi-code-type: "CFEngine3";
}
.single .highlight.code-block .code-header.language-cfengine3 {
  --fi-code-type: "CFEngine3";
}
.single .highlight.code-block .code-header.language-cfg {
  --fi-code-type: "INI";
}
.single .highlight.code-block .code-header.language-cfs {
  --fi-code-type: "Cfstatement";
}
.single .highlight.code-block .code-header.language-chai {
  --fi-code-type: "ChaiScript";
}
.single .highlight.code-block .code-header.language-chaiscript {
  --fi-code-type: "ChaiScript";
}
.single .highlight.code-block .code-header.language-chapel {
  --fi-code-type: "Chapel";
}
.single .highlight.code-block .code-header.language-cheetah {
  --fi-code-type: "Cheetah";
}
.single .highlight.code-block .code-header.language-chpl {
  --fi-code-type: "Chapel";
}
.single .highlight.code-block .code-header.language-cl {
  --fi-code-type: "Common Lisp";
}
.single .highlight.code-block .code-header.language-clj {
  --fi-code-type: "Clojure";
}
.single .highlight.code-block .code-header.language-clojure {
  --fi-code-type: "Clojure";
}
.single .highlight.code-block .code-header.language-cmake {
  --fi-code-type: "CMake";
}
.single .highlight.code-block .code-header.language-cobol {
  --fi-code-type: "COBOL";
}
.single .highlight.code-block .code-header.language-coffee {
  --fi-code-type: "CoffeeScript";
}
.single .highlight.code-block .code-header.language-coffee-script {
  --fi-code-type: "CoffeeScript";
}
.single .highlight.code-block .code-header.language-coffeescript {
  --fi-code-type: "CoffeeScript";
}
.single .highlight.code-block .code-header.language-common-lisp {
  --fi-code-type: "Common Lisp";
}
.single .highlight.code-block .code-header.language-console {
  --fi-code-type: "Bash Session";
}
.single .highlight.code-block .code-header.language-containerfile {
  --fi-code-type: "Docker";
}
.single .highlight.code-block .code-header.language-coq {
  --fi-code-type: "Coq";
}
.single .highlight.code-block .code-header.language-core {
  --fi-code-type: "Core";
}
.single .highlight.code-block .code-header.language-cpp {
  --fi-code-type: "C++";
}
.single .highlight.code-block .code-header.language-cql {
  --fi-code-type: "Cassandra CQL";
}
.single .highlight.code-block .code-header.language-cr {
  --fi-code-type: "Crystal";
}
.single .highlight.code-block .code-header.language-crystal {
  --fi-code-type: "Crystal";
}
.single .highlight.code-block .code-header.language-csh {
  --fi-code-type: "Tcsh";
}
.single .highlight.code-block .code-header.language-csharp {
  --fi-code-type: "C#";
}
.single .highlight.code-block .code-header.language-css {
  --fi-code-type: "CSS";
}
.single .highlight.code-block .code-header.language-csv {
  --fi-code-type: "CSV";
}
.single .highlight.code-block .code-header.language-cucumber {
  --fi-code-type: "Gherkin";
}
.single .highlight.code-block .code-header.language-cue {
  --fi-code-type: "CUE";
}
.single .highlight.code-block .code-header.language-cython {
  --fi-code-type: "Cython";
}
.single .highlight.code-block .code-header.language-d {
  --fi-code-type: "D";
}
.single .highlight.code-block .code-header.language-dart {
  --fi-code-type: "Dart";
}
.single .highlight.code-block .code-header.language-dax {
  --fi-code-type: "Dax";
}
.single .highlight.code-block .code-header.language-desktop {
  --fi-code-type: "Desktop file";
}
.single .highlight.code-block .code-header.language-desktop_entry {
  --fi-code-type: "Desktop file";
}
.single .highlight.code-block .code-header.language-devicetree {
  --fi-code-type: "Devicetree";
}
.single .highlight.code-block .code-header.language-diff {
  --fi-code-type: "Diff";
}
.single .highlight.code-block .code-header.language-django {
  --fi-code-type: "Django/Jinja";
}
.single .highlight.code-block .code-header.language-docker {
  --fi-code-type: "Docker";
}
.single .highlight.code-block .code-header.language-dockerfile {
  --fi-code-type: "Docker";
}
.single .highlight.code-block .code-header.language-dosbatch {
  --fi-code-type: "Batchfile";
}
.single .highlight.code-block .code-header.language-dosini {
  --fi-code-type: "INI";
}
.single .highlight.code-block .code-header.language-dtd {
  --fi-code-type: "DTD";
}
.single .highlight.code-block .code-header.language-dts {
  --fi-code-type: "Devicetree";
}
.single .highlight.code-block .code-header.language-duby {
  --fi-code-type: "Ruby";
}
.single .highlight.code-block .code-header.language-dylan {
  --fi-code-type: "Dylan";
}
.single .highlight.code-block .code-header.language-ebnf {
  --fi-code-type: "EBNF";
}
.single .highlight.code-block .code-header.language-edn {
  --fi-code-type: "Clojure";
}
.single .highlight.code-block .code-header.language-elisp {
  --fi-code-type: "EmacsLisp";
}
.single .highlight.code-block .code-header.language-elixir {
  --fi-code-type: "Elixir";
}
.single .highlight.code-block .code-header.language-elm {
  --fi-code-type: "Elm";
}
.single .highlight.code-block .code-header.language-emacs {
  --fi-code-type: "EmacsLisp";
}
.single .highlight.code-block .code-header.language-emacs-lisp {
  --fi-code-type: "EmacsLisp";
}
.single .highlight.code-block .code-header.language-erb {
  --fi-code-type: "ERB";
}
.single .highlight.code-block .code-header.language-erlang {
  --fi-code-type: "Erlang";
}
.single .highlight.code-block .code-header.language-ex {
  --fi-code-type: "Elixir";
}
.single .highlight.code-block .code-header.language-exs {
  --fi-code-type: "Elixir";
}
.single .highlight.code-block .code-header.language-f90 {
  --fi-code-type: "Fortran";
}
.single .highlight.code-block .code-header.language-factor {
  --fi-code-type: "Factor";
}
.single .highlight.code-block .code-header.language-fennel {
  --fi-code-type: "Fennel";
}
.single .highlight.code-block .code-header.language-fish {
  --fi-code-type: "Fish";
}
.single .highlight.code-block .code-header.language-fishshell {
  --fi-code-type: "Fish";
}
.single .highlight.code-block .code-header.language-fnl {
  --fi-code-type: "Fennel";
}
.single .highlight.code-block .code-header.language-forth {
  --fi-code-type: "Forth";
}
.single .highlight.code-block .code-header.language-fortran {
  --fi-code-type: "Fortran";
}
.single .highlight.code-block .code-header.language-fortranfixed {
  --fi-code-type: "FortranFixed";
}
.single .highlight.code-block .code-header.language-fsharp {
  --fi-code-type: "FSharp";
}
.single .highlight.code-block .code-header.language-gas {
  --fi-code-type: "GAS";
}
.single .highlight.code-block .code-header.language-gawk {
  --fi-code-type: "Awk";
}
.single .highlight.code-block .code-header.language-gd {
  --fi-code-type: "GDScript";
}
.single .highlight.code-block .code-header.language-gd3 {
  --fi-code-type: "GDScript3";
}
.single .highlight.code-block .code-header.language-gdscript {
  --fi-code-type: "GDScript";
}
.single .highlight.code-block .code-header.language-gdscript3 {
  --fi-code-type: "GDScript3";
}
.single .highlight.code-block .code-header.language-gemfile-lock {
  --fi-code-type: "Gemfile.lock";
}
.single .highlight.code-block .code-header.language-gemfilelock {
  --fi-code-type: "Gemfile.lock";
}
.single .highlight.code-block .code-header.language-gemini {
  --fi-code-type: "Gemtext";
}
.single .highlight.code-block .code-header.language-gemtext {
  --fi-code-type: "Gemtext";
}
.single .highlight.code-block .code-header.language-genshi {
  --fi-code-type: "Genshi";
}
.single .highlight.code-block .code-header.language-genshitext {
  --fi-code-type: "Genshi Text";
}
.single .highlight.code-block .code-header.language-gherkin {
  --fi-code-type: "Gherkin";
}
.single .highlight.code-block .code-header.language-gleam {
  --fi-code-type: "Gleam";
}
.single .highlight.code-block .code-header.language-glsl {
  --fi-code-type: "GLSL";
}
.single .highlight.code-block .code-header.language-gmi {
  --fi-code-type: "Gemtext";
}
.single .highlight.code-block .code-header.language-gmni {
  --fi-code-type: "Gemtext";
}
.single .highlight.code-block .code-header.language-gnuplot {
  --fi-code-type: "Gnuplot";
}
.single .highlight.code-block .code-header.language-go {
  --fi-code-type: "Go";
}
.single .highlight.code-block .code-header.language-go-template {
  --fi-code-type: "Go Template";
}
.single .highlight.code-block .code-header.language-golang {
  --fi-code-type: "Go";
}
.single .highlight.code-block .code-header.language-gql {
  --fi-code-type: "GraphQL";
}
.single .highlight.code-block .code-header.language-graphql {
  --fi-code-type: "GraphQL";
}
.single .highlight.code-block .code-header.language-graphqls {
  --fi-code-type: "GraphQL";
}
.single .highlight.code-block .code-header.language-groff {
  --fi-code-type: "Groff";
}
.single .highlight.code-block .code-header.language-groovy {
  --fi-code-type: "Groovy";
}
.single .highlight.code-block .code-header.language-gsed {
  --fi-code-type: "Sed";
}
.single .highlight.code-block .code-header.language-handlebars {
  --fi-code-type: "Handlebars";
}
.single .highlight.code-block .code-header.language-hare {
  --fi-code-type: "Hare";
}
.single .highlight.code-block .code-header.language-haskell {
  --fi-code-type: "Haskell";
}
.single .highlight.code-block .code-header.language-haxe {
  --fi-code-type: "Haxe";
}
.single .highlight.code-block .code-header.language-hbs {
  --fi-code-type: "Handlebars";
}
.single .highlight.code-block .code-header.language-hcl {
  --fi-code-type: "HCL";
}
.single .highlight.code-block .code-header.language-hexdump {
  --fi-code-type: "Hexdump";
}
.single .highlight.code-block .code-header.language-hlb {
  --fi-code-type: "HLB";
}
.single .highlight.code-block .code-header.language-hlsl {
  --fi-code-type: "HLSL";
}
.single .highlight.code-block .code-header.language-holyc {
  --fi-code-type: "HolyC";
}
.single .highlight.code-block .code-header.language-hs {
  --fi-code-type: "Haskell";
}
.single .highlight.code-block .code-header.language-html {
  --fi-code-type: "HTML";
}
.single .highlight.code-block .code-header.language-html\+erb {
  --fi-code-type: "ERB";
}
.single .highlight.code-block .code-header.language-html\+genshi {
  --fi-code-type: "Genshi HTML";
}
.single .highlight.code-block .code-header.language-html\+kid {
  --fi-code-type: "Genshi HTML";
}
.single .highlight.code-block .code-header.language-html\+ruby {
  --fi-code-type: "ERB";
}
.single .highlight.code-block .code-header.language-http {
  --fi-code-type: "HTTP";
}
.single .highlight.code-block .code-header.language-hx {
  --fi-code-type: "Haxe";
}
.single .highlight.code-block .code-header.language-hxsl {
  --fi-code-type: "Haxe";
}
.single .highlight.code-block .code-header.language-hylang {
  --fi-code-type: "Hy";
}
.single .highlight.code-block .code-header.language-idr {
  --fi-code-type: "Idris";
}
.single .highlight.code-block .code-header.language-idris {
  --fi-code-type: "Idris";
}
.single .highlight.code-block .code-header.language-igor {
  --fi-code-type: "Igor";
}
.single .highlight.code-block .code-header.language-igorpro {
  --fi-code-type: "Igor";
}
.single .highlight.code-block .code-header.language-ini {
  --fi-code-type: "INI";
}
.single .highlight.code-block .code-header.language-io {
  --fi-code-type: "Io";
}
.single .highlight.code-block .code-header.language-iscdhcpd {
  --fi-code-type: "ISCdhcpd";
}
.single .highlight.code-block .code-header.language-j {
  --fi-code-type: "J";
}
.single .highlight.code-block .code-header.language-janet {
  --fi-code-type: "Janet";
}
.single .highlight.code-block .code-header.language-java {
  --fi-code-type: "Java";
}
.single .highlight.code-block .code-header.language-java-properties {
  --fi-code-type: "Properties";
}
.single .highlight.code-block .code-header.language-javascript {
  --fi-code-type: "JavaScript";
}
.single .highlight.code-block .code-header.language-jinja {
  --fi-code-type: "Django/Jinja";
}
.single .highlight.code-block .code-header.language-jl {
  --fi-code-type: "Julia";
}
.single .highlight.code-block .code-header.language-js {
  --fi-code-type: "JavaScript";
}
.single .highlight.code-block .code-header.language-json {
  --fi-code-type: "JSON";
}
.single .highlight.code-block .code-header.language-jsonata {
  --fi-code-type: "JSONata";
}
.single .highlight.code-block .code-header.language-jsonl {
  --fi-code-type: "JSON";
}
.single .highlight.code-block .code-header.language-jsonnet {
  --fi-code-type: "Jsonnet";
}
.single .highlight.code-block .code-header.language-jsx {
  --fi-code-type: "React";
}
.single .highlight.code-block .code-header.language-julia {
  --fi-code-type: "Julia";
}
.single .highlight.code-block .code-header.language-jungle {
  --fi-code-type: "Jungle";
}
.single .highlight.code-block .code-header.language-kak {
  --fi-code-type: "Kakoune";
}
.single .highlight.code-block .code-header.language-kakoune {
  --fi-code-type: "Kakoune";
}
.single .highlight.code-block .code-header.language-kakrc {
  --fi-code-type: "Kakoune";
}
.single .highlight.code-block .code-header.language-kakscript {
  --fi-code-type: "Kakoune";
}
.single .highlight.code-block .code-header.language-kdl {
  --fi-code-type: "KDL";
}
.single .highlight.code-block .code-header.language-kid {
  --fi-code-type: "Genshi";
}
.single .highlight.code-block .code-header.language-kotlin {
  --fi-code-type: "Kotlin";
}
.single .highlight.code-block .code-header.language-ksh {
  --fi-code-type: "Bash";
}
.single .highlight.code-block .code-header.language-lateralus {
  --fi-code-type: "Lateralus";
}
.single .highlight.code-block .code-header.language-latex {
  --fi-code-type: "TeX";
}
.single .highlight.code-block .code-header.language-lean {
  --fi-code-type: "Lean4";
}
.single .highlight.code-block .code-header.language-lean4 {
  --fi-code-type: "Lean4";
}
.single .highlight.code-block .code-header.language-lighttpd {
  --fi-code-type: "Lighttpd configuration file";
}
.single .highlight.code-block .code-header.language-lighty {
  --fi-code-type: "Lighttpd configuration file";
}
.single .highlight.code-block .code-header.language-lilypond {
  --fi-code-type: "LilyPond";
}
.single .highlight.code-block .code-header.language-lisp {
  --fi-code-type: "Common Lisp";
}
.single .highlight.code-block .code-header.language-llvm {
  --fi-code-type: "LLVM";
}
.single .highlight.code-block .code-header.language-ltl {
  --fi-code-type: "Lateralus";
}
.single .highlight.code-block .code-header.language-lua {
  --fi-code-type: "Lua";
}
.single .highlight.code-block .code-header.language-luau {
  --fi-code-type: "Luau";
}
.single .highlight.code-block .code-header.language-m2 {
  --fi-code-type: "Modula-2";
}
.single .highlight.code-block .code-header.language-make {
  --fi-code-type: "Makefile";
}
.single .highlight.code-block .code-header.language-makefile {
  --fi-code-type: "Makefile";
}
.single .highlight.code-block .code-header.language-mako {
  --fi-code-type: "Mako";
}
.single .highlight.code-block .code-header.language-man {
  --fi-code-type: "Groff";
}
.single .highlight.code-block .code-header.language-mariadb {
  --fi-code-type: "MySQL";
}
.single .highlight.code-block .code-header.language-mason {
  --fi-code-type: "Mason";
}
.single .highlight.code-block .code-header.language-materialize {
  --fi-code-type: "Materialize SQL dialect";
}
.single .highlight.code-block .code-header.language-mathematica {
  --fi-code-type: "Mathematica";
}
.single .highlight.code-block .code-header.language-matlab {
  --fi-code-type: "Matlab";
}
.single .highlight.code-block .code-header.language-mawk {
  --fi-code-type: "Awk";
}
.single .highlight.code-block .code-header.language-mbt {
  --fi-code-type: "MoonBit";
}
.single .highlight.code-block .code-header.language-mcf {
  --fi-code-type: "MCFunction";
}
.single .highlight.code-block .code-header.language-mcfunction {
  --fi-code-type: "MCFunction";
}
.single .highlight.code-block .code-header.language-md {
  --fi-code-type: "Markdown";
}
.single .highlight.code-block .code-header.language-meson {
  --fi-code-type: "Meson";
}
.single .highlight.code-block .code-header.language-meson\.build {
  --fi-code-type: "Meson";
}
.single .highlight.code-block .code-header.language-mess {
  --fi-code-type: "Markless";
}
.single .highlight.code-block .code-header.language-metal {
  --fi-code-type: "Metal";
}
.single .highlight.code-block .code-header.language-mf {
  --fi-code-type: "Makefile";
}
.single .highlight.code-block .code-header.language-minizinc {
  --fi-code-type: "MiniZinc";
}
.single .highlight.code-block .code-header.language-mkd {
  --fi-code-type: "Markdown";
}
.single .highlight.code-block .code-header.language-mlir {
  --fi-code-type: "MLIR";
}
.single .highlight.code-block .code-header.language-mma {
  --fi-code-type: "Mathematica";
}
.single .highlight.code-block .code-header.language-modelica {
  --fi-code-type: "Modelica";
}
.single .highlight.code-block .code-header.language-modula2 {
  --fi-code-type: "Modula-2";
}
.single .highlight.code-block .code-header.language-mojo {
  --fi-code-type: "Mojo";
}
.single .highlight.code-block .code-header.language-monkeyc {
  --fi-code-type: "MonkeyC";
}
.single .highlight.code-block .code-header.language-moon {
  --fi-code-type: "MoonScript";
}
.single .highlight.code-block .code-header.language-moonbit {
  --fi-code-type: "MoonBit";
}
.single .highlight.code-block .code-header.language-moonscript {
  --fi-code-type: "MoonScript";
}
.single .highlight.code-block .code-header.language-morrowind {
  --fi-code-type: "MorrowindScript";
}
.single .highlight.code-block .code-header.language-mwscript {
  --fi-code-type: "MorrowindScript";
}
.single .highlight.code-block .code-header.language-myghty {
  --fi-code-type: "Myghty";
}
.single .highlight.code-block .code-header.language-mysql {
  --fi-code-type: "MySQL";
}
.single .highlight.code-block .code-header.language-mzn {
  --fi-code-type: "MiniZinc";
}
.single .highlight.code-block .code-header.language-mzsql {
  --fi-code-type: "Materialize SQL dialect";
}
.single .highlight.code-block .code-header.language-nasm {
  --fi-code-type: "NASM";
}
.single .highlight.code-block .code-header.language-natural {
  --fi-code-type: "Natural";
}
.single .highlight.code-block .code-header.language-nawk {
  --fi-code-type: "Awk";
}
.single .highlight.code-block .code-header.language-nb {
  --fi-code-type: "Mathematica";
}
.single .highlight.code-block .code-header.language-ndisasm {
  --fi-code-type: "NDISASM";
}
.single .highlight.code-block .code-header.language-newspeak {
  --fi-code-type: "Newspeak";
}
.single .highlight.code-block .code-header.language-ng2 {
  --fi-code-type: "Angular2";
}
.single .highlight.code-block .code-header.language-nginx {
  --fi-code-type: "Nginx configuration file";
}
.single .highlight.code-block .code-header.language-nim {
  --fi-code-type: "Nim";
}
.single .highlight.code-block .code-header.language-nimrod {
  --fi-code-type: "Nim";
}
.single .highlight.code-block .code-header.language-nix {
  --fi-code-type: "Nix";
}
.single .highlight.code-block .code-header.language-nixos {
  --fi-code-type: "Nix";
}
.single .highlight.code-block .code-header.language-no-highlight {
  --fi-code-type: "Plaintext";
}
.single .highlight.code-block .code-header.language-nroff {
  --fi-code-type: "Groff";
}
.single .highlight.code-block .code-header.language-nsh {
  --fi-code-type: "NSIS";
}
.single .highlight.code-block .code-header.language-nsi {
  --fi-code-type: "NSIS";
}
.single .highlight.code-block .code-header.language-nsis {
  --fi-code-type: "NSIS";
}
.single .highlight.code-block .code-header.language-nu {
  --fi-code-type: "Nu";
}
.single .highlight.code-block .code-header.language-obj-c {
  --fi-code-type: "Objective-C";
}
.single .highlight.code-block .code-header.language-objc {
  --fi-code-type: "Objective-C";
}
.single .highlight.code-block .code-header.language-objective-c {
  --fi-code-type: "Objective-C";
}
.single .highlight.code-block .code-header.language-objectivec {
  --fi-code-type: "Objective-C";
}
.single .highlight.code-block .code-header.language-objectpascal {
  --fi-code-type: "ObjectPascal";
}
.single .highlight.code-block .code-header.language-ocaml {
  --fi-code-type: "OCaml";
}
.single .highlight.code-block .code-header.language-octave {
  --fi-code-type: "Octave";
}
.single .highlight.code-block .code-header.language-odin {
  --fi-code-type: "Odin";
}
.single .highlight.code-block .code-header.language-ones {
  --fi-code-type: "OnesEnterprise";
}
.single .highlight.code-block .code-header.language-onesenterprise {
  --fi-code-type: "OnesEnterprise";
}
.single .highlight.code-block .code-header.language-openedge {
  --fi-code-type: "OpenEdge ABL";
}
.single .highlight.code-block .code-header.language-openedgeabl {
  --fi-code-type: "OpenEdge ABL";
}
.single .highlight.code-block .code-header.language-openscad {
  --fi-code-type: "OpenSCAD";
}
.single .highlight.code-block .code-header.language-org {
  --fi-code-type: "Org Mode";
}
.single .highlight.code-block .code-header.language-orgmode {
  --fi-code-type: "Org Mode";
}
.single .highlight.code-block .code-header.language-pacmanconf {
  --fi-code-type: "PacmanConf";
}
.single .highlight.code-block .code-header.language-perl {
  --fi-code-type: "Perl";
}
.single .highlight.code-block .code-header.language-perl6 {
  --fi-code-type: "Raku";
}
.single .highlight.code-block .code-header.language-php {
  --fi-code-type: "PHP";
}
.single .highlight.code-block .code-header.language-php3 {
  --fi-code-type: "PHP";
}
.single .highlight.code-block .code-header.language-php4 {
  --fi-code-type: "PHP";
}
.single .highlight.code-block .code-header.language-php5 {
  --fi-code-type: "PHP";
}
.single .highlight.code-block .code-header.language-phtml {
  --fi-code-type: "PHTML";
}
.single .highlight.code-block .code-header.language-pig {
  --fi-code-type: "Pig";
}
.single .highlight.code-block .code-header.language-pkgconfig {
  --fi-code-type: "PkgConfig";
}
.single .highlight.code-block .code-header.language-pl {
  --fi-code-type: "Perl";
}
.single .highlight.code-block .code-header.language-pl6 {
  --fi-code-type: "Raku";
}
.single .highlight.code-block .code-header.language-plain {
  --fi-code-type: "Plaintext";
}
.single .highlight.code-block .code-header.language-plc {
  --fi-code-type: "Plutus Core";
}
.single .highlight.code-block .code-header.language-plpgsql {
  --fi-code-type: "PL/pgSQL";
}
.single .highlight.code-block .code-header.language-plutus-core {
  --fi-code-type: "Plutus Core";
}
.single .highlight.code-block .code-header.language-po {
  --fi-code-type: "Gettext";
}
.single .highlight.code-block .code-header.language-pony {
  --fi-code-type: "Pony";
}
.single .highlight.code-block .code-header.language-posh {
  --fi-code-type: "PowerShell";
}
.single .highlight.code-block .code-header.language-postgres {
  --fi-code-type: "PostgreSQL SQL dialect";
}
.single .highlight.code-block .code-header.language-postgresql {
  --fi-code-type: "PostgreSQL SQL dialect";
}
.single .highlight.code-block .code-header.language-postscr {
  --fi-code-type: "PostScript";
}
.single .highlight.code-block .code-header.language-postscript {
  --fi-code-type: "PostScript";
}
.single .highlight.code-block .code-header.language-pot {
  --fi-code-type: "Gettext";
}
.single .highlight.code-block .code-header.language-pov {
  --fi-code-type: "POVRay";
}
.single .highlight.code-block .code-header.language-powerquery {
  --fi-code-type: "PowerQuery";
}
.single .highlight.code-block .code-header.language-powershell {
  --fi-code-type: "PowerShell";
}
.single .highlight.code-block .code-header.language-pq {
  --fi-code-type: "PowerQuery";
}
.single .highlight.code-block .code-header.language-progress {
  --fi-code-type: "OpenEdge ABL";
}
.single .highlight.code-block .code-header.language-prolog {
  --fi-code-type: "Prolog";
}
.single .highlight.code-block .code-header.language-promela {
  --fi-code-type: "Promela";
}
.single .highlight.code-block .code-header.language-promql {
  --fi-code-type: "PromQL";
}
.single .highlight.code-block .code-header.language-proto {
  --fi-code-type: "Protocol Buffer";
}
.single .highlight.code-block .code-header.language-protobuf {
  --fi-code-type: "Protocol Buffer";
}
.single .highlight.code-block .code-header.language-prql {
  --fi-code-type: "PRQL";
}
.single .highlight.code-block .code-header.language-ps1 {
  --fi-code-type: "PowerShell";
}
.single .highlight.code-block .code-header.language-psd1 {
  --fi-code-type: "PowerShell";
}
.single .highlight.code-block .code-header.language-psl {
  --fi-code-type: "PSL";
}
.single .highlight.code-block .code-header.language-psm1 {
  --fi-code-type: "PowerShell";
}
.single .highlight.code-block .code-header.language-puppet {
  --fi-code-type: "Puppet";
}
.single .highlight.code-block .code-header.language-pwsh {
  --fi-code-type: "PowerShell";
}
.single .highlight.code-block .code-header.language-py {
  --fi-code-type: "Python";
}
.single .highlight.code-block .code-header.language-py2 {
  --fi-code-type: "Python 2";
}
.single .highlight.code-block .code-header.language-py3 {
  --fi-code-type: "Python";
}
.single .highlight.code-block .code-header.language-pyrex {
  --fi-code-type: "Cython";
}
.single .highlight.code-block .code-header.language-python {
  --fi-code-type: "Python";
}
.single .highlight.code-block .code-header.language-python2 {
  --fi-code-type: "Python 2";
}
.single .highlight.code-block .code-header.language-python3 {
  --fi-code-type: "Python";
}
.single .highlight.code-block .code-header.language-pyx {
  --fi-code-type: "Cython";
}
.single .highlight.code-block .code-header.language-qbasic {
  --fi-code-type: "QBasic";
}
.single .highlight.code-block .code-header.language-qbs {
  --fi-code-type: "QML";
}
.single .highlight.code-block .code-header.language-qml {
  --fi-code-type: "QML";
}
.single .highlight.code-block .code-header.language-r {
  --fi-code-type: "R";
}
.single .highlight.code-block .code-header.language-racket {
  --fi-code-type: "Racket";
}
.single .highlight.code-block .code-header.language-ragel {
  --fi-code-type: "Ragel";
}
.single .highlight.code-block .code-header.language-raku {
  --fi-code-type: "Raku";
}
.single .highlight.code-block .code-header.language-rb {
  --fi-code-type: "Ruby";
}
.single .highlight.code-block .code-header.language-react {
  --fi-code-type: "React";
}
.single .highlight.code-block .code-header.language-reason {
  --fi-code-type: "ReasonML";
}
.single .highlight.code-block .code-header.language-reasonml {
  --fi-code-type: "ReasonML";
}
.single .highlight.code-block .code-header.language-registry {
  --fi-code-type: "Reg";
}
.single .highlight.code-block .code-header.language-rego {
  --fi-code-type: "Rego";
}
.single .highlight.code-block .code-header.language-rest {
  --fi-code-type: "ReStructuredText";
}
.single .highlight.code-block .code-header.language-restructuredtext {
  --fi-code-type: "ReStructuredText";
}
.single .highlight.code-block .code-header.language-rexx {
  --fi-code-type: "Rexx";
}
.single .highlight.code-block .code-header.language-rgbasm {
  --fi-code-type: "RGBDS Assembly";
}
.single .highlight.code-block .code-header.language-rhtml {
  --fi-code-type: "ERB";
}
.single .highlight.code-block .code-header.language-ring {
  --fi-code-type: "Ring";
}
.single .highlight.code-block .code-header.language-rkt {
  --fi-code-type: "Racket";
}
.single .highlight.code-block .code-header.language-rs {
  --fi-code-type: "Rust";
}
.single .highlight.code-block .code-header.language-rst {
  --fi-code-type: "ReStructuredText";
}
.single .highlight.code-block .code-header.language-ruby {
  --fi-code-type: "Ruby";
}
.single .highlight.code-block .code-header.language-rust {
  --fi-code-type: "Rust";
}
.single .highlight.code-block .code-header.language-s {
  --fi-code-type: "R";
}
.single .highlight.code-block .code-header.language-sage {
  --fi-code-type: "Python";
}
.single .highlight.code-block .code-header.language-salt {
  --fi-code-type: "YAML+Jinja";
}
.single .highlight.code-block .code-header.language-sas {
  --fi-code-type: "SAS";
}
.single .highlight.code-block .code-header.language-sass {
  --fi-code-type: "Sass";
}
.single .highlight.code-block .code-header.language-scala {
  --fi-code-type: "Scala";
}
.single .highlight.code-block .code-header.language-scdoc {
  --fi-code-type: "Scdoc";
}
.single .highlight.code-block .code-header.language-scheme {
  --fi-code-type: "Scheme";
}
.single .highlight.code-block .code-header.language-scilab {
  --fi-code-type: "Scilab";
}
.single .highlight.code-block .code-header.language-scm {
  --fi-code-type: "Scheme";
}
.single .highlight.code-block .code-header.language-scss {
  --fi-code-type: "SCSS";
}
.single .highlight.code-block .code-header.language-sed {
  --fi-code-type: "Sed";
}
.single .highlight.code-block .code-header.language-sh {
  --fi-code-type: "Bash";
}
.single .highlight.code-block .code-header.language-shell {
  --fi-code-type: "Bash";
}
.single .highlight.code-block .code-header.language-shell-session {
  --fi-code-type: "Bash Session";
}
.single .highlight.code-block .code-header.language-sieve {
  --fi-code-type: "Sieve";
}
.single .highlight.code-block .code-header.language-sls {
  --fi-code-type: "YAML+Jinja";
}
.single .highlight.code-block .code-header.language-smali {
  --fi-code-type: "Smali";
}
.single .highlight.code-block .code-header.language-smalltalk {
  --fi-code-type: "Smalltalk";
}
.single .highlight.code-block .code-header.language-smarty {
  --fi-code-type: "Smarty";
}
.single .highlight.code-block .code-header.language-sml {
  --fi-code-type: "Standard ML";
}
.single .highlight.code-block .code-header.language-snbt {
  --fi-code-type: "SNBT";
}
.single .highlight.code-block .code-header.language-snobol {
  --fi-code-type: "Snobol";
}
.single .highlight.code-block .code-header.language-sol {
  --fi-code-type: "Solidity";
}
.single .highlight.code-block .code-header.language-solidity {
  --fi-code-type: "Solidity";
}
.single .highlight.code-block .code-header.language-sp {
  --fi-code-type: "SourcePawn";
}
.single .highlight.code-block .code-header.language-spade {
  --fi-code-type: "Spade";
}
.single .highlight.code-block .code-header.language-sparql {
  --fi-code-type: "SPARQL";
}
.single .highlight.code-block .code-header.language-spec {
  --fi-code-type: "RPMSpec";
}
.single .highlight.code-block .code-header.language-spitfire {
  --fi-code-type: "Cheetah";
}
.single .highlight.code-block .code-header.language-splus {
  --fi-code-type: "R";
}
.single .highlight.code-block .code-header.language-sql {
  --fi-code-type: "SQL";
}
.single .highlight.code-block .code-header.language-sqlrpgle {
  --fi-code-type: "RPGLE";
}
.single .highlight.code-block .code-header.language-squeak {
  --fi-code-type: "Smalltalk";
}
.single .highlight.code-block .code-header.language-squid {
  --fi-code-type: "SquidConf";
}
.single .highlight.code-block .code-header.language-squid\.conf {
  --fi-code-type: "SquidConf";
}
.single .highlight.code-block .code-header.language-squidconf {
  --fi-code-type: "SquidConf";
}
.single .highlight.code-block .code-header.language-ssed {
  --fi-code-type: "Sed";
}
.single .highlight.code-block .code-header.language-st {
  --fi-code-type: "Smalltalk";
}
.single .highlight.code-block .code-header.language-starlark {
  --fi-code-type: "Python";
}
.single .highlight.code-block .code-header.language-stylus {
  --fi-code-type: "Stylus";
}
.single .highlight.code-block .code-header.language-sv {
  --fi-code-type: "Systemverilog";
}
.single .highlight.code-block .code-header.language-svelte {
  --fi-code-type: "Svelte";
}
.single .highlight.code-block .code-header.language-swift {
  --fi-code-type: "Swift";
}
.single .highlight.code-block .code-header.language-systemd {
  --fi-code-type: "SYSTEMD";
}
.single .highlight.code-block .code-header.language-systemverilog {
  --fi-code-type: "Systemverilog";
}
.single .highlight.code-block .code-header.language-t-sql {
  --fi-code-type: "Transact-SQL";
}
.single .highlight.code-block .code-header.language-tablegen {
  --fi-code-type: "TableGen";
}
.single .highlight.code-block .code-header.language-tal {
  --fi-code-type: "Tal";
}
.single .highlight.code-block .code-header.language-tape {
  --fi-code-type: "VHS";
}
.single .highlight.code-block .code-header.language-tasm {
  --fi-code-type: "TASM";
}
.single .highlight.code-block .code-header.language-tcl {
  --fi-code-type: "Tcl";
}
.single .highlight.code-block .code-header.language-tcsh {
  --fi-code-type: "Tcsh";
}
.single .highlight.code-block .code-header.language-termcap {
  --fi-code-type: "Termcap";
}
.single .highlight.code-block .code-header.language-terminfo {
  --fi-code-type: "Terminfo";
}
.single .highlight.code-block .code-header.language-terraform {
  --fi-code-type: "Terraform";
}
.single .highlight.code-block .code-header.language-tex {
  --fi-code-type: "TeX";
}
.single .highlight.code-block .code-header.language-text {
  --fi-code-type: "Plaintext";
}
.single .highlight.code-block .code-header.language-tf {
  --fi-code-type: "Terraform";
}
.single .highlight.code-block .code-header.language-thrift {
  --fi-code-type: "Thrift";
}
.single .highlight.code-block .code-header.language-toml {
  --fi-code-type: "TOML";
}
.single .highlight.code-block .code-header.language-tradingview {
  --fi-code-type: "TradingView";
}
.single .highlight.code-block .code-header.language-ts {
  --fi-code-type: "TypeScript";
}
.single .highlight.code-block .code-header.language-tsql {
  --fi-code-type: "Transact-SQL";
}
.single .highlight.code-block .code-header.language-tsx {
  --fi-code-type: "TypeScript";
}
.single .highlight.code-block .code-header.language-turing {
  --fi-code-type: "Turing";
}
.single .highlight.code-block .code-header.language-turtle {
  --fi-code-type: "Turtle";
}
.single .highlight.code-block .code-header.language-tv {
  --fi-code-type: "TradingView";
}
.single .highlight.code-block .code-header.language-twig {
  --fi-code-type: "Twig";
}
.single .highlight.code-block .code-header.language-txtpb {
  --fi-code-type: "Protocol Buffer Text Format";
}
.single .highlight.code-block .code-header.language-typescript {
  --fi-code-type: "TypeScript";
}
.single .highlight.code-block .code-header.language-typoscript {
  --fi-code-type: "TypoScript";
}
.single .highlight.code-block .code-header.language-typoscriptcssdata {
  --fi-code-type: "TypoScriptCssData";
}
.single .highlight.code-block .code-header.language-typoscripthtmldata {
  --fi-code-type: "TypoScriptHtmlData";
}
.single .highlight.code-block .code-header.language-typst {
  --fi-code-type: "Typst";
}
.single .highlight.code-block .code-header.language-udiff {
  --fi-code-type: "Diff";
}
.single .highlight.code-block .code-header.language-uxntal {
  --fi-code-type: "Tal";
}
.single .highlight.code-block .code-header.language-v {
  --fi-code-type: "V";
}
.single .highlight.code-block .code-header.language-vala {
  --fi-code-type: "Vala";
}
.single .highlight.code-block .code-header.language-vapi {
  --fi-code-type: "Vala";
}
.single .highlight.code-block .code-header.language-vb\.net {
  --fi-code-type: "VB.net";
}
.single .highlight.code-block .code-header.language-vbnet {
  --fi-code-type: "VB.net";
}
.single .highlight.code-block .code-header.language-verilog {
  --fi-code-type: "Verilog";
}
.single .highlight.code-block .code-header.language-vhdl {
  --fi-code-type: "VHDL";
}
.single .highlight.code-block .code-header.language-vhs {
  --fi-code-type: "VHS";
}
.single .highlight.code-block .code-header.language-vim {
  --fi-code-type: "VimL";
}
.single .highlight.code-block .code-header.language-vlang {
  --fi-code-type: "V";
}
.single .highlight.code-block .code-header.language-vsh {
  --fi-code-type: "V shell";
}
.single .highlight.code-block .code-header.language-vshell {
  --fi-code-type: "V shell";
}
.single .highlight.code-block .code-header.language-vtt {
  --fi-code-type: "WebVTT";
}
.single .highlight.code-block .code-header.language-vue {
  --fi-code-type: "Vue";
}
.single .highlight.code-block .code-header.language-vuejs {
  --fi-code-type: "Vue";
}
.single .highlight.code-block .code-header.language-wast {
  --fi-code-type: "WebAssembly Text Format";
}
.single .highlight.code-block .code-header.language-wat {
  --fi-code-type: "WebAssembly Text Format";
}
.single .highlight.code-block .code-header.language-wgsl {
  --fi-code-type: "WebGPU Shading Language";
}
.single .highlight.code-block .code-header.language-whiley {
  --fi-code-type: "Whiley";
}
.single .highlight.code-block .code-header.language-winbatch {
  --fi-code-type: "Batchfile";
}
.single .highlight.code-block .code-header.language-xml {
  --fi-code-type: "XML";
}
.single .highlight.code-block .code-header.language-xml\+genshi {
  --fi-code-type: "Genshi";
}
.single .highlight.code-block .code-header.language-xml\+kid {
  --fi-code-type: "Genshi";
}
.single .highlight.code-block .code-header.language-xorg\.conf {
  --fi-code-type: "Xorg";
}
.single .highlight.code-block .code-header.language-yaml {
  --fi-code-type: "YAML";
}
.single .highlight.code-block .code-header.language-yaml\+jinja {
  --fi-code-type: "YAML+Jinja";
}
.single .highlight.code-block .code-header.language-yang {
  --fi-code-type: "YANG";
}
.single .highlight.code-block .code-header.language-z80 {
  --fi-code-type: "Z80 Assembly";
}
.single .highlight.code-block .code-header.language-zed {
  --fi-code-type: "Zed";
}
.single .highlight.code-block .code-header.language-zig {
  --fi-code-type: "Zig";
}
.single .highlight.code-block .code-header.language-zone {
  --fi-code-type: "Dns";
}
.single .highlight.code-block .code-header.language-zsh {
  --fi-code-type: "Bash";
}
.single .highlight.code-block .code-header.language-µcad {
  --fi-code-type: "Microcad";
}
.single .highlight.code-block .code-header.language-markdown {
  --fi-code-type: "Markdown";
}
.single .highlight.code-block .code-header.language-yml {
  --fi-code-type: "YAML";
}
@media only print {
  .single .highlight.code-block .code-header {
    top: initial !important;
  }
}
.single .highlight.code-block.line-wrapping .line-wrap-btn, .single .highlight.code-block:not(.line-nos-hidden) .line-nos-btn,
.single .highlight.code-block .code-header button:hover, .single .highlight.code-block:has([contenteditable=true]) .edit-btn {
  color: var(--fi-global-link-hover-color);
}
.single .highlight.code-block.is-fullscreen {
  position: fixed;
  inset: 0;
  margin: 0 !important;
  overflow: auto;
  z-index: 201;
  border-radius: 0;
}
.single .highlight.code-block.is-fullscreen .code-header {
  top: 0 !important;
  cursor: default;
  border-radius: 0;
}
.single .highlight.code-block.is-fullscreen .code-header .arrow {
  display: none;
}
.single .highlight.code-block.is-fullscreen .code-wrapper {
  overflow: auto;
  height: calc(100dvh - 1.4em - 0.8rem);
}
.single .highlight.code-block.is-fullscreen .code-expand-btn {
  display: none;
}
.single .highlight.code-block .code-expand-btn {
  width: 100%;
  padding-block: 1rem;
  text-align: center;
  position: absolute;
  bottom: 0;
  background: linear-gradient(180deg, light-dark(rgba(243, 247, 251, 0), rgba(42, 51, 61, 0)) 0%, light-dark(rgba(243, 247, 251, 0.9), rgba(42, 51, 61, 0.9)) 60%, light-dark(#f3f7fb, #2a333d) 100%);
  z-index: 1;
  border-radius: 0 0 var(--fi-global-border-radius) var(--fi-global-border-radius);
}
.single .highlight.code-block .code-expand-btn .fa-angles-down {
  opacity: 0;
  animation-name: fadeOutDown;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-delay: 0.3s;
  transition: transform 0.2s ease;
}
.single .highlight.code-block .copy-icon-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}
.single .highlight.code-block.is-collapsed .code-header {
  transition: border-radius 0.2s ease 0.2s;
  border-radius: var(--fi-global-border-radius);
  --fi-code-header-background-color: light-dark(rgb(217.532, 227.45, 237.368), rgb(20.1903225806, 28.45, 36.7096774194));
}
.single .highlight.code-block.is-collapsed .code-header + .code-wrapper {
  height: 0;
}
.single .highlight.code-block.is-collapsed .arrow {
  transform: rotate(-90deg);
}
.single .highlight.code-block.is-collapsed .ellipses-btn {
  display: inline;
}
.single .highlight.code-block.is-collapsed .code-header .action-btn,
.single .highlight.code-block.is-collapsed .code-expand-btn {
  display: none;
}
.single .highlight.code-block.is-expanded {
  margin-bottom: 1rem;
}
.single .highlight.code-block.is-expanded:has([contenteditable=true]) .code-expand-btn {
  display: none;
}
.single .highlight.code-block.is-expanded .code-expand-btn {
  background: transparent;
  padding-block: 0;
  transform: translateY(1rem);
}
.single .highlight.code-block.is-expanded .code-expand-btn .fa-angles-down {
  animation-name: fadeOutRotate;
}
@keyframes fadeOutRotate {
  0% {
    opacity: 1;
    transform: rotate(180deg);
  }
  100% {
    opacity: 0;
    transform: rotate(180deg) translate3d(0, 100%, 0);
  }
}
.single .highlight.code-block.line-nos-hidden > .chroma .lntable {
  width: 100%;
  overscroll-behavior-x: contain;
}
.single .highlight.code-block.line-nos-hidden > .chroma .lntable > tbody {
  display: table;
  width: 100%;
}
.single .highlight.code-block.line-nos-hidden > .chroma .lntable .lntd:last-child {
  width: 100%;
}
.single .highlight.code-block.line-nos-hidden .lntd:first-child,
.single .highlight.code-block.line-nos-hidden .ln {
  display: none;
}
.single .highlight.code-block.line-wrapping > .chroma .lntable {
  width: 100%;
  display: table;
}
.single .highlight.code-block.line-wrapping > .chroma .lntable .lntd:first-child {
  display: none;
}
.single .highlight.code-block.line-wrapping .lntd:last-child pre.chroma,
.single .highlight.code-block.line-wrapping .code-wrapper > pre.chroma {
  max-width: 100%;
  box-sizing: border-box;
}
.single .highlight.code-block.line-wrapping .lntd:last-child pre.chroma code,
.single .highlight.code-block.line-wrapping .code-wrapper > pre.chroma code {
  text-wrap: wrap;
  word-break: break-all;
  overflow-wrap: break-word;
}
.single .highlight.code-block.line-wrapping:not(.line-nos-hidden) .lntd:last-child pre.chroma > code > .line, .single .highlight.code-block:not(.line-nos-hidden) .code-wrapper > pre.chroma:not(:has(.ln)) > code > .line {
  display: flex;
}
.single .highlight.code-block.line-wrapping:not(.line-nos-hidden) .lntd:last-child pre.chroma > code > .line::before, .single .highlight.code-block:not(.line-nos-hidden) .code-wrapper > pre.chroma:not(:has(.ln)) > code > .line::before {
  counter-increment: codeNos;
  content: counter(codeNos);
  white-space: nowrap;
  text-align: right;
  width: calc(var(--fi-line-digit) * 1ch);
  min-width: 0.75rem;
  padding-inline: 0.75rem;
  flex-shrink: 0;
  color: var(--fi-global-font-secondary-color);
  background-color: var(--fi-code-block-background-color);
}
.single .highlight.code-block.line-wrapping:not(.line-nos-hidden) .lntd:last-child pre.chroma > code > .line.hl::before, .single .highlight.code-block:not(.line-nos-hidden) .code-wrapper > pre.chroma:not(:has(.ln)) > code > .line.hl::before {
  background-color: transparent;
}
.single .highlight.code-block:not(.line-nos-hidden) .code-wrapper > pre.chroma > code > .line::before {
  position: sticky;
  left: 0;
}
.single .highlight.code-block:not(.line-nos-hidden) .lntd:last-child pre.chroma:not([contenteditable=true]),
.single .highlight.code-block:not(.line-nos-hidden) .code-wrapper > pre.chroma:not(:has(.ln)) {
  padding-left: 0;
}
.single .highlight.code-block:not([data-mode=classic]) {
  border: 1px solid var(--fi-global-border-color-light);
}
.single .highlight.code-block[data-mode=mac] pre.chroma {
  padding-top: 1.875rem;
}
.single .highlight.code-block[data-mode=mac] pre.chroma::after {
  background: var(--fi-mac-red, #fc625d);
  box-shadow: 20px 0 var(--fi-mac-yellow, #fdbc40), 40px 0 var(--fi-mac-green, #35cd4b);
  left: 8px;
  top: 8px;
  position: absolute;
  content: " ";
  height: 12px;
  width: 12px;
  border-radius: calc(infinity * 1px);
}
[data-theme-mode=dark] .single .highlight.code-block[data-mode=mac] pre.chroma::after {
  --fi-mac-red: #ff5f56;
  --fi-mac-yellow: #febc2e;
  --fi-mac-green: #28c840;
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .single .highlight.code-block[data-mode=mac] pre.chroma::after {
    --fi-mac-red: #ff5f56;
    --fi-mac-yellow: #febc2e;
    --fi-mac-green: #28c840;
  }
}
.single .highlight.code-block[data-mode=simple] pre.chroma {
  padding-block: 0.875rem;
}
.single .code-tabs {
  margin: 0.5rem 0;
  background-color: var(--fi-code-block-background-color);
  border: 1px solid var(--fi-global-border-color-light);
  border-radius: var(--fi-global-border-radius);
}
.single .code-tabs[data-shadow=always] {
  box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.06), 0 5px 12px 4px rgba(0, 0, 0, 0.04);
}
.single .code-tabs[data-shadow=hover] {
  transition: box-shadow 0.3s var(--fi-bezier);
}
.single .code-tabs[data-shadow=hover]:hover {
  box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.06), 0 5px 12px 4px rgba(0, 0, 0, 0.04);
}
.single .code-tabs:has(.code-block.active .code-expand-btn) {
  margin-bottom: 1rem;
}
.single .code-tabs:has(.code-block.active.line-wrapping) .tabs-actions .line-wrap-btn, .single .code-tabs:has(.code-block.active:not(.line-nos-hidden)) .tabs-actions .line-nos-btn, .single .code-tabs:has(.code-block.active [contenteditable=true]) .tabs-actions .edit-btn {
  color: var(--fi-global-link-hover-color);
}
.single .code-tabs .tabs-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1.4em;
  font-size: var(--fi-code-block-font-size);
  color: var(--fi-code-header-color);
  background-color: var(--fi-code-header-background-color);
  position: sticky;
  border-bottom: 1px solid var(--fi-global-border-color);
  z-index: 2;
  border-radius: var(--fi-global-border-radius) var(--fi-global-border-radius) 0 0;
  top: var(--fi-breadcrumb-height, 0px);
}
@media only screen and (min-width: 681px) {
  [data-header-desktop=sticky] .single .code-tabs .tabs-header, [data-header-desktop=auto] .single .code-tabs .tabs-header {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
  [data-header-desktop=auto]:has(#header-desktop.header__fadeOutUp) .single .code-tabs .tabs-header {
    top: var(--fi-breadcrumb-height, 0px);
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] .single .code-tabs .tabs-header, [data-header-mobile=auto] .single .code-tabs .tabs-header {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
  [data-header-mobile=auto]:has(#header-mobile.header__fadeOutUp) .single .code-tabs .tabs-header {
    top: var(--fi-breadcrumb-height, 0px);
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] .single .code-tabs .tabs-header {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
}
.single .code-tabs .tabs-header {
  transition: top 0.5s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .single .code-tabs .tabs-header {
    transition: none;
  }
}
.single .code-tabs .tabs-header .tabs-items {
  display: flex;
  overflow-x: auto;
  position: relative;
  border-radius: var(--fi-global-border-radius) var(--fi-global-border-radius) 0 0;
}
.single .code-tabs .tabs-header .tabs-items .before-tabs {
  padding: 0.4rem 0.6rem;
  white-space: nowrap;
  color: var(--fi-global-font-color);
}
.single .code-tabs .tabs-header .tabs-items .tab-item {
  padding: 0.4rem 0.8rem;
  cursor: pointer;
  font-weight: bold;
  color: var(--fi-global-font-secondary-color);
  white-space: nowrap;
  user-select: none;
  position: relative;
  border-radius: var(--fi-global-border-radius);
}
.single .code-tabs .tabs-header .tabs-items .tab-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  width: 1px;
  height: var(--fi-code-block-font-size);
  background-color: var(--fi-global-border-color-weight);
}
.single .code-tabs .tabs-header .tabs-items .tab-item.active::after, .single .code-tabs .tabs-header .tabs-items .tab-item:has(+ .tab-item.active)::after {
  background-color: var(--fi-global-border-color);
}
@media only screen and (max-width: 680px) {
  .single .code-tabs .tabs-header .tabs-items .tab-item {
    padding-inline: 0.6rem;
  }
}
.single .code-tabs .tabs-header .tabs-items:not(:has(.tab-item:hover)) .tab-item.active,
.single .code-tabs .tabs-header .tabs-items .tab-item:hover {
  anchor-name: --fi-tab-hover;
  color: var(--fi-global-font-color);
}
.single .code-tabs .tabs-header .tabs-items::before {
  content: "";
  position-anchor: --fi-tab-hover;
  position: absolute;
  inset: anchor(inside);
  translate: 2px 2px;
  width: calc(anchor-size(width) - 0.25rem);
  height: calc(anchor-size(height) - 0.25rem);
  box-shadow: inset 0 0 1rem 0.25rem light-dark(#fff, rgb(from var(--fi-global-font-secondary-color) r g b / 0.4));
  pointer-events: none;
  transition: 0.3s ease-in-out;
  border-radius: var(--fi-global-border-radius);
}
.single .code-tabs .tabs-header .tabs-actions {
  display: flex;
  flex-shrink: 0;
}
.single .code-tabs .tabs-header .tabs-actions .action-btn {
  padding: 0.4rem;
}
.single .code-tabs .tabs-header .tabs-actions .action-btn:hover {
  color: var(--fi-global-link-hover-color);
}
.single .code-tabs .tabs-header .tabs-actions .action-btn.copy-btn[data-copied] .fa-clone {
  --fa: "\f00c";
  font-weight: 900;
  color: var(--fi-global-link-hover-color);
}
.single .code-tabs .tabs-header .tabs-actions .action-btn.download-btn[data-downloaded] .fa-download {
  --fa: "\f1ce";
  font-weight: 900;
  color: var(--fi-global-link-hover-color);
}
@media only print {
  .single .code-tabs .tabs-header {
    top: initial !important;
  }
}
.single .code-tabs .tabs-content .code-block {
  display: none;
  margin: 0;
  border-radius: 0 0 var(--fi-global-border-radius) var(--fi-global-border-radius);
  box-shadow: none;
}
.single .code-tabs .tabs-content .code-block.active {
  display: block;
}
.single .code-tabs .tabs-content .code-block .code-header {
  display: none;
}
.single .code-tabs.is-fullscreen {
  position: fixed;
  inset: 0;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 201;
  border-radius: 0;
}
.single .code-tabs.is-fullscreen .tabs-header {
  top: 0 !important;
  border-radius: 0;
}
.single .code-tabs.is-fullscreen .tabs-content {
  flex: 1;
  min-height: 0;
}
.single .code-tabs.is-fullscreen .tabs-content .code-block.active {
  height: 100%;
}
.single .code-tabs.is-fullscreen .tabs-content .code-wrapper {
  overflow: auto;
  height: calc(100dvh - 1.4em - 0.8rem);
}
.single .code-tabs.is-fullscreen .code-expand-btn {
  display: none;
}
.single .instant-height .code-wrapper {
  transition: height 0s !important;
}

.single .collection-card {
  font-size: 0.875rem;
  margin-block: 1rem;
  padding: 1rem 1.25rem;
  position: relative;
  user-select: none;
  background-color: light-dark(rgb(244.8, 244.8, 244.8), rgb(39.3210526316, 46.9315789474, 57.0789473684));
  border-radius: 0.5rem;
}
.single .collection-card:has(.collection-nav-item:nth-child(2))::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.75rem;
  width: 1px;
  height: 2rem;
  background: linear-gradient(to bottom, light-dark(rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.05)), light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08)) 50%, light-dark(rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.05)) 100%);
}
.single .collection-card .collection-title a,
.single .collection-card .collection-title a::before,
.single .collection-card .collection-title a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #1781b5);
}
.single .collection-card .collection-title a:active,
.single .collection-card .collection-title a:hover {
  color: light-dark(#ea517f, #cc5595);
}
.single .collection-card .collection-nav {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.single .collection-card .collection-nav:not(:empty) {
  margin-top: 0.5rem;
}
.single .collection-card .collection-nav .collection-nav-item {
  flex-grow: 1;
  max-width: calc(50% - 0.5rem);
  font-weight: 500;
  display: flex;
  align-items: center;
  transition: all 0.3s ease-out;
}
.single .collection-card .collection-nav .collection-nav-item:only-child {
  max-width: 100%;
}
.single .collection-card .collection-nav .collection-nav-item i {
  flex-shrink: 0;
}
.single .collection-card .collection-nav .collection-nav-item span {
  flex-grow: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.single .collection-card .collection-nav .collection-nav-item[rel=next] {
  text-align: right;
}
.single .collection-card .collection-nav .collection-nav-item[rel=prev]:hover {
  transform: translateX(-4px);
}
.single .collection-card .collection-nav .collection-nav-item[rel=next]:hover {
  transform: translateX(4px);
}
@media only print {
  .single .collection-card {
    display: none !important;
  }
}

.aside-collection {
  position: sticky;
  box-sizing: border-box;
  margin-bottom: 8rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  top: var(--fi-breadcrumb-height, 0px);
}
@media only screen and (min-width: 681px) {
  [data-header-desktop=sticky] .aside-collection, [data-header-desktop=auto] .aside-collection {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
  [data-header-desktop=auto]:has(#header-desktop.header__fadeOutUp) .aside-collection {
    top: var(--fi-breadcrumb-height, 0px);
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] .aside-collection, [data-header-mobile=auto] .aside-collection {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
  [data-header-mobile=auto]:has(#header-mobile.header__fadeOutUp) .aside-collection {
    top: var(--fi-breadcrumb-height, 0px);
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] .aside-collection {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
}
.aside-collection {
  transition: top 0.5s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .aside-collection {
    transition: none;
  }
}
@media only print {
  .aside-collection {
    display: none !important;
  }
}

.collection-details:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.collection-details.open .collection-summary {
  background-color: light-dark(rgb(242.25, 242.25, 242.25), rgb(41.4013157895, 49.4144736842, 60.0986842105));
}
.collection-details .collection-summary {
  display: flex;
  align-items: baseline;
  gap: 0.25em;
  padding: 0.2em 0.5em;
  user-select: none;
  background-color: light-dark(rgb(242.25, 242.25, 242.25), rgb(41.4013157895, 49.4144736842, 60.0986842105));
}
.collection-details .collection-summary > i.fa-layer-group {
  flex-shrink: 0;
}
.collection-details .collection-summary .collection-name {
  flex-grow: 1;
  font-weight: bold;
  font-size: var(--fi-collection-title-font-size);
}
.collection-details .collection-summary .collection-name::before {
  content: attr(title) "・";
}
.collection-details .collection-summary .collection-count {
  flex-shrink: 0;
  color: var(--fi-global-font-secondary-color);
}
.collection-details .collection-summary .details-icon {
  flex-shrink: 0;
}
.collection-details .collection-content {
  font-size: var(--fi-collection-list-font-size);
  background-color: light-dark(rgb(247.35, 247.35, 247.35), rgb(37.2407894737, 44.4486842105, 54.0592105263));
}
.collection-details .collection-content .collection-list {
  margin: 0;
  padding-inline: 1.6em 0.8em;
  padding-block: 0.4em;
  text-indent: -0.8em;
  list-style: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  max-height: 60vh;
  --fi-scrollbar-width: none;
  --fi-scrollbar-width-legacy: 0;
}
.collection-details .collection-content .collection-list .collection-item > a::before,
.collection-details .collection-content .collection-list .collection-item > span::before {
  content: "|";
  font-weight: 600;
  margin-right: 0.5em;
  position: relative;
  bottom: 2px;
  color: var(--fi-single-link-color);
}
.collection-details .collection-content .collection-list .collection-item > .active {
  font-weight: bold;
  color: var(--fi-single-link-color);
}
.collection-details .collection-content .collection-list .collection-item > .active::before {
  color: var(--fi-single-link-hover-color);
}
.collection-details .collection-content .collection-nav-simple {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  background-color: light-dark(rgb(242.25, 242.25, 242.25), rgb(41.4013157895, 49.4144736842, 60.0986842105));
}
.collection-details .collection-content .collection-nav-simple a.collection-nav-item {
  padding-inline: 2px;
  border-radius: calc(infinity * 1px);
  transition: background-color 0.3s ease-out;
}
.collection-details .collection-content .collection-nav-simple a.collection-nav-item:hover {
  background-color: light-dark(rgb(229.5, 229.5, 229.5), rgb(51.8026315789, 61.8289473684, 75.1973684211));
}
.collection-details .collection-content .collection-nav-simple > i.collection-nav-item {
  padding: 4px 2px;
  cursor: not-allowed;
}

.fixit-decryptor-container {
  font-family: var(--fi-global-font-family);
  text-align: center;
  margin-block: var(--fi-decryptor-margin-block);
}
.fixit-decryptor-container .fixit-decryptor-loading {
  vertical-align: middle;
}
.fixit-decryptor-container .fixit-decryptor-input,
.fixit-decryptor-container .fixit-decryptor-btn,
.fixit-decryptor-container .fixit-encryptor-btn {
  display: none;
  box-sizing: border-box;
  outline: none;
  color: var(--fi-global-font-color);
  border: 1px solid var(--fi-global-border-color);
  box-shadow: 0px 0px 5px 0px var(--fi-global-border-color);
  border-radius: var(--fi-global-border-radius);
  transition: all 0.1s ease-out;
}
.fixit-decryptor-container .fixit-decryptor-input:active, .fixit-decryptor-container .fixit-decryptor-input:focus, .fixit-decryptor-container .fixit-decryptor-input:hover,
.fixit-decryptor-container .fixit-decryptor-btn:active,
.fixit-decryptor-container .fixit-decryptor-btn:focus,
.fixit-decryptor-container .fixit-decryptor-btn:hover,
.fixit-decryptor-container .fixit-encryptor-btn:active,
.fixit-decryptor-container .fixit-encryptor-btn:focus,
.fixit-decryptor-container .fixit-encryptor-btn:hover {
  color: light-dark(rgb(35.4973684211, 113.4184210526, 161.9026315789), hsl(0, 0%, 106%));
  border-color: var(--fi-global-link-hover-color);
  box-shadow: 0px 0px 5px 0px light-dark(rgb(107.3684210526, 178.4210526316, 222.6315789474), #cccccc);
}
.fixit-decryptor-container .fixit-decryptor-input {
  width: calc(clamp(50%, 450px, 100%) - 100px);
  height: 3rem;
  padding-left: 1rem;
  padding-right: 1rem;
  background-color: var(--fi-global-background-color);
}
.fixit-decryptor-container .fixit-decryptor-btn,
.fixit-decryptor-container .fixit-encryptor-btn {
  cursor: pointer;
  padding: 0.8rem 1rem;
  background-color: var(--fi-global-background-color);
  transition: all 0.1s ease-out;
}
.fixit-decryptor-container .fixit-encryptor-btn {
  display: none;
}

fixit-encryptor.initialized > .fixit-decryptor-container .fixit-decryptor-input,
fixit-encryptor.initialized > .fixit-decryptor-container .fixit-decryptor-btn {
  display: inline-block;
}
fixit-encryptor.initialized > .fixit-decryptor-container .fixit-decryptor-loading {
  display: none;
}
fixit-encryptor cipher-text {
  display: none !important;
}

article fixit-encryptor .fixit-decryptor-container {
  --fi-decryptor-margin-block: 2rem;
}
article fixit-encryptor.decrypted > .fixit-decryptor-container .fixit-decryptor-loading,
article fixit-encryptor.decrypted > .fixit-decryptor-container .fixit-decryptor-input,
article fixit-encryptor.decrypted > .fixit-decryptor-container .fixit-decryptor-btn {
  display: none;
}
article fixit-encryptor.decrypted > .fixit-decryptor-container .fixit-encryptor-btn {
  display: inline-block;
}

#content fixit-encryptor .fixit-decryptor-container {
  --fi-decryptor-margin-block: 1rem;
}
#content fixit-encryptor.decrypted > .fixit-decryptor-container {
  display: none;
}

.encrypted-hidden {
  display: none !important;
}

.single .post-footer {
  margin: 2rem 0;
}
.single .post-footer ~ .post-reward {
  margin-block: -2rem 0;
}
.single .post-footer .post-info {
  border-bottom: 1px solid var(--fi-global-border-color);
  padding: 0.3rem 0;
}
.single .post-footer .post-info .post-info-line {
  display: flex;
  justify-content: space-between;
}
.single .post-footer .post-info .post-info-line .post-info-mod {
  font-size: 0.8em;
  color: var(--fi-global-font-secondary-color);
}
.single .post-footer .post-info .post-info-line .post-info-mod a,
.single .post-footer .post-info .post-info-line .post-info-mod a::before,
.single .post-footer .post-info .post-info-line .post-info-mod a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #1781b5);
}
.single .post-footer .post-info .post-info-line .post-info-mod a:active,
.single .post-footer .post-info .post-info-line .post-info-mod a:hover {
  color: light-dark(#ea517f, #cc5595);
}
.single .post-footer .post-info .post-info-line .post-info-license {
  font-size: 0.8em;
  color: var(--fi-global-font-secondary-color);
}
.single .post-footer .post-info .post-info-line .post-info-license a,
.single .post-footer .post-info .post-info-line .post-info-license a::before,
.single .post-footer .post-info .post-info-line .post-info-license a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #1781b5);
}
.single .post-footer .post-info .post-info-line .post-info-license a:active,
.single .post-footer .post-info .post-info-line .post-info-license a:hover {
  color: light-dark(#ea517f, #cc5595);
}
.single .post-footer .post-info .post-info-line .post-info-md {
  font-size: 0.8rem;
  width: fit-content;
}
.single .post-footer .post-info .post-info-line .post-info-md a,
.single .post-footer .post-info .post-info-line .post-info-md a::before,
.single .post-footer .post-info .post-info-line .post-info-md a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #1781b5);
}
.single .post-footer .post-info .post-info-line .post-info-md a:active,
.single .post-footer .post-info .post-info-line .post-info-md a:hover {
  color: light-dark(#ea517f, #cc5595);
}
.single .post-footer .post-info .post-info-line .post-info-md > span:not(:first-child)::before {
  content: "|";
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  color: var(--fi-global-font-secondary-color);
}
.single .post-footer .post-info .post-info-line .post-info-share a * {
  vertical-align: text-bottom;
}
@media only print {
  .single .post-footer .post-info .post-info-line .post-info-share {
    display: none !important;
  }
}
.single .post-footer .post-info-more {
  padding: 0.3rem 0;
  display: flex;
  justify-content: space-between;
  font-size: 0.9rem;
}
@media only print {
  .single .post-footer .post-info-more section:last-child {
    display: none !important;
  }
}
.single .post-footer .post-tags {
  max-width: 65%;
}
.single .post-footer .post-tags * {
  display: inline;
}
.single .post-footer .post-tags a,
.single .post-footer .post-tags a::before,
.single .post-footer .post-tags a::after {
  text-decoration: none;
  color: light-dark(#161209, #b3bdcb);
}
.single .post-footer .post-tags a:active,
.single .post-footer .post-tags a:hover {
  color: light-dark(#2983bb, #fff);
}
.single .post-footer .post-tags .post-tag:not(:last-child)::after {
  content: ",";
  margin-right: 0.25rem;
}
.single .post-footer .post-nav {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  padding-block: 0.5rem;
}
.single .post-footer .post-nav .post-nav-item {
  flex: 1;
  font-size: 1rem;
  font-weight: 600;
  transition: all 0.3s ease-out;
}
.single .post-footer .post-nav .post-nav-item[rel=next] {
  text-align: right;
}
.single .post-footer .post-nav .post-nav-item[rel=prev]:hover {
  transform: translateX(-4px);
}
.single .post-footer .post-nav .post-nav-item[rel=next]:hover {
  transform: translateX(4px);
}
@media only print {
  .single .post-footer .post-nav {
    display: none !important;
  }
}

.related-details:not(:first-of-type)::before {
  content: "";
  display: block;
  border: 0;
  padding-top: 1px;
  background: var(--fi-divider-edge-weak);
  margin-block: 1rem 0.5rem;
}
.related-details:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.related-details .related-summary {
  display: flex;
  align-items: baseline;
  gap: 0.25em;
  padding: 0.2em 0.5em;
  user-select: none;
}
.related-details .related-summary > i.fa-layer-group {
  flex-shrink: 0;
}
.related-details .related-summary .related-title {
  font-weight: bold;
  font-size: var(--fi-related-title-font-size);
}
.related-details .related-summary .related-count {
  flex-shrink: 0;
  color: var(--fi-global-font-secondary-color);
}
.related-details .related-summary .details-icon {
  flex-shrink: 0;
}
.related-details .related-content {
  font-size: var(--fi-related-list-font-size);
}
.related-details .related-content .related-list {
  margin: 0;
  padding-inline: 1.6em 0.8em;
  padding-block: 0.4em;
  text-indent: -0.8em;
  list-style: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  max-height: 60vh;
  --fi-scrollbar-width: none;
  --fi-scrollbar-width-legacy: 0;
}
.related-details .related-content .related-list .related-item > a::before,
.related-details .related-content .related-list .related-item > span::before {
  content: "|";
  font-weight: 600;
  margin-right: 0.5em;
  position: relative;
  bottom: 2px;
  color: var(--fi-single-link-color);
}

.single .post-reward {
  padding: 1rem;
  text-align: center;
}
.single .post-reward:has(.reward-ways:empty) {
  display: none;
}
.single .post-reward .comment {
  margin: 0.5rem 0;
  font-weight: 500;
}
.single .post-reward .reward-ways {
  display: none;
}
.single .post-reward .reward-input:checked ~ .reward-ways {
  display: block;
  padding-top: 20px;
}
.single .post-reward .reward-input:checked ~ .reward-ways div {
  display: inline-block;
  user-select: none;
}
.single .post-reward .reward-input:checked ~ .reward-ways div span {
  display: block;
}
.single .post-reward .reward-input:checked ~ .reward-ways div:hover span[data-animation] {
  animation: var(--fi-animation-reward, "jackInTheBox") 0.8s infinite linear;
  pointer-events: none;
}
.single .post-reward .reward-input:checked ~ .reward-ways div img {
  display: inline-block;
  margin: 0.8em 2em 0;
  max-width: 100%;
  width: var(--fi-reward-img-width);
}
.single .post-reward .reward-input:checked ~ .reward-ways[data-mode=fixed] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 1rem;
  background-color: var(--fi-global-background-color);
  z-index: 200;
  border-radius: var(--fi-global-border-radius);
  box-shadow: 0 0 1.5rem 0 light-dark(rgba(0, 0, 0, 0.2), rgba(255, 255, 255, 0.2));
}
.single .post-reward .reward-button {
  display: inline-block;
  box-sizing: border-box;
  cursor: pointer;
  outline: none;
  color: var(--fi-reward-color, rgb(255, 120.6195652174, 96.5));
  border: 2px solid light-dark(rgb(255, 142.2391304348, 122), rgb(255, 120.6195652174, 96.5));
  padding: 0.6rem 1rem;
  background-color: var(--fi-global-background-color);
  vertical-align: text-top;
  line-height: 1rem;
  transition: all 0.3s ease-out;
  border-radius: var(--fi-global-border-radius);
}
.single .post-reward .reward-button:active, .single .post-reward .reward-button:hover {
  color: #ffffff;
  border-color: var(--fi-reward-color);
  background-color: var(--fi-reward-color);
}
@media only print {
  .single .post-reward {
    display: none !important;
  }
}

.toc .toc-title {
  font-size: var(--fi-toc-title-font-size);
  font-weight: bold;
  text-transform: uppercase;
}
.toc .toc-content {
  font-size: var(--fi-toc-content-font-size);
}
.toc .toc-content code {
  padding: 0.2em 0.4em;
  margin: 0;
  font-size: var(--fi-code-font-size);
  line-height: var(--fi-code-font-size);
  font-family: var(--fi-code-font-family);
  color: var(--fi-code-color);
  background-color: var(--fi-code-inline-background-color);
  text-decoration: inherit;
  border-radius: var(--fi-global-border-radius);
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.toc .toc-content ul {
  margin: 0;
  text-indent: -0.8em;
  padding-left: 0.8em;
  list-style: none;
}
.toc .toc-content ul a:first-child::before {
  content: "|";
  font-weight: bolder;
  margin-right: 0.5em;
  position: relative;
  bottom: 2px;
  color: var(--fi-single-link-color);
}
.toc .toc-content ul ul {
  padding-left: 1em;
}
.toc .toc-content ol {
  margin: 0;
  padding-left: 2.25em;
}
.toc .toc-content ol ol {
  padding-left: 1.25em;
}
.toc .toc-content ol li:has(> a:hover)::marker {
  color: var(--fi-single-link-color);
}
.toc ruby {
  background-color: var(--fi-code-block-background-color);
}
.toc ruby rt {
  color: var(--fi-global-font-secondary-color);
}

#toc-auto .toc-content li.has-active::marker,
#toc-dialog .toc-content li.has-active::marker {
  color: var(--fi-single-link-color);
}
#toc-auto .toc-content li.has-active:has(> .active)::marker,
#toc-dialog .toc-content li.has-active:has(> .active)::marker {
  font-weight: bold;
}
#toc-auto .toc-content li.has-active > a,
#toc-dialog .toc-content li.has-active > a {
  color: var(--fi-single-link-color);
}
#toc-auto .toc-content ul a.active::before,
#toc-dialog .toc-content ul a.active::before {
  color: var(--fi-single-link-hover-color);
}
#toc-auto .toc-content a.active,
#toc-dialog .toc-content a.active {
  font-weight: bold;
}

#toc-auto {
  display: block;
  position: sticky;
  box-sizing: border-box;
  visibility: hidden;
  margin-bottom: 8rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  top: var(--fi-breadcrumb-height, 0px);
}
@media only screen and (min-width: 681px) {
  [data-header-desktop=sticky] #toc-auto, [data-header-desktop=auto] #toc-auto {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
  [data-header-desktop=auto]:has(#header-desktop.header__fadeOutUp) #toc-auto {
    top: var(--fi-breadcrumb-height, 0px);
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] #toc-auto, [data-header-mobile=auto] #toc-auto {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
  [data-header-mobile=auto]:has(#header-mobile.header__fadeOutUp) #toc-auto {
    top: var(--fi-breadcrumb-height, 0px);
  }
}
@media only screen and (max-width: 680px) {
  [data-header-mobile=sticky] #toc-auto {
    top: calc(var(--fi-header-height) + var(--fi-breadcrumb-height, 0px));
  }
}
#toc-auto {
  transition: top 0.5s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  #toc-auto {
    transition: none;
  }
}
#toc-auto .toc-title {
  margin-block: 0 0.5em;
  cursor: pointer;
  user-select: none;
}
#toc-auto .toc-title::before {
  content: "|";
  font-weight: bolder;
  margin-right: 0.5em;
  position: relative;
  bottom: 2px;
  color: var(--fi-global-border-color);
}
#toc-auto .toc-title i.toc-icon {
  transition: transform 0.2s ease;
}
#toc-auto.toc-hidden i.toc-icon {
  transform: rotate(-90deg);
  transition: transform 0.2s ease;
}
#toc-auto .toc-content {
  overflow-y: auto;
  overscroll-behavior: contain;
  max-height: var(--fi-toc-content-max-height, 90dvh);
  --fi-scrollbar-width: none;
  --fi-scrollbar-width-legacy: 0;
}
#toc-auto .toc-content.always-active ul, #toc-auto .toc-content.always-active ol {
  display: block;
}
#toc-auto .toc-content ul ul {
  display: none;
}
#toc-auto .toc-content ul .has-active > ul {
  display: block;
}
#toc-auto .toc-content ol ol {
  display: none;
}
#toc-auto .toc-content ol .has-active > ol {
  display: block;
}
@media only print {
  #toc-auto {
    display: none !important;
  }
}

#toc-static {
  display: none;
  margin: 0.8em 0;
}
#toc-static[data-kept=true] {
  display: block;
}
#toc-static .toc-title {
  display: flex;
  justify-content: space-between;
  line-height: 2em;
  padding: 0 0.75em;
  background-color: var(--fi-code-header-background-color);
}
#toc-static .toc-content {
  background-color: var(--fi-code-block-background-color);
}
#toc-static .toc-content > nav > ul {
  padding: 0.4em 1em 0.4em 1.8em;
}
#toc-static .toc-content > nav > ul a:hover {
  font-weight: bold;
}
#toc-static .toc-content > nav > ul a:hover::before {
  color: var(--fi-single-link-hover-color);
}
#toc-static .toc-content > nav > ol {
  padding: 0.4em 1em 0.4em 2.25em;
}
#toc-static .toc-content > nav > ol li:has(> a:hover)::marker,
#toc-static .toc-content > nav > ol a:hover {
  font-weight: bold;
}
#toc-static:not(.open) .toc-title {
  --fi-code-header-background-color: light-dark(rgb(217.532, 227.45, 237.368), rgb(20.1903225806, 28.45, 36.7096774194));
}
@media only screen and (max-width: 960px) {
  #toc-static {
    display: block;
  }
}

#toc-dialog {
  opacity: 0;
  translate: 100vw 0;
  width: min(100% - 4rem, 460px);
  height: 100dvh;
  max-width: 100%;
  max-height: 100%;
  margin-right: 0;
  border: none;
  border-left: 1px solid var(--fi-global-border-color-light);
  background-color: var(--fi-global-background-color);
  transition: display 0.2s allow-discrete, overlay 0.2s allow-discrete, translate 0.2s, opacity 0.2s 0.4s;
}
#toc-dialog .toc-close-btn {
  position: absolute;
  top: 1.25rem;
  right: 1rem;
  padding: 0.25rem;
  color: var(--fi-global-font-secondary-color);
  transition: color 0.2s ease;
  border-radius: var(--fi-global-border-radius);
}
#toc-dialog .toc-close-btn:hover, #toc-dialog .toc-close-btn:focus-visible {
  color: var(--fi-global-font-color);
}
#toc-dialog .toc {
  max-width: 100%;
  margin-inline: 1rem;
}
#toc-dialog .toc .toc-title {
  font-size: calc(var(--fi-toc-title-font-size) * 1.5);
  line-height: calc(var(--fi-toc-title-font-size) * 2);
  margin-block: var(--fi-toc-title-font-size);
}
#toc-dialog .toc .toc-content {
  font-size: max(var(--fi-toc-content-font-size), 1rem);
}
#toc-dialog .toc .toc-content nav {
  max-height: calc(100dvh - 5rem);
  overflow: auto;
}
#toc-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete, opacity 0.2s 0.4s;
}
#toc-dialog[open], #toc-dialog[open]::backdrop {
  opacity: 1;
  transition: display 0.2s allow-discrete, overlay 0.2s allow-discrete, translate 0.2s, opacity 0.2s;
}
#toc-dialog[open] {
  translate: 0 0;
}
@starting-style {
  #toc-dialog[open], #toc-dialog[open]::backdrop {
    opacity: 0;
  }
  #toc-dialog[open] {
    translate: 100vw 0;
  }
}

.special .single-title,
.special .single-subtitle {
  text-align: right;
}

.special.friends .friend-links {
  margin-top: 1rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media only screen and (max-width: 680px) {
  .special.friends .friend-links {
    justify-content: space-around;
  }
}
.special.friends .friend-link {
  width: 150px;
  height: 200px;
  font-size: 1rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.3);
  box-sizing: border-box;
  box-shadow: 3px 3px 5px #aaa;
  border: none;
  transition-duration: 0.3s;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: var(--fi-global-border-radius);
}
.special.friends .friend-link:hover {
  background: #fff;
  box-shadow: 0 0 3px #aaa;
  transform: scale(1.03);
}
.special.friends .friend-avatar {
  object-fit: cover;
  object-position: center;
  width: 100% !important;
  height: 150px !important;
  margin: 0;
  padding: 0;
  border-radius: var(--fi-global-border-radius);
}
.special.friends .friend-nickname {
  display: block;
  position: relative;
  color: #2bbc8a;
  font-weight: bold;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  line-height: 18px;
  margin-bottom: 1rem;
}
.special.friends .friend-nickname:hover {
  color: #d480aa;
}

.special.search .gcse-searchbox:empty,
.special.search .gcse-searchresults:empty {
  display: none;
}
.special.search #___gcse_0 {
  margin-bottom: 0.5rem;
}
.special.search #___gcse_0 form.gsc-search-box {
  max-width: 100%;
  margin: 0;
}
[data-theme-mode=dark] .special.search #___gcse_0 form.gsc-search-box .gsc-input-box {
  border-color: #c2c2c2;
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .special.search #___gcse_0 form.gsc-search-box .gsc-input-box {
    border-color: #c2c2c2;
  }
}
.special.search #___gcse_0 form.gsc-search-box .gsc-input-box input {
  background-color: #fff;
}
[data-theme-mode=dark] .special.search #___gcse_0,
[data-theme-mode=dark] .special.search #___gcse_1 {
  filter: invert(1) hue-rotate(0.5turn);
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .special.search #___gcse_0,
  [data-theme-mode=auto] .special.search #___gcse_1 {
    filter: invert(1) hue-rotate(0.5turn);
  }
}
[data-theme-mode=dark] .special.search #___gcse_1 img {
  filter: invert(1) hue-rotate(0.5turn) opacity(0.75);
}
@media (prefers-color-scheme: dark) {
  [data-theme-mode=auto] .special.search #___gcse_1 img {
    filter: invert(1) hue-rotate(0.5turn) opacity(0.75);
  }
}

.archive .single-title {
  padding: 1rem 0 0.5rem;
  margin: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 140%;
  text-align: right;
}
.archive .single-subtitle {
  margin: 0.5rem 0;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 100%;
  text-align: right;
}
.archive .group-title {
  font-size: 1.2rem;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}
.archive .taxonomy-cards {
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  line-height: 1.6rem;
}
.archive .taxonomy-cards .card-item {
  font-size: 0.875rem;
  text-align: left;
  width: 45%;
  display: flex;
  align-items: flex-start;
  min-height: 10rem;
  padding: 0 2%;
  position: relative;
}
.archive .taxonomy-cards .card-item:nth-child(n+3) {
  margin-top: 2rem;
}
.archive .taxonomy-cards .card-item .card-item-wrapper {
  width: 100%;
  overflow: hidden;
}
.archive .taxonomy-cards .card-item .card-item-wrapper .card-item-title {
  font-size: 1.2rem;
  font-weight: bold;
  display: inline-block;
  margin-top: 1rem;
  margin-bottom: 0.75rem;
}
.archive .taxonomy-cards .card-item .card-item-wrapper .more-post {
  text-align: right;
  padding-right: 1rem;
}
@media only screen and (max-width: 680px) {
  .archive .taxonomy-cards .card-item {
    width: 100%;
  }
}
.archive .archive-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  margin: 0.25rem 0 0.25rem 1.5rem;
}
.archive .archive-item-link {
  min-width: 10%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.archive .archive-item-link a,
.archive .archive-item-link a::before,
.archive .archive-item-link a::after {
  text-decoration: none;
  color: light-dark(#161209, #b3bdcb);
}
.archive .archive-item-link a:active,
.archive .archive-item-link a:hover {
  color: light-dark(#2983bb, #fff);
}
.archive .archive-item-date {
  text-align: right;
  color: var(--fi-global-font-secondary-color);
  white-space: nowrap;
  font-variant-numeric: tabular-nums lining-nums;
}
.archive .tags {
  margin: 10px 0;
}
.archive .tags .tag-item {
  display: inline-block;
  position: relative;
  margin: 5px 10px;
  transition: all ease-out 0.3s;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.archive .tags .tag-item:active, .archive .tags .tag-item:focus, .archive .tags .tag-item:hover {
  transform: scale(1.2);
}
.archive .tags .tag-item:active sup, .archive .tags .tag-item:focus sup, .archive .tags .tag-item:hover sup {
  color: var(--fi-global-font-color);
  transition: all ease-out 0.3s;
}
.archive .tags .tag-item sup {
  color: var(--fi-global-font-secondary-color);
}
.archive .tag-cloud-tags {
  text-align: center;
}
.archive .tag-cloud-tags .tag-item {
  color: var(--fi-tag-cloud-color);
  font-size: var(--fi-tag-cloud-font);
  margin: 10px;
}
.archive .tag-cloud-tags .tag-item:active, .archive .tag-cloud-tags .tag-item:focus, .archive .tag-cloud-tags .tag-item:hover {
  color: var(--fi-global-link-hover-color);
}
.archive .tag-cloud-tags .tag-item:active sup, .archive .tag-cloud-tags .tag-item:focus sup, .archive .tag-cloud-tags .tag-item:hover sup {
  opacity: 1;
}
.archive .tag-cloud-tags .tag-item sup {
  opacity: 0;
}
.archive .tag-cloud-tags .tag-item[data-grade="0"] {
  --fi-tag-cloud-color: light-dark(#b3bdcb, #909092);
}
.archive .tag-cloud-tags .tag-item[data-grade="1"] {
  --fi-tag-cloud-color: light-dark(rgb(164.2, 173.6, 186.7), rgb(147.5, 148.5, 151.7));
}
.archive .tag-cloud-tags .tag-item[data-grade="2"] {
  --fi-tag-cloud-color: light-dark(rgb(149.4, 158.2, 170.4), rgb(151, 153, 157.4));
}
.archive .tag-cloud-tags .tag-item[data-grade="3"] {
  --fi-tag-cloud-color: light-dark(rgb(134.6, 142.8, 154.1), rgb(154.5, 157.5, 163.1));
}
.archive .tag-cloud-tags .tag-item[data-grade="4"] {
  --fi-tag-cloud-color: light-dark(rgb(119.8, 127.4, 137.8), rgb(158, 162, 168.8));
}
.archive .tag-cloud-tags .tag-item[data-grade="5"] {
  --fi-tag-cloud-color: light-dark(rgb(105, 112, 121.5), rgb(161.5, 166.5, 174.5));
}
.archive .tag-cloud-tags .tag-item[data-grade="6"] {
  --fi-tag-cloud-color: light-dark(rgb(90.2, 96.6, 105.2), rgb(165, 171, 180.2));
}
.archive .tag-cloud-tags .tag-item[data-grade="7"] {
  --fi-tag-cloud-color: light-dark(rgb(75.4, 81.2, 88.9), rgb(168.5, 175.5, 185.9));
}
.archive .tag-cloud-tags .tag-item[data-grade="8"] {
  --fi-tag-cloud-color: light-dark(rgb(60.6, 65.8, 72.6), rgb(172, 180, 191.6));
}
.archive .tag-cloud-tags .tag-item[data-grade="9"] {
  --fi-tag-cloud-color: light-dark(rgb(45.8, 50.4, 56.3), rgb(175.5, 184.5, 197.3));
}
.archive .tag-cloud-tags .tag-item[data-grade="10"] {
  --fi-tag-cloud-color: light-dark(#1f2328, #b3bdcb);
}

#content-404 {
  font-size: 1.8rem;
  line-height: 3rem;
  text-align: center;
  transform: translateY(30vh);
}

.home .home-profile {
  text-align: center;
}
.home .home-profile .home-avatar {
  padding: 0.5rem;
}
.home .home-profile .home-avatar img {
  display: inline-block;
  width: 8rem;
  height: auto;
  margin: 0 auto;
  transition: all 0.4s ease;
  border-radius: calc(infinity * 1px);
  box-shadow: 0 0 0 0.3618em light-dark(rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.05));
}
.home .home-profile .home-avatar img:hover {
  position: relative;
  transform: translateY(-0.75rem);
}
.home .home-profile .home-title {
  font-size: 1.25rem;
  font-weight: bold;
  margin: 0;
}
.home .home-profile .home-title:not(:empty) {
  padding: 0.5rem;
}
.home .home-profile .home-subtitle {
  font-size: 1rem;
  font-weight: normal;
  margin: 0;
  padding: 0.5rem;
}
.home .home-profile .links {
  padding: 0.5rem;
  font-size: 1.5rem;
}
.home .home-profile .links a * {
  vertical-align: text-bottom;
}
.home .home-profile .links img {
  height: 1.5rem;
  padding: 0 0.25rem;
}
.home .home-profile .home-disclaimer {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: normal;
  margin: 0;
  padding: 0.5rem;
  color: var(--fi-global-font-secondary-color);
}

.home.posts .home-profile {
  padding: 2rem 0;
}
.home.posts .home-avatar img {
  width: 6rem;
}
.home.posts .summary {
  position: relative;
  padding-block: 1rem;
  color: var(--fi-global-font-color);
}
.home.posts .summary:not(:last-of-type)::after {
  content: "";
  position: absolute;
  width: 100%;
  padding: 1.5px;
  transform: translateY(18px);
  background: repeating-linear-gradient(135deg, var(--fi-global-border-color) 0px, var(--fi-global-border-color) 4px, transparent 4px, transparent 8px);
}
.home.posts .summary:first-of-type {
  padding-top: 0;
}
.home.posts .summary .featured-image-preview {
  width: 100%;
  aspect-ratio: auto 1000/420;
  position: relative;
  margin: 0.6rem auto;
  transition: transform 0.4s ease;
}
.home.posts .summary .featured-image-preview img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
}
.home.posts .summary .featured-image-preview:hover {
  transform: scale(1.01);
}
.home.posts .summary .single-title {
  font-size: 1.25rem;
  line-height: 140%;
  margin: 0.4rem 0;
}
.home.posts .summary .content {
  margin-top: 0.3rem;
  color: var(--fi-global-font-tertiary-color);
}
.home.posts .summary .content a,
.home.posts .summary .content a::before,
.home.posts .summary .content a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #b3bdcb);
}
.home.posts .summary .content a:active,
.home.posts .summary .content a:hover {
  color: light-dark(#ea517f, #fff);
}
.home.posts .summary .content b,
.home.posts .summary .content strong {
  color: var(--fi-global-font-tertiary-color);
}
.home.posts .summary .post-footer {
  margin-block: 0.4rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
}
.home.posts .summary .post-footer a,
.home.posts .summary .post-footer a::before,
.home.posts .summary .post-footer a::after {
  text-decoration: none;
  color: light-dark(#2376b7, #1781b5);
}
.home.posts .summary .post-footer a:active,
.home.posts .summary .post-footer a:hover {
  color: light-dark(#ea517f, #cc5595);
}
.home.posts .summary .post-footer .post-tags {
  padding: 0;
}
.home.posts .summary .post-footer .post-tags a,
.home.posts .summary .post-footer .post-tags a::before,
.home.posts .summary .post-footer .post-tags a::after {
  text-decoration: none;
  color: light-dark(#161209, #b3bdcb);
}
.home.posts .summary .post-footer .post-tags a:active,
.home.posts .summary .post-footer .post-tags a:hover {
  color: light-dark(#2983bb, #fff);
}
.home.posts .summary .post-footer .post-tags .post-tag:not(:last-child)::after {
  content: ",";
  margin-right: 0.25rem;
}

#content-link {
  align-self: center;
}
#content-link .card {
  width: min(600px, 100% - 2rem);
  box-sizing: border-box;
  margin: 0 auto;
  padding: 1.5rem;
  border: 1px solid var(--fi-global-border-color-light);
  background: light-dark(#fff, #1d2230);
  box-shadow: 0 1rem 2rem light-dark(rgba(15, 23, 42, 0.18), rgba(0, 0, 0, 0.35));
  border-radius: 1rem;
}
#content-link .card .title {
  margin-block: 0 0.75rem;
  font-size: 1.25rem;
}
#content-link .card .message {
  font-weight: 600;
  margin-block: 0 0.75rem;
}
#content-link .card .target-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
#content-link .card .target {
  margin: 0;
  padding: 0.5rem 1rem;
  flex: 1 1 auto;
  min-width: 0;
  background: light-dark(#f8fafc, #171b25);
  border: 1px solid var(--fi-global-border-color);
  font-family: var(--fi-code-font-family);
  font-size: 0.875rem;
  line-height: 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  user-select: all;
  border-radius: var(--fi-global-border-radius);
}
#content-link .card .copy-icon-btn {
  flex-shrink: 0;
  background: light-dark(#f8fafc, #171b25);
}
#content-link .card .actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  font-size: 0.875rem;
}
#content-link .card .cancel-btn,
#content-link .card .confirm-btn {
  padding: 0.5rem 0.875rem;
  border: 1px solid var(--fi-global-border-color-light);
  background: light-dark(#f6f8fa, #2a313c);
  color: var(--fi-global-font-color);
  user-select: none;
  border-radius: var(--fi-global-border-radius);
}
#content-link .card .confirm-btn {
  color: #fff;
  background-color: var(--fi-primary);
  border-color: var(--fi-primary);
}
@media only screen and (max-width: 680px) {
  #content-link .card {
    padding: 1rem;
  }
  #content-link .card .cancel-btn,
  #content-link .card .confirm-btn {
    flex: 1 1 50%;
  }
}
@media only screen and (max-width: 680px) {
  #content-link .card {
    width: min(600px, 100%);
  }
}
body:has(#content-link) {
  --fi-global-background-color: var(--fi-header-background-color);
}

#content-offline {
  text-align: center;
  transform: translateY(30vh);
}
#content-offline .offline-title {
  font-size: 3.6rem;
}
#content-offline .offline-subtitle {
  margin: 0.4rem 0;
  font-size: 1rem;
  font-weight: normal;
  font-style: italic;
  line-height: 100%;
  color: #57606a;
}
#content-offline .error-text {
  font-size: 1.2rem;
}

@keyframes fi-pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.animate__pulse {
  -webkit-animation-name: fi-pulse !important;
  animation-name: fi-pulse !important;
}

#zenuml-intersection-detector-container {
  display: none;
}

.lg-toolbar .lg-download:after {
  color: #999;
}

body .cell-tooltip {
  --tooltip-bg: light-dark(#ffffff, #3d444d);
  --tooltip-color: fi-var(global-font-color);
  --tooltip-shadow-color: light-dark(rgba(0, 0, 0, 0.18), rgba(255, 255, 255, 0.18));
}

.cc-window.cc-banner .cc-btn {
  color: var(--fi-global-font-color);
  background-color: var(--fi-global-background-color);
}
.cc-window.cc-banner .cc-btn:hover, .cc-window.cc-banner .cc-btn:focus {
  background-color: light-dark(#ccc, #444);
}

@keyframes octocat-wave {
  0%, 100% {
    transform: rotate(0);
  }
  20%, 60% {
    transform: rotate(-25deg);
  }
  40%, 80% {
    transform: rotate(10deg);
  }
}
.github-corner {
  position: fixed;
  top: 0;
  z-index: 200;
}
.github-corner :hover .octo-arm {
  animation: octocat-wave 560ms ease-in-out;
}
.github-corner svg {
  width: var(--fi-header-height);
  height: var(--fi-header-height);
  border: 0;
  color: var(--fi-github-corner-color);
  fill: var(--fi-github-corner-fill);
}
.github-corner.left {
  left: 0;
}
.github-corner.left svg {
  transform: scale(-1, 1);
}
.github-corner.right {
  right: 0;
}
@media only print {
  .github-corner {
    display: none !important;
  }
}

@media only print {
  #postChat_button,
  .post-TianliGPT {
    display: none !important;
  }
}

.typeit .highlight {
  padding: 0.375rem;
  font-size: 0.875rem;
  font-family: var(--fi-code-font-family);
  font-weight: bold;
  word-break: break-all;
  white-space: pre-wrap;
}
.typeit {
  --ti-cursor-color: fi-var(global-font-color);
  --ti-cursor-font-family: fi-var(global-font-family);
}

.details > .details-summary {
  transition: border-radius 0.2s ease 0.2s;
  border-radius: var(--fi-global-border-radius);
}
.details > .details-summary:hover {
  cursor: pointer;
}
.details > .details-summary i.details-icon {
  color: var(--fi-global-font-secondary-color);
  transition: all 0.2s ease;
}
.details > .details-summary i.details-icon:hover {
  color: var(--fi-global-font-color);
}
.details > .details-content {
  height: 0;
  overflow-y: hidden;
  transition: height 0.5s ease-out;
}
.details.open > .details-summary {
  transition: border-radius 0s;
  border-radius: var(--fi-global-border-radius) var(--fi-global-border-radius) 0 0;
}
.details.open > .details-summary i.details-icon {
  transform: rotate(90deg);
}
.details.open > .details-content {
  height: auto;
  border-radius: 0 0 var(--fi-global-border-radius) var(--fi-global-border-radius);
}
.details.disabled > .details-summary {
  cursor: default;
}

.fixed-buttons {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 190;
}

.fixed-button {
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0.5rem 0.625rem;
  color: var(--fi-global-font-secondary-color);
  transition: color 0.4s ease;
  background-color: light-dark(#f1f1f1, #1e1e1f);
  border-radius: calc(infinity * 1px);
}
.fixed-button:hover, .fixed-button:active, .fixed-button:focus {
  outline: none;
  color: var(--fi-global-font-color);
}
@media only print {
  .fixed-button {
    display: none !important;
  }
}

.back-to-top {
  overflow: hidden;
  position: relative;
  --fi-b2t-stroke: 0.5rem;
  --fi-b2t-prog: light-dark(var(--fi-success), var(--fi-global-font-color));
  --fi-b2t-dasharray: 314.15;
}
.back-to-top svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.back-to-top .bg {
  fill: none;
  stroke: var(--fi-global-border-color-light);
  stroke-width: var(--fi-b2t-stroke);
}
.back-to-top .progress {
  fill: none;
  stroke: var(--fi-b2t-prog);
  stroke-width: var(--fi-b2t-stroke);
  stroke-linecap: round;
  stroke-dasharray: var(--fi-b2t-dasharray);
  stroke-dashoffset: calc(var(--fi-b2t-dasharray) * (1 - var(--fi-b2t-progress, 0) / 100));
  transition: stroke-dashoffset 0.1s linear;
}

svg.icon {
  display: inline-block;
  width: 1.25em;
  height: 1em;
  text-align: center;
}
svg.icon path {
  fill: currentColor;
}

img.emoji {
  display: inline-block;
  height: 1em;
  width: 1em;
  margin: 0 0.05em 0 0.1em;
  vertical-align: -0.1em;
}

.hugo-icon,
.fixit-icon {
  display: inline-block;
  height: 1.2em;
  width: 1.2em;
  line-height: 1.2em;
  position: relative;
  vertical-align: text-bottom;
}

#link-guard-dialog {
  width: min(600px, 100% - 2rem);
  max-width: 100%;
  border: none;
  padding: 0;
  color: var(--fi-global-font-color);
  background-color: transparent;
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  transition: display 0.2s allow-discrete, overlay 0.2s allow-discrete, transform 0.2s, opacity 0.2s;
}
#link-guard-dialog .guard-content {
  padding: 1.5rem;
  border: 1px solid var(--fi-global-border-color-light);
  background: light-dark(#fff, #1d2230);
  box-shadow: 0 1rem 2rem light-dark(rgba(15, 23, 42, 0.18), rgba(0, 0, 0, 0.35));
  border-radius: 1rem;
}
#link-guard-dialog .guard-content .title {
  margin-block: 0 0.75rem;
  font-size: 1.25rem;
}
#link-guard-dialog .guard-content .message {
  font-weight: 600;
  margin-block: 0 0.75rem;
}
#link-guard-dialog .guard-content .target-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
#link-guard-dialog .guard-content .target {
  margin: 0;
  padding: 0.5rem 1rem;
  flex: 1 1 auto;
  min-width: 0;
  background: light-dark(#f8fafc, #171b25);
  border: 1px solid var(--fi-global-border-color);
  font-family: var(--fi-code-font-family);
  font-size: 0.875rem;
  line-height: 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  user-select: all;
  border-radius: var(--fi-global-border-radius);
}
#link-guard-dialog .guard-content .copy-icon-btn {
  flex-shrink: 0;
  background: light-dark(#f8fafc, #171b25);
}
#link-guard-dialog .guard-content .actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  font-size: 0.875rem;
}
#link-guard-dialog .guard-content .cancel-btn,
#link-guard-dialog .guard-content .confirm-btn {
  padding: 0.5rem 0.875rem;
  border: 1px solid var(--fi-global-border-color-light);
  background: light-dark(#f6f8fa, #2a313c);
  color: var(--fi-global-font-color);
  user-select: none;
  border-radius: var(--fi-global-border-radius);
}
#link-guard-dialog .guard-content .confirm-btn {
  color: #fff;
  background-color: var(--fi-primary);
  border-color: var(--fi-primary);
}
@media only screen and (max-width: 680px) {
  #link-guard-dialog .guard-content {
    padding: 1rem;
  }
  #link-guard-dialog .guard-content .cancel-btn,
  #link-guard-dialog .guard-content .confirm-btn {
    flex: 1 1 50%;
  }
}
#link-guard-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: display 0.2s allow-discrete, overlay 0.2s allow-discrete, opacity 0.2s;
}
#link-guard-dialog[open] {
  opacity: 1;
  transform: translateY(0) scale(1);
}
#link-guard-dialog[open]::backdrop {
  opacity: 1;
}
@starting-style {
  #link-guard-dialog[open], #link-guard-dialog[open]::backdrop {
    opacity: 0;
  }
  #link-guard-dialog[open] {
    transform: translateY(12px) scale(0.98);
  }
}

#mask {
  background-repeat: no-repeat;
  background-position: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#mask.blur {
  background-color: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(2px);
  z-index: 199;
}

.noscript-warning {
  background-color: var(--fi-danger);
  color: white;
  font-size: 1rem;
  font-weight: bold;
  position: fixed;
  text-align: center;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 200;
}

.reading-progress-bar {
  height: var(--fi-progress-h, 2px);
  width: var(--fi-progress, 0);
  background-color: light-dark(var(--fi-bg-progress, "var(--fi-success)"), var(--fi-bg-progress-dark, "var(--fi-global-font-color)"));
  position: fixed;
  z-index: 200;
}
@media only print {
  .reading-progress-bar {
    display: none !important;
  }
}

/* Modern browsers with `scrollbar-*` support (high priority) */
@supports (scrollbar-width: auto) {
  * {
    scrollbar-color: var(--fi-scrollbar-thumb-color) var(--fi-scrollbar-track-color);
    scrollbar-width: var(--fi-scrollbar-width);
  }
  @media only print {
    * {
      scrollbar-width: none;
    }
  }
}
/* Legacy browsers with `::-webkit-scrollbar-*` support */
::-webkit-scrollbar {
  height: var(--fi-scrollbar-width-legacy);
  width: var(--fi-scrollbar-width-legacy);
  overflow: visible;
}
@media only print {
  ::-webkit-scrollbar {
    display: none;
  }
}

::-webkit-scrollbar-button {
  height: 0;
  width: 0;
}

::-webkit-scrollbar-corner {
  background-color: var(--fi-scrollbar-track-color);
}

::-webkit-scrollbar-thumb {
  background-color: var(--fi-scrollbar-thumb-color);
}
::-webkit-scrollbar-thumb:hover {
  background-color: var(--fi-scrollbar-thumb-hover-color);
}

::-webkit-scrollbar-track {
  background-color: var(--fi-scrollbar-track-color);
}

::-webkit-scrollbar-thumb,
::-webkit-scrollbar-track {
  background-clip: padding-box;
  border: 3px solid transparent;
  border-radius: calc(infinity * 1px);
}

/*# sourceMappingURL=main.css.map */