html {
  scroll-behavior: smooth;
}
body {
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  margin: 0;
  line-height: inherit;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji',
    'Segoe UI Emoji';
}

[data-color-mode*='dark'] body .dark {
  display: none;
}
[data-color-mode*='dark'] body .light {
  display: block;
}
[data-color-mode*='light'] body .dark {
  display: block;
}
[data-color-mode*='light'] body .light {
  display: none;
}

[data-color-mode*='light'],
[data-color-mode*='light'] body {
  --color-prettylights-syntax-comment: #b1bac3;
  --color-prettylights-syntax-constant: #0550ae;
  --color-prettylights-syntax-entity: #8250df;
  --color-prettylights-syntax-storage-modifier-import: #24292f;
  --color-prettylights-syntax-entity-tag: #116329;
  --color-prettylights-syntax-keyword: #cf222e;
  --color-prettylights-syntax-string: #0a3069;
  --color-prettylights-syntax-variable: #d15104;
  --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
  --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
  --color-prettylights-syntax-invalid-illegal-bg: #82071e;
  --color-prettylights-syntax-carriage-return-text: #f6f8fa;
  --color-prettylights-syntax-carriage-return-bg: #cf222e;
  --color-prettylights-syntax-string-regexp: #116329;
  --color-prettylights-syntax-markup-list: #3b2300;
  --color-prettylights-syntax-markup-heading: #0550ae;
  --color-prettylights-syntax-markup-italic: #24292f;
  --color-prettylights-syntax-markup-bold: #24292f;
  --color-prettylights-syntax-markup-deleted-text: #82071e;
  --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
  --color-prettylights-syntax-markup-inserted-text: #116329;
  --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
  --color-prettylights-syntax-markup-changed-text: #953800;
  --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
  --color-prettylights-syntax-markup-ignored-text: #eaeef2;
  --color-prettylights-syntax-markup-ignored-bg: #0550ae;
  --color-prettylights-syntax-meta-diff-range: #8250df;
  --color-prettylights-syntax-brackethighlighter-angle: #57606a;
  --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
  --color-prettylights-syntax-constant-other-reference-link: #0a3069;
  --color-fg-default: #24292f;
  --color-fg-muted: #57606a;
  --color-fg-subtle: #6e7781;
  --color-canvas-default: #f1f5f9;
  --color-canvas-subtle: #fff;
  --color-bg-subtle: #f8f9fa;
  --color-border-default: #d0d7de;
  --color-border-muted: #ececec94;
  --color-neutral-muted: rgba(175, 184, 193, 0.2);
  --color-accent-fg: #0969da;
  --color-accent-emphasis: #0969da;
  --color-attention-subtle: #fff8c5;
  --color-danger-fg: #cf222e;
  --box-shadow: 109 109 109;
}

