/*! tailwindcss v4.2.1 | 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-tracking: initial;
      --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;
      --tw-ease: initial;
      --tw-content: "";
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: "Poppins", "Noto Sans TC", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-600: #db2637;
    --color-red-900: #d82400;
    --color-orange-500: #ff6700;
    --color-orange-900: #f45100;
    --color-gray-100: #f5f7f8;
    --color-gray-200: #eef3f6;
    --color-gray-300: #e3e7ee;
    --color-gray-400: #b5bdc9;
    --color-gray-500: #a8aeb8;
    --color-gray-600: #838d9c;
    --color-gray-700: #515a68;
    --color-gray-800: #2d3033;
    --color-gray-900: #1e2022;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --breakpoint-sm: 36rem;
    --breakpoint-md: 43.75rem;
    --breakpoint-lg: 64rem;
    --breakpoint-xl: 90rem;
    --breakpoint-2xl: 120rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --radius-xs: .125rem;
    --radius-sm: .25rem;
    --radius-lg: .5rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --aspect-video: 16 / 9;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-gray-0: #fff;
    --color-gray-250: #e9ebef;
    --color-gray-1000: #000;
    --color-surface-primary: var(--color-gray-0);
    --color-surface-secondary: var(--color-gray-100);
    --color-surface-accent: var(--color-orange-500);
    --color-surface-accent-dark: var(--color-orange-900);
    --color-content-primary: var(--color-gray-800);
    --color-content-secondary: var(--color-gray-700);
    --color-content-tertiary: var(--color-gray-600);
    --color-content-invert-dark: var(--color-gray-0);
    --color-content-accent: var(--color-orange-500);
    --color-content-accent-dark: var(--color-orange-900);
    --color-boundary-primary: var(--color-gray-500);
    --color-boundary-secondary: var(--color-gray-300);
    --color-boundary-accent: var(--color-orange-500);
  }
}

@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;
    -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;
  }

  @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;
  }

  * {
    margin: calc(var(--spacing) * 0);
    box-sizing: border-box;
    padding: calc(var(--spacing) * 0);
    font-family: var(--font-sans);
    --tw-outline-style: none;
    outline-style: none;
  }
}

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .relative {
    position: relative;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .top-10 {
    top: calc(var(--spacing) * 10);
  }

  .top-19 {
    top: calc(var(--spacing) * 19);
  }

  .top-25 {
    top: calc(var(--spacing) * 25);
  }

  .top-50 {
    top: calc(var(--spacing) * 50);
  }

  .-right-15 {
    right: calc(var(--spacing) * -15);
  }

  .-right-30 {
    right: calc(var(--spacing) * -30);
  }

  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }

  .bottom-3 {
    bottom: calc(var(--spacing) * 3);
  }

  .-left-15 {
    left: calc(var(--spacing) * -15);
  }

  .-left-28 {
    left: calc(var(--spacing) * -28);
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .left-1\/2 {
    left: 50%;
  }

  .-z-1 {
    z-index: calc(1 * -1);
  }

  .z-1 {
    z-index: 1;
  }

  .order-0 {
    order: 0;
  }

  .order-1 {
    order: 1;
  }

  .order-2 {
    order: 2;
  }

  .order-3 {
    order: 3;
  }

  .col-12 {
    grid-column: 12;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 36rem) {
    .container {
      max-width: 36rem;
    }
  }

  @media (min-width: 43.75rem) {
    .container {
      max-width: 43.75rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 90rem) {
    .container {
      max-width: 90rem;
    }
  }

  @media (min-width: 120rem) {
    .container {
      max-width: 120rem;
    }
  }

  .container {
    padding-inline: calc(var(--spacing) * 6);
    margin-inline: auto;
  }

  @media (min-width: 36rem) {
    .container {
      max-width: calc(var(--spacing) * 132);
      padding-inline: calc(var(--spacing) * 0);
    }
  }

  @media (min-width: 43.75rem) {
    .container {
      max-width: calc(var(--spacing) * 163);
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: calc(var(--spacing) * 236);
    }
  }

  @media (min-width: 90rem) {
    .container {
      max-width: calc(var(--spacing) * 330);
    }
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mr-5 {
    margin-right: calc(var(--spacing) * 5);
  }

  .mr-auto {
    margin-right: auto;
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }

  .icon {
    height: calc(var(--spacing) * 6);
    width: calc(var(--spacing) * 6);
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .block {
    display: block;
  }

  .block\! {
    display: block !important;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .flex\! {
    display: flex !important;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .hidden\! {
    display: none !important;
  }

  .aspect-375\/498 {
    aspect-ratio: 375 / 498;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .size-70 {
    width: calc(var(--spacing) * 70);
    height: calc(var(--spacing) * 70);
  }

  .size-90 {
    width: calc(var(--spacing) * 90);
    height: calc(var(--spacing) * 90);
  }

  .size-100 {
    width: calc(var(--spacing) * 100);
    height: calc(var(--spacing) * 100);
  }

  .size-125 {
    width: calc(var(--spacing) * 125);
    height: calc(var(--spacing) * 125);
  }

  .size-237 {
    width: calc(var(--spacing) * 237);
    height: calc(var(--spacing) * 237);
  }

  .size-full {
    width: 100%;
    height: 100%;
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-80 {
    height: calc(var(--spacing) * 80);
  }

  .h-auto {
    height: auto;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .w-1\/2 {
    width: 50%;
  }

  .w-1\/4 {
    width: 25%;
  }

  .w-full {
    width: 100%;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-none {
    flex: none;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .grow-0 {
    flex-grow: 0;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-x-1\/6 {
    --tw-translate-x: calc(calc(1 / 6 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-1\/2 {
    --tw-translate-x: calc(1 / 2 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-1\/6 {
    --tw-translate-x: calc(1 / 6 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-1\/6 {
    --tw-translate-y: calc(1 / 6 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-3 {
    --tw-translate-y: calc(var(--spacing) * 3);
    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;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }

  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }

  .self-center {
    align-self: center;
  }

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-sm {
    border-radius: var(--radius-sm);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-none {
    --tw-border-style: none;
    border-style: none;
  }

  .border-boundary-primary {
    border-color: var(--color-boundary-primary);
  }

  .bg-\[\#F6F6F6\] {
    background-color: #f6f6f6;
  }

  .bg-boundary-secondary {
    background-color: var(--color-boundary-secondary);
  }

  .bg-gray-0 {
    background-color: var(--color-gray-0);
  }

  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-linear-to-t {
    --tw-gradient-position: to top;
  }

  @supports (background-image: linear-gradient(in lab, red, red)) {
    .bg-linear-to-t {
      --tw-gradient-position: to top in oklab;
    }
  }

  .bg-linear-to-t {
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-\[rgba\(255\,192\,149\,0\.4\)\] {
    --tw-gradient-from: #ffc09566;
    --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-white {
    --tw-gradient-from: var(--color-white);
    --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%;
  }

  .to-\[rgba\(255\,192\,149\,0\)\] {
    --tw-gradient-to: #ffc09500;
    --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-100\% {
    --tw-gradient-to-position: 100%;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }

  .py-25 {
    padding-block: calc(var(--spacing) * 25);
  }

  .pt-23\.5 {
    padding-top: calc(var(--spacing) * 23.5);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .text-headline-large {
    --tw-leading: 150%;
    --tw-font-weight: var(--font-weight-normal);
    font-size: 1.5rem;
    line-height: 150%;
    font-weight: var(--font-weight-normal);
    --tw-tracking: 2%;
    letter-spacing: 2%;
  }

  @media (min-width: 64rem) {
    .text-headline-large {
      font-size: 2.5rem;
    }
  }

  .text-headline-large-emphasized {
    --tw-leading: 150%;
    --tw-font-weight: var(--font-weight-medium);
    font-size: 2rem;
    line-height: 150%;
    font-weight: var(--font-weight-medium);
    --tw-tracking: 2%;
    letter-spacing: 2%;
  }

  @media (min-width: 64rem) {
    .text-headline-large-emphasized {
      font-size: 2.5rem;
    }
  }

  .text-label-large-emphasized {
    --tw-leading: 150%;
    --tw-font-weight: var(--font-weight-medium);
    font-size: 1.125rem;
    line-height: 150%;
    font-weight: var(--font-weight-medium);
    --tw-tracking: 4%;
    letter-spacing: 4%;
  }

  @media (min-width: 64rem) {
    .text-label-large-emphasized {
      font-size: 1.25rem;
    }
  }

  .text-title-large {
    --tw-leading: 150%;
    --tw-font-weight: var(--font-weight-medium);
    font-size: 1.375rem;
    line-height: 150%;
    font-weight: var(--font-weight-medium);
    --tw-tracking: 4%;
    letter-spacing: 4%;
  }

  @media (min-width: 64rem) {
    .text-title-large {
      font-size: 1.5rem;
    }
  }

  .text-title-small {
    --tw-leading: 150%;
    --tw-font-weight: var(--font-weight-normal);
    font-size: 1rem;
    line-height: 150%;
    font-weight: var(--font-weight-normal);
    --tw-tracking: 4%;
    letter-spacing: 4%;
  }

  @media (min-width: 64rem) {
    .text-title-small {
      font-size: 1.125rem;
    }
  }

  .text-body-medium-emphasized {
    --tw-leading: 180%;
    --tw-font-weight: var(--font-weight-medium);
    font-size: 1rem;
    line-height: 180%;
    font-weight: var(--font-weight-medium);
    --tw-tracking: 0%;
    letter-spacing: 0%;
  }

  .text-body-small {
    --tw-leading: 150%;
    --tw-font-weight: var(--font-weight-normal);
    font-size: .875rem;
    line-height: 150%;
    font-weight: var(--font-weight-normal);
    --tw-tracking: 4%;
    letter-spacing: 4%;
  }

  .text-label-extra-small {
    --tw-leading: 150%;
    --tw-font-weight: var(--font-weight-normal);
    font-size: .75rem;
    line-height: 150%;
    font-weight: var(--font-weight-normal);
    --tw-tracking: 4%;
    letter-spacing: 4%;
  }

  .text-label-small {
    --tw-leading: 150%;
    --tw-font-weight: var(--font-weight-normal);
    font-size: 1rem;
    line-height: 150%;
    font-weight: var(--font-weight-normal);
    --tw-tracking: 4%;
    letter-spacing: 4%;
  }

  .text-label-small-emphasized {
    --tw-leading: 150%;
    --tw-font-weight: var(--font-weight-medium);
    font-size: 1rem;
    line-height: 150%;
    font-weight: var(--font-weight-medium);
    --tw-tracking: 4%;
    letter-spacing: 4%;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-\[\#808080\] {
    color: gray;
  }

  .text-content-accent {
    color: var(--color-content-accent);
  }

  .text-content-primary {
    color: var(--color-content-primary);
  }

  .text-content-secondary {
    color: var(--color-content-secondary);
  }

  .text-red-900 {
    color: var(--color-red-900);
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-60 {
    opacity: .6;
  }

  .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,  );
  }

  .select-all {
    -webkit-user-select: all;
    user-select: all;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  @media (min-width: 43.75rem) {
    .md\:mx-auto {
      margin-inline: auto;
    }

    .md\:mt-5 {
      margin-top: calc(var(--spacing) * 5);
    }

    .md\:mb-10 {
      margin-bottom: calc(var(--spacing) * 10);
    }

    .md\:block {
      display: block;
    }

    .md\:aspect-auto {
      aspect-ratio: auto;
    }

    .md\:h-69\.5 {
      height: calc(var(--spacing) * 69.5);
    }

    .md\:w-\[calc\(100\%-68px\)\] {
      width: calc(100% - 68px);
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:gap-5 {
      gap: calc(var(--spacing) * 5);
    }

    .md\:rounded-3xl {
      border-radius: var(--radius-3xl);
    }

    .md\:px-0 {
      padding-inline: calc(var(--spacing) * 0);
    }

    .md\:pt-22 {
      padding-top: calc(var(--spacing) * 22);
    }

    .md\:pt-22\.5 {
      padding-top: calc(var(--spacing) * 22.5);
    }

    .md\:pl-10 {
      padding-left: calc(var(--spacing) * 10);
    }

    .md\:text-left {
      text-align: left;
    }
  }

  @media (min-width: 64rem) {
    .lg\:-left-35 {
      left: calc(var(--spacing) * -35);
    }

    .lg\:mt-6 {
      margin-top: calc(var(--spacing) * 6);
    }

    .lg\:mb-6 {
      margin-bottom: calc(var(--spacing) * 6);
    }

    .lg\:mb-8 {
      margin-bottom: calc(var(--spacing) * 8);
    }

    .lg\:mb-10 {
      margin-bottom: calc(var(--spacing) * 10);
    }

    .lg\:block {
      display: block;
    }

    .lg\:flex\! {
      display: flex !important;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:hidden\! {
      display: none !important;
    }

    .lg\:size-5 {
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
    }

    .lg\:size-125 {
      width: calc(var(--spacing) * 125);
      height: calc(var(--spacing) * 125);
    }

    .lg\:h-110 {
      height: calc(var(--spacing) * 110);
    }

    .lg\:max-w-1\/2 {
      max-width: 50%;
    }

    .lg\:max-w-280 {
      max-width: calc(var(--spacing) * 280);
    }

    .lg\:max-w-330 {
      max-width: calc(var(--spacing) * 330);
    }

    .lg\:flex-1 {
      flex: 1;
    }

    .lg\:-translate-y-2\.5 {
      --tw-translate-y: calc(var(--spacing) * -2.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .lg\:translate-y-5 {
      --tw-translate-y: calc(var(--spacing) * 5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:flex-row {
      flex-direction: row;
    }

    .lg\:flex-row-reverse {
      flex-direction: row-reverse;
    }

    .lg\:items-center {
      align-items: center;
    }

    .lg\:items-end {
      align-items: flex-end;
    }

    .lg\:items-start {
      align-items: flex-start;
    }

    .lg\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }

    .lg\:gap-5 {
      gap: calc(var(--spacing) * 5);
    }

    .lg\:gap-6 {
      gap: calc(var(--spacing) * 6);
    }

    .lg\:gap-9 {
      gap: calc(var(--spacing) * 9);
    }

    .lg\:gap-13\.5 {
      gap: calc(var(--spacing) * 13.5);
    }

    .lg\:py-20 {
      padding-block: calc(var(--spacing) * 20);
    }

    .lg\:py-33\.5 {
      padding-block: calc(var(--spacing) * 33.5);
    }

    .lg\:pt-25 {
      padding-top: calc(var(--spacing) * 25);
    }

    .lg\:pt-28\.5 {
      padding-top: calc(var(--spacing) * 28.5);
    }

    .lg\:pt-30 {
      padding-top: calc(var(--spacing) * 30);
    }

    .lg\:pt-42 {
      padding-top: calc(var(--spacing) * 42);
    }

    .lg\:pb-13\.5 {
      padding-bottom: calc(var(--spacing) * 13.5);
    }

    .lg\:pb-30 {
      padding-bottom: calc(var(--spacing) * 30);
    }

    .lg\:pl-15 {
      padding-left: calc(var(--spacing) * 15);
    }

    .lg\:text-center {
      text-align: center;
    }

    :is(.lg\:\*\:flex-1 > *) {
      flex: 1;
    }
  }

  @media (min-width: 90rem) {
    .xl\:top-10 {
      top: calc(var(--spacing) * 10);
    }

    .xl\:right-0 {
      right: calc(var(--spacing) * 0);
    }

    .xl\:left-0 {
      left: calc(var(--spacing) * 0);
    }

    .xl\:size-100 {
      width: calc(var(--spacing) * 100);
      height: calc(var(--spacing) * 100);
    }

    .xl\:size-120 {
      width: calc(var(--spacing) * 120);
      height: calc(var(--spacing) * 120);
    }

    .xl\:size-162 {
      width: calc(var(--spacing) * 162);
      height: calc(var(--spacing) * 162);
    }

    .xl\:max-w-274 {
      max-width: calc(var(--spacing) * 274);
    }

    .xl\:max-w-330 {
      max-width: calc(var(--spacing) * 330);
    }

    .xl\:items-center {
      align-items: center;
    }
  }

  @media (min-width: 120rem) {
    .\32 xl\:top-40 {
      top: calc(var(--spacing) * 40);
    }

    .\32 xl\:-right-20 {
      right: calc(var(--spacing) * -20);
    }

    .\32 xl\:size-120 {
      width: calc(var(--spacing) * 120);
      height: calc(var(--spacing) * 120);
    }

    .\32 xl\:size-225 {
      width: calc(var(--spacing) * 225);
      height: calc(var(--spacing) * 225);
    }
  }

  .\[\&\:\:-webkit-scrollbar\]\:w-1::-webkit-scrollbar {
    width: calc(var(--spacing) * 1);
  }

  .\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb {
    border-radius: 3.40282e38px;
  }

  .\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-500::-webkit-scrollbar-thumb {
    background-color: var(--color-gray-500);
  }

  .\[\&\:\:-webkit-scrollbar-track\]\:bg-transparent::-webkit-scrollbar-track {
    background-color: #0000;
  }
}

.textfield-block, .textarea-block, .dropdown-block {
  gap: calc(var(--spacing) * 2);
  flex-direction: column;
  width: 100%;
  display: flex;
}

.field-title {
  gap: calc(var(--spacing) * 1);
  --tw-leading: 180%;
  --tw-font-weight: var(--font-weight-medium);
  font-size: 1rem;
  line-height: 180%;
  font-weight: var(--font-weight-medium);
  --tw-tracking: 0%;
  letter-spacing: 0%;
  color: var(--color-content-primary);
  display: flex;
}

.required {
  --tw-leading: 150%;
  --tw-font-weight: var(--font-weight-medium);
  font-size: 1rem;
  line-height: 150%;
  font-weight: var(--font-weight-medium);
  --tw-tracking: 4%;
  letter-spacing: 4%;
  color: var(--color-red-900);
}

.error-prompt {
  --tw-leading: 150%;
  --tw-font-weight: var(--font-weight-normal);
  font-size: .75rem;
  line-height: 150%;
  font-weight: var(--font-weight-normal);
  --tw-tracking: 4%;
  letter-spacing: 4%;
  color: var(--color-red-600);
  display: none;
}

.textfield-block.error .error-prompt, .dropdown-block.error .error-prompt {
  display: block;
}

.textfield-block input {
  height: calc(var(--spacing) * 12);
  border-radius: var(--radius-lg);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-boundary-primary);
  background-color: var(--color-gray-0);
  padding-inline: calc(var(--spacing) * 3);
  --tw-leading: 180%;
  --tw-font-weight: var(--font-weight-normal);
  font-size: 1rem;
  line-height: 180%;
  font-weight: var(--font-weight-normal);
  --tw-tracking: 0%;
  letter-spacing: 0%;
  color: var(--color-content-primary);
}

.textfield-block input::placeholder {
  --tw-leading: 180%;
  --tw-font-weight: var(--font-weight-normal);
  font-size: 1rem;
  line-height: 180%;
  font-weight: var(--font-weight-normal);
  --tw-tracking: 0%;
  letter-spacing: 0%;
  color: var(--color-content-tertiary);
}

@media (hover: hover) {
  .textfield-block input:hover::placeholder {
    color: var(--color-gray-500);
  }
}

.textfield-block input:focus::placeholder {
  color: var(--color-gray-500);
}

.textfield-block input:disabled {
  border-color: var(--color-gray-400);
  background-color: var(--color-gray-400);
}

.textfield-block.error input {
  border-color: var(--color-red-600);
}

.textarea-box {
  gap: calc(var(--spacing) * 2);
  border-radius: var(--radius-lg);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-boundary-primary);
  padding: calc(var(--spacing) * 3);
  flex-direction: column;
  display: flex;
}

.textarea-block.disabled .textarea-box {
  border-color: var(--color-gray-400);
  background-color: var(--color-gray-400);
}

.textarea-box textarea {
  resize: none;
  --tw-leading: 180%;
  --tw-font-weight: var(--font-weight-normal);
  font-size: 1rem;
  line-height: 180%;
  font-weight: var(--font-weight-normal);
  --tw-tracking: 0%;
  letter-spacing: 0%;
  color: var(--color-content-primary);
}

.textarea-box textarea::placeholder {
  --tw-leading: 180%;
  --tw-font-weight: var(--font-weight-normal);
  font-size: 1rem;
  line-height: 180%;
  font-weight: var(--font-weight-normal);
  --tw-tracking: 0%;
  letter-spacing: 0%;
  color: var(--color-content-tertiary);
}

@media (hover: hover) {
  .textarea-box textarea:hover::placeholder {
    color: var(--color-gray-500);
  }
}

.textarea-box textarea:focus::placeholder {
  color: var(--color-gray-500);
}

.textarea-box textarea:disabled {
  border-color: var(--color-gray-400);
  background-color: var(--color-gray-400);
}

.count-hint {
  align-items: center;
  gap: calc(var(--spacing) * .5);
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
  --tw-leading: 130%;
  --tw-tracking: .24px;
  letter-spacing: .24px;
  color: var(--color-content-tertiary);
  align-self: flex-end;
  line-height: 130%;
  display: flex;
}

.count-hint .count {
  color: var(--color-content-primary);
}

.choices {
  margin-bottom: calc(var(--spacing) * 0);
}

.dropdown-box {
  position: relative;
}

.dropdown-icon {
  top: 50%;
  right: calc(var(--spacing) * 3);
  width: calc(var(--spacing) * 6);
  height: calc(var(--spacing) * 6);
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  color: var(--color-content-tertiary);
  --tw-duration: .3s;
  --tw-ease: var(--ease-in-out);
  transition-duration: .3s;
  transition-timing-function: var(--ease-in-out);
  position: absolute;
}

@media (hover: hover) {
  .dropdown-icon:is(:where(.group):hover *) {
    color: var(--color-gray-500);
  }
}

.is-open ~ .dropdown-icon {
  rotate: 180deg;
}

.choices[data-type*="select-one"]:after {
  content: var(--tw-content);
  display: none;
}

.choices[data-type*="select-one"] .choices__inner {
  height: calc(var(--spacing) * 12);
  border-radius: var(--radius-lg);
  border-color: var(--color-boundary-primary);
  background-color: var(--color-surface-primary);
  padding: calc(var(--spacing) * 0);
  padding-right: calc(var(--spacing) * 10);
  padding-left: calc(var(--spacing) * 3);
  align-items: center;
  display: flex;
}

.dropdown-block.error .choices[data-type*="select-one"] .choices__inner {
  border-color: var(--color-red-600);
}

.choices__list.choices__list--single {
  padding: calc(var(--spacing) * 0);
}

.choices .choices__list--dropdown .choices__item {
  padding-block: calc(var(--spacing) * 1);
}

.choices .choices__item.choices__placeholder {
  --tw-leading: 180%;
  --tw-font-weight: var(--font-weight-normal);
  font-size: 1rem;
  line-height: 180%;
  font-weight: var(--font-weight-normal);
  --tw-tracking: 0%;
  letter-spacing: 0%;
  color: var(--color-content-tertiary);
  opacity: 1;
}

@media (hover: hover) {
  .choices .choices__item.choices__placeholder:is(:where(.group):hover *) {
    color: var(--color-gray-500);
  }
}

.choices__list--dropdown, .choices__list[aria-expanded] {
  border-radius: var(--radius-lg);
  --tw-border-style: none;
  background-color: var(--color-gray-250);
  padding: calc(var(--spacing) * 2);
  border-style: none;
  top: calc(100% + 8px);
}

.choices .dropdown-option {
  align-items: center;
  gap: calc(var(--spacing) * 1);
  color: var(--color-content-primary);
  display: flex;
}

.choices .dropdown-option .dropdown-option-icon {
  width: calc(var(--spacing) * 5);
  height: calc(var(--spacing) * 5);
  opacity: 0;
  flex: none;
}

.choices .choices__item.choices__item--selectable:not(.choices__placeholder), .choices .dropdown-option .dropdown-option-text {
  -webkit-line-clamp: 1;
  --tw-leading: 180%;
  --tw-font-weight: var(--font-weight-normal);
  width: 100%;
  font-size: 1rem;
  line-height: 180%;
  font-weight: var(--font-weight-normal);
  --tw-tracking: 0%;
  letter-spacing: 0%;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.choices .choices__item.choices__item--selectable {
  border-radius: var(--radius-sm);
}

.choices .choices__item.choices__item--selectable.is-highlighted {
  background-color: #5aa1ff;
}

.choices .choices__item.choices__item--selectable.is-highlighted .dropdown-option {
  color: var(--color-gray-0);
}

.choices .choices__item.choices__item--selectable.is-selected-option .dropdown-option .dropdown-option-icon {
  opacity: 1;
}

.choices.is-disabled :is(.choices__inner, .choices__input), .choices.is-disabled .choices__item {
  cursor: default !important;
}

.choices.is-disabled .choices__inner {
  border-color: var(--color-gray-400);
  background-color: var(--color-gray-400);
}

.checkbox-box {
  width: calc(var(--spacing) * 6);
  height: calc(var(--spacing) * 6);
  justify-content: center;
  align-items: center;
  display: flex;
}

.checkbox-box label {
  width: calc(var(--spacing) * 4);
  height: calc(var(--spacing) * 4);
  cursor: pointer;
  border-radius: var(--radius-xs);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-content-tertiary);
  background-color: var(--color-gray-0);
  flex: none;
  display: block;
  position: relative;
}

.checkbox-box label .checked {
  pointer-events: none;
  width: calc(var(--spacing) * 6);
  height: calc(var(--spacing) * 6);
  --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  color: var(--color-gray-0);
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
}

.checkbox-box input:checked ~ label {
  border-color: var(--color-content-accent);
  background-color: var(--color-surface-accent);
}

.checkbox-box input:checked ~ label .checked {
  display: block;
}

.tab-block {
  position: relative;
}

.switch-button {
  z-index: 1;
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  position: absolute;
  top: 50%;
}

.switch-button svg {
  width: calc(var(--spacing) * 6);
  height: calc(var(--spacing) * 6);
  color: var(--color-content-accent);
}

.switch-button.prev {
  left: calc(var(--spacing) * -6);
}

.switch-button.next {
  right: calc(var(--spacing) * -6);
}

.tab-block.at-start .switch-button.prev, .tab-block.at-end .switch-button.next {
  pointer-events: none;
}

.tab-block.at-start .switch-button.prev svg, .tab-block.at-end .switch-button.next svg {
  color: var(--color-gray-400);
}

.tab-bar {
  margin-inline: calc(var(--spacing) * -6);
  --alpha-end: 12px;
  --alpha-start: 36px;
  overflow: auto;
}

.tab-bar::-webkit-scrollbar {
  display: none;
}

.tab-bar {
  -webkit-mask-image: linear-gradient(to right, transparent var(--alpha-end), black var(--alpha-start), black calc(100% - var(--alpha-start)), transparent calc(100% - var(--alpha-end)));
  -webkit-mask-image: linear-gradient(to right, transparent var(--alpha-end), black var(--alpha-start), black calc(100% - var(--alpha-start)), transparent calc(100% - var(--alpha-end)));
  -webkit-mask-image: linear-gradient(to right, transparent var(--alpha-end), black var(--alpha-start), black calc(100% - var(--alpha-start)), transparent calc(100% - var(--alpha-end)));
  mask-image: linear-gradient(to right, transparent var(--alpha-end), black var(--alpha-start), black calc(100% - var(--alpha-start)), transparent calc(100% - var(--alpha-end)));
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.tab-bar ul {
  flex-wrap: nowrap;
  display: flex;
}

.tab-bar ul:before, .tab-bar ul:after {
  content: var(--tw-content);
  pointer-events: none;
  content: var(--tw-content);
  content: var(--tw-content);
  width: calc(var(--spacing) * 6);
  height: calc(var(--spacing) * 6);
  content: var(--tw-content);
  flex: none;
  display: block;
}

.tab-bar ul li {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
  border-color: var(--color-boundary-secondary);
  padding: calc(var(--spacing) * 3);
  color: var(--color-content-tertiary);
  justify-content: center;
  align-items: center;
  display: flex;
}

.tab-bar button {
  --tw-leading: 150%;
  --tw-font-weight: var(--font-weight-medium);
  font-size: 1.125rem;
  line-height: 150%;
  font-weight: var(--font-weight-medium);
  --tw-tracking: 4%;
  letter-spacing: 4%;
}

@media (min-width: 64rem) {
  .tab-bar button {
    font-size: 1.25rem;
  }
}

.tab-bar button {
  white-space: nowrap;
}

.tab-bar li.active {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 2px;
  border-color: var(--color-content-accent);
  color: var(--color-content-accent);
}

.tab-block.fully-expanded .tab-bar {
  margin-inline: calc(var(--spacing) * 0);
  -webkit-mask-image: none;
  mask-image: none;
}

.tab-block.fully-expanded .tab-bar ul:before, .tab-block.fully-expanded .tab-bar ul:after {
  content: var(--tw-content);
  display: none;
}

.tab-block.fully-expanded .switch-button, .tab-content {
  display: none;
}

.tab-content.active {
  display: block;
}

.choose-brick {
  align-items: center;
  gap: calc(var(--spacing) * 1.5);
  border-radius: var(--radius-lg);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-boundary-accent);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 2);
  --tw-leading: 180%;
  --tw-font-weight: var(--font-weight-medium);
  font-size: 1rem;
  line-height: 180%;
  font-weight: var(--font-weight-medium);
  --tw-tracking: 0%;
  letter-spacing: 0%;
  color: var(--color-content-accent);
  background-color: #ff67001a;
  display: flex;
}

@media (hover: hover) {
  .choose-brick:hover {
    background-color: #ff670033;
  }
}

.choose-brick button svg {
  width: calc(var(--spacing) * 6);
  height: calc(var(--spacing) * 6);
}

.check-block {
  align-items: center;
  gap: calc(var(--spacing) * 1.5);
  border-radius: var(--radius-lg);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-boundary-secondary);
  background-color: var(--color-surface-primary);
  width: 100%;
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 2);
  display: flex;
}

@media (hover: hover) {
  .check-block:hover {
    border-color: var(--color-content-accent);
  }
}

.check-block > * {
  pointer-events: none;
}

.check-block span {
  --tw-leading: 180%;
  --tw-font-weight: var(--font-weight-medium);
  font-size: 1rem;
  line-height: 180%;
  font-weight: var(--font-weight-medium);
  --tw-tracking: 0%;
  letter-spacing: 0%;
  color: var(--color-content-primary);
  -webkit-user-select: none;
  user-select: none;
}

@media (hover: hover) {
  .check-block span:is(:where(.group):hover *) {
    color: var(--color-content-accent);
  }

  .check-block .checkbox-box label:is(:where(.group):hover *) {
    border-color: var(--color-content-accent);
  }
}

.button-main {
  border-radius: var(--radius-lg);
  background-color: var(--color-surface-accent);
  padding-inline: calc(var(--spacing) * 6);
  padding-block: calc(var(--spacing) * 3);
  --tw-leading: 150%;
  --tw-font-weight: var(--font-weight-medium);
  font-size: 1rem;
  line-height: 150%;
  font-weight: var(--font-weight-medium);
  --tw-tracking: 4%;
  letter-spacing: 4%;
  white-space: nowrap;
  color: var(--color-content-invert-dark);
}

@media (hover: hover) {
  .button-main:hover {
    background-color: var(--color-surface-accent-dark);
  }
}

.smg-controller {
  align-items: center;
  gap: calc(var(--spacing) * 1);
  display: flex;
}

.smg-controller button {
  cursor: pointer;
  color: var(--color-gray-0);
}

@media (hover: hover) {
  .smg-controller button:hover {
    color: var(--color-content-tertiary);
  }
}

.smg-controller button:disabled {
  pointer-events: none;
  opacity: .4;
}

.smg-controller .pagination {
  height: calc(var(--spacing) * 6);
  align-items: center;
  gap: calc(var(--spacing) * 0);
  width: auto;
  padding-inline: calc(var(--spacing) * 2);
  padding-block: calc(var(--spacing) * .5);
  background-color: #29292933;
  border-radius: 3.40282e38px;
  display: flex;
}

.smg-controller .pagination .bullet, .smg-controller .pagination .swiper-pagination-bullet {
  --progress: 0;
  margin-inline: calc(var(--spacing) * 1.5);
  width: calc(var(--spacing) * 2);
  height: calc(var(--spacing) * 2);
  cursor: pointer;
  border-radius: var(--radius-2xl);
  opacity: 1;
  --tw-duration: .3s;
  --tw-ease: var(--ease-in-out);
  transition-duration: .3s;
  transition-timing-function: var(--ease-in-out);
  background-color: #fff6;
  position: relative;
  overflow: hidden;
}

.smg-controller:not(.no-progress) .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: calc(var(--spacing) * 22);
}

.smg-controller:not(.no-progress) .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  content: var(--tw-content);
  content: var(--tw-content);
  top: calc(var(--spacing) * 0);
  content: var(--tw-content);
  left: calc(var(--spacing) * 0);
  content: var(--tw-content);
  content: var(--tw-content);
  content: var(--tw-content);
  transform-origin: 0;
  content: var(--tw-content);
  --tw-scale-x: var(--progress);
  width: 100%;
  height: 100%;
  scale: var(--tw-scale-x) var(--tw-scale-y);
  content: var(--tw-content);
  border-radius: 3.40282e38px;
  position: absolute;
}

.smg-controller .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  background: linear-gradient(to left, #e34c01 0%, #ff6700 50%, #ffb064 100%);
}

.smg-controller.white button {
  color: var(--color-content-tertiary);
}

@media (hover: hover) {
  .smg-controller.white button:hover {
    color: var(--color-content-accent);
  }
}

.smg-controller.white .pagination {
  background-color: var(--color-gray-100);
}

.smg-controller.white .pagination .bullet, .smg-controller.white .pagination .swiper-pagination-bullet {
  background-color: var(--color-gray-400);
}

.smg-controller .pagination .bullet.active, .smg-controller.white .pagination .bullet.active, .smg-controller.no-progress .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--color-surface-accent);
}

.smg-controller-simple {
  align-items: center;
  gap: calc(var(--spacing) * 4);
  display: flex;
}

.smg-controller-simple button {
  width: calc(var(--spacing) * 10);
  height: calc(var(--spacing) * 10);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-gray-250);
  background-color: var(--color-gray-0);
  color: var(--color-content-primary);
  border-radius: 3.40282e38px;
  justify-content: center;
  align-items: center;
  display: flex;
}

@media (hover: hover) {
  .smg-controller-simple button:hover {
    background-color: var(--color-gray-100);
  }
}

.smg-controller-simple button:disabled {
  opacity: .4;
}

.smg-controller .swiper-pagination-lock, .smg-controller-simple .swiper-button-lock {
  display: none;
}

html, body {
  scroll-behavior: smooth;
}

.scroll-top-button {
  right: calc(var(--spacing) * 3);
  bottom: calc(var(--spacing) * 8);
  z-index: 99;
  height: calc(var(--spacing) * 10);
  width: calc(var(--spacing) * 10);
  background-color: #0006;
  border-radius: 3.40282e38px;
  justify-content: center;
  align-items: center;
  display: none;
  position: fixed;
}

@supports (color: color-mix(in lab, red, red)) {
  .scroll-top-button {
    background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
  }
}

@media (min-width: 36rem) {
  .scroll-top-button {
    bottom: calc(var(--spacing) * 9);
  }
}

@media (min-width: 43.75rem) {
  .scroll-top-button {
    right: calc(var(--spacing) * 9);
  }
}

.text-button {
  color: var(--color-content-accent);
  text-underline-offset: 2px;
  text-decoration-line: underline;
}

@media (hover: hover) {
  .text-button:hover {
    color: var(--color-content-accent-dark);
    text-decoration-line: none;
  }
}

.smg-swiper, .case-title {
  width: 100%;
}

.case-title h2 {
  --tw-leading: 150%;
  --tw-font-weight: var(--font-weight-normal);
  font-size: 1.5rem;
  line-height: 150%;
  font-weight: var(--font-weight-normal);
  --tw-tracking: 2%;
  letter-spacing: 2%;
  flex-direction: column;
  display: flex;
}

@media (min-width: 64rem) {
  .case-title h2 {
    font-size: 2.5rem;
  }
}

.case-title h2 {
  color: var(--color-content-primary);
}

.case-title h2 span {
  margin-bottom: calc(var(--spacing) * -.5);
  --tw-leading: 150%;
  --tw-font-weight: var(--font-weight-medium);
  font-size: 1rem;
  line-height: 150%;
  font-weight: var(--font-weight-medium);
  --tw-tracking: 4%;
  letter-spacing: 4%;
}

@media (min-width: 64rem) {
  .case-title h2 span {
    font-size: 1.125rem;
  }
}

.case-title h2 span {
  color: var(--color-content-accent);
}

.type-button {
  min-width: calc(var(--spacing) * 25);
  border-radius: var(--radius-lg);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 1.5);
  --tw-leading: 150%;
  --tw-font-weight: var(--font-weight-medium);
  font-size: 1rem;
  line-height: 150%;
  font-weight: var(--font-weight-medium);
  --tw-tracking: 4%;
  letter-spacing: 4%;
  color: var(--color-content-tertiary);
}

@media (hover: hover) {
  .type-button:hover {
    background-color: var(--color-surface-secondary);
  }
}

@media (min-width: 43.75rem) {
  .type-button {
    min-width: auto;
  }
}

.type-button.active {
  background-color: var(--color-content-accent);
  color: var(--color-content-invert-dark);
}

:root {
  --site-sm: var(--breakpoint-sm);
  --site-md: var(--breakpoint-md);
  --site-lg: var(--breakpoint-lg);
  --site-xl: var(--breakpoint-xl);
  --site-2xl: var(--breakpoint-2xl);
}

@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-tracking {
  syntax: "*";
  inherits: false
}

@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
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
