/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0
}

main {
  display: block
}

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

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

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

a {
  background-color: transparent
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

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: -.25em
}

sup {
  top: -.5em
}

img {
  border-style: none
}

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

button,
input {
  overflow: visible
}

button,
select {
  text-transform: none
}

[type=button],
[type=reset],
button {
  -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText
}

fieldset {
  padding: .35em .75em .625em
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

details {
  display: block
}

summary {
  display: list-item
}

[hidden],
template {
  display: none
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
  margin: 0
}

button {
  background-color: transparent;
  background-image: none
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color
}

fieldset,
ol,
ul {
  margin: 0;
  padding: 0
}

ol,
ul {
  list-style: none
}

html {
  font-family: DM Sans, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  line-height: 1.5
}

*,
:after,
:before {
  box-sizing: border-box;
  border: 0 solid #e1e4e8
}

hr {
  border-top-width: 1px
}

img {
  border-style: solid
}

textarea {
  resize: vertical
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #a0aec0
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #a0aec0
}

input::placeholder,
textarea::placeholder {
  color: #a0aec0
}

button {
  cursor: pointer
}

table {
  border-collapse: collapse
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit
}

a {
  color: inherit;
  text-decoration: inherit
}

button,
input,
optgroup,
select,
textarea {
  padding: 0;
  line-height: inherit;
  color: inherit
}

code,
kbd,
pre,
samp {
  font-family: JetBrainsMono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
  display: block;
  vertical-align: middle
}

img,
video {
  max-width: 100%;
  height: auto
}

.container {
  width: 100%
}

@media (min-width:640px) {
  .container {
    max-width: 640px
  }
}

@media (min-width:768px) {
  .container {
    max-width: 768px
  }
}

@media (min-width:1024px) {
  .container {
    max-width: 1024px
  }
}

@media (min-width:1280px) {
  .container {
    max-width: 1280px
  }
}

.prose {
  color: #4a5568;
  max-width: 65ch
}

.prose [class~=lead] {
  color: #4a5568;
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em
}

.prose a {
  color: #3a90ff;
  text-decoration: underline
}

.prose strong {
  color: #1a202c;
  font-weight: 600
}

.prose ol {
  counter-reset: list-counter;
  margin-top: 1.25em;
  margin-bottom: 1.25em
}

.prose ol>li {
  position: relative;
  counter-increment: list-counter;
  padding-left: 1.75em
}

.prose ol>li:before {
  content: counter(list-counter) ".";
  position: absolute;
  font-weight: 400;
  color: #718096
}

.prose ul>li {
  position: relative;
  padding-left: 1.75em
}

.prose ul>li:before {
  content: "";
  position: absolute;
  background-color: #cbd5e0;
  border-radius: 50%;
  width: .375em;
  height: .375em;
  top: .6875em;
  left: .25em
}

.prose hr {
  border-color: #e2e8f0;
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em
}

.prose blockquote {
  font-weight: 400;
  font-style: normal;
  color: #7d838c;
  border-left-width: .25rem;
  border-left-color: #e2e8f0;
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-left: 1em
}

.prose h1 {
  color: #1a202c;
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: .8888889em;
  line-height: 1.1111111
}

.prose h2 {
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333
}

.prose h2,
.prose h3 {
  color: #1a202c;
  padding-bottom: .5rem;
  border-bottom-width: 1px;
  border-bottom-color: #f0f2f5
}

.prose h3 {
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: .6em;
  line-height: 1.6
}

.prose h4 {
  color: #1a202c;
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: .5em;
  line-height: 1.5
}

.prose figure figcaption {
  color: #718096;
  font-size: .875em;
  line-height: 1.4285714;
  margin-top: .8571429em
}

.prose code {
  color: #1a202c;
  font-weight: 400;
  font-size: .875em;
  background-color: #fff;
  padding: .25rem;
  border-width: 1px;
  border-color: #f0f2f5;
  border-radius: .25rem
}

.prose pre {
  color: #e2e8f0;
  background-color: #2d3748;
  overflow-x: auto;
  font-size: .875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: .375rem;
  padding: .8571429em 1.1428571em
}

.prose pre code {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: 400;
  color: inherit;
  font-size: inherit;
  font-family: JetBrainsMono;
  line-height: inherit
}

.prose pre code:after,
.prose pre code:before {
  content: ""
}

.prose table {
  width: 100%;
  table-layout: auto;
  text-align: left;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: .875em;
  line-height: 1.7142857
}

.prose thead {
  color: #1a202c;
  font-weight: 600;
  border-bottom-width: 1px;
  border-bottom-color: #cbd5e0
}

.prose thead th {
  vertical-align: bottom;
  padding-right: .5714286em;
  padding-bottom: .5714286em;
  padding-left: .5714286em
}

.prose tbody tr {
  border-bottom-width: 1px;
  border-bottom-color: #e2e8f0
}

.prose tbody tr:last-child {
  border-bottom-width: 0
}

.prose tbody td {
  vertical-align: top;
  padding: .5714286em
}

.prose {
  font-size: 1rem;
  line-height: 1.75
}

.prose p {
  margin-top: 1.25em;
  margin-bottom: 1.25em
}

.prose img {
  width: 100%;
  border-radius: 8px;
  border-width: 1px;
  border-color: #f0f2f5
}

.prose figure,
.prose img,
.prose video {
  margin-top: 2em;
  margin-bottom: 2em
}

.prose figure>* {
  margin-top: 0;
  margin-bottom: 0
}

.prose h2 code {
  font-size: .875em
}

.prose h3 code {
  font-size: .9em;
  font-weight: 600
}

.prose ul {
  margin-top: 1.25em;
  margin-bottom: 1.25em
}

.prose li {
  margin-top: .5em;
  margin-bottom: .5em
}

.prose ol>li:before {
  left: 0
}

.prose>ul>li p {
  margin-top: .75em;
  margin-bottom: .75em
}

.prose>ul>li>:first-child {
  margin-top: 1.25em
}

.prose>ul>li>:last-child {
  margin-bottom: 1.25em
}

.prose>ol>li>:first-child {
  margin-top: 1.25em
}

.prose>ol>li>:last-child {
  margin-bottom: 1.25em
}

.prose ol ol,
.prose ol ul,
.prose ul ol,
.prose ul ul {
  margin-top: .75em;
  margin-bottom: .75em
}

.prose h2+*,
.prose h3+*,
.prose h4+*,
.prose hr+* {
  margin-top: 0
}

.prose thead th:first-child {
  padding-left: 0
}

.prose thead th:last-child {
  padding-right: 0
}

.prose tbody td:first-child {
  padding-left: 0
}

.prose tbody td:last-child {
  padding-right: 0
}

.prose>:first-child {
  margin-top: 0
}

.prose>:last-child {
  margin-bottom: 0
}

.prose a code {
  color: #3a90ff
}

.dark-mode .dark\:prose-dark,
.dark-mode .dark\:prose-dark [class~=lead] {
  color: #e1e4e8
}

.dark-mode .dark\:prose-dark a {
  color: #3a90ff
}

.dark-mode .dark\:prose-dark strong {
  color: #fff
}

.dark-mode .dark\:prose-dark ol>li:before {
  color: #d0d4d9
}

.dark-mode .dark\:prose-dark ul>li:before {
  background-color: #7d838c
}

.dark-mode .dark\:prose-dark hr {
  border-color: #51555c
}

.dark-mode .dark\:prose-dark blockquote {
  color: #d0d4d9;
  border-left-color: #51555c
}

.dark-mode .dark\:prose-dark h1 {
  color: #fff
}

.dark-mode .dark\:prose-dark h2,
.dark-mode .dark\:prose-dark h3 {
  color: #fff;
  border-bottom-color: #32363d
}

.dark-mode .dark\:prose-dark h4 {
  color: #fff
}

.dark-mode .dark\:prose-dark figure figcaption {
  color: #d0d4d9
}

.dark-mode .dark\:prose-dark code {
  color: #fff;
  background-color: #32363d;
  border-width: 0
}

.dark-mode .dark\:prose-dark a code {
  color: #3a90ff
}

.dark-mode .dark\:prose-dark thead {
  color: #fff;
  border-bottom-color: #7d838c
}

.dark-mode .dark\:prose-dark tbody tr {
  border-bottom-color: #51555c
}

.dark-mode .dark\:prose-dark img {
  border-color: #32363d
}

:root {
  --color-transparent: transparent;
  --color-current: currentColor;
  --color-black: #000;
  --color-white: #fff;
  --color-gray-100: #fcfcfc;
  --color-gray-200: #f0f2f5;
  --color-gray-300: #e1e4e8;
  --color-gray-400: #d0d4d9;
  --color-gray-500: #abb2ba;
  --color-gray-600: #7d838c;
  --color-gray-700: #51555c;
  --color-gray-800: #32363d;
  --color-gray-900: #13151a;
  --color-red-100: #fff5f5;
  --color-red-200: #fed7d7;
  --color-red-300: #feb2b2;
  --color-red-400: #fc8181;
  --color-red-500: #f56565;
  --color-red-600: #e53e3e;
  --color-red-700: #c53030;
  --color-red-800: #9b2c2c;
  --color-red-900: #742a2a;
  --color-orange-100: #fffaf0;
  --color-orange-200: #feebc8;
  --color-orange-300: #fbd38d;
  --color-orange-400: #f6ad55;
  --color-orange-500: #ed8936;
  --color-orange-600: #dd6b20;
  --color-orange-700: #c05621;
  --color-orange-800: #9c4221;
  --color-orange-900: #7b341e;
  --color-yellow-100: ivory;
  --color-yellow-200: #fefcbf;
  --color-yellow-300: #faf089;
  --color-yellow-400: #f6e05e;
  --color-yellow-500: #ecc94b;
  --color-yellow-600: #d69e2e;
  --color-yellow-700: #b7791f;
  --color-yellow-800: #975a16;
  --color-yellow-900: #744210;
  --color-green-100: #f0fff4;
  --color-green-200: #c6f6d5;
  --color-green-300: #9ae6b4;
  --color-green-400: #68d391;
  --color-green-500: #48bb78;
  --color-green-600: #38a169;
  --color-green-700: #2f855a;
  --color-green-800: #276749;
  --color-green-900: #22543d;
  --color-teal-100: #e6fffa;
  --color-teal-200: #b2f5ea;
  --color-teal-300: #81e6d9;
  --color-teal-400: #4fd1c5;
  --color-teal-500: #38b2ac;
  --color-teal-600: #319795;
  --color-teal-700: #2c7a7b;
  --color-teal-800: #285e61;
  --color-teal-900: #234e52;
  --color-blue-100: #ebf8ff;
  --color-blue-200: #bee3f8;
  --color-blue-300: #90cdf4;
  --color-blue-400: #63b3ed;
  --color-blue-500: #4299e1;
  --color-blue-600: #3182ce;
  --color-blue-700: #2b6cb0;
  --color-blue-800: #2c5282;
  --color-blue-900: #2a4365;
  --color-indigo-100: #ebf4ff;
  --color-indigo-200: #c3dafe;
  --color-indigo-300: #a3bffa;
  --color-indigo-400: #7f9cf5;
  --color-indigo-500: #667eea;
  --color-indigo-600: #5a67d8;
  --color-indigo-700: #4c51bf;
  --color-indigo-800: #434190;
  --color-indigo-900: #3c366b;
  --color-purple-100: #faf5ff;
  --color-purple-200: #e9d8fd;
  --color-purple-300: #d6bcfa;
  --color-purple-400: #b794f4;
  --color-purple-500: #9f7aea;
  --color-purple-600: #805ad5;
  --color-purple-700: #6b46c1;
  --color-purple-800: #553c9a;
  --color-purple-900: #44337a;
  --color-pink-100: #fff5f7;
  --color-pink-200: #fed7e2;
  --color-pink-300: #fbb6ce;
  --color-pink-400: #f687b3;
  --color-pink-500: #ed64a6;
  --color-pink-600: #d53f8c;
  --color-pink-700: #b83280;
  --color-pink-800: #97266d;
  --color-pink-900: #702459;
  --color-primary-50: #f5f9ff;
  --color-primary-100: #ebf4ff;
  --color-primary-200: #cee3ff;
  --color-primary-300: #b0d3ff;
  --color-primary-400: #75b1ff;
  --color-primary-500: #3a90ff;
  --color-primary-600: #3482e6;
  --color-primary-700: #235699;
  --color-primary-800: #1a4173;
  --color-primary-900: #112b4d
}

.space-x-2>:not(template)~:not(template) {
  --space-x-reverse: 0;
  margin-right: calc(.5rem*var(--space-x-reverse));
  margin-left: calc(.5rem*(1 - var(--space-x-reverse)))
}

.space-x-4>:not(template)~:not(template) {
  --space-x-reverse: 0;
  margin-right: calc(1rem*var(--space-x-reverse));
  margin-left: calc(1rem*(1 - var(--space-x-reverse)))
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0
}

.bg-black {
  --bg-opacity: 1;
  background-color: #000;
  background-color: rgba(0, 0, 0, var(--bg-opacity))
}

.bg-white {
  --bg-opacity: 1;
  background-color: #fff;
  background-color: rgba(255, 255, 255, var(--bg-opacity))
}

.bg-gray-200 {
  --bg-opacity: 1;
  background-color: #f0f2f5;
  background-color: rgba(240, 242, 245, var(--bg-opacity))
}

.bg-gray-800 {
  --bg-opacity: 1;
  background-color: #32363d;
  background-color: rgba(50, 54, 61, var(--bg-opacity))
}

.bg-red-100 {
  --bg-opacity: 1;
  background-color: #fff5f5;
  background-color: rgba(255, 245, 245, var(--bg-opacity))
}

.bg-red-200 {
  --bg-opacity: 1;
  background-color: #fed7d7;
  background-color: rgba(254, 215, 215, var(--bg-opacity))
}

.bg-red-900 {
  --bg-opacity: 1;
  background-color: #742a2a;
  background-color: rgba(116, 42, 42, var(--bg-opacity))
}

.bg-orange-100 {
  --bg-opacity: 1;
  background-color: #fffaf0;
  background-color: rgba(255, 250, 240, var(--bg-opacity))
}

.bg-orange-200 {
  --bg-opacity: 1;
  background-color: #feebc8;
  background-color: rgba(254, 235, 200, var(--bg-opacity))
}

.bg-yellow-900 {
  --bg-opacity: 1;
  background-color: #744210;
  background-color: rgba(116, 66, 16, var(--bg-opacity))
}

.bg-green-100 {
  --bg-opacity: 1;
  background-color: #f0fff4;
  background-color: rgba(240, 255, 244, var(--bg-opacity))
}

.bg-green-200 {
  --bg-opacity: 1;
  background-color: #c6f6d5;
  background-color: rgba(198, 246, 213, var(--bg-opacity))
}

.bg-green-900 {
  --bg-opacity: 1;
  background-color: #22543d;
  background-color: rgba(34, 84, 61, var(--bg-opacity))
}

.bg-primary-100 {
  --bg-opacity: 1;
  background-color: #ebf4ff;
  background-color: rgba(235, 244, 255, var(--bg-opacity))
}

.bg-primary-200 {
  --bg-opacity: 1;
  background-color: #cee3ff;
  background-color: rgba(206, 227, 255, var(--bg-opacity))
}

.bg-primary-300 {
  --bg-opacity: 1;
  background-color: #b0d3ff;
  background-color: rgba(176, 211, 255, var(--bg-opacity))
}

.bg-primary-500 {
  --bg-opacity: 1;
  background-color: #3a90ff;
  background-color: rgba(58, 144, 255, var(--bg-opacity))
}

.bg-primary-900 {
  --bg-opacity: 1;
  background-color: #112b4d;
  background-color: rgba(17, 43, 77, var(--bg-opacity))
}

.focus\:bg-white:focus {
  --bg-opacity: 1;
  background-color: #fff;
  background-color: rgba(255, 255, 255, var(--bg-opacity))
}

.dark-mode .dark\:bg-gray-800 {
  --bg-opacity: 1;
  background-color: #32363d;
  background-color: rgba(50, 54, 61, var(--bg-opacity))
}

.dark-mode .dark\:bg-gray-900 {
  --bg-opacity: 1;
  background-color: #13151a;
  background-color: rgba(19, 21, 26, var(--bg-opacity))
}

.dark-mode .dark\:bg-primary-900 {
  --bg-opacity: 1;
  background-color: #112b4d;
  background-color: rgba(17, 43, 77, var(--bg-opacity))
}

.dark-mode .dark-focus\:bg-gray-900:focus {
  --bg-opacity: 1;
  background-color: #13151a;
  background-color: rgba(19, 21, 26, var(--bg-opacity))
}

.border-transparent {
  border-color: transparent
}

.border-gray-300 {
  --border-opacity: 1;
  border-color: #e1e4e8;
  border-color: rgba(225, 228, 232, var(--border-opacity))
}

.border-gray-700 {
  --border-opacity: 1;
  border-color: #51555c;
  border-color: rgba(81, 85, 92, var(--border-opacity))
}

.focus\:border-gray-300:focus {
  --border-opacity: 1;
  border-color: #e1e4e8;
  border-color: rgba(225, 228, 232, var(--border-opacity))
}

.dark-mode .dark\:border-gray-700 {
  --border-opacity: 1;
  border-color: #51555c;
  border-color: rgba(81, 85, 92, var(--border-opacity))
}

.dark-mode .dark\:border-gray-800 {
  --border-opacity: 1;
  border-color: #32363d;
  border-color: rgba(50, 54, 61, var(--border-opacity))
}

.dark-mode .dark-focus\:border-gray-700:focus {
  --border-opacity: 1;
  border-color: #51555c;
  border-color: rgba(81, 85, 92, var(--border-opacity))
}

.rounded {
  border-radius: .25rem
}

.rounded-md {
  border-radius: .375rem
}

.rounded-lg {
  border-radius: .5rem
}

.rounded-full {
  border-radius: 9999px
}

.rounded-t-none {
  border-top-left-radius: 0;
  border-top-right-radius: 0
}

.rounded-b-none {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0
}

.rounded-t-md {
  border-top-left-radius: .375rem;
  border-top-right-radius: .375rem
}

.border-dashed {
  border-style: dashed
}

.border-0 {
  border-width: 0
}

.border {
  border-width: 1px
}

.border-b-2 {
  border-bottom-width: 2px
}

.border-t {
  border-top-width: 1px
}

.border-b {
  border-bottom-width: 1px
}

.first\:border-t-0:first-child {
  border-top-width: 0
}

.block {
  display: block
}

.inline-block {
  display: inline-block
}

.inline {
  display: inline
}

.flex {
  display: flex
}

.inline-flex {
  display: inline-flex
}

.table {
  display: table
}

.grid {
  display: grid
}

.hidden {
  display: none
}

.flex-col {
  flex-direction: column
}

.flex-wrap {
  flex-wrap: wrap
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse
}

.items-start {
  align-items: flex-start
}

.items-end {
  align-items: flex-end
}

.items-center {
  align-items: center
}

.justify-start {
  justify-content: flex-start
}

.justify-end {
  justify-content: flex-end
}

.justify-center {
  justify-content: center
}

.justify-between {
  justify-content: space-between
}

.flex-1 {
  flex: 1 1 0%
}

.flex-grow {
  flex-grow: 1
}

.flex-shrink-0 {
  flex-shrink: 0
}

.font-mono {
  font-family: JetBrainsMono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
}

.font-normal {
  font-weight: 400
}

.font-medium {
  font-weight: 500
}

.font-semibold {
  font-weight: 600
}

.font-bold {
  font-weight: 700
}

.font-black {
  font-weight: 900
}

.h-2 {
  height: .5rem
}

.h-3 {
  height: .75rem
}

.h-4 {
  height: 1rem
}

.h-5 {
  height: 1.25rem
}

.h-6 {
  height: 1.5rem
}

.h-10 {
  height: 2.5rem
}

.h-16 {
  height: 4rem
}

.h-full {
  height: 100%
}

.h-screen {
  height: 100vh
}

.text-sm {
  font-size: .875rem;
  line-height: 1.25rem
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem
}

.leading-5 {
  line-height: 1.25rem
}

.leading-7 {
  line-height: 1.75rem
}

.leading-none {
  line-height: 1
}

.leading-normal {
  line-height: 1.5
}

.m-0 {
  margin: 0
}

.my-0 {
  margin-top: 0;
  margin-bottom: 0
}

.mx-1 {
  margin-left: .25rem;
  margin-right: .25rem
}

.mx-auto {
  margin-left: auto;
  margin-right: auto
}

.ml-0 {
  margin-left: 0
}

.mr-1 {
  margin-right: .25rem
}

.ml-1 {
  margin-left: .25rem
}

.mt-2 {
  margin-top: .5rem
}

.mb-2 {
  margin-bottom: .5rem
}

.ml-2 {
  margin-left: .5rem
}

.mt-3 {
  margin-top: .75rem
}

.mr-3 {
  margin-right: .75rem
}

.mb-3 {
  margin-bottom: .75rem
}

.ml-3 {
  margin-left: .75rem
}

.mt-4 {
  margin-top: 1rem
}

.mr-4 {
  margin-right: 1rem
}

.mb-4 {
  margin-bottom: 1rem
}

.ml-4 {
  margin-left: 1rem
}

.ml-5 {
  margin-left: 1.25rem
}

.mb-6 {
  margin-bottom: 1.5rem
}

.mt-16 {
  margin-top: 4rem
}

.mt-px {
  margin-top: 1px
}

.-mr-2 {
  margin-right: -.5rem
}

.-mt-4 {
  margin-top: -1rem
}

.max-w-none {
  max-width: none
}

.max-w-full {
  max-width: 100%
}

.opacity-0 {
  opacity: 0
}

.opacity-75 {
  opacity: .75
}

.opacity-100 {
  opacity: 1
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px
}

.overflow-auto {
  overflow: auto
}

.overflow-hidden {
  overflow: hidden
}

.overflow-y-auto {
  overflow-y: auto
}

.overflow-y-hidden {
  overflow-y: hidden
}

.p-2 {
  padding: .5rem
}

.p-4 {
  padding: 1rem
}

.py-1 {
  padding-top: .25rem;
  padding-bottom: .25rem
}

.py-2 {
  padding-top: .5rem;
  padding-bottom: .5rem
}

.px-2 {
  padding-left: .5rem;
  padding-right: .5rem
}

.py-3 {
  padding-top: .75rem;
  padding-bottom: .75rem
}

.px-3 {
  padding-left: .75rem;
  padding-right: .75rem
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem
}

.pb-2 {
  padding-bottom: .5rem
}

.pr-3 {
  padding-right: .75rem
}

.pl-3 {
  padding-left: .75rem
}

.pt-4 {
  padding-top: 1rem
}

.pr-4 {
  padding-right: 1rem
}

.pb-4 {
  padding-bottom: 1rem
}

.pl-4 {
  padding-left: 1rem
}

.pl-10 {
  padding-left: 2.5rem
}

.pt-16 {
  padding-top: 4rem
}

.hover\:pl-1:hover {
  padding-left: .25rem
}

.placeholder-gray-500::-moz-placeholder {
  --placeholder-opacity: 1;
  color: #abb2ba;
  color: rgba(171, 178, 186, var(--placeholder-opacity))
}

.placeholder-gray-500:-ms-input-placeholder {
  --placeholder-opacity: 1;
  color: #abb2ba;
  color: rgba(171, 178, 186, var(--placeholder-opacity))
}

.placeholder-gray-500::placeholder {
  --placeholder-opacity: 1;
  color: #abb2ba;
  color: rgba(171, 178, 186, var(--placeholder-opacity))
}

.pointer-events-none {
  pointer-events: none
}

.fixed {
  position: fixed
}

.absolute {
  position: absolute
}

.relative {
  position: relative
}

.inset-0 {
  right: 0;
  left: 0
}

.inset-0,
.inset-y-0 {
  top: 0;
  bottom: 0
}

.top-0 {
  top: 0
}

.right-0 {
  right: 0
}

.bottom-0 {
  bottom: 0
}

.left-0 {
  left: 0
}

.shadow-xs {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .05)
}