[data-color-mode*='dark'],
[data-color-mode*='dark'] body {
  --color-prettylights-syntax-comment: #8b949e;
  --color-prettylights-syntax-constant: #79c0ff;
  --color-prettylights-syntax-entity: #d2a8ff;
  --color-prettylights-syntax-storage-modifier-import: #c9d1d9;
  --color-prettylights-syntax-entity-tag: #7ee787;
  --color-prettylights-syntax-keyword: #ff7b72;
  --color-prettylights-syntax-string: #a5d6ff;
  --color-prettylights-syntax-variable: #ffa657;
  --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;
  --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;
  --color-prettylights-syntax-invalid-illegal-bg: #8e1519;
  --color-prettylights-syntax-carriage-return-text: #f0f6fc;
  --color-prettylights-syntax-carriage-return-bg: #b62324;
  --color-prettylights-syntax-string-regexp: #7ee787;
  --color-prettylights-syntax-markup-list: #f2cc60;
  --color-prettylights-syntax-markup-heading: #1f6feb;
  --color-prettylights-syntax-markup-italic: #c9d1d9;
  --color-prettylights-syntax-markup-bold: #c9d1d9;
  --color-prettylights-syntax-markup-deleted-text: #ffdcd7;
  --color-prettylights-syntax-markup-deleted-bg: #67060c;
  --color-prettylights-syntax-markup-inserted-text: #aff5b4;
  --color-prettylights-syntax-markup-inserted-bg: #033a16;
  --color-prettylights-syntax-markup-changed-text: #ffdfb6;
  --color-prettylights-syntax-markup-changed-bg: #5a1e02;
  --color-prettylights-syntax-markup-ignored-text: #c9d1d9;
  --color-prettylights-syntax-markup-ignored-bg: #1158c7;
  --color-prettylights-syntax-meta-diff-range: #d2a8ff;
  --color-prettylights-syntax-brackethighlighter-angle: #8b949e;
  --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;
  --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;
  --color-fg-default: #c9d1d9;
  --color-fg-muted: #8b949e;
  --color-fg-subtle: #94a3b8;
  --color-canvas-default: #0f172a;
  --color-canvas-subtle: #1e293b;
  --color-bg-subtle: rgb(15 23 42/0.3);
  --color-border-default: #404f5f;
  --color-border-muted: rgb(51 65 85/0.5);
  --color-neutral-muted: rgb(51 65 85/0.3);
  --color-accent-fg: #58a6ff;
  --color-accent-emphasis: #1f6feb;
  --color-attention-subtle: rgba(187, 128, 9, 0.15);
  --color-danger-fg: #f85149;
  --box-shadow: 0 0 0;
}

body {
  color: var(--color-fg-default);
  background-color: var(--color-canvas-default);
}

*,
::before,
::after {
  box-sizing: border-box;
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

yel {
  color: var(--color-prettylights-syntax-variable);
}
pur {
  color: var(--color-prettylights-syntax-entity);
}

:is(.h3wrap-body, .wrap-body) p > code,
:is(.h3wrap-body, .wrap-body) ul li > code,
:is(.h3wrap-body, .wrap-body) tbody td code {
  --text-opacity: 1;
  color: rgb(5 150 105 / var(--text-opacity));
}

:is(.h3wrap-body, .wrap-body) em,
:is(.h3wrap-body, .wrap-body) sup,
:is(.h3wrap-body, .wrap-body) sub {
  color: var(--color-fg-subtle);
}

table {
  width: 100%;
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}
table td:first-child {
  white-space: nowrap;
}

table.shortcuts td:not(:last-child) > code,
table.shortcuts td:not(:last-child) > del > code,
ul.shortcuts li > code,
kbd {
  background-color: var(--color-neutral-muted);
  color: var(--color-fg-subtle);
  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000;
  letter-spacing: 0.075rem;
  padding: 0.1em 0.54em;
  border: 1px solid var(--color-border-muted);
  border-color: var(--color-border-default);
  line-height: 1.5;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  display: inline-block;
  border-radius: 3px;
}

table tr + tr {
  border-top: solid 1px #ececec94;
  border-color: var(--color-border-muted);
}
table td,
table th {
  padding: 9px 14px;
  text-align: left;
}
table tr th:last-child,
table tr td:last-child {
  text-align: right;
}

table thead th {
  white-space: nowrap;
  font-weight: normal;
  color: rgb(16 185 129/1);
}

table thead {
  display: none;
  border-bottom: solid 1px rgba(85, 102, 119, 0.3);
}
table td:first-child > code {
  --text-opacity: 1;
  color: rgb(5 150 105 / var(--text-opacity));
}
table td > del,
table td:first-child > del > code,
.h3wrap-body p > del > code {
  color: var(--color-danger-fg);
}

table.show-header thead {
  display: table-header-group;
}

table.style-list td + td,
table.style-list-arrow td + td {
  padding-top: 0 !important;
}

table.style-list td,
table.style-list-arrow td {
  display: block;
  text-align: left !important;
}

table.style-list-arrow td:first-child::before,
ul.style-arrow li:before {
  content: '';
  display: inline-block;
  width: 0px;
  height: 0px;
  border-right: 6px solid transparent;
  border-top: 5px solid transparent;
  border-left: 6px solid #228e6c;
  border-bottom: 5px solid transparent;
}

tt,
code {
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 1em;
}
pre:only-child {
  height: 100%;
}

pre {
  margin-top: 0;
  margin-bottom: 0;
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  word-wrap: normal;
  line-height: 1.5;
  overflow: hidden;
  padding: 1rem;
}

.max-container a {
  color: rgb(2 132 199/1);
}
.max-container a,
.max-container a:visited {
  background-image: linear-gradient(transparent, transparent 6px, #34495e 6px, #34495e);
  background-position: bottom;
  background-size: 100% 6px;
  background-repeat: repeat-x;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: transparent;
}

.max-container a:hover,
.max-container a:visited:hover {
  text-decoration-color: #10b981;
}

.max-container {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding: 0.75rem;
}

body.home .h1wrap-body,
body.home .h1wrap .wrap-body {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  padding: 0.75rem;
}
body.home .h2wrap > h2 {
  display: inline-block;
  padding-right: 0.5rem;
}

body.home .h2wrap > h2::after {
  content: ' ';
  display: block;
  height: 3px;
  width: 110%;
  margin-top: 0.5rem;
  --bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--bg-opacity));
}
body.home .h1wrap .wrap-body p + p {
  margin-top: 1.6rem;
}
body.home .h1wrap .wrap-body p {
  text-indent: 2rem;
}

