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

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

      /* ! tailwindcss v3.4.16 | MIT License | https://tailwindcss.com */
      *,
      ::after,
      ::before {
        box-sizing: border-box;
        border-width: 0;
        border-style: solid;
        border-color: #e5e7eb
      }

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

      :host,
      html {
        line-height: 1.5;
        -webkit-text-size-adjust: 100%;
        -moz-tab-size: 4;
        tab-size: 4;
        font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        font-feature-settings: normal;
        font-variation-settings: normal;
        -webkit-tap-highlight-color: transparent
      }

      body {
        margin: 0;
        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;
        text-decoration: inherit
      }

      b,
      strong {
        font-weight: bolder
      }

      code,
      kbd,
      pre,
      samp {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        font-feature-settings: normal;
        font-variation-settings: normal;
        font-size: 1em
      }

      small {
        font-size: 80%
      }

      sub,
      sup {
        font-size: 75%;
        line-height: 0;
        position: relative;
        vertical-align: baseline
      }

      sub {
        bottom: -.25em
      }

      sup {
        top: -.5em
      }

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

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

      button,
      select {
        text-transform: none
      }

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

      :-moz-focusring {
        outline: auto
      }

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

      progress {
        vertical-align: baseline
      }

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

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

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

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

      summary {
        display: list-item
      }

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

      fieldset {
        margin: 0;
        padding: 0
      }

      legend {
        padding: 0
      }

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

      dialog {
        padding: 0
      }

      textarea {
        resize: vertical
      }

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

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

      :disabled {
        cursor: default
      }

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

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

      [hidden]:where(:not([hidden=until-found])) {
        display: none
      }

      .absolute {
        position: absolute
      }

      .relative {
        position: relative
      }

      .left-0 {
        left: 0px
      }

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

      .z-10 {
        z-index: 10
      }

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

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

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

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

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

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

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

      .flex {
        display: flex
      }

      .grid {
        display: grid
      }

      .h-2 {
        height: 0.5rem
      }

      .h-3 {
        height: 0.75rem
      }

      .min-h-screen {
        min-height: 100vh
      }

      .w-3 {
        width: 0.75rem
      }

      .w-full {
        width: 100%
      }

      .max-w-4xl {
        max-width: 56rem
      }

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

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

      @keyframes ping {

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

      .animate-ping {
        animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite
      }

      .cursor-pointer {
        cursor: pointer
      }

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

      .flex-col {
        flex-direction: column
      }

      .items-center {
        align-items: center
      }

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

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

      .gap-4 {
        gap: 1rem
      }

      .space-x-2> :not([hidden])~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(0.5rem * var(--tw-space-x-reverse));
        margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))
      }

      .overflow-hidden {
        overflow: hidden
      }

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

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

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

      .bg-gray-300 {
        --tw-bg-opacity: 1;
        background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1))
      }

      .bg-gray-500 {
        --tw-bg-opacity: 1;
        background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1))
      }

      .bg-opacity-95 {
        --tw-bg-opacity: 0.95
      }

      .p-2 {
        padding: 0.5rem
      }

      .p-3 {
        padding: 0.75rem
      }

      .p-6 {
        padding: 1.5rem
      }

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

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

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

      .pl-2 {
        padding-left: 0.5rem
      }

      .pr-2 {
        padding-right: 0.5rem
      }

      .text-center {
        text-align: center
      }

      .text-right {
        text-align: right
      }

      .text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
      }

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

      .text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem
      }

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

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

      .font-bold {
        font-weight: 700
      }

      .font-semibold {
        font-weight: 600
      }

      .text-blue-500 {
        --tw-text-opacity: 1;
        color: rgb(59 130 246 / var(--tw-text-opacity, 1))
      }

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

      .text-orange-500 {
        --tw-text-opacity: 1;
        color: rgb(249 115 22 / var(--tw-text-opacity, 1))
      }

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

      .text-yellow-500 {
        --tw-text-opacity: 1;
        color: rgb(234 179 8 / var(--tw-text-opacity, 1))
      }

      .text-yellow-600 {
        --tw-text-opacity: 1;
        color: rgb(202 138 4 / var(--tw-text-opacity, 1))
      }

      .text-gray-700 {
        --tw-text-opacity: 1;
        color: rgb(55 65 81 / var(--tw-text-opacity, 1))
      }

      .shadow-inner {
        --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
      }

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

      .hover\:bg-gray-400:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1))
      }

      @media (min-width: 768px) {
        .md\:grid-cols-3 {
          grid-template-columns: repeat(3, minmax(0, 1fr))
        }
      }