body {
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  margin: 0;
  line-height: inherit;
  font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}

body {
  background-color: rgb(15 23 42/1);
  color: rgb(203 213 225/1);
}

*, ::before, ::after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb;
}

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;
}

.wrap-body > p > code {
  --text-opacity: 1;
  color: rgb(5 150 105/var(--text-opacity));
}

table {
  width: 100%;
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse
}

table td:not(:last-child)>code, ul li > code, kbd {
  background-color: rgb(51 65 85/0.5);
  color: rgb(203 213 225/1);
  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000;
  letter-spacing: 0.075rem;
  padding: 0.1em 0.54em;
  border: 1px solid rgb(204,204,204);
  border-color: rgb(51 65 85/1);
  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: rgb(51 65 85/0.5);
}
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.show-header thead {
  display: table-header-group;
}

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.home .h1wrap p {
  text-align: left;
}

.home-card {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.home-card a {
  display: flex;
  align-items: center;
  cursor: pointer;
  border-radius: 0.5rem;
  padding: 1rem;
  box-shadow: 0 0 #0000,0 0 #0000,0 1px 2px 0 rgba(0,0,0,0.05);
  --text-opacity: 1;
  color: rgb(203 213 225/var(--text-opacity));
  --bg-opacity: 0.5;
  background-color: rgb(62 69 72/var(--bg-opacity));
  transition: all .3s;
}
.home-card a:hover {
  --bg-opacity: 1;
}

.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-top: 1.8rem;
}

.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 {
  background-color: rgb(30 41 59/1);
}

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

.header-nav .menu {
  gap: 0.2rem;
}
.header-nav .menu a > span {
  font-size: 0.9rem;
}

.header-nav a, .header-nav a:visited {
  color: rgb(209 213 219/1);
  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: rgb(71 85 105/1);
}

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

.h1wrap-body {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.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);
}

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

.wrap-header.h3wrap > h3 {
  color: rgb(226 232 240/1);
  position: absolute;
  right: 0px;
  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, .wrap-header.h4wrap > .wrap-body p {
  margin: 0px;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: rgb(148 163 184/1);
  background-color: rgb(15 23 42/0.3);
}

.wrap-header.h3wrap > .wrap-body p:first-child:before {
  background-color: rgb(15 23 42/0.3);
  color: rgb(30 41 59/0);
  content: '-';
  line-height: 1.75rem;
  top: -4px;
  position: absolute;
  left: 0px;
  width: 100%;
}

.wrap-header.h3wrap > .wrap-body p:not(:first-child):last-child {
  margin-top: auto;
}

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

.h4wrap > h4 {
  border-color: rgb(51 65 85/0.5);
  background-color: rgb(51 65 85/0.3);
  color: rgb(203 213 225/1);

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

.h4wrap > .wrap-body ul,
.h4wrap > .wrap-body ol,
.h4wrap > .wrap-body dl,

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

.h2wrap-body ul li,
.h2wrap-body ol li,
.h2wrap-body dl li {
  padding: 9px;
  padding-left: 26px;
  position: relative;
  border-bottom: solid 1px rgb(51 65 85/0.5);
}

.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;
}

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

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

.h3wrap hr {
  border-bottom: 1px solid #475060;
}

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

.h2wrap-body > .wrap {
  background-color: #1e293b;
  color: rgb(203 213 225/1);
  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);
}

.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;
}
.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;
}
.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;
}
.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 .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;
}

[data-color-mode*='light'], [data-color-mode*='light'] body {
  --color-prettylights-syntax-comment: #6e7781;
  --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: #953800;
  --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: #ffffff;
  --color-canvas-subtle: #f6f8fa;
  --color-border-default: #d0d7de;
  --color-border-muted: hsla(210,18%,87%,1);
  --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;
}

[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: #484f58;
  --color-canvas-default: #0d1117;
  --color-canvas-subtle: #161b22;
  --color-border-default: #30363d;
  --color-border-muted: #21262d;
  --color-neutral-muted: rgba(110,118,129,0.4);
  --color-accent-fg: #58a6ff;
  --color-accent-emphasis: #1f6feb;
  --color-attention-subtle: rgba(187,128,9,0.15);
  --color-danger-fg: #f85149;
}

/* 代码高亮 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-variable);
}
.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-bold);
}
.token.function {
  color: var(--color-prettylights-syntax-entity);
}
.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.coord {
  color: var(--color-prettylights-syntax-meta-diff-range);
}

.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; }

/* 代码高亮 End */


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

@media (min-width: 1024px) {
  .h2wrap-body {
    display: grid;
    gap: 1.75rem;
  }
  .h2wrap-body > .wrap {
    margin-bottom: 0;
  }
}

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