body:not(.home) .h2wrap > .wrap-body > ul {
  list-style: initial;
  margin-left: 1.2rem;
}

body.home .h1wrap p {
  text-align: left;
}
body.home .max-container a.home-button:hover,
body.home .max-container a.home-button:visited:hover {
  transition: all 0.3s;
  text-decoration-color: #fff;
  color: #fff;
}

.home-card {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.home-card a.contributing {
  position: relative;
}
.home-card a.contributing::after {
  color: var(--color-fg-muted);
  content: '👆待完善需要您的参与';
  display: block;
  position: absolute;
  font-size: 10px;
  left: 5px;
  bottom: -15px;
}
.home-card a.contributing:hover:after {
  color: var(--color-fg-muted);
}

[data-color-mode*='light'] body .home-card a {
  --text-opacity: 0.75;
  color: rgb(15 19 24 / var(--text-opacity));
}
[data-color-mode*='light'] body .home-card a:hover {
  --text-opacity: 0.85;
  color: rgb(241 245 249 / var(--text-opacity)) !important;
}
.home-card a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  border-radius: 0.5rem;
  padding: 0rem 1rem;
  height: 4rem;
  box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  color: var(--color-fg-default);
  --text-opacity: 0.75;
  color: rgb(241 245 249 / var(--text-opacity));
  --bg-opacity: 0.5;
  background-color: rgb(62 69 72 / var(--bg-opacity));
  transition: all 0.3s;
  text-decoration: none;
}
.home-card a:hover {
  --bg-opacity: 1;
  --text-opacity: 0.75;
}
.home-card a svg {
  min-width: 1.6rem;
  height: 1.8rem;
}

.home-title-reset {
  padding-right: 0 !important;
}
.home-title-reset::after {
  width: initial !important;
}

a.home-button {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-radius: 9999px;
  line-height: 1.75rem;
  margin-left: 1rem;
  margin-right: 1rem;
  --bg-opacity: 1;
  background-color: rgb(10 147 102 / var(--bg-opacity));
  --text-opacity: 1;
  color: rgb(203 213 225 / var(--text-opacity));
}
a.home-button:hover {
  --bg-opacity: 0.5;
}
a.text-grey {
  --bg-opacity: 1;
  background-color: rgb(56 76 109 / var(--bg-opacity));
}

.header-nav .max-container {
  padding: 1.8rem 1.8rem 0;
}

