/*! tailwindcss v4.3.0 | 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-space-y-reverse: 0;
      --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-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: 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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}

@font-face {
  font-family: Inter Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2") format("woff2-variations");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2") format("woff2-variations");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2") format("woff2-variations");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/inter-greek-wght-normal.CkhJZR-_.woff2") format("woff2-variations");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2") format("woff2-variations");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2") format("woff2-variations");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2") format("woff2-variations");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fraunces Variable;
  font-style: normal;
  font-display: optional;
  font-weight: 100 900;
  src: url("/_astro/fraunces-vietnamese-full-normal.7BpKI3vF.woff2") format("woff2-variations");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Fraunces Variable;
  font-style: normal;
  font-display: optional;
  font-weight: 100 900;
  src: url("/_astro/fraunces-latin-ext-full-normal.YHFkNujK.woff2") format("woff2-variations");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces Variable;
  font-style: normal;
  font-display: optional;
  font-weight: 100 900;
  src: url("/_astro/fraunces-latin-full-normal.CFFu7zhK.woff2") format("woff2-variations");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("/_astro/lora-cyrillic-ext-wght-normal.YcVxMP-u.woff2") format("woff2-variations");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("/_astro/lora-cyrillic-wght-normal.UWPuZLjM.woff2") format("woff2-variations");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("/_astro/lora-math-wght-normal.sOy7rEfW.woff2") format("woff2-variations");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("/_astro/lora-symbols-wght-normal.DQ5VrUkH.woff2") format("woff2-variations");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("/_astro/lora-vietnamese-wght-normal.CfJ7gtf3.woff2") format("woff2-variations");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("/_astro/lora-latin-ext-wght-normal.C2Wlntb9.woff2") format("woff2-variations");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lora Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("/_astro/lora-latin-wght-normal.BiLcIKcI.woff2") format("woff2-variations");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fraunces Fallback;
  src: local(Georgia), local(Times New Roman), local("serif");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 98%;
  ascent-override: 97%;
  descent-override: 21%;
  line-gap-override: 0%;
}

@layer theme {
  :root, :host {
    --font-sans: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
    --font-mono: ui-monospace, "SF Mono", Menlo, Monaco, "Cascadia Code", monospace;
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-teal-200: oklch(91% .096 180.426);
    --color-teal-300: #5eead4;
    --color-teal-400: #14b8a6;
    --color-teal-500: #0f766e;
    --color-cyan-300: #93c5fd;
    --color-cyan-400: #5b9be8;
    --spacing: .25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --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-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wide: .025em;
    --leading-relaxed: 1.625;
    --radius-md: .375rem;
    --radius-xl: 16px;
    --radius-2xl: 20px;
    --radius-3xl: 28px;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-ink-900: #060d0f;
    --color-ink-800: #0a1518;
    --color-surface: #142a2f;
    --color-hairline: #1c3942;
    --color-amber: #e89c4d;
    --color-good: #3ac9b8;
    --color-bad: #e25852;
    --color-warn: #e89c4d;
    --color-fg: #f5f1e8;
    --color-fg-muted: #c9c2af;
    --color-fg-faint: #a39a86;
    --font-display: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
    --font-wonk: "Fraunces Variable", "Lora Variable", "Fraunces Fallback", Georgia, "Times New Roman", serif;
    --shadow-glow: 0 0 0 1px var(--color-hairline), 0 18px 40px -24px #14b8a666;
    --shadow-card: inset 0 0 0 1px #f5f1e812, 0 8px 24px -16px #00000080;
  }
}

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

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

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

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

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

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

  .top-\[60px\] {
    top: 60px;
  }

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

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

  .bottom-full {
    bottom: 100%;
  }

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

  .isolate {
    isolation: isolate;
  }

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

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

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

  .container {
    width: 100%;
  }

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

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

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

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

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

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

  .-mx-4 {
    margin-inline: calc(var(--spacing) * -4);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }

  .my-7 {
    margin-block: calc(var(--spacing) * 7);
  }

  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }

  .mt-0 {
    margin-top: calc(var(--spacing) * 0);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

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

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }

  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }

  .mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }

  .mt-auto {
    margin-top: auto;
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

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

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .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-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }

  .ml-auto {
    margin-left: auto;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .table {
    display: table;
  }

  .aspect-\[4\/5\] {
    aspect-ratio: 4 / 5;
  }

  .aspect-\[16\/10\] {
    aspect-ratio: 16 / 10;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .h-auto {
    height: auto;
  }

  .h-full {
    height: 100%;
  }

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

  .min-h-\[36px\] {
    min-height: 36px;
  }

  .min-h-\[82vh\] {
    min-height: 82vh;
  }

  .min-h-\[88vh\] {
    min-height: 88vh;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-full {
    width: 100%;
  }

  .w-max {
    width: max-content;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-6xl {
    max-width: var(--container-6xl);
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .max-w-\[20rem\] {
    max-width: 20rem;
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

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

  .min-w-\[1\.4rem\] {
    min-width: 1.4rem;
  }

  .min-w-\[2\.5rem\] {
    min-width: 2.5rem;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink, .shrink {
    flex-shrink: 1;
  }

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

  .grow {
    flex-grow: 1;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .cursor-help {
    cursor: help;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .list-disc {
    list-style-type: disc;
  }

  .list-none {
    list-style-type: none;
  }

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

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

  .flex-wrap {
    flex-wrap: wrap;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  :where(.space-y-0\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-3 {
    column-gap: calc(var(--spacing) * 3);
  }

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

  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }

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

  .justify-self-end {
    justify-self: flex-end;
  }

  .justify-self-start {
    justify-self: flex-start;
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

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

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

  .rounded-full {
    border-radius: 3.40282e38px;
  }

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

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

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

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

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

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

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

  .bg-teal-400\/10 {
    background-color: #14b8a61a;
  }

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

  .bg-teal-400\/30 {
    background-color: #14b8a64d;
  }

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

  .bg-transparent {
    background-color: #0000;
  }

  .bg-yellow-500\/10 {
    background-color: #edb2001a;
  }

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

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-teal-300 {
    --tw-gradient-from: var(--color-teal-300);
    --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-teal-500 {
    --tw-gradient-to: var(--color-teal-500);
    --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));
  }

  .bg-clip-text {
    -webkit-background-clip: text;
    background-clip: text;
  }

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

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

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }

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

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

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

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

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

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

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

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

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

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

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

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

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

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

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

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

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

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

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

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

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

  .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-12 {
    padding-block: calc(var(--spacing) * 12);
  }

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

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

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

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

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

  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }

  .pt-14 {
    padding-top: calc(var(--spacing) * 14);
  }

  .pr-2\.5 {
    padding-right: calc(var(--spacing) * 2.5);
  }

  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }

  .pb-2\.5 {
    padding-bottom: calc(var(--spacing) * 2.5);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }

  .pl-0 {
    padding-left: calc(var(--spacing) * 0);
  }

  .pl-1 {
    padding-left: calc(var(--spacing) * 1);
  }

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

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

  .pl-9 {
    padding-left: calc(var(--spacing) * 9);
  }

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

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

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

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

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

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

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

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

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

  .text-\[0\.6rem\] {
    font-size: .6rem;
  }

  .text-\[0\.7rem\] {
    font-size: .7rem;
  }

  .text-\[0\.85rem\] {
    font-size: .85rem;
  }

  .text-\[0\.86rem\] {
    font-size: .86rem;
  }

  .text-\[0\.95rem\] {
    font-size: .95rem;
  }

  .text-\[0\.96rem\] {
    font-size: .96rem;
  }

  .text-\[0\.97rem\] {
    font-size: .97rem;
  }

  .text-\[1\.75rem\] {
    font-size: 1.75rem;
  }

  .text-\[2rem\] {
    font-size: 2rem;
  }

  .leading-\[1\.1\] {
    --tw-leading: 1.1;
    line-height: 1.1;
  }

  .leading-\[1\.08\] {
    --tw-leading: 1.08;
    line-height: 1.08;
  }

  .leading-\[1\.12\] {
    --tw-leading: 1.12;
    line-height: 1.12;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

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

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

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

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

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .text-wrap {
    text-wrap: wrap;
  }

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

  .text-transparent {
    color: #0000;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

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

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

  .opacity-0 {
    opacity: 0;
  }

  .opacity-50 {
    opacity: .5;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + 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);
  }

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

  .blur-\[80px\] {
    --tw-blur: blur(80px);
    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, );
  }

  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
    --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

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

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

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

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

  @media (hover: hover) {
    .group-hover\:visible:is(:where(.group):hover *) {
      visibility: visible;
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  .group-focus\:visible:is(:where(.group):focus *) {
    visibility: visible;
  }

  .group-focus\:opacity-100:is(:where(.group):focus *) {
    opacity: 1;
  }

  @media (min-width: 40rem) {
    .sm\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .sm\:mx-0 {
      margin-inline: calc(var(--spacing) * 0);
    }

    .sm\:block {
      display: block;
    }

    .sm\:flex {
      display: flex;
    }

    .sm\:inline {
      display: inline;
    }

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

    .sm\:w-8 {
      width: calc(var(--spacing) * 8);
    }

    .sm\:min-w-\[2\.25rem\] {
      min-width: 2.25rem;
    }

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

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

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:flex-wrap {
      flex-wrap: wrap;
    }

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

    .sm\:items-end {
      align-items: flex-end;
    }

    .sm\:justify-between {
      justify-content: space-between;
    }

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

    .sm\:justify-end {
      justify-content: flex-end;
    }

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

    .sm\:gap-2\.5 {
      gap: calc(var(--spacing) * 2.5);
    }

    .sm\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }

    .sm\:gap-x-12 {
      column-gap: calc(var(--spacing) * 12);
    }

    .sm\:rounded-2xl {
      border-radius: var(--radius-2xl);
    }

    .sm\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

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

    .sm\:p-7 {
      padding: calc(var(--spacing) * 7);
    }

    .sm\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .sm\:p-10 {
      padding: calc(var(--spacing) * 10);
    }

    .sm\:p-12 {
      padding: calc(var(--spacing) * 12);
    }

    .sm\:px-1\.5 {
      padding-inline: calc(var(--spacing) * 1.5);
    }

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

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

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

    .sm\:pt-20 {
      padding-top: calc(var(--spacing) * 20);
    }

    .sm\:pt-24 {
      padding-top: calc(var(--spacing) * 24);
    }

    .sm\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .sm\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }

    .sm\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .sm\:text-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }

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

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

  @media (min-width: 48rem) {
    .md\:ml-3 {
      margin-left: calc(var(--spacing) * 3);
    }

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

  @media (min-width: 64rem) {
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .lg\:col-span-4 {
      grid-column: span 4 / span 4;
    }

    .lg\:row-span-2 {
      grid-row: span 2 / span 2;
    }

    .lg\:block {
      display: block;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:inline-block {
      display: inline-block;
    }

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

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

    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

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

    .lg\:grid-cols-\[0\.95fr_1\.05fr\] {
      grid-template-columns: .95fr 1.05fr;
    }

    .lg\:grid-cols-\[1\.2fr_1fr\] {
      grid-template-columns: 1.2fr 1fr;
    }

    .lg\:grid-cols-\[1fr_1fr\] {
      grid-template-columns: 1fr 1fr;
    }

    .lg\:grid-cols-\[1fr_auto\] {
      grid-template-columns: 1fr auto;
    }

    .lg\:grid-cols-\[auto_1fr\] {
      grid-template-columns: auto 1fr;
    }

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

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

    .lg\:items-start {
      align-items: flex-start;
    }

    .lg\:px-10 {
      padding-inline: calc(var(--spacing) * 10);
    }

    .lg\:text-\[2\.5rem\] {
      font-size: 2.5rem;
    }

    .lg\:text-\[3\.25rem\] {
      font-size: 3.25rem;
    }
  }
}

html {
  color-scheme: dark;
  scroll-behavior: smooth;
  background: var(--color-ink-900);
  overflow-x: hidden;
}

:root {
  --fs-display: clamp(2.5rem, 1.9rem + 2.6vw, 3.5rem);
  --fs-h2: clamp(1.95rem, 1.6rem + 1.5vw, 2.5rem);
  --fs-h3: clamp(1.3rem, 1.18rem + .5vw, 1.5rem);
  --fs-lead: clamp(1.125rem, 1.06rem + .3vw, 1.25rem);
  --fs-body: 1.0625rem;
  --fs-small: .875rem;
  --fs-eyebrow: .78rem;
  --lh-display: 1.08;
  --lh-heading: 1.15;
  --lh-lead: 1.55;
  --lh-body: 1.65;
  --ls-display: -.025em;
  --ls-h1: -.03em;
  --ls-h2: -.02em;
  --ls-eyebrow: .1em;
  --measure: 66ch;
  --measure-lead: 42ch;
  --space-section: clamp(4.5rem, 3rem + 6vw, 8rem);
}

body {
  color: var(--color-fg);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  background: radial-gradient(130% 110% at 72% -10%, #0f272c 0%, #0a1d22 44%, #06121659 70%, #050f12 100%);
  margin: 0;
  font-size: 17px;
  line-height: 1.65;
  position: relative;
}

.aurora {
  z-index: -1;
  pointer-events: none;
  transform: translate3d(0, var(--bath-shift, 0px), 0);
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.aurora i {
  filter: blur(44px);
  mix-blend-mode: screen;
  will-change: transform;
  border-radius: 50%;
  display: block;
  position: absolute;
}

.aurora .a3 {
  opacity: .82;
  background: radial-gradient(circle, #e89c4d 0%, #e89c4d99 40%, #e89c4d00 72%);
  width: 42vmax;
  height: 42vmax;
  animation: 19s ease-in-out infinite alternate au3;
  top: -4vmax;
  left: -4vmax;
}

.aurora .a1 {
  opacity: .9;
  background: radial-gradient(circle, #14b8a6 0%, #14b8a69e 40%, #14b8a600 72%);
  width: 46vmax;
  height: 46vmax;
  animation: 17s ease-in-out infinite alternate au1;
  top: -6vmax;
  right: -4vmax;
}

.aurora .a4 {
  opacity: .58;
  background: radial-gradient(circle, #5eead4 0%, #5eead480 38%, #5eead400 70%);
  width: 40vmax;
  height: 40vmax;
  animation: 15s ease-in-out infinite alternate au4;
  top: 16vmax;
  left: 32vmax;
}

.aurora .a2 {
  opacity: .8;
  background: radial-gradient(circle, #5b9be8 0%, #5b9be899 40%, #5b9be800 72%);
  width: 48vmax;
  height: 48vmax;
  animation: 21s ease-in-out infinite alternate au2;
  top: 18vmax;
  left: -8vmax;
}

.aurora .a6 {
  opacity: .8;
  background: radial-gradient(circle, #2dd4bf 0%, #2dd4bf99 40%, #2dd4bf00 72%);
  width: 46vmax;
  height: 46vmax;
  animation: 18s ease-in-out infinite alternate au6;
  bottom: -4vmax;
  right: -4vmax;
}

.aurora .a5 {
  opacity: .6;
  background: radial-gradient(circle, #be123c 0%, #be123c80 40%, #be123c00 72%);
  width: 48vmax;
  height: 48vmax;
  animation: 23s ease-in-out infinite alternate au5;
  bottom: -4vmax;
  left: 6vmax;
}

@keyframes au1 {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  100% {
    transform: translate3d(-14vmax, 10vmax, 0) scale(1.18);
  }
}

@keyframes au2 {
  0% {
    transform: translate3d(0, 0, 0) scale(1.05);
  }

  100% {
    transform: translate3d(13vmax, -7vmax, 0) scale(.95);
  }
}

@keyframes au3 {
  0% {
    transform: translate3d(0, 0, 0) scale(.95);
  }

  100% {
    transform: translate3d(9vmax, -15vmax, 0) scale(1.18);
  }
}

@keyframes au4 {
  0% {
    transform: translate3d(0, 0, 0) scale(.9);
  }

  100% {
    transform: translate3d(-11vmax, 9vmax, 0) scale(1.12);
  }
}

@keyframes au5 {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  100% {
    transform: translate3d(11vmax, -12vmax, 0) scale(1.15);
  }
}

@keyframes au6 {
  0% {
    transform: translate3d(0, 0, 0) scale(1.05);
  }

  100% {
    transform: translate3d(-9vmax, -9vmax, 0) scale(.96);
  }
}

@media (prefers-reduced-motion: reduce) {
  .aurora {
    transform: none;
  }

  .aurora i {
    animation: none;
  }
}

body:after {
  content: "";
  z-index: -1;
  pointer-events: none;
  opacity: .025;
  mix-blend-mode: overlay;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  position: fixed;
  inset: 0;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: var(--color-fg);
  font-weight: 680;
  line-height: 1.15;
}

h1 {
  letter-spacing: -.03em;
  font-weight: 720;
}

.wonk {
  font-family: var(--font-wonk);
  font-variation-settings: "opsz" 48, "SOFT" 0, "WONK" 1;
  letter-spacing: -.005em;
  font-weight: 580;
}

.wonk--tight {
  letter-spacing: -.02em;
}

em {
  font-style: italic;
}

code, kbd, pre {
  font-family: var(--font-mono);
}

a {
  color: var(--color-teal-300);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

a:hover {
  color: #8ff3e2;
}

::selection {
  color: var(--color-fg);
  background: #14b8a64d;
}

section[id] {
  scroll-margin-top: 5rem;
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-hairline) transparent;
}

.glass {
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border-bottom: 1px solid var(--color-hairline);
  background: #0a1518b8;
}

:root {
  --pebble: 56% 44% 60% 40% / 50% 60% 40% 50%;
}

.pebble {
  border-radius: 22px;
}

.pebble-soft {
  border-radius: 9999px;
}

.pebble-blob {
  border-radius: var(--pebble);
}

.btn-glass {
  color: #defefb;
  -webkit-backdrop-filter: blur(18px) saturate(1.6);
  background: #14b8a633;
  border-radius: 9999px;
  box-shadow: 0 0 30px -6px #14b8a68c, inset 0 1px #ffffff47, inset 0 0 0 1px #14b8a673;
}

@keyframes btnBreath {
  0%, 100% {
    box-shadow: 0 0 24px -8px #14b8a673, inset 0 1px #ffffff47, inset 0 0 0 1px #14b8a673;
  }

  50% {
    box-shadow: 0 0 40px -4px #14b8a6b3, inset 0 1px #ffffff52, inset 0 0 0 1px #14b8a699;
  }
}

.btn-glass.mercury-halo {
  animation: 4.5s ease-in-out infinite btnBreath;
}

.btn-ghost {
  color: var(--color-fg);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  background: #ffffff0f;
  border-radius: 9999px;
  box-shadow: inset 0 1px #ffffff29, inset 0 0 0 1px #ffffff24;
}

.peb-btn {
  border-radius: var(--pebble);
  color: var(--color-fg);
  -webkit-backdrop-filter: blur(14px);
  background: #ffffff0f;
  box-shadow: inset 0 0 0 1px #ffffff24, inset 0 2px 6px #ffffff0f;
}

.peb-teal {
  border-radius: var(--pebble);
  color: var(--color-teal-300);
  background: #14b8a61f;
  box-shadow: inset 0 0 0 1px #14b8a657;
}

.card-glass {
  background: linear-gradient(135deg, #14b8a614, #14b8a604), var(--color-surface);
  box-shadow: inset 0 0 0 1px #f5f1e812, inset 0 1px #ffffff0d;
}

.card-glass.is-teal {
  box-shadow: inset 0 0 0 1px #14b8a63d, inset 0 1px #ffffff0f;
}

@media (prefers-reduced-motion: reduce) {
  .btn-glass, body:before {
    animation: none;
  }
}

:root {
  --ease-smooth: cubic-bezier(.22, 1, .36, 1);
  --ease-sharp: cubic-bezier(.4, 0, .2, 1);
  --dur-fast: .18s;
  --dur-normal: .35s;
  --dur-slow: .6s;
}

.js .reveal {
  opacity: 0;
  transition: opacity var(--dur-slow) var(--ease-smooth), transform var(--dur-slow) var(--ease-smooth);
  will-change: opacity, transform;
  transform: translateY(16px);
}

.js .reveal.in {
  opacity: 1;
  transform: none;
}

.lift {
  transition: transform var(--dur-normal) var(--ease-smooth), box-shadow var(--dur-normal) var(--ease-smooth), border-color var(--dur-normal) var(--ease-smooth);
}

.lift:hover {
  border-color: #196968;
  transform: translateY(-4px);
  box-shadow: 0 22px 50px -28px #14b8a68c;
}

@supports (color: color-mix(in lab, red, red)) {
  .lift:hover {
    border-color: color-mix(in oklab, var(--color-teal-400) 38%, var(--color-hairline));
  }
}

.glow-hover {
  box-shadow: var(--shadow-card);
  transition: box-shadow .25s;
}

.glow-hover:hover {
  box-shadow: inset 0 0 0 1px #14b8a673, var(--shadow-card);
}

@supports (color: color-mix(in lab, red, red)) {
  .glow-hover:hover {
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--color-teal-400) 45%, transparent), var(--shadow-card);
  }
}

.btn {
  transition: transform var(--dur-fast) var(--ease-sharp), box-shadow var(--dur-normal) var(--ease-smooth), background var(--dur-normal) var(--ease-smooth);
}

.btn:hover {
  transform: translateY(-2px) scale(1.02);
}

.btn:active {
  transform: translateY(0) scale(.98);
}

.btn .ic {
  transition: transform var(--dur-normal) var(--ease-smooth);
}

@media (prefers-reduced-motion: reduce) {
  .js .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  .lift:hover, .btn:hover, .btn:active {
    transform: none !important;
  }
}

.sidebar {
  flex-shrink: 0;
}

.sidebar-scroll {
  padding: 1.5rem 1rem 3rem;
}

#sidebar-overlay {
  display: none;
}

@media (min-width: 1024px) {
  .sidebar {
    border-right: 1px solid var(--color-hairline);
    align-self: flex-start;
    width: 290px;
    position: sticky;
    top: 65px;
  }

  .sidebar-scroll {
    max-height: calc(100vh - 65px);
    overflow-y: auto;
  }
}

@media (max-width: 1023px) {
  .sidebar {
    z-index: 60;
    background: var(--color-ink-800);
    border-right: 1px solid var(--color-hairline);
    width: min(86vw, 320px);
    transition: transform .24s;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    transform: translateX(-100%);
  }

  .sidebar-scroll {
    max-height: 100vh;
    padding-top: 1.25rem;
    overflow-y: auto;
  }

  [data-sidebar="open"] .sidebar {
    transform: translateX(0);
  }

  [data-sidebar="open"] #sidebar-overlay {
    z-index: 55;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    background: #060d0f99;
    display: block;
    position: fixed;
    inset: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

.lesson-prose {
  color: var(--color-fg);
}

.lesson-prose > h2 {
  border-top: 1px solid var(--color-hairline);
  margin-top: 2.4rem;
  margin-bottom: .8rem;
  padding-top: 1.2rem;
  font-size: 1.45rem;
}

.lesson-prose > h3 {
  color: var(--color-teal-300);
  margin-top: 1.8rem;
  margin-bottom: .6rem;
  font-size: 1.2rem;
}

.lesson-prose p {
  color: var(--color-fg);
  margin: 1rem 0;
}

.lesson-prose ul, .lesson-prose ol {
  margin: 1rem 0;
  padding-left: 1.4rem;
}

.lesson-prose li {
  margin: .4rem 0;
}

.lesson-prose ul > li::marker {
  color: var(--color-teal-400);
}

.lesson-prose ol > li::marker {
  color: var(--color-teal-400);
  font-weight: 600;
}

.lesson-prose strong {
  color: #fffaf0;
}

.lesson-prose blockquote {
  border-left: 3px solid var(--color-teal-400);
  color: var(--color-fg-muted);
  margin: 1.4rem 0;
  padding: .4rem 0 .4rem 1.1rem;
  font-style: italic;
}

.lesson-prose :not(pre) > code {
  background: #082524;
}

@supports (color: color-mix(in lab, red, red)) {
  .lesson-prose :not(pre) > code {
    background: color-mix(in oklab, var(--color-teal-400) 14%, var(--color-ink-900));
  }
}

.lesson-prose :not(pre) > code {
  border: 1px solid var(--color-hairline);
  color: var(--color-teal-300);
  border-radius: 6px;
  padding: .1rem .35rem;
  font-size: .86em;
}

.lesson-prose hr {
  border: 0;
  border-top: 1px solid var(--color-hairline);
  margin: 2.2rem 0;
}

.lesson-prose table {
  border-collapse: collapse;
  width: 100%;
  margin: 1.4rem 0;
  font-size: .95rem;
}

.lesson-prose th, .lesson-prose td {
  border: 1px solid var(--color-hairline);
  text-align: left;
  padding: .55rem .7rem;
}

.lesson-prose th {
  background: var(--color-surface);
  color: var(--color-fg);
}

.lesson-prose a {
  font-weight: 500;
}

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

:where(a, button, summary, [role="button"], [tabindex]:not([tabindex="-1"]), input, select, textarea):focus-visible {
  outline: 2px solid var(--color-teal-300);
  outline-offset: 2px;
  border-radius: 8px;
}

.skip-link {
  z-index: 100;
  position: absolute;
  top: 0;
  left: -9999px;
}

.skip-link:focus {
  background: var(--color-surface);
  color: var(--color-fg);
  box-shadow: 0 0 0 2px var(--color-teal-400);
  border-radius: 12px;
  padding: .65rem 1rem;
  text-decoration: none;
  top: 12px;
  left: 12px;
}

main:focus {
  outline: none;
}

@media (forced-colors: active) {
  :where(a, button, [role="button"]):focus-visible {
    outline: 2px solid canvastext;
  }
}

.focus\:not-sr-only:focus {
  clip: auto;
  background: var(--color-surface);
  width: auto;
  height: auto;
  color: var(--color-fg);
  margin: 0;
  padding: .5rem 1rem;
  position: static;
}

:root {
  --mc-teal-deep: var(--color-teal-500, #0f766e);
  --mc-teal: var(--color-teal-400, #14b8a6);
  --mc-mint: var(--color-teal-300, #5eead4);
  --mc-amber: var(--color-amber, #e89c4d);
  --mc-azure: var(--color-cyan-400, #5b9be8);
  --mercury-flow: linear-gradient(100deg,
    var(--mc-teal)      0%,
    var(--mc-mint)      16%,
    var(--mc-teal)      30%,
    var(--mc-amber)     48%,
    var(--mc-azure)     64%,
    var(--mc-teal-deep) 82%,
    var(--mc-teal)      100%);
}

.mercury-flow {
  letter-spacing: -.03em;
  color: var(--mc-mint);
  will-change: color, text-shadow;
  font-weight: 460;
  animation: 16s ease-in-out infinite mercuryHue;
}

@keyframes mercuryHue {
  0% {
    color: #14b8a6;
    text-shadow: 0 0 22px #14b8a673, 0 0 44px #14b8a633;
  }

  22% {
    color: #5eead4;
    text-shadow: 0 0 26px #5eead48c, 0 0 52px #5eead43d;
  }

  46% {
    color: #e89c4d;
    text-shadow: 0 0 26px #e89c4d7a, 0 0 52px #e89c4d33;
  }

  70% {
    color: #5b9be8;
    text-shadow: 0 0 26px #5b9be885, 0 0 52px #5b9be838;
  }

  100% {
    color: #14b8a6;
    text-shadow: 0 0 22px #14b8a673, 0 0 44px #14b8a633;
  }
}

.mercury-flow--subtle {
  letter-spacing: normal;
  font-weight: 500;
  animation-name: mercuryHueSubtle;
  animation-duration: 24s;
}

@keyframes mercuryHueSubtle {
  0% {
    color: #2dd4bf;
    text-shadow: 0 0 12px #2dd4bf4d;
  }

  33% {
    color: #5eead4;
    text-shadow: 0 0 14px #5eead457;
  }

  66% {
    color: #5b9be8;
    text-shadow: 0 0 14px #5b9be852;
  }

  100% {
    color: #2dd4bf;
    text-shadow: 0 0 12px #2dd4bf4d;
  }
}

.mercury-halo {
  isolation: isolate;
  position: relative;
}

.mercury-halo:after {
  content: "";
  z-index: -1;
  border-radius: inherit;
  background: var(--mercury-flow);
  filter: blur(12px);
  opacity: .28;
  transition: opacity var(--dur-normal, .35s) var(--ease-smooth, cubic-bezier(.22,1,.36,1)), filter var(--dur-normal, .35s) var(--ease-smooth, cubic-bezier(.22,1,.36,1));
  pointer-events: none;
  will-change: opacity, filter;
  background-position: 0%;
  background-repeat: repeat;
  background-size: 200% 100%;
  animation: 18s linear infinite mercuryFlow;
  position: absolute;
  inset: -3px;
}

.mercury-halo:hover:after, .mercury-halo:focus-visible:after {
  opacity: .55;
  filter: blur(16px);
  animation-duration: 9s;
}

@media (prefers-reduced-motion: reduce) {
  .mercury-flow {
    color: var(--mc-mint);
    will-change: auto;
  }

  .mercury-halo:after {
    opacity: .3;
    filter: blur(12px);
    will-change: auto;
    background-position: 38%;
  }
}

@keyframes mercuryFlow {
  to {
    background-position: 200%;
  }
}

:root {
  --magnet-x: 0px;
  --magnet-y: 0px;
  --magnet-ix: 0px;
  --magnet-iy: 0px;
}

.js .hero-h1 .hw, .js .hero-h1 .mercury-flow {
  opacity: 0;
  filter: blur(6px);
  animation: heroWordRise var(--dur-slow) var(--ease-smooth) both;
  animation-delay: calc(.12s + var(--word-i, 0) * 50ms);
  will-change: transform, opacity, filter;
  display: inline-block;
  transform: translateY(.5em);
}

.js .hero-h1 .mercury-flow {
  animation: heroWordRise var(--dur-slow) var(--ease-smooth) both, mercuryHue 16s ease-in-out infinite;
  animation-delay: calc(.12s + var(--word-i, 0) * 50ms), 0s;
}

@keyframes heroWordRise {
  from {
    opacity: 0;
    filter: blur(6px);
    transform: translateY(.5em);
  }

  60% {
    opacity: 1;
    filter: blur();
  }

  to {
    opacity: 1;
    filter: blur();
    transform: translateY(0);
  }
}

.h-accent {
  padding-bottom: .55rem;
  position: relative;
}

.h-accent:after {
  content: "";
  background: linear-gradient(90deg, var(--mc-teal), var(--mc-mint));
  transform-origin: 0;
  width: clamp(56px, 8vw, 104px);
  height: 2px;
  transition: transform var(--dur-slow) var(--ease-smooth), box-shadow var(--dur-slow) var(--ease-smooth);
  will-change: transform;
  border-radius: 2px;
  transition-delay: .14s;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  box-shadow: 0 0 14px -2px #14b8a600;
}

.js .reveal.h-accent.in:after, html:not(.js) .h-accent:after {
  transform: scaleX(1);
  box-shadow: 0 0 16px -2px #14b8a680;
}

.js .reveal--pop {
  opacity: 0;
  transition: opacity var(--dur-slow) var(--ease-smooth), transform var(--dur-slow) var(--ease-smooth);
  will-change: opacity, transform;
  transform: translateY(10px) scale(.965);
}

.js .reveal--pop.in {
  opacity: 1;
  transform: none;
}

.js .reveal--wipe {
  opacity: 0;
  clip-path: inset(0 0 100%);
  transition: opacity var(--dur-slow) var(--ease-smooth), clip-path var(--dur-slow) var(--ease-smooth), transform var(--dur-slow) var(--ease-smooth);
  will-change: opacity, clip-path, transform;
  transform: translateY(6px);
}

.js .reveal--wipe.in {
  opacity: 1;
  clip-path: inset(0);
  transform: none;
}

.aura-frame {
  isolation: isolate;
  width: 100%;
  max-width: 20rem;
  margin-inline: auto;
  position: relative;
}

.aura-frame:before {
  content: "";
  z-index: -1;
  filter: blur(26px);
  opacity: .9;
  pointer-events: none;
  will-change: background, opacity;
  background: radial-gradient(60% 60% at 50% 42%, #14b8a68c, #0000 72%);
  border-radius: 36px;
  animation: 18s ease-in-out infinite auraRingHue;
  position: absolute;
  inset: -10px;
}

@keyframes auraRingHue {
  0% {
    opacity: .85;
    background: radial-gradient(60% 60% at 50% 42%, #14b8a68c, #0000 72%);
  }

  22% {
    opacity: 1;
    background: radial-gradient(60% 60% at 50% 42%, #5eead499, #0000 72%);
  }

  46% {
    opacity: .92;
    background: radial-gradient(60% 60% at 50% 42%, #e89c4d80, #0000 72%);
  }

  70% {
    opacity: .96;
    background: radial-gradient(60% 60% at 50% 42%, #5b9be88c, #0000 72%);
  }

  100% {
    opacity: .85;
    background: radial-gradient(60% 60% at 50% 42%, #14b8a68c, #0000 72%);
  }
}

.aura-float {
  animation: auraFloat 9s var(--ease-smooth) infinite;
  will-change: transform;
}

@keyframes auraFloat {
  0% {
    transform: translate3d(0, 0, 0) rotate(0);
  }

  50% {
    transform: translate3d(0, -6px, 0) rotate(.4deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(0);
  }
}

#hero-photo {
  transform: translate3d(0, var(--parallax-y, 0px), 0);
  will-change: transform;
  backface-visibility: hidden;
  transition: transform 60ms linear;
}

.hero-cine__bg {
  z-index: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero-cine__bg .bg-video {
  object-fit: cover;
  opacity: .6;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.hero-cine__bg:after {
  content: "";
  background: linear-gradient(90deg, var(--color-ink-900) 6%, #060d0f80 46%, transparent 86%), linear-gradient(0deg, var(--color-ink-900) 4%, transparent 58%);
  position: absolute;
  inset: 0;
}

.hero-cine__cue {
  border: 1.5px solid var(--color-hairline);
  z-index: 10;
  border-radius: 12px;
  width: 22px;
  height: 34px;
  position: absolute;
  bottom: 1.4rem;
  left: 50%;
  transform: translateX(-50%);
}

.hero-cine__cue span {
  background: var(--color-teal-300);
  border-radius: 2px;
  width: 3px;
  height: 7px;
  animation: 1.8s ease-in-out infinite heroCue;
  position: absolute;
  top: 7px;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes heroCue {
  0%, 100% {
    opacity: .3;
    transform: translate(-50%);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, 9px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-cine__cue span {
    animation: none;
  }
}

.cert-collapse summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  list-style: none;
  display: flex;
}

.cert-collapse summary::-webkit-details-marker {
  display: none;
}

.cert-collapse .cert-ind:after {
  content: "+";
  color: var(--color-teal-300);
  font-weight: 700;
}

.cert-collapse[open] .cert-ind:after {
  content: "–";
}

@media (forced-colors: active) {
  .cert-collapse .cert-ind:after {
    color: buttontext;
  }
}

.flow-edge {
  isolation: isolate;
  position: relative;
}

.flow-edge:before {
  content: "";
  z-index: 0;
  border-radius: inherit;
  background: var(--mercury-flow);
  -webkit-mask-composite: xor;
  opacity: .5;
  pointer-events: none;
  will-change: background-position;
  -webkit-mask-composite: xor;
  -webkit-mask-source-type: auto, auto;
  background-position: 0%;
  background-size: 280% 100%;
  padding: 1px;
  animation: 22s linear infinite flowEdge;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
  mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
  -webkit-mask-position: 0 0, 0 0;
  mask-position: 0 0, 0 0;
  -webkit-mask-size: auto, auto;
  mask-size: auto, auto;
  -webkit-mask-repeat: repeat, repeat;
  mask-repeat: repeat, repeat;
  -webkit-mask-clip: content-box, border-box;
  mask-clip: content-box, border-box;
  -webkit-mask-origin: content-box, border-box;
  mask-origin: content-box, border-box;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-mask-source-type: auto, auto;
  mask-mode: match-source, match-source;
}

@keyframes flowEdge {
  to {
    background-position: 280%;
  }
}

.flow-edge > * {
  z-index: 1;
  position: relative;
}

.eye-gleam {
  will-change: filter;
  animation: 7s ease-in-out infinite eyeGleam;
}

@keyframes eyeGleam {
  0%, 100% {
    filter: drop-shadow(0 0 #5eead400);
  }

  50% {
    filter: drop-shadow(0 0 6px #5eead480);
  }
}

.eye-gleam.eye-blink {
  transform-origin: center;
  will-change: filter, transform;
  animation: 7s ease-in-out infinite eyeGleam, 9s ease-in-out infinite eyeBlink;
}

@keyframes eyeBlink {
  0%, 98.4% {
    transform: scaleY(1);
  }

  99.2% {
    transform: scaleY(.1);
  }

  100% {
    transform: scaleY(1);
  }
}

[data-magnetic] {
  transform: translate3d(var(--magnet-x), var(--magnet-y), 0);
  transition: box-shadow var(--dur-normal) var(--ease-smooth), background var(--dur-normal) var(--ease-smooth);
  will-change: transform;
}

[data-magnetic]:hover {
  transform: translate3d(var(--magnet-x), calc(var(--magnet-y) - 2px), 0) scale(1.02);
}

[data-magnetic]:active {
  transform: translate3d(var(--magnet-x), var(--magnet-y), 0) scale(.97);
}

[data-magnetic] .ic {
  transform: translate3d(var(--magnet-ix), var(--magnet-iy), 0);
}

[data-magnetic]:hover .ic {
  transform: translate3d(var(--magnet-ix), var(--magnet-iy), 0) rotate(8deg) scale(1.14);
}

.card-glass.lift {
  isolation: isolate;
  position: relative;
  overflow: hidden;
}

.card-glass.lift:after {
  content: "";
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  will-change: transform, opacity;
  background: linear-gradient(115deg, #0000 0%, #f5f1e814 42%, #5eead41a 50%, #f5f1e814 58%, #0000 100%);
  width: 55%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -60%;
  transform: translateX(0) skewX(-12deg);
}

.card-glass.lift:hover:after {
  animation: cardSheen .9s var(--ease-smooth) 1;
}

@keyframes cardSheen {
  0% {
    opacity: 0;
    transform: translateX(0) skewX(-12deg);
  }

  12% {
    opacity: 1;
  }

  88% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(320%) skewX(-12deg);
  }
}

.card-glass.lift > * {
  z-index: 1;
  position: relative;
}

.link-underline {
  position: relative;
}

.link-underline:after {
  content: "";
  background: var(--color-teal-300);
  transform-origin: 100%;
  height: 1.5px;
  transition: transform var(--dur-normal) var(--ease-smooth);
  border-radius: 2px;
  position: absolute;
  bottom: .3rem;
  left: .75rem;
  right: .75rem;
  transform: scaleX(0);
  box-shadow: 0 0 8px #5eead473;
}

.link-underline:hover:after, .link-underline:focus-visible:after {
  transform-origin: 0;
  transform: scaleX(1);
}

.link-underline--case:after {
  bottom: -2px;
  left: 0;
  right: 0;
}

.btn.btn-glass:active {
  box-shadow: 0 0 18px -8px #14b8a666, inset 0 1px #ffffff29, inset 0 2px 6px #00000047, inset 0 0 0 1px #14b8a673;
}

.btn.btn-ghost:active {
  box-shadow: inset 0 1px #ffffff1a, inset 0 2px 6px #00000042, inset 0 0 0 1px #ffffff24;
}

.btn:hover .ic {
  transform: rotate(8deg) scale(1.18);
}

.btn:active .ic {
  transform: rotate(8deg) scale(1.02);
}

.card-glass.lift .peb-teal {
  transition: transform var(--dur-normal) var(--ease-smooth), box-shadow var(--dur-normal) var(--ease-smooth), color var(--dur-normal) var(--ease-smooth);
  will-change: transform, box-shadow;
}

.card-glass.lift:hover .peb-teal {
  color: var(--color-teal-300);
  transform: rotate(-4deg) scale(1.08);
  box-shadow: inset 0 0 0 1px #14b8a68c, 0 0 22px -4px #14b8a68c;
}

@media (prefers-reduced-motion: reduce) {
  .js .hero-h1 .hw, .js .hero-h1 .mercury-flow {
    will-change: auto;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }

  .h-accent:after {
    will-change: auto;
    box-shadow: 0 0 14px -2px #14b8a673;
    transform: scaleX(1) !important;
  }

  .js .reveal--pop, .js .reveal--wipe {
    will-change: auto;
    opacity: 1 !important;
    clip-path: none !important;
    transform: none !important;
  }

  .aura-frame:before {
    opacity: .85;
    will-change: auto;
    background: radial-gradient(60% 60% at 50% 42%, #14b8a680, #0000 72%);
  }

  .aura-float, #hero-photo {
    will-change: auto;
    transform: none !important;
  }

  .flow-edge:before {
    opacity: .45;
    will-change: auto;
    background-position: 30%;
  }

  .eye-gleam {
    filter: drop-shadow(0 0 4px #5eead459);
    will-change: auto;
  }

  .eye-gleam.eye-blink, [data-magnetic], [data-magnetic]:hover, [data-magnetic]:active {
    will-change: auto;
    transform: none !important;
  }

  [data-magnetic] .ic, [data-magnetic]:hover .ic {
    transform: none !important;
  }

  .card-glass.lift:after {
    display: none !important;
  }

  .link-underline:hover:after, .link-underline:focus-visible:after {
    transform: scaleX(1) !important;
  }

  .card-glass.lift:hover .peb-teal {
    will-change: auto;
    transform: none !important;
  }
}

@media (max-width: 360px) {
  .lang-switch-btn {
    min-width: 2rem;
    padding-left: .25rem;
    padding-right: .25rem;
  }
}

@media (min-width: 768px) {
  .md\:flex {
    display: flex !important;
  }
}

.gap-x-3 {
  column-gap: .75rem !important;
}

.gap-y-1 {
  row-gap: .25rem !important;
}

@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-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

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

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  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-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}
@keyframes astroFadeInOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

@keyframes astroFadeIn {
	from {
		opacity: 0;
		mix-blend-mode: plus-lighter;
	}
	to {
		opacity: 1;
		mix-blend-mode: plus-lighter;
	}
}

@keyframes astroFadeOut {
	from {
		opacity: 1;
		mix-blend-mode: plus-lighter;
	}
	to {
		opacity: 0;
		mix-blend-mode: plus-lighter;
	}
}

@keyframes astroSlideFromRight {
	from {
		transform: translateX(100%);
	}
}

@keyframes astroSlideFromLeft {
	from {
		transform: translateX(-100%);
	}
}

@keyframes astroSlideToRight {
	to {
		transform: translateX(100%);
	}
}

@keyframes astroSlideToLeft {
	to {
		transform: translateX(-100%);
	}
}

@media (prefers-reduced-motion) {
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) {
		animation: none !important;
	}

	[data-astro-transition-scope] {
		animation: none !important;
	}
}
/* Route announcer */
	.astro-route-announcer {
		position: absolute;
		left: 0;
		top: 0;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		overflow: hidden;
		white-space: nowrap;
		width: 1px;
		height: 1px;
	}