@font-face {
    font-family: Kode Mono;
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url(/fonts/kode/variable.woff2) format("woff2")
}

@font-face {
    font-family: Handjet;
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(/fonts/handjet/variable.woff2) format("woff2")
}

@layer properties {
    @supports (((-webkit-hyphens: none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
        *,:before,:after,::backdrop {
            --tw-translate-x:0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-border-style: solid;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial;
            --tw-duration: initial;
            --tw-space-y-reverse: 0
        }
    }
}

@layer theme {
    :root,:host {
        --font-sans: ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
        --font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
        --color-red-500: oklch(63.7% .237 25.331);
        --color-blue-300: oklch(80.9% .105 251.813);
        --color-blue-500: oklch(62.3% .214 259.815);
        --color-neutral-100: oklch(97% 0 0);
        --color-neutral-200: oklch(92.2% 0 0);
        --color-neutral-300: oklch(87% 0 0);
        --color-neutral-400: oklch(70.8% 0 0);
        --color-neutral-500: oklch(55.6% 0 0);
        --color-neutral-600: oklch(43.9% 0 0);
        --color-neutral-700: oklch(37.1% 0 0);
        --color-neutral-800: oklch(26.9% 0 0);
        --color-neutral-900: oklch(20.5% 0 0);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-2xl: 42rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75/1.125);
        --text-7xl: 4.5rem;
        --text-7xl--line-height: 1;
        --text-8xl: 6rem;
        --text-8xl--line-height: 1;
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --leading-tight: 1.25;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4,0,.2,1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --color-green: #af0;
        --color-forground: white;
        --color-background: var(--background);
        --color-muted-gray: var(--color-muted-gray);
        --color-foreground: var(--foreground);
        --color-highlight: var(--color-green)
    }
}

@layer base {
    *,:after,:before,::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,: host {
        -webkit-text-size-adjust:100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings,normal);
        font-variation-settings: var(--default-font-variation-settings,normal);
        -webkit-tap-highlight-color: transparent
    }

    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;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,strong {
        font-weight: bolder
    }

    code,kbd,samp,pre {
        font-family: var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);
        font-feature-settings: var(--default-mono-font-feature-settings,normal);
        font-variation-settings: var(--default-mono-font-variation-settings,normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,ul,menu {
        list-style: none
    }

    img,svg,video,canvas,audio,iframe,embed,object {
        vertical-align: middle;
        display: block
    }

    img,video {
        max-width: 100%;
        height: auto
    }

    button,input,select,optgroup,textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select: is([multiple],[size])) optgroup {
        font-weight:bolder
    }

    :where(select: is([multiple],[size])) optgroup option {
        padding-inline-start:20px
    }

    ::file-selector-button {
        margin-inline-end:4px}

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color:currentColor
        }

        @supports (color: color-mix(in lab,red,red)) {
            ::placeholder {
                color:color-mix(in oklab,currentcolor 50%,transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block:0}

    ::-webkit-datetime-edit-year-field {
        padding-block:0}

    ::-webkit-datetime-edit-month-field {
        padding-block:0}

    ::-webkit-datetime-edit-day-field {
        padding-block:0}

    ::-webkit-datetime-edit-hour-field {
        padding-block:0}

    ::-webkit-datetime-edit-minute-field {
        padding-block:0}

    ::-webkit-datetime-edit-second-field {
        padding-block:0}

    ::-webkit-datetime-edit-millisecond-field {
        padding-block:0}

    ::-webkit-datetime-edit-meridiem-field {
        padding-block:0}

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,input: where([type=button],[type=reset],[type=submit]) {
        appearance:button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]: where(:not([hidden=until-found])) {
        display:none!important
    }

    * {
        border-color: var(--border);
        outline-color: var(--ring)
    }

    @supports (color: color-mix(in lab,red,red)) {
        * {
            outline-color:color-mix(in oklab,var(--ring)50%,transparent)
        }
    }

    body {
        background-color: var(--background);
        color: var(--foreground)
    }
}

@layer components;@layer utilities {
    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .inset-0 {
        inset: calc(var(--spacing)*0)
    }

    .-top-1 {
        top: calc(var(--spacing)*-1)
    }

    .top-0 {
        top: calc(var(--spacing)*0)
    }

    .top-1 {
        top: calc(var(--spacing)*1)
    }

    .top-1\/2 {
        top: 50%
    }

    .right-1 {
        right: calc(var(--spacing)*1)
    }

    .bottom-1 {
        bottom: calc(var(--spacing)*1)
    }

    .-left-1 {
        left: calc(var(--spacing)*-1)
    }

    .left-0 {
        left: calc(var(--spacing)*0)
    }

    .left-1 {
        left: calc(var(--spacing)*1)
    }

    .z-10 {
        z-index: 10
    }

    .z-20 {
        z-index: 20
    }

    .z-50 {
        z-index: 50
    }

    .container {
        width: 100%
    }

    @media (min-width: 40rem) {
        .container {
            max-width:40rem
        }
    }

    @media (min-width: 48rem) {
        .container {
            max-width:48rem
        }
    }

    @media (min-width: 64rem) {
        .container {
            max-width:64rem
        }
    }

    @media (min-width: 80rem) {
        .container {
            max-width:80rem
        }
    }

    @media (min-width: 96rem) {
        .container {
            max-width:96rem
        }
    }

    .mx-2 {
        margin-inline:calc(var(--spacing)*2)}

    .mx-auto {
        margin-inline: auto
    }

    .my-4 {
        margin-block:calc(var(--spacing)*4)}

    .my-28 {
        margin-block: calc(var(--spacing)*28)
    }

    .mt-5 {
        margin-top: calc(var(--spacing)*5)
    }

    .mt-auto {
        margin-top: auto
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing)*4)
    }

    .mb-5 {
        margin-bottom: calc(var(--spacing)*5)
    }

    .mb-44 {
        margin-bottom: calc(var(--spacing)*44)
    }

    .line-clamp-3 {
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .h-2 {
        height: calc(var(--spacing)*2)
    }

    .h-3 {
        height: calc(var(--spacing)*3)
    }

    .h-4 {
        height: calc(var(--spacing)*4)
    }

    .h-6 {
        height: calc(var(--spacing)*6)
    }

    .h-10 {
        height: calc(var(--spacing)*10)
    }

    .h-16 {
        height: calc(var(--spacing)*16)
    }

    .h-32 {
        height: calc(var(--spacing)*32)
    }

    .h-fit {
        height: fit-content
    }

    .h-full {
        height: 100%
    }

    .max-h-\[25dvh\] {
        max-height: 25dvh
    }

    .w-0\.5 {
        width: calc(var(--spacing)*.5)
    }

    .w-2 {
        width: calc(var(--spacing)*2)
    }

    .w-3 {
        width: calc(var(--spacing)*3)
    }

    .w-6 {
        width: calc(var(--spacing)*6)
    }

    .w-10 {
        width: calc(var(--spacing)*10)
    }

    .w-32 {
        width: calc(var(--spacing)*32)
    }

    .w-fit {
        width: fit-content
    }

    .w-full {
        width: 100%
    }

    .max-w-2xl {
        max-width: var(--container-2xl)
    }

    .max-w-\[90rem\] {
        max-width: 90rem
    }

    .max-w-\[400px\] {
        max-width: 400px
    }

    .max-w-\[470px\] {
        max-width: 470px
    }

    .max-w-\[491px\] {
        max-width: 491px
    }

    .max-w-\[1400px\] {
        max-width: 1400px
    }

    .\!min-w-full {
        min-width: 100%!important
    }

    .flex-1 {
        flex: 1
    }

    .flex-shrink,.shrink {
        flex-shrink: 1
    }

    .-translate-y-1\/2 {
        --tw-translate-y: -50% ;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .transform {
        transform: var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)
    }

    .cursor-ew-resize {
        cursor: ew-resize
    }

    .cursor-pointer {
        cursor: pointer
    }

    .resize {
        resize: both
    }

    .flex-col {
        flex-direction: column
    }

    .items-center {
        align-items: center
    }

    .justify-between {
        justify-content: space-between
    }

    .justify-center {
        justify-content: center
    }

    .gap-1 {
        gap: calc(var(--spacing)*1)
    }

    .gap-2 {
        gap: calc(var(--spacing)*2)
    }

    .overflow-hidden {
        overflow: hidden
    }

    .overflow-x-auto {
        overflow-x: auto
    }

    .overflow-y-visible {
        overflow-y: visible
    }

    .rounded {
        border-radius: .25rem
    }

    .rounded-full {
        border-radius: 3.40282e38px
    }

    .rounded-lg {
        border-radius: var(--radius)
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-2 {
        border-style: var(--tw-border-style);
        border-width: 2px
    }

    .border-r {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .border-\[\#292929\] {
        border-color: #292929
    }

    .border-neutral-200 {
        border-color: var(--color-neutral-200)
    }

    .border-neutral-300 {
        border-color: var(--color-neutral-300)
    }

    .border-white {
        border-color: var(--color-white)
    }

    .bg-black {
        background-color: var(--color-black)
    }

    .bg-black\/80 {
        background-color: #000c
    }

    @supports (color: color-mix(in lab,red,red)) {
        .bg-black\/80 {
            background-color:color-mix(in oklab,var(--color-black)80%,transparent)
        }
    }

    .bg-blue-300 {
        background-color: var(--color-blue-300)
    }

    .bg-blue-500 {
        background-color: var(--color-blue-500)
    }

    .bg-neutral-100 {
        background-color: var(--color-neutral-100)
    }

    .bg-neutral-200 {
        background-color: var(--color-neutral-200)
    }

    .bg-neutral-400 {
        background-color: var(--color-neutral-400)
    }

    .bg-red-500 {
        background-color: var(--color-red-500)
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .bg-gradient-to-b {
        --tw-gradient-position: to bottom in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops))
    }

    .from-black {
        --tw-gradient-from: var(--color-black);
        --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .from-transparent {
        --tw-gradient-from: transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .from-0\% {
        --tw-gradient-from-position: 0%
    }

    .from-60\% {
        --tw-gradient-from-position: 60%
    }

    .to-inherit {
        --tw-gradient-to: inherit;
        --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .to-transparent {
        --tw-gradient-to: transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .to-50\% {
        --tw-gradient-to-position: 50%
    }

    .to-100\% {
        --tw-gradient-to-position: 100%
    }

    .mask-repeat {
        -webkit-mask-repeat: repeat;
        mask-repeat: repeat
    }

    .\!p-0 {
        padding: calc(var(--spacing)*0)!important
    }

    .p-2 {
        padding: calc(var(--spacing)*2)
    }

    .p-4 {
        padding: calc(var(--spacing)*4)
    }

    .p-8 {
        padding: calc(var(--spacing)*8)
    }

    .\!px-\[1rem\] {
        padding-inline: 1rem!important
    }

    .px-1 {
        padding-inline:calc(var(--spacing)*1)}

    .px-2 {
        padding-inline: calc(var(--spacing)*2)
    }

    .px-4 {
        padding-inline:calc(var(--spacing)*4)}

    .px-\[1rem\] {
        padding-inline: 1rem
    }

    .py-1 {
        padding-block:calc(var(--spacing)*1)}

    .py-4 {
        padding-block: calc(var(--spacing)*4)
    }

    .pt-3 {
        padding-top: calc(var(--spacing)*3)
    }

    .pt-4 {
        padding-top: calc(var(--spacing)*4)
    }

    .pt-10 {
        padding-top: calc(var(--spacing)*10)
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing)*2)
    }

    .pb-10 {
        padding-bottom: calc(var(--spacing)*10)
    }

    .text-center {
        text-align: center
    }

    .font-\[Handjet\] {
        font-family: Handjet
    }

    .font-jet {
        font-family: JetBrains Mono Variable,monospace
    }

    .text-lg {
        font-size: var(--text-lg);
        line-height: var(--tw-leading,var(--text-lg--line-height))
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading,var(--text-sm--line-height))
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading,var(--text-xs--line-height))
    }

    .\!text-\[2rem\] {
        font-size: 2rem!important
    }

    .text-\[3rem\] {
        font-size: 3rem
    }

    .text-\[64px\] {
        font-size: 64px
    }

    .leading-\[3\.5rem\] {
        --tw-leading: 3.5rem;
        line-height: 3.5rem
    }

    .leading-tight {
        --tw-leading: var(--leading-tight);
        line-height: var(--leading-tight)
    }

    .\!font-medium {
        --tw-font-weight: var(--font-weight-medium)!important;
        font-weight: var(--font-weight-medium)!important
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .font-normal {
        --tw-font-weight: var(--font-weight-normal);
        font-weight: var(--font-weight-normal)
    }

    .text-balance {
        text-wrap: balance
    }

    .text-wrap {
        text-wrap: wrap
    }

    .\!text-\[\#757575\] {
        color: #757575!important
    }

    .\!text-\[\#ffffffb3\] {
        color: #ffffffb3!important
    }

    .text-\[\#686868\] {
        color: #686868
    }

    .text-highlight {
        color: var(--color-green)
    }

    .text-neutral-600 {
        color: var(--color-neutral-600)
    }

    .text-neutral-700 {
        color: var(--color-neutral-700)
    }

    .text-neutral-800 {
        color: var(--color-neutral-800)
    }

    .text-white {
        color: var(--color-white)
    }

    .uppercase {
        text-transform: uppercase
    }

    .opacity-60 {
        opacity: .6
    }

    .opacity-70 {
        opacity: .7
    }

    .opacity-80 {
        opacity: .8
    }

    .opacity-90 {
        opacity: .9
    }

    .opacity-100 {
        opacity: 1
    }

    .shadow {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-sm {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .blur {
        --tw-blur: blur(8px);
        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,)
    }

    .grayscale {
        --tw-grayscale: grayscale(100%);
        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,)
    }

    .invert {
        --tw-invert: invert(100%);
        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,)
    }

    .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-\[5px\] {
        --tw-backdrop-blur: blur(5px);
        -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-filter {
        -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,)
    }

    .transition {
        transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-all {
        transition-property: all;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-colors {
        transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-opacity {
        transition-property: opacity;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .duration-200 {
        --tw-duration: .2s;
        transition-duration: .2s
    }

    @media (hover: hover) {
        .hover\:-translate-x-2:hover {
            --tw-translate-x:calc(var(--spacing)*-2);
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .hover\:-translate-y-2:hover {
            --tw-translate-y: calc(var(--spacing)*-2);
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .hover\:border-highlight:hover {
            border-color: var(--color-green)
        }

        .hover\:bg-neutral-200:hover {
            background-color: var(--color-neutral-200)
        }

        .hover\:opacity-80:hover {
            opacity: .8
        }

        .hover\:opacity-100:hover {
            opacity: 1
        }
    }

    @media not all and (min-width: 48rem) {
        .max-md\:bg-gradient-to-b {
            --tw-gradient-position:to bottom in oklab;
            background-image: linear-gradient(var(--tw-gradient-stops))
        }
    }

    @media (min-width: 40rem) {
        .sm\:h-10 {
            height:calc(var(--spacing)*10)
        }

        .sm\:px-3 {
            padding-inline:calc(var(--spacing)*3)}

        .sm\: px-4 {
            padding-inline:calc(var(--spacing)*4)
        }
    }

    @media (min-width: 48rem) {
        .md\:my-\[10rem\] {
            margin-block:10rem
        }

        .md\:my-\[32rem\] {
            margin-block:32rem}

        .md\:mt-0 {
            margin-top: calc(var(--spacing)*0)
        }

        .md\:mt-56 {
            margin-top: calc(var(--spacing)*56)
        }

        .md\:mb-0 {
            margin-bottom: calc(var(--spacing)*0)
        }

        .md\:h-4 {
            height: calc(var(--spacing)*4)
        }

        .md\:w-3 {
            width: calc(var(--spacing)*3)
        }

        .md\:flex-row {
            flex-direction: row
        }

        :where(.md\:space-y-\[4rem\]>:not(:last-child)) {
            --tw-space-y-reverse: 0;
            margin-block-start:calc(4rem*var(--tw-space-y-reverse));margin-block-end: calc(4rem*calc(1 - var(--tw-space-y-reverse)))
        }

        .md\:px-4 {
            padding-inline:calc(var(--spacing)*4)}

        .md\: px-8 {
            padding-inline:calc(var(--spacing)*8)
        }

        .md\:pb-32 {
            padding-bottom: calc(var(--spacing)*32)
        }

        .md\:text-7xl {
            font-size: var(--text-7xl);
            line-height: var(--tw-leading,var(--text-7xl--line-height))
        }

        .md\:\!text-\[4rem\] {
            font-size: 4rem!important
        }

        .md\:text-\[14px\] {
            font-size: 14px
        }

        .md\:leading-\[5rem\] {
            --tw-leading: 5rem;
            line-height: 5rem
        }
    }

    @media (min-width: 64rem) {
        .lg\:h-auto {
            height:auto
        }

        .lg\:w-11\/12 {
            width: 91.6667%
        }

        .lg\:grow {
            flex-grow: 1
        }

        .lg\:px-5 {
            padding-inline:calc(var(--spacing)*5)}

        .lg\: px-14 {
            padding-inline:calc(var(--spacing)*14)
        }

        .lg\:text-8xl {
            font-size: var(--text-8xl);
            line-height: var(--tw-leading,var(--text-8xl--line-height))
        }

        .lg\:leading-\[7rem\] {
            --tw-leading: 7rem;
            line-height: 7rem
        }
    }

    @media (min-width: 80rem) {
        .xl\:px-20 {
            padding-inline:calc(var(--spacing)*20)
        }
    }

    .dark\: border-neutral-600:is(.dark *) {
        border-color:var(--color-neutral-600)
    }

    .dark\: border-neutral-700:is(.dark *) {
        border-color:var(--color-neutral-700)
    }

    .dark\: bg-neutral-500:is(.dark *) {
        background-color:var(--color-neutral-500)
    }

    .dark\: bg-neutral-700:is(.dark *) {
        background-color:var(--color-neutral-700)
    }

    .dark\: bg-neutral-800:is(.dark *) {
        background-color:var(--color-neutral-800)
    }

    .dark\: bg-neutral-900:is(.dark *) {
        background-color:var(--color-neutral-900)
    }

    .dark\: text-neutral-200:is(.dark *) {
        color:var(--color-neutral-200)
    }

    .dark\: text-neutral-300:is(.dark *) {
        color:var(--color-neutral-300)
    }

    .dark\: text-neutral-400:is(.dark *) {
        color:var(--color-neutral-400)
    }

    @media (hover: hover) {
        .dark\:hover\:bg-neutral-700:is(.dark *):hover {
            background-color:var(--color-neutral-700)
        }
    }
}

:root {
    --nav-height: 90px;
    --radius: .625rem;
    --background: oklch(100% 0 0);
    --foreground: oklch(14.5% 0 0);
    --card: oklch(100% 0 0);
    --card-foreground: oklch(14.5% 0 0);
    --popover: oklch(100% 0 0);
    --popover-foreground: oklch(14.5% 0 0);
    --primary: oklch(20.5% 0 0);
    --primary-foreground: oklch(98.5% 0 0);
    --secondary: oklch(97% 0 0);
    --secondary-foreground: oklch(20.5% 0 0);
    --muted: oklch(38.67% 0 0);
    --muted-foreground: oklch(57.61% 0 0);
    --accent: oklch(97% 0 0);
    --accent-foreground: oklch(20.5% 0 0);
    --destructive: oklch(57.7% .245 27.325);
    --border: oklch(92.2% 0 0);
    --input: oklch(92.2% 0 0);
    --ring: oklch(70.8% 0 0);
    --chart-1: oklch(64.6% .222 41.116);
    --chart-2: oklch(60% .118 184.704);
    --chart-3: oklch(39.8% .07 227.392);
    --chart-4: oklch(82.8% .189 84.429);
    --chart-5: oklch(76.9% .188 70.08);
    --sidebar: oklch(98.5% 0 0);
    --sidebar-foreground: oklch(14.5% 0 0);
    --sidebar-primary: oklch(20.5% 0 0);
    --sidebar-primary-foreground: oklch(98.5% 0 0);
    --sidebar-accent: oklch(97% 0 0);
    --sidebar-accent-foreground: oklch(20.5% 0 0);
    --sidebar-border: oklch(92.2% 0 0);
    --sidebar-ring: oklch(70.8% 0 0)
}

html,body {
    width: 100%;
    height: 100%;
    color: var(--color-forground);
    margin: 0;
    padding: 0;
    font-family: Kode Mono
}

* {
    box-sizing: border-box
}

body {
    background-color: #000
}

body:after {
    content: "";
    opacity: .08;
    pointer-events: none;
    z-index: -1;
    mix-blend-mode: hard-light;
    background-image: url(/noise.jpg);
    position: fixed;
    inset: 0
}

.typewriter {
    border-right: 10px solid var(--color-highlight);
    white-space: nowrap;
    max-width: fit-content;
    padding-right: 2.5px;
    animation: 5s paused typing,.75s step-end infinite blink;
    overflow: hidden
}

.typewriter.animate {
    animation: 5s forwards typing,.75s step-end infinite blink
}

@keyframes typing {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes blink {
    0%,to {
        border-color: #0000
    }

    50% {
        border-color: var(--color-highlight)
    }
}

/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens: none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
        *,:before,:after,::backdrop {
            --tw-translate-x:0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-border-style: solid;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial;
            --tw-duration: initial;
            --tw-space-y-reverse: 0
        }
    }
}

@layer theme {
    :root,:host {
        --font-sans: ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
        --font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
        --color-red-500: oklch(63.7% .237 25.331);
        --color-blue-300: oklch(80.9% .105 251.813);
        --color-blue-500: oklch(62.3% .214 259.815);
        --color-neutral-100: oklch(97% 0 0);
        --color-neutral-200: oklch(92.2% 0 0);
        --color-neutral-300: oklch(87% 0 0);
        --color-neutral-400: oklch(70.8% 0 0);
        --color-neutral-500: oklch(55.6% 0 0);
        --color-neutral-600: oklch(43.9% 0 0);
        --color-neutral-700: oklch(37.1% 0 0);
        --color-neutral-800: oklch(26.9% 0 0);
        --color-neutral-900: oklch(20.5% 0 0);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-2xl: 42rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75/1.125);
        --text-7xl: 4.5rem;
        --text-7xl--line-height: 1;
        --text-8xl: 6rem;
        --text-8xl--line-height: 1;
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --leading-tight: 1.25;
        --radius-lg: .5rem;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4,0,.2,1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono)
    }
}

@layer base {
    *,:after,:before,::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,: host {
        -webkit-text-size-adjust:100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings,normal);
        font-variation-settings: var(--default-font-variation-settings,normal);
        -webkit-tap-highlight-color: transparent
    }

    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;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,strong {
        font-weight: bolder
    }

    code,kbd,samp,pre {
        font-family: var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);
        font-feature-settings: var(--default-mono-font-feature-settings,normal);
        font-variation-settings: var(--default-mono-font-variation-settings,normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,ul,menu {
        list-style: none
    }

    img,svg,video,canvas,audio,iframe,embed,object {
        vertical-align: middle;
        display: block
    }

    img,video {
        max-width: 100%;
        height: auto
    }

    button,input,select,optgroup,textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select: is([multiple],[size])) optgroup {
        font-weight:bolder
    }

    :where(select: is([multiple],[size])) optgroup option {
        padding-inline-start:20px
    }

    ::file-selector-button {
        margin-inline-end:4px}

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color:currentColor
        }

        @supports (color: color-mix(in lab,red,red)) {
            ::placeholder {
                color:color-mix(in oklab,currentcolor 50%,transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block:0}

    ::-webkit-datetime-edit-year-field {
        padding-block:0}

    ::-webkit-datetime-edit-month-field {
        padding-block:0}

    ::-webkit-datetime-edit-day-field {
        padding-block:0}

    ::-webkit-datetime-edit-hour-field {
        padding-block:0}

    ::-webkit-datetime-edit-minute-field {
        padding-block:0}

    ::-webkit-datetime-edit-second-field {
        padding-block:0}

    ::-webkit-datetime-edit-millisecond-field {
        padding-block:0}

    ::-webkit-datetime-edit-meridiem-field {
        padding-block:0}

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,input: where([type=button],[type=reset],[type=submit]) {
        appearance:button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]: where(:not([hidden=until-found])) {
        display:none!important
    }

    h1,h2,h3 {
        text-transform: uppercase;
        letter-spacing: .05em;
        color: var(--color-forground);
        margin: 0;
        font-family: Handjet;
        font-weight: 500;
        line-height: 1!important
    }

    h2 {
        text-wrap: balance;
        font-size: 1.75rem
    }

    @media (max-width: 768px) {
        h2 {
            font-size:64px
        }
    }

    @media (min-width: 640px) {
        h2 {
            font-size:2.5rem
        }
    }

    @media (min-width: 768px) {
        h2 {
            font-size:3rem
        }
    }

    @media (min-width: 1024px) {
        h2 {
            font-size:4rem
        }
    }

    h3 {
        margin-block-end: .5rem;
        font-size: 1.25rem
    }

    @media (min-width: 768px) {
        h3 {
            font-size:1.5rem
        }
    }

    p {
        color: #ffffffb3;
        margin: 0;
        margin-block-end:1rem;font-family: Kode Mono;
        font-size: 1rem;
        line-height: 1.6
    }

    @media (min-width: 640px) {
        p {
            font-size:1.125rem
        }
    }

    @media (min-width: 768px) {
        p {
            font-size:1.25rem
        }
    }

    ul {
        margin: 0;
        padding: 0;
        list-style: none
    }

    ul li {
        color: #ffffffb3;
        margin-block-end:.5rem;font-family: Kode Mono
    }

    ul li strong {
        color: var(--color-forground)
    }

    a {
        color: var(--color-forground);
        font-family: Kode Mono;
        text-decoration: none;
        transition: all .2s
    }

    a: hover {
        color:var(--color-green)
    }

    nav {
        flex-direction: column;
        gap: 1rem;
        display: flex
    }

    @media (min-width: 640px) {
        nav {
            flex-direction:row;
            justify-content: center
        }
    }

    figure {
        background: #ffffff0d;
        border: 1px solid #ffffff1a;
        width: 100%;
        height: 200px;
        margin: 0;
        position: relative;
        overflow: hidden
    }

    @media (min-width: 768px) {
        figure {
            aspect-ratio:16/9;
            height: 100%
        }
    }

    details {
        background: #ffffff05;
        border: 1px solid #ffffff1a;
        margin-block-end:1rem;padding: 1rem;
        transition: opacity .7s .7s,transform .7s .7s
    }

    @media (min-width: 768px) {
        details {
            padding:1.5rem
        }
    }

    details summary {
        color: var(--color-forground);
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: .05em;
        justify-content: space-between;
        align-items: center;
        font-family: Handjet;
        font-size: 1rem;
        font-weight: 600;
        list-style: none;
        transition: opacity .7s .7s,transform .7s .7s;
        display: flex
    }

    @media (min-width: 768px) {
        details summary {
            font-size:1.1rem
        }
    }

    details summary: :-webkit-details-marker {
        display:none
    }

    details summary: after {
        content:"";
        background-color: var(--color-green);
        width: 1em;
        height: 1em;
        transition: transform .2s;
        display: inline-block;
        -webkit-mask: url(/plus.svg) 50%/contain no-repeat;
        mask: url(/plus.svg) 50%/contain no-repeat
    }

    details[open] summary: after {
        transition:transform .5s;
        transform: rotate(46deg)
    }

    details p {
        margin-block-start: 1rem;
        font-size: .95rem;
        font-family: Kode Mono!important
    }

    @media (min-width: 768px) {
        details p {
            font-size:1rem
        }
    }
}

@layer components;@layer utilities {
    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .inset-0 {
        inset: calc(var(--spacing)*0)
    }

    .-top-1 {
        top: calc(var(--spacing)*-1)
    }

    .top-0 {
        top: calc(var(--spacing)*0)
    }

    .top-1 {
        top: calc(var(--spacing)*1)
    }

    .top-1\/2 {
        top: 50%
    }

    .right-1 {
        right: calc(var(--spacing)*1)
    }

    .bottom-1 {
        bottom: calc(var(--spacing)*1)
    }

    .-left-1 {
        left: calc(var(--spacing)*-1)
    }

    .left-0 {
        left: calc(var(--spacing)*0)
    }

    .left-1 {
        left: calc(var(--spacing)*1)
    }

    .z-10 {
        z-index: 10
    }

    .z-20 {
        z-index: 20
    }

    .z-50 {
        z-index: 50
    }

    .container {
        width: 100%
    }

    @media (min-width: 40rem) {
        .container {
            max-width:40rem
        }
    }

    @media (min-width: 48rem) {
        .container {
            max-width:48rem
        }
    }

    @media (min-width: 64rem) {
        .container {
            max-width:64rem
        }
    }

    @media (min-width: 80rem) {
        .container {
            max-width:80rem
        }
    }

    @media (min-width: 96rem) {
        .container {
            max-width:96rem
        }
    }

    .section {
        max-inline-size: 75rem;
        margin-inline:auto;padding: 1rem
    }

    @media (min-width: 640px) {
        .section {
            padding:2rem
        }
    }

    .mx-2 {
        margin-inline:calc(var(--spacing)*2)}

    .mx-auto {
        margin-inline: auto
    }

    .my-4 {
        margin-block:calc(var(--spacing)*4)}

    .my-28 {
        margin-block: calc(var(--spacing)*28)
    }

    .mt-5 {
        margin-top: calc(var(--spacing)*5)
    }

    .mt-auto {
        margin-top: auto
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing)*4)
    }

    .mb-5 {
        margin-bottom: calc(var(--spacing)*5)
    }

    .mb-44 {
        margin-bottom: calc(var(--spacing)*44)
    }

    .line-clamp-3 {
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .h-2 {
        height: calc(var(--spacing)*2)
    }

    .h-3 {
        height: calc(var(--spacing)*3)
    }

    .h-4 {
        height: calc(var(--spacing)*4)
    }

    .h-6 {
        height: calc(var(--spacing)*6)
    }

    .h-10 {
        height: calc(var(--spacing)*10)
    }

    .h-16 {
        height: calc(var(--spacing)*16)
    }

    .h-32 {
        height: calc(var(--spacing)*32)
    }

    .h-fit {
        height: fit-content
    }

    .h-full {
        height: 100%
    }

    .max-h-\[25dvh\] {
        max-height: 25dvh
    }

    .w-0\.5 {
        width: calc(var(--spacing)*.5)
    }

    .w-2 {
        width: calc(var(--spacing)*2)
    }

    .w-3 {
        width: calc(var(--spacing)*3)
    }

    .w-6 {
        width: calc(var(--spacing)*6)
    }

    .w-10 {
        width: calc(var(--spacing)*10)
    }

    .w-32 {
        width: calc(var(--spacing)*32)
    }

    .w-fit {
        width: fit-content
    }

    .w-full {
        width: 100%
    }

    .max-w-2xl {
        max-width: var(--container-2xl)
    }

    .max-w-\[90rem\] {
        max-width: 90rem
    }

    .max-w-\[400px\] {
        max-width: 400px
    }

    .max-w-\[470px\] {
        max-width: 470px
    }

    .max-w-\[491px\] {
        max-width: 491px
    }

    .max-w-\[1400px\] {
        max-width: 1400px
    }

    .\!min-w-full {
        min-width: 100%!important
    }

    .flex-1 {
        flex: 1
    }

    .flex-shrink,.shrink {
        flex-shrink: 1
    }

    .-translate-y-1\/2 {
        --tw-translate-y: -50% ;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .transform {
        transform: var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)
    }

    .cursor-ew-resize {
        cursor: ew-resize
    }

    .cursor-pointer {
        cursor: pointer
    }

    .resize {
        resize: both
    }

    .flex-col {
        flex-direction: column
    }

    .items-center {
        align-items: center
    }

    .justify-between {
        justify-content: space-between
    }

    .justify-center {
        justify-content: center
    }

    .gap-1 {
        gap: calc(var(--spacing)*1)
    }

    .gap-2 {
        gap: calc(var(--spacing)*2)
    }

    .overflow-hidden {
        overflow: hidden
    }

    .overflow-x-auto {
        overflow-x: auto
    }

    .overflow-y-visible {
        overflow-y: visible
    }

    .rounded {
        border-radius: .25rem
    }

    .rounded-full {
        border-radius: 3.40282e38px
    }

    .rounded-lg {
        border-radius: var(--radius-lg)
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-2 {
        border-style: var(--tw-border-style);
        border-width: 2px
    }

    .border-r {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .border-\[\#292929\] {
        border-color: #292929
    }

    .border-neutral-200 {
        border-color: var(--color-neutral-200)
    }

    .border-neutral-300 {
        border-color: var(--color-neutral-300)
    }

    .border-white {
        border-color: var(--color-white)
    }

    .bg-black {
        background-color: var(--color-black)
    }

    .bg-black\/80 {
        background-color: #000c
    }

    @supports (color: color-mix(in lab,red,red)) {
        .bg-black\/80 {
            background-color:color-mix(in oklab,var(--color-black)80%,transparent)
        }
    }

    .bg-blue-300 {
        background-color: var(--color-blue-300)
    }

    .bg-blue-500 {
        background-color: var(--color-blue-500)
    }

    .bg-neutral-100 {
        background-color: var(--color-neutral-100)
    }

    .bg-neutral-200 {
        background-color: var(--color-neutral-200)
    }

    .bg-neutral-400 {
        background-color: var(--color-neutral-400)
    }

    .bg-red-500 {
        background-color: var(--color-red-500)
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .bg-gradient-to-b {
        --tw-gradient-position: to bottom in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops))
    }

    .from-black {
        --tw-gradient-from: var(--color-black);
        --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .from-transparent {
        --tw-gradient-from: transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .from-0\% {
        --tw-gradient-from-position: 0%
    }

    .from-60\% {
        --tw-gradient-from-position: 60%
    }

    .to-inherit {
        --tw-gradient-to: inherit;
        --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .to-transparent {
        --tw-gradient-to: transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .to-50\% {
        --tw-gradient-to-position: 50%
    }

    .to-100\% {
        --tw-gradient-to-position: 100%
    }

    .mask-repeat {
        -webkit-mask-repeat: repeat;
        mask-repeat: repeat
    }

    .\!p-0 {
        padding: calc(var(--spacing)*0)!important
    }

    .p-2 {
        padding: calc(var(--spacing)*2)
    }

    .p-4 {
        padding: calc(var(--spacing)*4)
    }

    .p-8 {
        padding: calc(var(--spacing)*8)
    }

    .\!px-\[1rem\] {
        padding-inline: 1rem!important
    }

    .px-1 {
        padding-inline:calc(var(--spacing)*1)}

    .px-2 {
        padding-inline: calc(var(--spacing)*2)
    }

    .px-4 {
        padding-inline:calc(var(--spacing)*4)}

    .px-\[1rem\] {
        padding-inline: 1rem
    }

    .py-1 {
        padding-block:calc(var(--spacing)*1)}

    .py-4 {
        padding-block: calc(var(--spacing)*4)
    }

    .pt-3 {
        padding-top: calc(var(--spacing)*3)
    }

    .pt-4 {
        padding-top: calc(var(--spacing)*4)
    }

    .pt-10 {
        padding-top: calc(var(--spacing)*10)
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing)*2)
    }

    .pb-10 {
        padding-bottom: calc(var(--spacing)*10)
    }

    .text-center {
        text-align: center
    }

    .font-\[Handjet\] {
        font-family: Handjet
    }

    .text-lg {
        font-size: var(--text-lg);
        line-height: var(--tw-leading,var(--text-lg--line-height))
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading,var(--text-sm--line-height))
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading,var(--text-xs--line-height))
    }

    .\!text-\[2rem\] {
        font-size: 2rem!important
    }

    .text-\[3rem\] {
        font-size: 3rem
    }

    .text-\[64px\] {
        font-size: 64px
    }

    .leading-\[3\.5rem\] {
        --tw-leading: 3.5rem;
        line-height: 3.5rem
    }

    .leading-tight {
        --tw-leading: var(--leading-tight);
        line-height: var(--leading-tight)
    }

    .\!font-medium {
        --tw-font-weight: var(--font-weight-medium)!important;
        font-weight: var(--font-weight-medium)!important
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .font-normal {
        --tw-font-weight: var(--font-weight-normal);
        font-weight: var(--font-weight-normal)
    }

    .text-balance {
        text-wrap: balance
    }

    .text-wrap {
        text-wrap: wrap
    }

    .\!text-\[\#757575\] {
        color: #757575!important
    }

    .\!text-\[\#ffffffb3\] {
        color: #ffffffb3!important
    }

    .text-\[\#686868\] {
        color: #686868
    }

    .text-neutral-600 {
        color: var(--color-neutral-600)
    }

    .text-neutral-700 {
        color: var(--color-neutral-700)
    }

    .text-neutral-800 {
        color: var(--color-neutral-800)
    }

    .text-white {
        color: var(--color-white)
    }

    .uppercase {
        text-transform: uppercase
    }

    .opacity-60 {
        opacity: .6
    }

    .opacity-70 {
        opacity: .7
    }

    .opacity-80 {
        opacity: .8
    }

    .opacity-90 {
        opacity: .9
    }

    .opacity-100 {
        opacity: 1
    }

    .shadow {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-sm {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .blur {
        --tw-blur: blur(8px);
        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,)
    }

    .grayscale {
        --tw-grayscale: grayscale(100%);
        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,)
    }

    .invert {
        --tw-invert: invert(100%);
        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,)
    }

    .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-\[5px\] {
        --tw-backdrop-blur: blur(5px);
        -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-filter {
        -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,)
    }

    .transition {
        transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-all {
        transition-property: all;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-colors {
        transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-opacity {
        transition-property: opacity;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .duration-200 {
        --tw-duration: .2s;
        transition-duration: .2s
    }

    @media (hover: hover) {
        .hover\:-translate-x-2:hover {
            --tw-translate-x:calc(var(--spacing)*-2);
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .hover\:-translate-y-2:hover {
            --tw-translate-y: calc(var(--spacing)*-2);
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .hover\:bg-neutral-200:hover {
            background-color: var(--color-neutral-200)
        }

        .hover\:opacity-80:hover {
            opacity: .8
        }

        .hover\:opacity-100:hover {
            opacity: 1
        }
    }

    @media not all and (min-width: 48rem) {
        .max-md\:bg-gradient-to-b {
            --tw-gradient-position:to bottom in oklab;
            background-image: linear-gradient(var(--tw-gradient-stops))
        }
    }

    @media (min-width: 40rem) {
        .sm\:h-10 {
            height:calc(var(--spacing)*10)
        }

        .sm\:px-3 {
            padding-inline:calc(var(--spacing)*3)}

        .sm\: px-4 {
            padding-inline:calc(var(--spacing)*4)
        }
    }

    @media (min-width: 48rem) {
        .md\:my-\[10rem\] {
            margin-block:10rem
        }

        .md\:my-\[32rem\] {
            margin-block:32rem}

        .md\:mt-0 {
            margin-top: calc(var(--spacing)*0)
        }

        .md\:mt-56 {
            margin-top: calc(var(--spacing)*56)
        }

        .md\:mb-0 {
            margin-bottom: calc(var(--spacing)*0)
        }

        .md\:h-4 {
            height: calc(var(--spacing)*4)
        }

        .md\:w-3 {
            width: calc(var(--spacing)*3)
        }

        .md\:flex-row {
            flex-direction: row
        }

        :where(.md\:space-y-\[4rem\]>:not(:last-child)) {
            --tw-space-y-reverse: 0;
            margin-block-start:calc(4rem*var(--tw-space-y-reverse));margin-block-end: calc(4rem*calc(1 - var(--tw-space-y-reverse)))
        }

        .md\:px-4 {
            padding-inline:calc(var(--spacing)*4)}

        .md\: px-8 {
            padding-inline:calc(var(--spacing)*8)
        }

        .md\:pb-32 {
            padding-bottom: calc(var(--spacing)*32)
        }

        .md\:text-7xl {
            font-size: var(--text-7xl);
            line-height: var(--tw-leading,var(--text-7xl--line-height))
        }

        .md\:\!text-\[4rem\] {
            font-size: 4rem!important
        }

        .md\:text-\[14px\] {
            font-size: 14px
        }

        .md\:leading-\[5rem\] {
            --tw-leading: 5rem;
            line-height: 5rem
        }
    }

    @media (min-width: 64rem) {
        .lg\:h-auto {
            height:auto
        }

        .lg\:w-11\/12 {
            width: 91.6667%
        }

        .lg\:grow {
            flex-grow: 1
        }

        .lg\:px-5 {
            padding-inline:calc(var(--spacing)*5)}

        .lg\: px-14 {
            padding-inline:calc(var(--spacing)*14)
        }

        .lg\:text-8xl {
            font-size: var(--text-8xl);
            line-height: var(--tw-leading,var(--text-8xl--line-height))
        }

        .lg\:leading-\[7rem\] {
            --tw-leading: 7rem;
            line-height: 7rem
        }
    }

    @media (min-width: 80rem) {
        .xl\:px-20 {
            padding-inline:calc(var(--spacing)*20)
        }
    }

    @media (prefers-color-scheme: dark) {
        .dark\:border-neutral-600 {
            border-color:var(--color-neutral-600)
        }

        .dark\:border-neutral-700 {
            border-color: var(--color-neutral-700)
        }

        .dark\:bg-neutral-500 {
            background-color: var(--color-neutral-500)
        }

        .dark\:bg-neutral-700 {
            background-color: var(--color-neutral-700)
        }

        .dark\:bg-neutral-800 {
            background-color: var(--color-neutral-800)
        }

        .dark\:bg-neutral-900 {
            background-color: var(--color-neutral-900)
        }

        .dark\:text-neutral-200 {
            color: var(--color-neutral-200)
        }

        .dark\:text-neutral-300 {
            color: var(--color-neutral-300)
        }

        .dark\:text-neutral-400 {
            color: var(--color-neutral-400)
        }

        @media (hover: hover) {
            .dark\:hover\:bg-neutral-700:hover {
                background-color:var(--color-neutral-700)
            }
        }
    }
}

@property --tw-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-z {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-gradient-position {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-via {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-to {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-via-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0%
}

@property --tw-gradient-via-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 50%
}

@property --tw-gradient-to-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-leading {
    syntax: "*";
    inherits: false
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-duration {
    syntax: "*";
    inherits: false
}

@property --tw-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@layer components {
    .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: .875rem 1.5rem;
        font-size: .875rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: .05em;
        text-decoration: none;
        transition: all .2s ease;
        font-family: Handjet;
        border: 2px solid transparent;
        background: transparent;
        @media (min-width: 640px) {
            padding:1rem 2rem;
            font-size:1rem;min-width:160px}
    }

    .button-primary {
        --corner: 12px;
        --border: 2px;
        --clip: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
        --shimmy-distance: 3;
        --clip-one: polygon( 0 2%, 100% 2%, 100% 95%, 95% 95%, 95% 90%, 85% 90%, 85% 95%, 8% 95%, 0 70% );
        --clip-two: polygon( 0 78%, 100% 78%, 100% 100%, 95% 100%, 95% 90%, 85% 90%, 85% 100%, 8% 100%, 0 78% );
        --clip-three: polygon( 0 44%, 100% 44%, 100% 54%, 95% 54%, 95% 54%, 85% 54%, 85% 54%, 8% 54%, 0 54% );
        --clip-four: polygon( 0 0, 100% 0, 100% 0, 95% 0, 95% 0, 85% 0, 85% 0, 8% 0, 0 0 );
        position: relative;
        color: var(--color-green)!important;
        cursor: pointer;
        outline: none;
        z-index: 1;
        .backdrop {
            position: absolute;
            z-index: -1;
            inset: 0;
            background: #aaff001a;
            clip-path: var(--clip);
            pointer-events: none;
            backdrop-filter: saturate(180%) blur(6px);
            transition: all .2s ease;
            &:before {
                content: "";
                position: absolute;
                inset: 0;
                background: var(--color-green);
                translate: 0 0;
                border: var(--border) solid transparent;
                clip-path: var(--clip);
                mask: linear-gradient(transparent 0% 100%),linear-gradient(#fff 0% 100%);
                mask-clip: padding-box,border-box;
                mask-repeat: no-repeat;
                mask-composite: intersect;
                z-index: 2
            }
        }

        .glitch {
            display: none;
            position: absolute;
            inset: 0;
            align-items: center;
            justify-content: center;
            gap: .5rem;
            padding: .75rem 1.5rem;
            pointer-events: none;
            color: var(--color-green);
            text-shadow: 0 1px rgba(0,0,0,.5);
            z-index: 0;
            @media (min-width: 640px) {
                padding:1rem 2rem
            }

            .backdrop {
                background: var(--color-background)
            }
        }

        &:is(:focus-visible,:hover) {
            color: #000!important;
            .backdrop {
                background: var(--color-green)
            }

            .glitch {
                animation: glitch 1.5s infinite;
                display: flex
            }
        }
    }

    .button-secondary {
        color: var(--color-forground);
        border-color: #ffffff4d;
        &:hover {
            background: #ffffff1a;
            border-color: var(--color-forground);
            transform: translateY(-1px)
        }
    }

    @keyframes glitch {
        0% {
            clip-path: var(--clip-one)
        }

        2%,8% {
            clip-path: var(--clip-two);
            transform: translate(calc(var(--shimmy-distance) * -1%))
        }

        6% {
            clip-path: var(--clip-two);
            transform: translate(calc(var(--shimmy-distance) * 1%))
        }

        9% {
            clip-path: var(--clip-two);
            transform: translate(0)
        }

        10% {
            clip-path: var(--clip-three);
            transform: translate(calc(var(--shimmy-distance) * 1%))
        }

        13% {
            clip-path: var(--clip-three);
            transform: translate(0)
        }

        14%,21% {
            clip-path: var(--clip-four);
            transform: translate(calc(var(--shimmy-distance) * 1%))
        }

        25% {
            clip-path: var(--clip-four);
            transform: translate(calc(var(--shimmy-distance) * 1%))
        }

        30% {
            clip-path: var(--clip-four);
            transform: translate(calc(var(--shimmy-distance) * -1%))
        }

        35%,45% {
            clip-path: var(--clip-one);
            transform: translate(calc(var(--shimmy-distance) * -1%))
        }

        40% {
            clip-path: var(--clip-one);
            transform: translate(calc(var(--shimmy-distance) * 1%))
        }

        50% {
            clip-path: var(--clip-one);
            transform: translate(0)
        }

        55% {
            clip-path: var(--clip-three);
            transform: translate(calc(var(--shimmy-distance) * 1%))
        }

        60% {
            clip-path: var(--clip-three);
            transform: translate(0)
        }

        31%,61%,to {
            clip-path: var(--clip-four)
        }
    }
}