.header-nav .max-container,
.header-nav .logo,
.header-nav .menu,
.header-nav .menu a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-nav .logo {
  gap: 0.5rem;
  color: currentColor;
}

.header-nav .title {
  font-size: 1.8rem;
  line-height: 2rem;
  font-weight: bold;
}

.header-nav .logo svg {
  font-size: 40px;
}

.header-nav .menu a:hover,
.header-nav .menu button:hover {
  background-color: var(--color-neutral-muted);
}

.header-nav .menu a,
.header-nav .menu button {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-radius: 9999px;
  transition: all 0.3s;
  border: 0;
}

.header-nav .menu {
  gap: 0.2rem;
}
.header-nav .menu a > span {
  font-size: 0.9rem;
}
.header-nav .menu button {
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  background-color: transparent;
  background-image: none;
  color: var(--color-fg-default);
  cursor: pointer;
  font-size: 18px;
}

.header-nav a,
.header-nav a:visited {
  color: var(--color-fg-default);
  line-height: 1.2;
  gap: 0.3rem;
}

.wrap-header.h1wrap {
  text-align: center;
  margin-top: 4.6rem;
  margin-bottom: 5rem;
}

.wrap-header.h1wrap .wrap-body {
  color: var(--color-fg-subtle);
  max-width: 850px;
  margin: 0 auto;
}

.wrap-header.h1wrap > h1 {
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 3rem;
  display: inline-flex;
}

.wrap-header.h1wrap > h1 > svg {
  margin-right: 1rem;
}

.h1wrap-body {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: relative;
}
.menu-tocs {
  position: sticky;
  top: 0;
  z-index: 88;
  display: inline-flex;
}
.menu-tocs:hover > .menu-modal {
  display: block;
  border-radius: 0.5rem;
  padding: 0.3rem;
  max-height: 100vh;
  overflow: auto;
  background-color: var(--color-canvas-subtle);
  box-shadow: 0 8px 24px rgba(var(--box-shadow) / 0.2);
}
.menu-tocs > .menu-btn {
  border: 1px solid var(--color-border-default);
  display: flex;
  border-radius: 0.3rem;
  padding: 0.3rem 0.4rem;
  font-size: 1.3rem;
  margin-left: -3rem;
  margin-top: 0.3rem;
  position: absolute;
}
.menu-tocs > .menu-modal {
  width: 260px;
  position: absolute;
  display: none;
  margin-left: -1rem;
}
.menu-tocs > .menu-modal a + a {
  margin-bottom: 0.2rem;
}
.menu-tocs > .menu-modal a:hover {
  background-color: var(--color-neutral-muted);
}
.menu-tocs > .menu-modal a.is-active-link {
  background-color: var(--color-border-muted);
  text-decoration-color: #10b981;
}
.menu-tocs > .menu-modal a {
  display: block;
  overflow: hidden;
  padding: 0.3rem 0.5rem;
}

.menu-tocs > .menu-modal a.leve2 {
  font-weight: bold;
  color: var(--color-fg-default);
}

.menu-tocs > .menu-modal a.leve3 {
  padding-left: 1.2rem;
}
.menu-tocs > .menu-modal a.leve4,
.menu-tocs > .menu-modal a.leve5,
.menu-tocs > .menu-modal a.leve6 {
  padding-left: 2.1rem;
}

.wrap-header.h2wrap > h2 {
  margin: 0;
  padding: 0;
  margin-bottom: 24px;
  position: relative;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 200;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',
    'Droid Sans', 'Helvetica Neue', sans-serif;
  margin-top: 0;
}

.wrap-header.h2wrap > :last-child {
  margin-bottom: 24px;
}
.wrap-header.h2wrap .wrap-body {
  color: rgb(148 163 184/1);
}