.shadow {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06)
}

.shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)
}

.shadow-none {
  box-shadow: none
}

.text-left {
  text-align: left
}

.text-center {
  text-align: center
}

.text-white {
  --text-opacity: 1;
  color: #fff;
  color: rgba(255, 255, 255, var(--text-opacity))
}

.text-gray-300 {
  --text-opacity: 1;
  color: #e1e4e8;
  color: rgba(225, 228, 232, var(--text-opacity))
}

.text-gray-400 {
  --text-opacity: 1;
  color: #d0d4d9;
  color: rgba(208, 212, 217, var(--text-opacity))
}

.text-gray-500 {
  --text-opacity: 1;
  color: #abb2ba;
  color: rgba(171, 178, 186, var(--text-opacity))
}

.text-gray-600 {
  --text-opacity: 1;
  color: #7d838c;
  color: rgba(125, 131, 140, var(--text-opacity))
}

.text-gray-700 {
  --text-opacity: 1;
  color: #51555c;
  color: rgba(81, 85, 92, var(--text-opacity))
}

.hover\:text-primary-500:hover,
.text-primary-500 {
  --text-opacity: 1;
  color: #3a90ff;
  color: rgba(58, 144, 255, var(--text-opacity))
}

.dark-mode .dark\:text-white {
  --text-opacity: 1;
  color: #fff;
  color: rgba(255, 255, 255, var(--text-opacity))
}

