@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");
/*! tailwindcss v4.1.3 | 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: rotateX(0);
      --tw-rotate-y: rotateY(0);
      --tw-rotate-z: rotateZ(0);
      --tw-skew-x: skewX(0);
      --tw-skew-y: skewY(0);
      --tw-border-style: solid;
      --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-outline-style: solid;
      --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-duration: initial;
    }
  }
}

@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-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-lg: 32rem;
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --radius-xs: .125rem;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-font-feature-settings: var(--font-sans--font-feature-settings);
    --default-font-variation-settings: var(--font-sans--font-variation-settings);
    --default-mono-font-family: var(--font-mono);
    --default-mono-font-feature-settings: var(--font-mono--font-feature-settings);
    --default-mono-font-variation-settings: var(--font-mono--font-variation-settings);
  }
}

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

  body {
    line-height: inherit;
  }

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

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

  * {
    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 {
    color: var(--foreground);
    background: #000;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h1 {
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h2 {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h3 {
    font-size: var(--text-lg);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h4 {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) p {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) label, :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) button {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) input {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }
}

@layer utilities {
  .visible {
    visibility: visible;
  }

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-\[50\%\] {
    top: 50%;
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .left-\[50\%\] {
    left: 50%;
  }

  .z-50 {
    z-index: 50;
  }

  .container {
    width: 100%;
  }

  @media (width >= 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (width >= 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (width >= 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (width >= 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (width >= 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .inline-flex {
    display: inline-flex;
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .w-full {
    width: 100%;
  }

  .max-w-\[calc\(100\%-2rem\)\] {
    max-width: calc(100% - 2rem);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

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

  .translate-x-\[-50\%\] {
    --tw-translate-x: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-\[-50\%\] {
    --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);
  }

  .resize {
    resize: both;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-col-reverse {
    flex-direction: column-reverse;
  }

  .items-center {
    align-items: center;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .rounded-\[100px\] {
    border-radius: 100px;
  }

  .rounded-lg {
    border-radius: var(--radius);
  }

  .rounded-md {
    border-radius: calc(var(--radius)  - 2px);
  }

  .rounded-xs {
    border-radius: var(--radius-xs);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-input {
    border-color: var(--input);
  }

  .bg-\[rgba\(0\,0\,0\,1\)\] {
    background-color: #000;
  }

  .bg-background {
    background-color: var(--background);
  }

  .bg-black\/50 {
    background-color: #00000080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/50 {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }

  .bg-destructive {
    background-color: var(--destructive);
  }

  .bg-input-background {
    background-color: var(--input-background);
  }

  .bg-primary {
    background-color: var(--primary);
  }

  .bg-secondary {
    background-color: var(--secondary);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .text-center {
    text-align: center;
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

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

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-foreground {
    color: var(--foreground);
  }

  .text-muted-foreground {
    color: var(--muted-foreground);
  }

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

  .text-primary-foreground {
    color: var(--primary-foreground);
  }

  .text-secondary-foreground {
    color: var(--secondary-foreground);
  }

  .text-white {
    color: var(--color-white);
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .opacity-70 {
    opacity: .7;
  }

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

  .ring-offset-background {
    --tw-ring-offset-color: var(--background);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

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

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

  .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;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[color\,box-shadow\] {
    transition-property: color, box-shadow;
    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-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;
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

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

  .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled="true"] *) {
    pointer-events: none;
  }

  .group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled="true"] *) {
    opacity: .5;
  }

  .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {
    cursor: not-allowed;
  }

  .peer-disabled\:opacity-50:is(:where(.peer):disabled ~ *) {
    opacity: .5;
  }

  .selection\:bg-primary ::selection, .selection\:bg-primary::selection {
    background-color: var(--primary);
  }

  .selection\:text-primary-foreground ::selection, .selection\:text-primary-foreground::selection {
    color: var(--primary-foreground);
  }

  .file\:inline-flex::file-selector-button {
    display: inline-flex;
  }

  .file\:h-7::file-selector-button {
    height: calc(var(--spacing) * 7);
  }

  .file\:border-0::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .file\:bg-transparent::file-selector-button {
    background-color: #0000;
  }

  .file\:text-sm::file-selector-button {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .file\:font-medium::file-selector-button {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .file\:text-foreground::file-selector-button {
    color: var(--foreground);
  }

  .placeholder\:text-muted-foreground::placeholder {
    color: var(--muted-foreground);
  }

  @media (hover: hover) {
    .hover\:bg-accent:hover {
      background-color: var(--accent);
    }
  }

  @media (hover: hover) {
    .hover\:bg-destructive\/90:hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/90:hover {
        background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-primary\/90:hover {
      background-color: var(--primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/90:hover {
        background-color: color-mix(in oklab, var(--primary) 90%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-secondary\/80:hover {
      background-color: var(--secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/80:hover {
        background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:text-accent-foreground:hover {
      color: var(--accent-foreground);
    }
  }

  @media (hover: hover) {
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
  }

  @media (hover: hover) {
    .hover\:opacity-100:hover {
      opacity: 1;
    }
  }

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

  .focus\:ring-ring:focus {
    --tw-ring-color: var(--ring);
  }

  .focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus\:outline-hidden:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .focus\:outline-hidden:focus {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .focus-visible\:border-ring:focus-visible {
    border-color: var(--ring);
  }

  .focus-visible\:ring-\[3px\]:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-destructive\/20:focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-destructive\/20:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-ring\/50:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

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

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

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

  .has-\[\>svg\]\:px-2\.5:has( > svg) {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .has-\[\>svg\]\:px-3:has( > svg) {
    padding-inline: calc(var(--spacing) * 3);
  }

  .has-\[\>svg\]\:px-4:has( > svg) {
    padding-inline: calc(var(--spacing) * 4);
  }

  .aria-invalid\:border-destructive[aria-invalid="true"] {
    border-color: var(--destructive);
  }

  .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .data-\[state\=closed\]\:animate-out[data-state="closed"] {
    animation: exit var(--tw-duration, .15s) var(--tw-ease, ease);
  }

  .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-\[state\=open\]\:animate-in[data-state="open"] {
    animation: enter var(--tw-duration, .15s) var(--tw-ease, ease);
  }

  .data-\[state\=open\]\:bg-accent[data-state="open"] {
    background-color: var(--accent);
  }

  .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: var(--muted-foreground);
  }

  .data-\[state\=open\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: 0;
  }

  .data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: .95;
  }

  @media (width >= 40rem) {
    .sm\:max-w-lg {
      max-width: var(--container-lg);
    }
  }

  @media (width >= 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
  }

  @media (width >= 40rem) {
    .sm\:justify-end {
      justify-content: flex-end;
    }
  }

  @media (width >= 40rem) {
    .sm\:text-left {
      text-align: left;
    }
  }

  @media (width >= 48rem) {
    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  .dark\:border-input:is(.dark *) {
    border-color: var(--input);
  }

  .dark\:bg-destructive\/60:is(.dark *) {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-destructive\/60:is(.dark *) {
      background-color: color-mix(in oklab, var(--destructive) 60%, transparent);
    }
  }

  .dark\:bg-input\/30:is(.dark *) {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-input\/30:is(.dark *) {
      background-color: color-mix(in oklab, var(--input) 30%, transparent);
    }
  }

  @media (hover: hover) {
    .dark\:hover\:bg-accent\/50:is(.dark *):hover {
      background-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-accent\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--accent) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .dark\:hover\:bg-input\/50:is(.dark *):hover {
      background-color: var(--input);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-input\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--input) 50%, transparent);
      }
    }
  }

  .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }

  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
}


:root {
  --font-size: 14px;
  --background: #fff;
  --foreground: oklch(.145 0 0);
  --card: #fff;
  --card-foreground: oklch(.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(.145 0 0);
  --primary: #030213;
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(.95 .0058 264.53);
  --secondary-foreground: #030213;
  --muted: #ececf0;
  --muted-foreground: #717182;
  --accent: #e9ebef;
  --accent-foreground: #030213;
  --destructive: #d4183d;
  --destructive-foreground: #fff;
  --border: #0000001a;
  --input: transparent;
  --input-background: #f3f3f5;
  --switch-background: #cbced4;
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --ring: oklch(.708 0 0);
  --chart-1: oklch(.646 .222 41.116);
  --chart-2: oklch(.6 .118 184.704);
  --chart-3: oklch(.398 .07 227.392);
  --chart-4: oklch(.828 .189 84.429);
  --chart-5: oklch(.769 .188 70.08);
  --radius: .625rem;
  --sidebar: oklch(.985 0 0);
  --sidebar-foreground: oklch(.145 0 0);
  --sidebar-primary: #030213;
  --sidebar-primary-foreground: oklch(.985 0 0);
  --sidebar-accent: oklch(.97 0 0);
  --sidebar-accent-foreground: oklch(.205 0 0);
  --sidebar-border: oklch(.922 0 0);
  --sidebar-ring: oklch(.708 0 0);
}

.dark {
  --background: oklch(.145 0 0);
  --foreground: oklch(.985 0 0);
  --card: oklch(.145 0 0);
  --card-foreground: oklch(.985 0 0);
  --popover: oklch(.145 0 0);
  --popover-foreground: oklch(.985 0 0);
  --primary: oklch(.985 0 0);
  --primary-foreground: oklch(.205 0 0);
  --secondary: oklch(.269 0 0);
  --secondary-foreground: oklch(.985 0 0);
  --muted: oklch(.269 0 0);
  --muted-foreground: oklch(.708 0 0);
  --accent: oklch(.269 0 0);
  --accent-foreground: oklch(.985 0 0);
  --destructive: oklch(.396 .141 25.723);
  --destructive-foreground: oklch(.637 .237 25.331);
  --border: oklch(.269 0 0);
  --input: oklch(.269 0 0);
  --ring: oklch(.439 0 0);
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --chart-1: oklch(.488 .243 264.376);
  --chart-2: oklch(.696 .17 162.48);
  --chart-3: oklch(.769 .188 70.08);
  --chart-4: oklch(.627 .265 303.9);
  --chart-5: oklch(.645 .246 16.439);
  --sidebar: oklch(.205 0 0);
  --sidebar-foreground: oklch(.985 0 0);
  --sidebar-primary: oklch(.488 .243 264.376);
  --sidebar-primary-foreground: oklch(.985 0 0);
  --sidebar-accent: oklch(.269 0 0);
  --sidebar-accent-foreground: oklch(.985 0 0);
  --sidebar-border: oklch(.269 0 0);
  --sidebar-ring: oklch(.439 0 0);
}

html {
  font-size: var(--font-size);
}

.App {
  text-align: left;
  background: #000;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  font-family: sans-serif;
  display: flex;
  overflow-x: hidden;
}

.main-content {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  display: flex;
}

.hero-container {
  background: #000;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding: 40px 0;
  display: flex;
  position: relative;
  overflow: hidden;
}

.hero-container:before {
  content: "";
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(800px 900px, #ffffff08 0%, #ffffff04 40%, #ffffff02 60%, #0000 80%);
  width: 800px;
  height: 900px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hero-container:after {
  content: "";
  pointer-events: none;
  z-index: 1;
  background: radial-gradient(500px 600px, #ffffff06 0%, #ffffff03 50%, #0000 75%);
  width: 500px;
  height: 600px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (width <= 600px) {
  .hero-container {
    padding: 20px 0;
  }

  .waitlist-section {
    padding: 20px 24px;
  }
}

.container {
  z-index: 10;
  justify-content: center;
  align-items: center;
  max-width: 1024px;
  margin: auto;
  padding: 0 24px;
  display: flex;
  position: relative;
}

@media (width <= 600px) {
  .hero-container:before {
    background: radial-gradient(600px 700px, #ffffff06 0%, #ffffff03 40%, #ffffff02 60%, #0000 80%);
    width: 600px;
    height: 700px;
  }

  .hero-container:after {
    background: radial-gradient(400px 500px, #ffffff05 0%, #ffffff03 50%, #0000 75%);
    width: 400px;
    height: 500px;
  }
}

.content-container {
  z-index: 15;
  flex-shrink: 0;
  width: 343px;
  height: 484px;
  position: relative;
}

.card {
  cursor: grab;
  background: #fff;
  border-radius: 24px;
  width: 323px;
  height: 484px;
  transition: transform .2s, box-shadow .2s;
  position: absolute;
  overflow: hidden;
  box-shadow: 0 35px 14px #00000003, 0 20px 12px #0000000d, 0 9px 9px #00000017, 0 2px 5px #0000001a;
}

.card:active {
  cursor: grabbing;
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 45px 20px #00000005, 0 30px 18px #00000014, 0 15px 12px #0000001f, 0 5px 8px #00000026;
}

.card-0:hover .card-overlay {
  -webkit-backdrop-filter: blur(8px);
}

.card img {
  object-fit: cover;
  border-radius: 24px;
  width: 100%;
  height: 100%;
}

.card-content {
  background: linear-gradient(#0000 0%, #00000005 40%, #00000026 70%, #0006 100%);
  border-radius: 0 0 24px 24px;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
}

.card-overlay {
  pointer-events: none;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 24px;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.card-date-location {
  pointer-events: none;
  position: absolute;
  bottom: 24px;
  left: 24px;
}

.card-date {
  letter-spacing: .8px;
  color: #ffffffe6;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-family: Inter, sans-serif;
  font-size: 11px;
  font-weight: 600;
}

.card-location {
  letter-spacing: .5px;
  color: #ffffffb3;
  text-transform: uppercase;
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 500;
}

.caption-trigger {
  pointer-events: auto;
  flex-direction: column;
  align-items: flex-end;
  transition: all .3s;
  display: flex;
  position: absolute;
  bottom: 24px;
  right: 24px;
}

.caption-triangle {
  color: #fff9;
  cursor: pointer;
  order: 2;
  font-size: 12px;
  transition: all .3s;
}

.caption-trigger:hover .caption-triangle {
  color: #ffffffe6;
  transform: translateY(2px);
}

.caption-content {
  -webkit-backdrop-filter: blur(20px);
  opacity: 0;
  pointer-events: none;
  background: #00000080;
  border: 1px solid #ffffff26;
  border-radius: 12px;
  order: 1;
  min-width: 200px;
  margin-bottom: 8px;
  padding: 12px 16px;
  transition: all .3s;
  transform: translateY(10px);
}

.caption-content.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.outfit-note {
  color: #fffffff2;
  text-align: left;
  width: 100%;
  margin-bottom: 6px;
  font-family: Inter, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.3;
}

.curator-signature {
  color: #ffffffb3;
  letter-spacing: .3px;
  text-align: left;
  width: 100%;
  font-family: Inter, sans-serif;
  font-size: 11px;
  font-weight: 500;
}

.card-main {
  margin-bottom: 16px;
}

.outfit-title {
  letter-spacing: -.02em;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-family: Inter, sans-serif;
  font-size: 18px;
  font-weight: 600;
}

.curator-name {
  color: #fffc;
  letter-spacing: .01em;
  font-family: Inter, sans-serif;
  font-size: 13px;
  font-weight: 400;
}

.card-tags {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.tag {
  letter-spacing: .3px;
  text-transform: uppercase;
  color: #ffffffe6;
  -webkit-backdrop-filter: blur(12px);
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: 8px;
  padding: 3px 6px;
  font-family: Inter, sans-serif;
  font-size: 9px;
  font-weight: 500;
}

.camera-card {
  cursor: grab;
  background: #000;
  border: 1px solid #c0c0c026;
  border-radius: 24px;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.ko-headline {
  color: #000000d9;
  letter-spacing: .08em;
  z-index: 5;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  opacity: .9;
  font-family: Inter, sans-serif;
  font-size: 56px;
  font-weight: 300;
  position: absolute;
  top: 28%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.camera-card img {
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  border-radius: 24px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.camera-interface-top {
  pointer-events: auto;
  z-index: 15;
  background: #000000f2;
  border-radius: 24px 24px 0 0;
  height: 44px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.camera-top-controls {
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding: 8px 20px;
  display: flex;
}

.camera-control-icon {
  cursor: pointer;
  pointer-events: auto;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 12px;
  transition: all .2s;
  display: flex;
}

.camera-timer-icon {
  font-size: 14px;
}

.camera-light-icon {
  color: #ffffffe6;
  background: #ffffff26;
  border: 1px solid #fff3;
}

.camera-light-icon:hover {
  color: #fff;
  background: #ffffff40;
  transform: scale(1.05);
}

.camera-timer-icon {
  color: #ffffffe6;
  background: #ffffff26;
  border: 1px solid #fff3;
}

.camera-timer-icon:hover {
  color: #fff;
  background: #ffffff40;
  transform: scale(1.05);
}

.camera-grid-overlay {
  pointer-events: none;
  z-index: 10;
  position: absolute;
  inset: 44px 0 90px;
}

.grid-line {
  opacity: .6;
  background: #ffffff40;
  position: absolute;
}

.grid-line-v1, .grid-line-v2 {
  width: 1px;
  height: 100%;
  top: 0;
}

.grid-line-v1 {
  left: 33.33%;
}

.grid-line-v2 {
  left: 66.66%;
}

.grid-line-h1, .grid-line-h2 {
  width: 100%;
  height: 1px;
  left: 0;
}

.grid-line-h1 {
  top: 33.33%;
}

.grid-line-h2 {
  top: 66.66%;
}

.camera-interface-bottom {
  pointer-events: auto;
  background: #000000f2;
  border-radius: 0 0 24px 24px;
  height: 90px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.camera-overlay {
  pointer-events: none;
  background: #0000001a;
  position: absolute;
  inset: 0;
}

.camera-ui {
  pointer-events: none;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 8px 12px;
  display: flex;
  position: relative;
}

.camera-bottom-controls {
  pointer-events: none;
  justify-content: center;
  gap: 16px;
  display: flex;
}

.camera-flash-btn, .camera-hdr-btn, .camera-timer-btn {
  color: #fffc;
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
  text-align: center;
  background: #0000004d;
  border: 1px solid #ffffff1a;
  border-radius: 16px;
  min-width: 32px;
  padding: 4px 8px;
  font-family: Inter, sans-serif;
  font-size: 11px;
  font-weight: 600;
  transition: all .2s;
}

.camera-flash-btn:hover, .camera-hdr-btn:hover, .camera-timer-btn:hover {
  color: #fff;
  background: #ffffff1a;
}

.camera-top-bar {
  background: #000000e6;
  width: 100%;
  height: 70px;
}

.camera-status-bar {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 20px;
  display: flex;
}

.camera-time {
  color: #fff;
  letter-spacing: -.3px;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 600;
}

.camera-indicators {
  align-items: center;
  gap: 4px;
  display: flex;
}

.camera-signal, .camera-wifi, .camera-battery {
  color: #fff;
  font-size: 14px;
}

.camera-signal {
  letter-spacing: 1px;
  font-family: Inter, sans-serif;
  font-weight: 600;
}

.mirror-signs {
  z-index: 10;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 40px;
  display: flex;
  position: relative;
}

.mirror-signs-centered {
  z-index: 10;
  pointer-events: none;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  display: flex;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.wall-sign {
  color: #333;
  text-align: center;
  letter-spacing: -.01em;
  pointer-events: none;
  background: #fffffff2;
  border-radius: 4px;
  margin-bottom: 12px;
  padding: 8px 16px;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 500;
  transform: rotate(-2deg);
  box-shadow: 0 2px 8px #0000001a;
}

.wall-sign:first-child {
  transform: rotate(1deg);
}

.camera-bottom {
  pointer-events: none;
  background: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 90px;
  padding: 1px 0;
  display: flex;
}

.camera-modes {
  align-items: center;
  gap: 20px;
  display: flex;
}

.camera-mode-option {
  color: #fff9;
  text-transform: uppercase;
  letter-spacing: .8px;
  cursor: pointer;
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 500;
  transition: all .3s;
}

.camera-mode-option.active {
  color: #fff700;
  font-weight: 600;
}

.camera-mode-option:hover {
  color: #ffffffe6;
}

.camera-controls {
  pointer-events: none;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 280px;
  display: flex;
}

.camera-gallery-thumb {
  cursor: pointer;
  background: #ffffff1a;
  border: 2px solid #fff3;
  border-radius: 8px;
  width: 40px;
  height: 40px;
  transition: all .2s;
  overflow: hidden;
}

.gallery-preview {
  background: linear-gradient(45deg, #ffffff1a 0%, #ffffff0d 50%, #ffffff1a 100%);
  width: 100%;
  height: 100%;
}

.camera-flip-btn {
  color: #fffc;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 18px;
  transition: all .2s;
  display: flex;
}

.camera-flip-btn:hover {
  color: #fff;
  transform: scale(1.1);
}

.camera-shutter {
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #000;
  text-align: center;
  pointer-events: auto;
  background: #fff;
  border: 4px solid #fff6;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.1;
  transition: all .3s;
  display: flex;
  box-shadow: 0 2px 15px #0003;
}

.shutter-inner {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .5px;
  text-align: center;
  background: #000;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  font-family: Inter, sans-serif;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  display: flex;
}

.camera-shutter:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 25px #0000004d;
}

.camera-shutter:active {
  transform: scale(.95);
}

.waitlist-section {
  color: #fff;
  background: #000;
  justify-content: center;
  align-items: center;
  padding: 40px 24px;
  display: flex;
}

.waitlist-content {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 0;
  max-width: 600px;
  display: flex;
}

.waitlist-text {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.waitlist-title {
  letter-spacing: -.02em;
  color: #fff;
  margin: 0;
  font-family: Inter, sans-serif;
  font-size: 48px;
  font-weight: 600;
}

.waitlist-description {
  color: #fffc;
  margin: 0;
  font-family: Inter, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
}

.waitlist-button {
  color: #000;
  cursor: pointer;
  background: #fff;
  border: none;
  border-radius: 50px;
  padding: 16px 32px;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 600;
  transition: all .3s;
  box-shadow: 0 2px 20px #ffffff1a;
}

.waitlist-button:hover {
  background: #fffffff2;
  transform: translateY(-2px);
  box-shadow: 0 4px 30px #fff3;
}

.waitlist-modal {
  background: #fff;
  border: 1px solid #ffffff1a;
  border-radius: 24px;
  max-width: 480px;
  padding: 0;
}

.waitlist-modal-header {
  text-align: center;
  border-bottom: none;
  padding: 32px 32px 0;
}

.waitlist-modal-title {
  color: #000;
  letter-spacing: -.01em;
  margin-bottom: 8px;
  font-family: Inter, sans-serif;
  font-size: 28px;
  font-weight: 600;
}

.waitlist-modal-subtitle {
  color: #0009;
  margin: 0;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 400;
}

.waitlist-modal-content {
  padding: 32px;
}

.waitlist-form {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.form-field {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.form-label {
  color: #000;
  margin: 0;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 500;
}

.form-input {
  background: #00000005;
  border: 2px solid #0000001a;
  border-radius: 12px;
  padding: 16px;
  font-family: Inter, sans-serif;
  font-size: 16px;
  transition: all .2s;
}

.form-input:focus {
  background: #fff;
  border-color: #000;
  outline: none;
}

.submit-button {
  color: #fff;
  cursor: pointer;
  background: #000;
  border: none;
  border-radius: 12px;
  padding: 16px 24px;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 600;
  transition: all .3s;
}

.submit-button:hover {
  background: #000000e6;
  transform: translateY(-1px);
}

.waitlist-success {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  display: flex;
}

.success-icon {
  color: #fff;
  background: #22c55e;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  font-size: 32px;
  font-weight: 600;
  display: flex;
}

.success-message {
  color: #000000b3;
  margin: 0;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}

.success-button {
  color: #fff;
  cursor: pointer;
  background: #000;
  border: none;
  border-radius: 12px;
  padding: 16px 32px;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 600;
  transition: all .3s;
}

.success-button:hover {
  background: #000000e6;
}

@media (width <= 768px) {
  .waitlist-section {
    padding: 20px 24px;
  }

  .waitlist-title {
    font-size: 36px;
  }

  .waitlist-description {
    font-size: 16px;
  }

  .waitlist-modal {
    max-width: calc(100vw - 32px);
    margin: 16px;
  }

  .waitlist-modal-header {
    padding: 24px 24px 0;
  }

  .waitlist-modal-content {
    padding: 24px;
  }

  .waitlist-modal-title {
    font-size: 24px;
  }

  .ko-headline {
    letter-spacing: .12em;
    font-size: 40px;
    top: 32%;
  }
}

.camera-grid {
  pointer-events: none;
  position: absolute;
  inset: 12px 12px 120px;
}

.grid-line {
  background: #ffffff4d;
  position: absolute;
}

.grid-line-v {
  width: 1px;
  height: 100%;
  top: 0;
}

.grid-line-h {
  width: 100%;
  height: 1px;
  left: 0;
}

.grid-line-1 {
  left: 33.33%;
}

.grid-line-2 {
  left: 66.66%;
}

.grid-line-3 {
  top: 33.33%;
}

.grid-line-4 {
  top: 66.66%;
}

.card-title, .card-description {
  display: none;
}

[data-sonner-toast] {
  color: #000 !important;
  background: #fff !important;
  border: 1px solid #0000001a !important;
}

[data-sonner-toast] [data-title] {
  color: #000 !important;
  font-weight: 600 !important;
}

[data-sonner-toast] [data-description] {
  color: #000 !important;
  opacity: 1 !important;
  font-weight: 400 !important;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  border: 0;
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@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;
  initial-value: rotateX(0);
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
  initial-value: rotateY(0);
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
  initial-value: rotateZ(0);
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false;
  initial-value: skewX(0);
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false;
  initial-value: skewY(0);
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@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-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@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-duration {
  syntax: "*";
  inherits: false
}

@keyframes enter {
  from {
    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));
  }
}