body:not(.home) .h2wrap > h2 a::after,
body:not(.home) .h3wrap > h3 a::after {
  content: '#';
  padding-right: 0.5rem;
  color: rgb(16 185 129/1);
}
body:not(.home) .h3wrap > h3 a::after {
  position: absolute;
  left: -18px;
  font-size: 1rem;
  display: none;
}
body:not(.home) .h2wrap-body > .wrap:hover .h3wrap > h3 a::after {
  display: initial;
}

.wrap.h3body-exist .wrap-header.h3wrap {
  flex: initial;
}

.wrap.h3body-exist > .h3wrap-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.wrap-header.h3wrap {
  z-index: 0;
  width: 100%;
  flex: 1;
}

.wrap-header.h3wrap > h3 {
  position: sticky;
  float: right;
  margin-top: -24px;
  color: rgb(226 232 240/1);
  top: 0px;
  z-index: 10;
  border-top-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  background-color: #228e6c;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.05em;
}

.wrap-header.h3wrap > .wrap-body p,
.h3wrap-body p {
  margin: 0px;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: var(--color-fg-subtle);
  background-color: var(--color-bg-subtle);
}

.wrap-header.h3wrap > .wrap-body p:first-child:before {
  background-color: var(--color-bg-subtle);
  color: rgb(30 41 59/0);
  content: '-';
  line-height: 1.5rem;
  top: 0;
  position: absolute;
  left: 0px;
  width: 100%;
  border-radius: 0.5rem 0.5rem 0 0;
}

.wrap-header.h3wrap > .wrap-body p:not(:first-child):last-child,
.h3wrap-body p:not(:first-child):last-child {
  margin-top: auto;
  border-radius: 0 0 0.5rem 0.5rem;
}

.wrap-header.h3wrap > .wrap-body {
  z-index: 0;
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
}

.h3wrap-body > h4,
.h3wrap-body > h5,
.h3wrap-body > h6 {
  border-color: transparent;
  background-color: var(--color-neutral-muted);
  color: var(--color-fg-default);

  margin: 0px;
  border-top-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  text-align: center;
}

