

/*
! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com
*/
*,:after,:before {
    box-sizing: border-box;
    border: 0 solid #e5e7eb;
    /* font-family: 'Poppins', sans-serif; */
}

:after,:before {
    --tw-content: ""
}

:host,html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: 'Poppins', sans-serif;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit;
    font-family: 'Poppins', sans-serif;
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

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

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

b,strong {
    font-weight: bolder
}

code,kbd,pre,samp {

    font-feature-settings: normal;
    font-variation-settings: normal;
    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
}

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

button,input,optgroup,select,textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button,select {
    text-transform: none
}

button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,::-webkit-outer-spin-button {
    height: auto
}

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

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

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

fieldset {
    margin: 0
}

fieldset,legend {
    padding: 0
}

menu,ol,ul {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder,textarea::-moz-placeholder {
    opacity: 1;
    color: #9ca3af
}

input::placeholder,textarea::placeholder {
    opacity: 1;
    color: #9ca3af
}

[role=button],button {
    cursor: pointer
}

:disabled {
    cursor: default
}

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

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

[hidden] {
    display: none
}
html {
    height: 100%
}

body {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    background-color: var(--body-color);
    color: var(--text-color);
}

body ::-moz-selection {
    background-color: hsl(var(--primary)/.25)
}

body ::selection {
    background-color: hsl(var(--primary)/.25)
}

body::-moz-selection {
    background-color: hsl(var(--primary)/.25)
}

body::selection {
    background-color: hsl(var(--primary)/.25)
}

body {
    min-width: 320px
}

*,:after,:before {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59,130,246,.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59,130,246,.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

.aspect-h-1 {
    --tw-aspect-h: 1
}

.aspect-h-9 {
    --tw-aspect-h: 9
}

.aspect-w-16 {
    position: relative;
    padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
    --tw-aspect-w: 16
}

.aspect-w-16>* {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.aspect-w-2 {
    position: relative;
    padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
    --tw-aspect-w: 2
}

.aspect-w-2>* {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.prose {
    font-size: 1rem;
    line-height: 1.75rem;
    color: hsl(var(--gray-12)/.75)
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(p) {
    margin-top: 1.25em;
    margin-bottom: 1.25em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(em) {
    font-family: var(--font-family-serif),ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;
    font-style: italic
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(strong) {
    font-weight: 500;
    color: hsl(var(--gray-12))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(a) {
    position: relative
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(a):focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(a):focus-visible:after {
    position: absolute;
    inset: 0;
    border-radius: .25rem;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);
    --tw-ring-inset: inset;
    content: var(--tw-content);
    --tw-ring-color: hsl(var(--primary))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(a) {
    margin: -.5rem;
    padding: .5rem;
    color: hsl(var(--gray-12));
    text-decoration-line: underline;
    text-decoration-color: hsl(var(--gray-8));
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

@media (hover: hover) {
    .prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(a):hover {
        text-decoration-color:hsl(var(--gray-12))
    }
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(a):focus-visible {
    text-decoration-color: hsl(var(--gray-12))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(a):active {
    text-decoration-color: hsl(var(--gray-12))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1 a),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2 a),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3 a) {
    text-decoration: none
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1 a) #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2 a) #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3 a) #anchor-icon {
    display: inline-block;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    padding-right: .5rem;
    font-weight: 400;
    color: hsl(var(--gray-10));
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

@media not all and (min-width: 768px) {
    .prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1 a) #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2 a) #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3 a) #anchor-icon {
        display:none
    }
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1 a) #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2 a) #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3 a) #anchor-icon {
    margin-left: calc(-.8em - .5rem)
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1 a) #anchor-icon svg,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2 a) #anchor-icon svg,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3 a) #anchor-icon svg {
    width: .8em;
    height: .8em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1 a):focus-visible #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2 a):focus-visible #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3 a):focus-visible #anchor-icon {
    opacity: 1
}

@media (hover: hover) {
    .prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1 a):hover #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2 a):hover #anchor-icon,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3 a):hover #anchor-icon {
        opacity:1
    }
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3) {
    scroll-margin: calc(4vw + 6vh);
    font-weight: 500;
    color: hsl(var(--gray-12))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1) {
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin-top: 0;
    margin-bottom: .75em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2) {
    font-size: 1.125rem;
    line-height: 1.75rem;
    margin-top: 2em;
    margin-bottom: 1em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3) {
    font-size: 1rem;
    line-height: 1.5rem;
    margin-top: 1.75em;
    margin-bottom: 1em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ol),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ul) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    margin-left: 1.625em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ol) {
    list-style-type: decimal
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ul) {
    list-style-type: none
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ol>li) {
    padding-left: .375em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ol>li)::marker {
    color: hsl(var(--gray-10))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ul>li) {
    position: relative;
    padding-left: .375em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ul>li):before {
    position: absolute;
    color: hsl(var(--gray-10));
    content: "‒";
    left: -1em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(li) {
    margin-top: .5em;
    margin-bottom: .5em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(li) p {
    margin-top: .75em;
    margin-bottom: .75em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(li) :first-child {
    margin-top: 1.25em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(li) :last-child {
    margin-bottom: 1.25em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(code):not(.shiki code),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(kbd) {
    border-radius: .25rem;
    background-color: hsl(var(--gray-3));

    font-weight: 400;
    color: hsl(var(--gray-12));
    padding: .125em .3125em;
    font-size: clamp(.75rem,.8125em,100%)
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(kbd) {
    box-shadow: 0 3px 0 hsl(var(--gray-5))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(#callout) {
    margin-top: 1.6em;
    margin-bottom: 1.6em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(#callout) code:not(.shiki code) {
    background-color: hsl(var(--gray-6))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote) {
    position: relative;
    font-family: var(--font-family-serif),ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;
    font-style: italic;
    color: hsl(var(--gray-10))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote):before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: .25rem;
    border-radius: .25rem;
    content: var(--tw-content);
    background-color: hsl(var(--gray-4))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote) {
    margin-top: 1.6em;
    margin-bottom: 1.6em;
    padding-left: 1.5em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote) p:first-of-type:before {
    content: open-quote;
    position: absolute;
    --tw-translate-x: -0.375rem;
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    font-style: normal
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote) p:last-of-type:after {
    content: close-quote;
    margin-left: .125rem;
    font-style: normal
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote) :where(code):not(.shiki code),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote) :where(kbd),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote) :where(strong) {
    color: inherit
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(table) {
    width: 100%;
    table-layout: auto;
    text-align: left;
    margin-top: 2em;
    margin-bottom: 2em;
    font-size: .875em;
    line-height: 1.75
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(table) thead th {
    vertical-align: bottom;
    font-weight: 500;
    color: hsl(var(--gray-12));
    padding-left: .5714286em;
    padding-right: .5714286em;
    padding-bottom: .5714286em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(table) thead th:first-child {
    padding-left: 0
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(table) thead th:last-child {
    padding-right: 0
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(table) tbody td {
    vertical-align: baseline;
    padding: .5714286em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(table) tbody td:first-child {
    padding-left: 0
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(table) tbody td:last-child {
    padding-right: 0
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(table) tbody tr:first-child td {
    padding-top: .8571428571em
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(table) thead {
    border-bottom-width: 1px;
    border-bottom-color: hsl(var(--gray-4))
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(hr) {
    border-top-width: 1px;
    border-style: dashed;
    border-color: hsl(var(--gray-5));
    margin: 3em 0
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2+*),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3+*),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(hr+*) {
    margin-top: 0
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)) .data-footnote-backref {
    font-family: var(--font-family-sans)
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(.prose>:first-child) {
    margin-top: 0
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(.prose>:last-child:not(hr)) {
    margin-bottom: 0
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where([data-footnotes]) {
    font-size: .875rem;
    line-height: 1.25rem
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where([data-footnote-ref]) {
    scroll-margin: calc(4vw + 6vh)
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where([data-footnote-ref]):before {
    content: "["
}

.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where([data-footnote-ref]):after {
    content: "]"
}

:root.dark .shiki,:root.dark .shiki span:not(.line-number) {
    color: var(--shiki-dark)!important
}

.code-block .shiki {
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: .8125rem;
    line-height: 1.25rem;
    font-variant-ligatures: none
}

.code-block .shiki code {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding-left: 1rem;
    padding-right: 1rem
}

.code-block .shiki[data-single-line=true] code {
    padding-right: 2.5rem
}

.code-block .shiki.has-focused .line {
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .3s;
    animation-duration: .3s
}

.code-block .shiki.has-focused .line:not(.focused) {
    opacity: .7;
    --tw-blur: blur(2px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

@media (hover: hover) {
    .code-block .shiki.has-focused:hover .line {
        opacity:1;
        --tw-blur: blur(0);
        filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
    }
}

.code-block .shiki .line-number {
    position: sticky;
    left: 0;
    z-index: 10;
    margin-left: -1rem;
    display: inline-block;
    background-color: hsl(var(--gray-1));
    padding-left: 1rem;
    padding-right: 1rem;
    text-align: right;
    color: hsl(var(--gray-8))
}

.code-block .shiki .line-number:is(.dark *) {
    background-color: hsl(var(--gray-2))
}

.code-block .shiki .line-number {
    width: calc(2rem + 2ch)
}

.code-block .shiki .line {
    position: relative;
    display: inline-block;
    width: 100%
}

.code-block .shiki .line.highlighted {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    width: calc(100% + 2rem)
}

.code-block .shiki .line.highlighted .line-number {
    border-left-width: 2px;
    padding-left: calc(1rem - 2px)
}

.code-block .shiki .line.highlighted:not(:has(.line-number)):before {
    content: "‎";
    position: sticky;
    left: 0;
    margin-left: -1rem;
    display: inline-block;
    border-left-width: 2px;
    padding-left: calc(1rem - 2px)
}

.code-block .shiki .line.highlighted {
    background-color: hsl(var(--gray-3))
}

.code-block .shiki .line.highlighted:is(.dark *) {
    background-color: hsl(var(--gray-4))
}

.code-block .shiki .line.highlighted:before {
    border-color: hsl(var(--primary))
}

.code-block .shiki .line.highlighted .line-number {
    border-color: hsl(var(--primary));
    background-color: hsl(var(--gray-3));
    color: hsl(var(--gray-10))
}

.code-block .shiki .line.highlighted .line-number:is(.dark *) {
    background-color: hsl(var(--gray-4))
}

a {
    text-underline-offset: .125em
}

.container {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 674px
}

.figure-border:after {
    pointer-events: none;
    position: absolute;
    inset: 0;
    z-index: 20;
    border-radius: inherit;
    border-width: 1px;
    content: var(--tw-content);
    border-color: hsl(var(--gray-11)/.1)
}

.focusable {
    position: relative
}

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

.focusable:focus-visible:after {
    position: absolute;
    inset: 0;
    border-radius: .25rem;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);
    --tw-ring-inset: inset;
    content: var(--tw-content);
    --tw-ring-color: hsl(var(--primary))
}

.craft-container {
    position: relative;
    margin-top: 3rem;
    margin-bottom: 3rem;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-inline:-175px;padding-block:max(3rem,10%)}

@media not all and (min-width: calc(674px + 350px)) {
    .craft-container {
        margin-inline:calc((100vw - 674px) / -2)
    }
}

@media not all and (min-width: 674px) {
    .craft-container {
        margin-inline:0
    }
}

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

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

.visible {
    visibility: visible
}

.invisible {
    visibility: hidden
}

.\!static {
    position: static!important
}

.static {
    position: static
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.sticky {
    position: sticky
}

.inset-0 {
    inset: 0
}

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

.inset-x-4 {
    left: 1rem;
    right: 1rem
}

.bottom-0 {
    bottom: 0
}

.bottom-4 {
    bottom: 1rem
}

.left-0 {
    left: 0
}

.left-1\/2 {
    left: 50%
}

.right-0 {
    right: 0
}

.top-0 {
    top: 0
}

.top-1\/2 {
    top: 50%
}

.z-10 {
    z-index: 10
}

.z-20 {
    z-index: 20
}

.z-30 {
    z-index: 30
}

.z-50 {
    z-index: 50
}

.col-span-2 {
    grid-column: span 2/span 2
}

.col-span-4 {
    grid-column: span 4/span 4
}

.row-span-2 {
    grid-row: span 2/span 2
}

.-m-2 {
    margin: -.5rem
}

.m-0 {
    margin: 0
}

.m-1 {
    margin: .25rem
}

.-mx-2 {
    margin-left: -.5rem;
    margin-right: -.5rem
}

.-my-2 {
    margin-top: -.5rem;
    margin-bottom: -.5rem
}

.-my-4 {
    margin-top: -1rem;
    margin-bottom: -1rem
}

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

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

.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem
}

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

.-mr-0\.5 {
    margin-right: -.125rem
}

.mb-0\.5 {
    margin-bottom: .125rem
}

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

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

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

.ml-auto {
    margin-left: auto
}

.mr-0\.5 {
    margin-right: .125rem
}

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

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

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

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

.mt-auto {
    margin-top: auto
}

.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.inline {
    display: inline
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.grid {
    display: grid
}

.hidden {
    display: none
}

.size-1 {
    width: .25rem;
    height: .25rem
}

.size-12 {
    width: 3rem;
    height: 3rem
}

.size-16 {
    width: 4rem;
    height: 4rem
}

.size-3 {
    width: .75rem;
    height: .75rem
}

.size-4 {
    width: 1rem;
    height: 1rem
}

.size-6 {
    width: 1.5rem;
    height: 1.5rem
}

.size-8 {
    width: 2rem;
    height: 2rem
}

.size-9 {
    width: 2.25rem;
    height: 2.25rem
}

.size-\[0\.8em\] {
    width: .8em;
    height: .8em
}

.size-\[22px\] {
    width: 22px;
    height: 22px
}

.size-\[3px\] {
    width: 3px;
    height: 3px
}

.size-full {
    width: 100%;
    height: 100%
}

.h-1 {
    height: .25rem
}

.h-1\/3 {
    height: 33.333333%
}

.h-10 {
    height: 2.5rem
}

.h-20 {
    height: 5rem
}

.h-4 {
    height: 1rem
}

.h-8 {
    height: 2rem
}

.h-9 {
    height: 2.25rem
}

.h-auto {
    height: auto
}

.h-full {
    height: 100%
}

.min-h-0\.5 {
    min-height: .125rem
}

.w-20 {
    width: 5rem
}

.w-full {
    width: 100%
}

.min-w-0 {
    min-width: 0
}

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

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

.max-w-sm {
    max-width: 24rem
}

.max-w-xs {
    max-width: 20rem
}

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

.shrink-0 {
    flex-shrink: 0
}

.grow {
    flex-grow: 1
}

.origin-center {
    transform-origin: center
}

.-translate-x-1\/2 {
    --tw-translate-x: -50%
}

.-translate-x-1\/2,.-translate-y-1\/2 {
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-1\/2 {
    --tw-translate-y: -50%
}

.transform {
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

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

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

.cursor-grab {
    cursor: grab
}

.cursor-pointer {
    cursor: pointer
}

.touch-none {
    touch-action: none
}

.select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.resize {
    resize: both
}

.columns-1 {
    -moz-columns: 1;
    column-count: 1
}

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

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

.flex-row {
    flex-direction: row
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

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

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

.items-center {
    align-items: center
}

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

.justify-center {
    justify-content: center
}

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

.gap-0\.5 {
    gap: .125rem
}

.gap-1 {
    gap: .25rem
}

.gap-2 {
    gap: .5rem
}

.gap-3 {
    gap: .75rem
}

.gap-4 {
    gap: 1rem
}

.gap-5 {
    gap: 1.25rem
}

.gap-6 {
    gap: 1.5rem
}

.space-y-12>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem * var(--tw-space-y-reverse))
}

.divide-y>:not([hidden])~:not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse))
}

.divide-dashed>:not([hidden])~:not([hidden]) {
    border-style: dashed
}

.divide-gray-5>:not([hidden])~:not([hidden]) {
    border-color: hsl(var(--gray-5))
}

.overflow-hidden,.truncate {
    overflow: hidden
}

.truncate {
    text-overflow: ellipsis
}

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

.text-pretty {
    text-wrap: pretty
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-3xl {
    border-radius: 1.5rem
}

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

.rounded-inherit {
    border-radius: inherit
}

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

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

.rounded-sm {
    border-radius: .125rem
}

.rounded-xl {
    border-radius: .75rem
}

.rounded-es-lg {
    border-end-start-radius: .5rem
}

.rounded-se-lg {
    border-start-end-radius: .5rem
}

.\!border {
    border-width: 1px!important
}

.border {
    border-width: 1px
}

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

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

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

.border-l-2 {
    border-left-width: 2px
}

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

.border-dashed {
    border-style: dashed
}

.\!border-transparent {
    border-color: transparent!important
}

.border-gray-12\/5 {
    border-color: hsl(var(--gray-12)/.05)
}

.border-gray-4 {
    border-color: hsl(var(--gray-4))
}

.border-gray-5 {
    border-color: hsl(var(--gray-5))
}

.border-gray-6 {
    border-color: hsl(var(--gray-6))
}

.bg-gray-1 {
    background-color: hsl(var(--gray-1))
}

.bg-gray-1\/50 {
    background-color: hsl(var(--gray-1)/.5)
}

.bg-gray-1\/60 {
    background-color: hsl(var(--gray-1)/.6)
}

.bg-gray-12 {
    background-color: hsl(var(--gray-12))
}

.bg-gray-12\/10 {
    background-color: hsl(var(--gray-12)/.1)
}

.bg-gray-12\/20 {
    background-color: hsl(var(--gray-12)/.2)
}

.bg-gray-12\/75 {
    background-color: hsl(var(--gray-12)/.75)
}

.bg-gray-2 {
    background-color: hsl(var(--gray-2))
}

.bg-gray-3 {
    background-color: hsl(var(--gray-3))
}

.bg-gray-4 {
    background-color: hsl(var(--gray-4))
}

.bg-gray-4\/15 {
    background-color: hsl(var(--gray-4)/.15)
}

.bg-green-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(34 197 94/var(--tw-bg-opacity))
}

.bg-red-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68/var(--tw-bg-opacity))
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity))
}

.bg-white\/15 {
    background-color: hsla(0,0%,100%,.15)
}

.bg-white\/30 {
    background-color: hsla(0,0%,100%,.3)
}

.bg-gradient-to-b {
    background-image: linear-gradient(to bottom,var(--tw-gradient-stops))
}

.bg-gradient-to-t {
    background-image: linear-gradient(to top,var(--tw-gradient-stops))
}

.from-black\/60 {
    --tw-gradient-from: rgba(0,0,0,.6) var(--tw-gradient-from-position);
    --tw-gradient-to: transparent var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}

.from-gray-1 {
    --tw-gradient-from: hsl(var(--gray-1)) var(--tw-gradient-from-position);
    --tw-gradient-to: hsl(var(--gray-1)/0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}

.from-white\/60 {
    --tw-gradient-from: hsla(0,0%,100%,.6) var(--tw-gradient-from-position);
    --tw-gradient-to: hsla(0,0%,100%,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}

.to-black\/0 {
    --tw-gradient-to: transparent var(--tw-gradient-to-position)
}

.to-gray-1\/0 {
    --tw-gradient-to: hsl(var(--gray-1)/0) var(--tw-gradient-to-position)
}

.to-white\/0 {
    --tw-gradient-to: hsla(0,0%,100%,0) var(--tw-gradient-to-position)
}

.fill-none {
    fill: none
}

.stroke-current {
    stroke: currentColor
}

.object-contain {
    -o-object-fit: contain;
    object-fit: contain
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover
}

.p-0 {
    padding: 0
}

.p-1 {
    padding: .25rem
}

.p-2 {
    padding: .5rem
}

.p-3 {
    padding: .75rem
}

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

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

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

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

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

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

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

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

.py-\[calc\(4vw\+6vh\)\] {
    padding-top: calc(4vw + 6vh);
    padding-bottom: calc(4vw + 6vh)
}

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

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

.pt-\[52px\] {
    padding-top: 52px
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.font-mono {
    font-family: var(--font-family-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace
}

.font-sans {
    font-family: var(--font-family-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"
}

.font-serif {
    font-family: var(--font-family-serif),ui-serif,Georgia,Cambria,"Times New Roman",Times,serif
}

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

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

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

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

.font-medium {
    font-weight: 500
}

.font-normal {
    font-weight: 400
}

.font-semibold {
    font-weight: 600
}

.italic {
    font-style: italic
}

.tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)
}

.leading-4 {
    line-height: 1rem
}

.leading-6 {
    line-height: 1.5rem
}

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

.leading-none {
    line-height: 1
}

.leading-normal {
    line-height: 1.5
}

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

.text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0/var(--tw-text-opacity))
}

.text-current {
    color: currentColor
}

.text-gray-1 {
    color: hsl(var(--gray-1))
}

.text-gray-10 {
    color: hsl(var(--gray-10))
}

.text-gray-11 {
    color: hsl(var(--gray-11))
}


.text-gray-12\/50 {
    color: hsl(var(--gray-12)/.5)
}

.text-gray-12\/60 {
    color: hsl(var(--gray-12)/.6)
}

.text-gray-8 {
    color: hsl(var(--gray-8))
}

.text-primary {
    color: hsl(var(--primary))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity))
}

.text-white\/50 {
    color: hsla(0,0%,100%,.5)
}

.underline {
    text-decoration-line: underline
}

.no-underline {
    text-decoration-line: none
}

.decoration-gray-8 {
    text-decoration-color: hsl(var(--gray-8))
}

.\!opacity-100 {
    opacity: 1!important
}

.opacity-0 {
    opacity: 0
}

.opacity-50 {
    opacity: .5
}

.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)
}

.shadow-lg,.shadow-sm {
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}

.shadow-sm {
    --tw-shadow: var(--shadow-sm);
    --tw-shadow-colored: var(--shadow-sm)
}

.shadow-tooltip {
    --tw-shadow: var(--shadow-tooltip);
    --tw-shadow-colored: var(--shadow-tooltip);
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}

.outline {
    outline-style: solid
}

.blur {
    --tw-blur: blur(8px)
}

.blur,.blur-\[1px\] {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.blur-\[1px\] {
    --tw-blur: blur(1px)
}

.blur-lg {
    --tw-blur: blur(16px)
}

.blur-lg,.brightness-125 {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.brightness-125 {
    --tw-brightness: brightness(1.25)
}

.drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))
}

.drop-shadow,.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.backdrop-blur {
    --tw-backdrop-blur: blur(8px)
}

.backdrop-blur,.backdrop-blur-\[1px\] {
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-blur-\[1px\] {
    --tw-backdrop-blur: blur(1px)
}

.backdrop-blur-lg {
    --tw-backdrop-blur: blur(16px)
}

.backdrop-blur-lg,.backdrop-blur-xl {
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-blur-xl {
    --tw-backdrop-blur: blur(24px)
}

.transition {
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.transition-colors {
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

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

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

@keyframes enter {
    0% {
        opacity: var(--tw-enter-opacity,1);
        transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))
    }
}

@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity,1);
        transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))
    }
}

.animate-in {
    animation-name: enter;
    animation-duration: .15s;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial
}

.fade-in-0 {
    --tw-enter-opacity: 0
}

.zoom-in-95 {
    --tw-enter-scale: .95
}

.duration-1000 {
    animation-duration: 1s
}

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

.\*\:m-0>* {
    margin: 0
}

.\*\:size-full>* {
    width: 100%;
    height: 100%
}

.\*\:break-inside-avoid>* {
    -moz-column-break-inside: avoid;
    break-inside: avoid
}

.\*\:rounded-lg>* {
    border-radius: .5rem
}

.after\:pointer-events-none:after {
    content: var(--tw-content);
    pointer-events: none
}

.after\:absolute:after {
    content: var(--tw-content);
    position: absolute
}

.after\:inset-0:after {
    content: var(--tw-content);
    inset: 0
}

.after\:\!rounded-inherit:after {
    content: var(--tw-content);
    border-radius: inherit!important
}

.after\:rounded-inherit:after {
    content: var(--tw-content);
    border-radius: inherit
}

.after\:bg-gradient-to-t:after {
    content: var(--tw-content);
    background-image: linear-gradient(to top,var(--tw-gradient-stops))
}

.after\:from-white\/15:after {
    content: var(--tw-content);
    --tw-gradient-from: hsla(0,0%,100%,.15) var(--tw-gradient-from-position);
    --tw-gradient-to: hsla(0,0%,100%,0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
}

.after\:to-white\/0:after {
    content: var(--tw-content);
    --tw-gradient-to: hsla(0,0%,100%,0) var(--tw-gradient-to-position)
}

.after\:opacity-0:after {
    content: var(--tw-content);
    opacity: 0
}

.after\:transition-opacity:after {
    content: var(--tw-content);
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.last\:border-b-0:last-child {
    border-bottom-width: 0
}

@media (hover: hover) {
    .hover\:bg-white\/50:hover {
        background-color:hsla(0,0%,100%,.5)
    }

    .hover\:text-gray-12:hover {
        color: hsl(var(--gray-12))
    }

    .hover\:opacity-100:hover {
        opacity: 1
    }
}

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

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

.focus-visible\:ring-2:focus-visible {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)
}

.focus-visible\:ring-inset:focus-visible {
    --tw-ring-inset: inset
}

.focus-visible\:ring-primary:focus-visible {
    --tw-ring-color: hsl(var(--primary))
}

.active\:scale-105:active {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.active\:cursor-grabbing:active {
    cursor: grabbing
}

.active\:bg-white:active {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity))
}

.active\:text-gray-12:active {
    color: hsl(var(--gray-12))
}

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

.disabled\:opacity-50:disabled {
    opacity: .5
}

.group\/root:active .group-active\/root\:bg-gray-12 {
    background-color: hsl(var(--gray-12))
}

.group\/root:active .group-active\/root\:text-gray-12 {
    color: hsl(var(--gray-12))
}

.data-\[state\=closed\]\:animate-out[data-state=closed] {
    animation-name: exit;
    animation-duration: .15s;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial
}

.data-\[state\=closed\]\:fade-out-0[data-state=closed] {
    --tw-exit-opacity: 0
}

.data-\[state\=closed\]\:zoom-out-95[data-state=closed] {
    --tw-exit-scale: .95
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom] {
    --tw-enter-translate-y: -0.5rem
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side=left] {
    --tw-enter-translate-x: 0.5rem
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side=right] {
    --tw-enter-translate-x: -0.5rem
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top] {
    --tw-enter-translate-y: 0.5rem
}

@media not (hover: hover) {
    .touchscreen\:visible {
        visibility:visible
    }

    .touchscreen\:opacity-100 {
        opacity: 1
    }
}

@media (hover: hover) {
    .hfa\:border-gray-5:hover {
        border-color:hsl(var(--gray-5))
    }

    .hfa\:bg-gray-12\/10:hover {
        background-color: hsl(var(--gray-12)/.1)
    }

    .hfa\:bg-gray-12\/90:hover {
        background-color: hsl(var(--gray-12)/.9)
    }

    .hfa\:bg-gray-3:hover {
        background-color: hsl(var(--gray-3))
    }

    .hfa\:bg-gray-4:hover {
        background-color: hsl(var(--gray-4))
    }

    .hfa\:bg-gray-5:hover {
        background-color: hsl(var(--gray-5))
    }

    .hfa\:bg-white\/30:hover {
        background-color: hsla(0,0%,100%,.3)
    }

    .hfa\:text-gray-12:hover {
        color: hsl(var(--gray-12))
    }

    .hfa\:opacity-100:hover {
        opacity: 1
    }

    .hfa\:after\:opacity-100:hover:after {
        content: var(--tw-content);
        opacity: 1
    }
}

.hfa\:border-gray-5:focus-visible {
    border-color: hsl(var(--gray-5))
}

.hfa\:bg-gray-12\/10:focus-visible {
    background-color: hsl(var(--gray-12)/.1)
}

.hfa\:bg-gray-12\/90:focus-visible {
    background-color: hsl(var(--gray-12)/.9)
}

.hfa\:bg-gray-3:focus-visible {
    background-color: hsl(var(--gray-3))
}

.hfa\:bg-gray-4:focus-visible {
    background-color: hsl(var(--gray-4))
}

.hfa\:bg-gray-5:focus-visible {
    background-color: hsl(var(--gray-5))
}

.hfa\:bg-white\/30:focus-visible {
    background-color: hsla(0,0%,100%,.3)
}

.hfa\:text-gray-12:focus-visible {
    color: hsl(var(--gray-12))
}

.hfa\:opacity-100:focus-visible {
    opacity: 1
}

.hfa\:after\:opacity-100:focus-visible:after {
    content: var(--tw-content);
    opacity: 1
}

.hfa\:border-gray-5:active {
    border-color: hsl(var(--gray-5))
}

.hfa\:bg-gray-12\/10:active {
    background-color: hsl(var(--gray-12)/.1)
}

.hfa\:bg-gray-12\/90:active {
    background-color: hsl(var(--gray-12)/.9)
}

.hfa\:bg-gray-3:active {
    background-color: hsl(var(--gray-3))
}

.hfa\:bg-gray-4:active {
    background-color: hsl(var(--gray-4))
}

.hfa\:bg-gray-5:active {
    background-color: hsl(var(--gray-5))
}

.hfa\:bg-white\/30:active {
    background-color: hsla(0,0%,100%,.3)
}

.hfa\:text-gray-12:active {
    color: hsl(var(--gray-12))
}

.hfa\:opacity-100:active {
    opacity: 1
}

.hfa\:after\:opacity-100:active:after {
    content: var(--tw-content);
    opacity: 1
}

@media (hover: hover) {
    .group:hover .group-hfa\:visible {
        visibility:visible
    }

    .group:hover .group-hfa\:text-gray-12 {
        color: hsl(var(--gray-12))
    }

    .group:hover .group-hfa\:decoration-gray-12 {
        text-decoration-color: hsl(var(--gray-12))
    }

    .group:hover .group-hfa\:opacity-100 {
        opacity: 1
    }
}

.group:focus-visible .group-hfa\:visible {
    visibility: visible
}

.group:focus-visible .group-hfa\:text-gray-12 {
    color: hsl(var(--gray-12))
}

.group:focus-visible .group-hfa\:decoration-gray-12 {
    text-decoration-color: hsl(var(--gray-12))
}

.group:focus-visible .group-hfa\:opacity-100 {
    opacity: 1
}

.group:active .group-hfa\:visible {
    visibility: visible
}

.group:active .group-hfa\:text-gray-12 {
    color: hsl(var(--gray-12))
}

.group:active .group-hfa\:decoration-gray-12 {
    text-decoration-color: hsl(var(--gray-12))
}

.group:active .group-hfa\:opacity-100 {
    opacity: 1
}

.dark\:block:is(.dark *) {
    display: block
}

.dark\:hidden:is(.dark *) {
    display: none
}

.dark\:bg-gray-2:is(.dark *) {
    background-color: hsl(var(--gray-2))
}

.dark\:bg-gray-2\/60:is(.dark *) {
    background-color: hsl(var(--gray-2)/.6)
}

.dark\:opacity-30:is(.dark *) {
    opacity: .3
}

.dark\:brightness-75:is(.dark *) {
    --tw-brightness: brightness(.75);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

@media not all and (min-width: 640px) {
    .max-sm\:hidden {
        display:none
    }

    .max-sm\:flex-col {
        flex-direction: column
    }

    .max-sm\:gap-4 {
        gap: 1rem
    }

    .max-sm\:divide-y>:not([hidden])~:not([hidden]) {
        --tw-divide-y-reverse: 0;
        border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
        border-bottom-width: calc(1px * var(--tw-divide-y-reverse))
    }

    .max-sm\:divide-dashed>:not([hidden])~:not([hidden]) {
        border-style: dashed
    }

    .max-sm\:divide-gray-5>:not([hidden])~:not([hidden]) {
        border-color: hsl(var(--gray-5))
    }
}

@media not all and (min-width: 475px) {
    .max-xs\:flex {
        display:flex
    }

    .max-xs\:hidden {
        display: none
    }

    .max-xs\:flex-row-reverse {
        flex-direction: row-reverse
    }

    .max-xs\:flex-col {
        flex-direction: column
    }

    .max-xs\:items-center {
        align-items: center
    }

    .max-xs\:justify-between {
        justify-content: space-between
    }

    .max-xs\:border-b {
        border-bottom-width: 1px
    }

    .max-xs\:border-dashed {
        border-style: dashed
    }

    .max-xs\:border-gray-5 {
        border-color: hsl(var(--gray-5))
    }
}

@media (min-width: 475px) {
    .xs\:sticky {
        position:sticky
    }

    .xs\:top-\[calc\(4vw\+6vh\)\] {
        top: calc(4vw + 6vh)
    }

    .xs\:hidden {
        display: none
    }

    .xs\:size-1\.5 {
        width: .375rem;
        height: .375rem
    }

    .xs\:size-4 {
        width: 1rem;
        height: 1rem
    }

    .xs\:size-5 {
        width: 1.25rem;
        height: 1.25rem
    }

    .xs\:size-8 {
        width: 2rem;
        height: 2rem
    }

    .xs\:h-1\.5 {
        height: .375rem
    }

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

    .xs\:w-\[4ch\] {
        width: 4ch
    }

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

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

    .xs\:gap-4 {
        gap: 1rem
    }

    .xs\:p-0 {
        padding: 0
    }

    .xs\:p-4 {
        padding: 1rem
    }

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

    @media not all and (min-width: 640px) {
        .xs\:max-sm\:gap-4 {
            gap:1rem
        }
    }
}

@media (min-width: 640px) {
    .sm\:-my-2\.5 {
        margin-top:-.625rem;
        margin-bottom: -.625rem
    }

    .sm\:my-2\.5 {
        margin-top: .625rem;
        margin-bottom: .625rem
    }

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

    .sm\:max-w-\[60\%\] {
        max-width: 60%
    }

    .sm\:columns-2 {
        -moz-columns: 2;
        column-count: 2
    }

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

    .sm\:gap-4 {
        gap: 1rem
    }

    .sm\:rounded-3xl {
        border-radius: 1.5rem
    }

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

@media (min-width: 1024px) {
    .lg\:columns-3 {
        -moz-columns:3;
        column-count: 3
    }
}

.\[\&_a\]\:ring-offset-gray-3 a {
    --tw-ring-offset-color: hsl(var(--gray-3))
}