.dark-mode .dark\:text-gray-300 {
  --text-opacity: 1;
  color: #e1e4e8;
  color: rgba(225, 228, 232, var(--text-opacity))
}

.dark-mode .dark\:text-gray-400 {
  --text-opacity: 1;
  color: #d0d4d9;
  color: rgba(208, 212, 217, var(--text-opacity))
}

.dark-mode .dark-hover\:text-primary-500:hover {
  --text-opacity: 1;
  color: #3a90ff;
  color: rgba(58, 144, 255, var(--text-opacity))
}

.dark-mode .dark-focus\:text-white:focus {
  --text-opacity: 1;
  color: #fff;
  color: rgba(255, 255, 255, var(--text-opacity))
}

.uppercase {
  text-transform: uppercase
}

.hover\:underline:hover {
  text-decoration: underline
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.tracking-tight {
  letter-spacing: -.025em
}

.tracking-wider {
  letter-spacing: .05em
}

.truncate,
.whitespace-no-wrap {
  white-space: nowrap
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis
}

.w-2 {
  width: .5rem
}

.w-3 {
  width: .75rem
}

.w-4 {
  width: 1rem
}

.w-5 {
  width: 1.25rem
}

.w-6 {
  width: 1.5rem
}

.w-auto {
  width: auto
}

.w-4\/6 {
  width: 66.666667%
}

.w-full {
  width: 100%
}

.z-10 {
  z-index: 10
}

.z-20 {
  z-index: 20
}

.z-30 {
  z-index: 30
}

.z-40 {
  z-index: 40
}

.z-50 {
  z-index: 50
}

.gap-2 {
  grid-gap: .5rem;
  gap: .5rem
}

.gap-4 {
  grid-gap: 1rem;
  gap: 1rem
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.transform {
  --transform-translate-x: 0;
  --transform-translate-y: 0;
  --transform-rotate: 0;
  --transform-skew-x: 0;
  --transform-skew-y: 0;
  --transform-scale-x: 1;
  --transform-scale-y: 1;
  transform: translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))
}