.h3wrap .wrap-body > ul,
.h3wrap .wrap-body > ol,
.h3wrap .wrap-body > dl,
.h3wrap-body > ul,
.h3wrap-body > ol,
.h3wrap-body > dl {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  display: grid;
  list-style-position: outside;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.h3wrap > .wrap-body ul:not(:last-child),
.h3wrap > .wrap-body ol,
.h3wrap > .wrap-body dl {
  margin-bottom: 0;
}

.h2wrap-body ul li,
.h2wrap-body ol li,
.h2wrap-body dl li {
  padding: 9px;
  padding-left: 26px;
  position: relative;
  border-bottom: solid 1px var(--color-border-muted);
}

.h2wrap-body ul:not(.style-none) > li::before {
  content: '';
  position: absolute;
  display: inline-block;
  width: 4px;
  height: 4px;
  background: #556677;
  border-radius: 50%;
  left: 13px;
  top: 18px;
}

.h2wrap-body ul li,
.h2wrap-body ol li,
.h2wrap-body dl li {
  position: relative;
}

.h2wrap-body ul.style-timeline {
  counter-reset: stepCount;
}
.h2wrap-body ul.style-timeline li:first-child:before {
  background-color: #228e6c;
  color: rgb(226 232 240/1);
}
.h2wrap-body ul.style-timeline li::before {
  color: #228e6c;
  background-color: var(--color-canvas-default);
  counter-increment: stepCount;
  content: counter(stepCount);
  border-radius: initial;
  border-radius: 0.5rem;
  height: 1.5rem;
  width: 1.5rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.3rem;
  border: 2px solid #228e6c;
  top: -1px;
  left: -14px;
}
.h2wrap-body ul.style-timeline li:last-child {
  border-image: linear-gradient(to bottom, #46c69e96, rgba(0, 0, 0, 0)) 1 100%;
}
.h2wrap-body ul.style-timeline li {
  border-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 25px !important;
  border-left: 2px solid #46c69e96;
  margin-left: 30px;
  border-left-color: #46c69e96;
}
.h2wrap-body ul.style-timeline li > pre {
  padding: 0 !important;
  padding-top: 10px !important;
  height: initial !important;
}

.h2wrap-body ul.style-round li::before {
  border-radius: 9999px;
  border-width: 2px;
  height: 0.5rem;
  width: 0.5rem;
  border-color: #228e6c;
  background: transparent;
  border-style: solid;
  top: 14px;
}

.h2wrap-body ul.style-arrow li:before {
  position: absolute;
  background-color: transparent;
  border-radius: initial;
  left: 16px;
  top: 13px;
}

.wrap-body ul:last-child {
  margin-bottom: 0;
}

.wrap-body ul:last-child li:last-child {
  border-bottom: 0;
}

.h3wrap hr,
.h3wrap-body hr {
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
  border-bottom: 1px solid var(--color-border-default);
}

.h2wrap-body {
  font-size: 0.925rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  flex-direction: column;
}

.h2wrap-body > .wrap {
  background-color: var(--color-canvas-subtle);
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 0.5rem;
  padding-top: 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 0 #0000, 0 0 #0000, 0 6px 8px rgba(102, 119, 136, 0.03), 0 1px 2px rgba(102, 119, 136, 0.3);
}

.h3wrap-body > *:last-child {
  border-radius: 0 0 0.5rem 0.5rem;
}

.h2wrap-body > .wrap.active {
  box-shadow: 0 0 0 1.6pt #10b981;
  transition: box-shadow 0.5s ease-in-out;
}

.code-highlight {
  display: block;
  overflow-x: auto;
}

.cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}
.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}
.cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}
.cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-3 {
  grid-column: span 3 / span 3;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.col-span-5 {
  grid-column: span 5 / span 5;
}
.col-span-6 {
  grid-column: span 6 / span 6;
}
.col-span-7 {
  grid-column: span 7 / span 7;
}
.col-span-8 {
  grid-column: span 8 / span 8;
}
.col-span-9 {
  grid-column: span 9 / span 9;
}
.col-span-10 {
  grid-column: span 10 / span 10;
}
.row-span-2 {
  grid-row: span 2 / span 2;
}
.row-span-3 {
  grid-row: span 3 / span 3;
}
.row-span-4 {
  grid-row: span 4 / span 4;
}
.row-span-5 {
  grid-row: span 5 / span 5;
}
.row-span-6 {
  grid-row: span 6 / span 6;
}
.row-span-7 {
  grid-row: span 7 / span 7;
}
.row-span-8 {
  grid-row: span 8 / span 8;
}
.row-span-9 {
  grid-row: span 9 / span 9;
}
.row-span-10 {
  grid-row: span 10 / span 10;
}

.wrap-text {
  white-space: pre-wrap !important;
  overflow-wrap: break-word !important;
  word-break: break-all;
}

.tooltip {
  position: relative;
  display: inline-block;
}
.tooltip .tooltiptext {
  display: none;
  font-style: inherit;
  position: absolute;
  background-color: rgb(67 67 67 / 66%);
  color: #fff;
  padding: 0.5rem;
  font-size: 12px;
  opacity: 0;
  border-radius: 0.5rem;
  z-index: 1;
  transition: opacity 0.6s;
  line-height: 1.5;

  width: 220px;
  bottom: 125%;
  left: 50%;
  margin-left: -110px;
}
.tooltip .tooltiptext::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: rgb(67 67 67 / 66%) transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
  display: inline-block;
  opacity: 1;
}

/* 代码高亮 Start */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: var(--color-prettylights-syntax-comment);
}
.token.namespace {
  opacity: 0.7;
}
.token.tag,
.token.selector,
.token.constant,
.token.symbol,
.token.deleted {
  color: var(--color-prettylights-syntax-entity-tag);
}
.token.maybe-class-name {
  color: var(--color-prettylights-syntax-entity);
}
.token.property-access,
.token.operator,
.token.boolean,
.token.number,
.token.selector .token.class,
.token.attr-name,
.token.string,
.token.char,
.token.builtin {
  color: var(--color-prettylights-syntax-constant);
}
.token.deleted {
  color: var(--color-prettylights-syntax-markup-deleted-text);
}
.token.property {
  color: var(--color-prettylights-syntax-constant);
}
.token.punctuation {
  color: var(--color-prettylights-syntax-markup-ignored-bg);
}
.code-line .token.deleted {
  background-color: var(--color-prettylights-syntax-markup-deleted-bg);
}
.token.inserted {
  color: var(--color-prettylights-syntax-markup-inserted-text);
}
.code-line .token.inserted {
  background-color: var(--color-prettylights-syntax-markup-inserted-bg);
}

.token.variable {
  color: var(--color-prettylights-syntax-constant);
}
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
  color: var(--color-prettylights-syntax-string);
}
.token.color,
.token.atrule,
.token.attr-value,
.token.function,
.token.class-name {
  color: var(--color-prettylights-syntax-string);
}
.token.rule,
.token.regex,
.token.important,
.token.keyword {
  color: var(--color-prettylights-syntax-keyword);
}
.token.module {
  color: var(--color-prettylights-syntax-variable);
}
.token.coord {
  color: var(--color-prettylights-syntax-meta-diff-range);
}
.token.function {
  color: var(--color-prettylights-syntax-entity);
}
.token.number {
  color: var(--color-accent-emphasis);
}
.token.string {
  color: var(--color-prettylights-syntax-string);
}
.token.boolean {
  color: var(--color-prettylights-syntax-markup-heading);
}
.token.property-access {
  color: var(--color-prettylights-syntax-variable);
}

.token.important,
.token.bold {
  font-weight: bold;
}
.token.italic {
  font-style: italic;
}
.token.entity {
  cursor: help;
}

.highlight-line {
  background-color: var(--color-neutral-muted);
  display: block;
}
.code-line.line-number::before {
  display: inline-block;
  width: 1rem;
  text-align: right;
  margin-right: 16px;
  margin-left: -8px;
  color: var(--color-fg-subtle);
  content: attr(line);
}
/* 代码高亮 End */

.footer-wrap {
  margin-top: 3.5rem;
  color: rgb(100 116 139/1);
  background-color: var(--color-canvas-subtle);
  text-align: center;
}

@media (min-width: 1024px) {
  .h2wrap-body {
    display: grid;
    gap: 0.95rem;
  }
  .h2wrap-body > .wrap {
    margin-bottom: 0;
  }
}
@media (375px <= width <= 1024px) {
  .header-nav .title {
    font-size: 1rem;
  }
  .header-nav .max-container {
    padding-top: 0.85rem;
  }
  .header-nav .menu a,
  .header-nav .menu button {
    padding: 0.2rem 0.3rem;
  }
  .wrap-header.h1wrap > h1 {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
  .wrap-header.h1wrap {
    margin-top: 1.6rem;
    margin-bottom: 2rem;
  }
  .wrap-header.h2wrap > h2 {
    font-size: 1.3rem;
  }
  .wrap-header.h3wrap > .wrap-body {
    overflow: auto;
  }
  .tooltip:hover .tooltiptext {
    display: none;
  }
  .h1wrap-body {
    gap: 2rem;
  }
  .home-card {
    gap: 1rem;
  }
  a.home-button {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    font-size: 0.87rem;
  }
  .footer-wrap {
    font-size: 0.75rem;
  }
  table.auto-wrap {
    overflow: auto;
    display: block;
  }
  table.auto-wrap thead {
    display: none;
  }
  table.auto-wrap td,
  table.auto-wrap th {
    display: block;
    text-align: left !important;
  }
  table td + td,
  table th + th {
    padding-top: 0 !important;
  }
  table td:first-child {
    white-space: initial;
  }
  .tooltip:hover .tooltiptext {
    display: inline-block;
  }
}

@media (min-width: 768px) {
  .home-card {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}