.origin-top-right {
  transform-origin: top right
}

.scale-95 {
  --transform-scale-x: .95;
  --transform-scale-y: .95
}

.scale-100 {
  --transform-scale-x: 1;
  --transform-scale-y: 1
}

.transition {
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform
}

.transition-padding {
  transition-property: padding
}

.ease-in {
  transition-timing-function: cubic-bezier(.4, 0, 1, 1)
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, .2, 1)
}

.ease-in-out {
  transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.duration-75 {
  transition-duration: 75ms
}

.duration-100 {
  transition-duration: .1s
}

.duration-150 {
  transition-duration: .15s
}

.duration-300 {
  transition-duration: .3s
}

@-webkit-keyframes spin {
  to {
    transform: rotate(1turn)
  }
}

@keyframes spin {
  to {
    transform: rotate(1turn)
  }
}

@-webkit-keyframes ping {

  75%,
  to {
    transform: scale(2);
    opacity: 0
  }
}

@keyframes ping {

  75%,
  to {
    transform: scale(2);
    opacity: 0
  }
}

@-webkit-keyframes pulse {
  50% {
    opacity: .5
  }
}

@keyframes pulse {
  50% {
    opacity: .5
  }
}

@-webkit-keyframes bounce {

  0%,
  to {
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    animation-timing-function: cubic-bezier(.8, 0, 1, 1)
  }

  50% {
    transform: none;
    -webkit-animation-timing-function: cubic-bezier(0, 0, .2, 1);
    animation-timing-function: cubic-bezier(0, 0, .2, 1)
  }
}

@keyframes bounce {

  0%,
  to {
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    animation-timing-function: cubic-bezier(.8, 0, 1, 1)
  }

  50% {
    transform: none;
    -webkit-animation-timing-function: cubic-bezier(0, 0, .2, 1);
    animation-timing-function: cubic-bezier(0, 0, .2, 1)
  }
}

.animate-pulse {
  -webkit-animation: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
  animation: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite
}

@media (min-width:640px) {
  .sm\:flex-row {
    flex-direction: row
  }
}

@media (min-width:1024px) {

  .dark-mode .lg\:dark\:bg-transparent,
  .lg\:bg-transparent {
    background-color: transparent
  }

  .lg\:border-t-0 {
    border-top-width: 0
  }

  .lg\:border-r {
    border-right-width: 1px
  }

  .lg\:border-l {
    border-left-width: 1px
  }

  .lg\:block {
    display: block
  }

  .lg\:hidden {
    display: none
  }

  .lg\:h-auto {
    height: auto
  }

  .lg\:text-xs {
    font-size: .75rem;
    line-height: 1rem
  }

  .lg\:-mx-8 {
    margin-left: -2rem;
    margin-right: -2rem
  }

  .lg\:mt-0 {
    margin-top: 0
  }

  .lg\:mb-0 {
    margin-bottom: 0
  }

  .lg\:mb-2 {
    margin-bottom: .5rem
  }

  .lg\:max-h-\(screen-16\) {
    max-height: calc(100vh - 4rem)
  }

  .lg\:overflow-y-auto {
    overflow-y: auto
  }

  .lg\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .lg\:pl-0 {
    padding-left: 0
  }

  .lg\:pr-2 {
    padding-right: .5rem
  }

  .lg\:pb-4 {
    padding-bottom: 1rem
  }

  .lg\:pt-8 {
    padding-top: 2rem
  }

  .lg\:pr-8 {
    padding-right: 2rem
  }

  .lg\:pl-8 {
    padding-left: 2rem
  }

  .lg\:relative {
    position: relative
  }

  .lg\:sticky {
    position: sticky
  }

  .lg\:top-16 {
    top: 4rem
  }

  .lg\:w-1\/4 {
    width: 25%
  }

  .lg\:w-3\/4 {
    width: 75%
  }

  .lg\:w-1\/5 {
    width: 20%
  }

  .lg\:w-4\/5 {
    width: 80%
  }

  .lg\:w-full {
    width: 100%
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@font-face {
  font-family: JetBrainsMono;
  src: url(/font/JetBrainsMono-Regular.woff2) format("woff2");
  font-weight: 400
}

@font-face {
  font-family: JetBrainsMono;
  src: url(/font/JetBrainsMono-Medium.woff2) format("woff2");
  font-weight: 500
}

@font-face {
  font-family: JetBrainsMono;
  src: url(/font/JetBrainsMono-Bold.woff2) format("woff2");
  font-weight: 600
}

.dark-mode .light-img {
  display: none
}

.dark-mode .dark-img {
  display: block
}

.dark-img {
  display: none
}

.light-img {
  display: block
}

.nuxt-content {
  word-wrap: break-word
}

.nuxt-content h2:before,
.nuxt-content h3:before {
  display: block;
  content: " ";
  margin-top: -85px;
  height: 85px;
  visibility: hidden;
  pointer-events: none
}

.nuxt-content h2>a,
.nuxt-content h3>a {
  margin-left: 1.25rem
}

.nuxt-content h2>a:before,
.nuxt-content h3>a:before {
  content: "#";
  --text-opacity: 1;
  color: #3a90ff;
  color: rgba(58, 144, 255, var(--text-opacity));
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.75rem;
  line-height: 2rem;
  margin-left: -1.25rem;
  padding-right: .5rem;
  position: absolute;
  opacity: 1
}

@media (min-width:1024px) {

  .nuxt-content h2>a,
  .nuxt-content h3>a {
    margin-left: 0
  }

  .nuxt-content h2>a:before,
  .nuxt-content h3>a:before {
    opacity: 0
  }
}

.nuxt-content h2:hover>a:before,
.nuxt-content h3:hover>a:before {
  opacity: 1
}

.nuxt-content .nuxt-content-highlight {
  position: relative
}

.nuxt-content .nuxt-content-highlight>.filename {
  position: absolute;
  right: 0;
  top: 0;
  --text-opacity: 1;
  color: #fcfcfc;
  color: rgba(252, 252, 252, var(--text-opacity));
  z-index: 10;
  font-family: JetBrainsMono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: .875rem;
  line-height: 1.25rem;
  letter-spacing: -.025em;
  line-height: 1;
  margin-right: 1rem;
  margin-top: .75rem
}

.nuxt-content .nuxt-content-highlight>.filename+pre[class*=language-] {
  padding-top: 2rem
}

.nuxt-content .nuxt-content-highlight>.copy {
  display: none;
  position: absolute;
  right: 0;
  bottom: 0;
  line-height: 1;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);
  padding: .5rem;
  --text-opacity: 1;
  color: #fff;
  color: rgba(255, 255, 255, var(--text-opacity));
  --bg-opacity: 1;
  background-color: #32363d;
  background-color: rgba(50, 54, 61, var(--bg-opacity));
  font-size: .875rem;
  line-height: 1.25rem;
  text-transform: uppercase;
  border-radius: .375rem;
  border-width: 1px;
  --border-opacity: 1;
  border-color: #fff;
  border-color: rgba(255, 255, 255, var(--border-opacity));
  font-weight: 600;
  margin-right: .75rem;
  margin-bottom: .75rem
}

.nuxt-content .nuxt-content-highlight>.copy:hover {
  --bg-opacity: 1;
  background-color: #51555c;
  background-color: rgba(81, 85, 92, var(--bg-opacity))
}

.nuxt-content .nuxt-content-highlight>.copy:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --bg-opacity: 1;
  background-color: #7d838c;
  background-color: rgba(125, 131, 140, var(--bg-opacity))
}

.nuxt-content .nuxt-content-highlight:hover>.copy {
  display: block
}

.nuxt-content pre[class*=language-] {
  --bg-opacity: 1;
  background-color: #32363d;
  background-color: rgba(50, 54, 61, var(--bg-opacity));
  position: static
}

code[class*=language-],
pre[class*=language-] {
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  color: #c3cee3;
  background: #263238;
  font-family: Roboto Mono, monospace;
  font-size: 1em;
  line-height: 1.5em;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none
}

code[class*=language-] ::-moz-selection,
code[class*=language-]::-moz-selection,
pre[class*=language-] ::-moz-selection,
pre[class*=language-]::-moz-selection {
  background: #363636
}

code[class*=language-] ::selection,
code[class*=language-]::selection,
pre[class*=language-] ::selection,
pre[class*=language-]::selection {
  background: #363636
}

:not(pre)>code[class*=language-] {
  white-space: normal;
  border-radius: .2em;
  padding: .1em
}

pre[class*=language-] {
  overflow: auto;
  position: relative;
  margin: .5em 0;
  padding: 1.25em 1em
}

.language-css>code,
.language-sass>code,
.language-scss>code {
  color: #fd9170
}

[class*=language-] .namespace {
  opacity: .7
}

.token.atrule {
  color: #c792ea
}

.token.attr-name {
  color: #ffcb6b
}

.token.attr-value,
.token.attribute {
  color: #c3e88d
}

.token.boolean {
  color: #c792ea
}

.token.builtin {
  color: #ffcb6b
}

.token.cdata,
.token.char {
  color: #80cbc4
}

.token.class {
  color: #ffcb6b
}

.token.class-name,
.token.color {
  color: #f2ff00
}

.token.comment {
  color: #546e7a
}

.token.constant {
  color: #c792ea
}

.token.deleted {
  color: #f07178
}

.token.doctype {
  color: #546e7a
}

.token.entity {
  color: #f07178
}

.token.function {
  color: #c792ea
}

.token.hexcode {
  color: #f2ff00
}

.token.id,
.token.important {
  color: #c792ea;
  font-weight: 700
}

.token.inserted {
  color: #80cbc4
}

.token.keyword {
  color: #c792ea;
  font-style: italic
}

.token.number {
  color: #fd9170
}

.token.operator {
  color: #89ddff
}

.token.prolog {
  color: #546e7a
}

.token.property {
  color: #80cbc4
}

.token.pseudo-class,
.token.pseudo-element {
  color: #c3e88d
}

.token.punctuation {
  color: #89ddff
}

.token.regex {
  color: #f2ff00
}

.token.selector {
  color: #f07178
}

.token.string {
  color: #c3e88d
}

.token.symbol {
  color: #c792ea
}

.token.tag,
.token.unit {
  color: #f07178
}

.token.url {
  color: #fd9170
}

.token.variable {
  color: #f07178
}

.nuxt-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  width: 0;
  opacity: 1;
  transition: width .1s, opacity .4s;
  background-color: #3a90ff;
  z-index: 999999
}

.nuxt-progress.nuxt-progress-notransition {
  transition: none
}

.nuxt-progress-failed {
  background-color: red
}