/* [next]/internal/font/google/inter_5901b7c6.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  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;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  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;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  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: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_5901b7c6-module__ec5Qua__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_5901b7c6-module__ec5Qua__variable {
  --font-inter: "Inter", "Inter Fallback";
}

/* [next]/internal/font/google/merriweather_b1e99710.module.css [app-client] (css) */
@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/02046ca7e906ed9f-s.78def622.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/6bbcb5b36acd717c-s.656fbe30.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/0797a9ffe47acb65-s.a9cc7c2a.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7c2c7251ac640798-s.d6988a53.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/248e1dc0efc99276-s.p.8a6b2436.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/02046ca7e906ed9f-s.78def622.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/6bbcb5b36acd717c-s.656fbe30.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/0797a9ffe47acb65-s.a9cc7c2a.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7c2c7251ac640798-s.d6988a53.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/248e1dc0efc99276-s.p.8a6b2436.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/02046ca7e906ed9f-s.78def622.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/6bbcb5b36acd717c-s.656fbe30.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/0797a9ffe47acb65-s.a9cc7c2a.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7c2c7251ac640798-s.d6988a53.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/248e1dc0efc99276-s.p.8a6b2436.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/02046ca7e906ed9f-s.78def622.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/6bbcb5b36acd717c-s.656fbe30.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/0797a9ffe47acb65-s.a9cc7c2a.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7c2c7251ac640798-s.d6988a53.woff2") format("woff2");
  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: Merriweather;
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/248e1dc0efc99276-s.p.8a6b2436.woff2") format("woff2");
  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: Merriweather Fallback;
  src: local(Times New Roman);
  ascent-override: 80.59%;
  descent-override: 22.36%;
  line-gap-override: 0.0%;
  size-adjust: 122.09%;
}

.merriweather_b1e99710-module__84TlHG__className {
  font-family: Merriweather, Merriweather Fallback;
  font-style: normal;
}

.merriweather_b1e99710-module__84TlHG__variable {
  --font-merriweather: "Merriweather", "Merriweather Fallback";
}

/* [next]/internal/font/google/fira_code_782f603f.module.css [app-client] (css) */
@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/88731e1a74492905-s.047a472f.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/861011d7404b02f6-s.7861847e.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/3381337b621a9a6a-s.29df3230.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/5413d6e6d8960ee4-s.af0c84fa.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/0951afe60dbf5d36-s.ce79b48e.woff2") format("woff2");
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/97e7b204180d1274-s.9fe1d481.woff2") format("woff2");
  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: Fira Code;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/b8b552e8609c5636-s.p.25aba60b.woff2") format("woff2");
  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: Fira Code Fallback;
  src: local(Arial);
  ascent-override: 73.56%;
  descent-override: 23.92%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.fira_code_782f603f-module__L07ErG__className {
  font-family: Fira Code, Fira Code Fallback;
  font-style: normal;
}

.fira_code_782f603f-module__L07ErG__variable {
  --font-fira-code: "Fira Code", "Fira Code Fallback";
}

/* [project]/platform/src/app/globals.css [app-client] (css) */
@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-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --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-space-x-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;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: var(--font-inter), system-ui, sans-serif;
    --font-serif: var(--font-merriweather), Georgia, serif;
    --font-mono: var(--font-fira-code), Menlo, monospace;
    --color-red-50: #fef2f2;
    --color-red-300: #ffa3a3;
    --color-red-400: #ff6568;
    --color-red-500: #fb2c36;
    --color-red-600: #e40014;
    --color-red-700: #bf000f;
    --color-red-950: #460809;
    --color-orange-50: #fff7ed;
    --color-orange-100: #ffedd5;
    --color-orange-200: #ffd7a8;
    --color-orange-300: #ffb96d;
    --color-orange-400: #ff8b1a;
    --color-orange-500: #fe6e00;
    --color-orange-600: #f05100;
    --color-amber-50: #fffbeb;
    --color-amber-100: #fef3c6;
    --color-amber-200: #fee685;
    --color-amber-300: #ffd236;
    --color-amber-400: #fcbb00;
    --color-amber-500: #f99c00;
    --color-amber-600: #dd7400;
    --color-amber-700: #b75000;
    --color-yellow-50: #fefce8;
    --color-yellow-200: #fff085;
    --color-yellow-400: #fac800;
    --color-yellow-500: #edb200;
    --color-yellow-600: #cd8900;
    --color-green-400: #05df72;
    --color-green-500: #00c758;
    --color-green-600: #00a544;
    --color-green-700: #008138;
    --color-emerald-400: #00d294;
    --color-emerald-500: #00bb7f;
    --color-emerald-600: #009767;
    --color-emerald-700: #007956;
    --color-emerald-900: #004e3b;
    --color-teal-500: #00baa7;
    --color-cyan-400: #00d2ef;
    --color-cyan-500: #00b7d7;
    --color-blue-50: #eff6ff;
    --color-blue-200: #bedbff;
    --color-blue-300: #90c5ff;
    --color-blue-400: #54a2ff;
    --color-blue-500: #3080ff;
    --color-blue-600: #155dfc;
    --color-blue-700: #1447e6;
    --color-violet-200: #ddd6ff;
    --color-purple-300: #d9b3ff;
    --color-purple-400: #c07eff;
    --color-purple-500: #ac4bff;
    --color-purple-600: #9810fa;
    --color-purple-700: #8200da;
    --color-pink-200: #fccee8;
    --color-pink-400: #fb64b6;
    --color-pink-500: #f6339a;
    --color-rose-400: #ff667f;
    --color-rose-500: #ff2357;
    --color-slate-50: #f8fafc;
    --color-slate-200: #e2e8f0;
    --color-slate-700: #314158;
    --color-slate-900: #0f172b;
    --color-gray-50: #f9fafb;
    --color-gray-200: #e5e7eb;
    --color-zinc-100: #f4f4f5;
    --color-zinc-200: #e4e4e7;
    --color-zinc-300: #d4d4d8;
    --color-zinc-400: #9f9fa9;
    --color-zinc-500: #71717b;
    --color-zinc-600: #52525c;
    --color-zinc-700: #3f3f46;
    --color-zinc-800: #27272a;
    --color-zinc-900: #18181b;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --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;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-relaxed: 1.625;
    --radius-sm: calc(var(--radius)  - 4px);
    --radius-md: calc(var(--radius)  - 2px);
    --radius-lg: var(--radius);
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --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-background: hsl(var(--background));
    --color-foreground: hsl(var(--foreground));
    --color-card: hsl(var(--card));
    --color-card-foreground: hsl(var(--card-foreground));
    --color-popover: hsl(var(--popover));
    --color-popover-foreground: hsl(var(--popover-foreground));
    --color-primary: hsl(var(--primary));
    --color-primary-foreground: hsl(var(--primary-foreground));
    --color-secondary: hsl(var(--secondary));
    --color-secondary-foreground: hsl(var(--secondary-foreground));
    --color-muted: hsl(var(--muted));
    --color-muted-foreground: hsl(var(--muted-foreground));
    --color-accent: hsl(var(--accent));
    --color-accent-foreground: hsl(var(--accent-foreground));
    --color-destructive: hsl(var(--destructive));
    --color-destructive-foreground: hsl(var(--destructive-foreground));
    --color-border: hsl(var(--border));
    --color-input: hsl(var(--input));
    --color-ring: hsl(var(--ring));
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-50: lab(96.5005% 4.18508 1.52328);
      --color-red-300: lab(76.5514% 36.422 15.5335);
      --color-red-400: lab(63.7053% 60.745 31.3109);
      --color-red-500: lab(55.4814% 75.0732 48.8528);
      --color-red-600: lab(48.4493% 77.4328 61.5452);
      --color-red-700: lab(40.4273% 67.2623 53.7441);
      --color-red-950: lab(13.003% 29.04 16.7519);
      --color-orange-50: lab(97.7008% 1.53735 5.90649);
      --color-orange-100: lab(94.7127% 3.58394 14.3151);
      --color-orange-200: lab(88.4871% 9.94918 28.8378);
      --color-orange-300: lab(80.8059% 21.7313 50.4455);
      --color-orange-400: lab(70.0429% 42.5156 75.8207);
      --color-orange-500: lab(64.272% 57.1788 90.3583);
      --color-orange-600: lab(57.1026% 64.2584 89.8886);
      --color-amber-50: lab(98.6252% -.635922 8.42309);
      --color-amber-100: lab(95.916% -1.21653 23.111);
      --color-amber-200: lab(91.7203% -.505269 49.9084);
      --color-amber-300: lab(86.4156% 6.13147 78.3961);
      --color-amber-400: lab(80.1641% 16.6016 99.2089);
      --color-amber-500: lab(72.7183% 31.8672 97.9407);
      --color-amber-600: lab(60.3514% 40.5624 87.1228);
      --color-amber-700: lab(47.2709% 42.9082 69.2966);
      --color-yellow-50: lab(98.6846% -1.79055 9.7766);
      --color-yellow-200: lab(94.3433% -5.00429 52.9663);
      --color-yellow-400: lab(83.2664% 8.65132 106.895);
      --color-yellow-500: lab(76.3898% 14.5258 98.4589);
      --color-yellow-600: lab(62.7799% 22.4197 86.1544);
      --color-green-400: lab(78.503% -64.9265 39.7492);
      --color-green-500: lab(70.5521% -66.5147 45.8073);
      --color-green-600: lab(59.0978% -58.6621 41.2579);
      --color-green-700: lab(47.0329% -47.0239 31.4788);
      --color-emerald-400: lab(75.0771% -60.7313 19.4147);
      --color-emerald-500: lab(66.9756% -58.27 19.5419);
      --color-emerald-600: lab(55.0481% -49.9246 15.93);
      --color-emerald-700: lab(44.4871% -41.0396 11.0361);
      --color-emerald-900: lab(28.8637% -26.9249 5.45986);
      --color-teal-500: lab(67.3859% -49.0983 -2.63511);
      --color-cyan-400: lab(76.6045% -40.9406 -29.6231);
      --color-cyan-500: lab(67.805% -35.3952 -30.2018);
      --color-blue-50: lab(96.492% -1.14644 -5.11479);
      --color-blue-200: lab(86.15% -4.04379 -21.0797);
      --color-blue-300: lab(77.5052% -6.4629 -36.42);
      --color-blue-400: lab(65.0361% -1.42065 -56.9802);
      --color-blue-500: lab(54.1736% 13.3369 -74.6839);
      --color-blue-600: lab(44.0605% 29.0279 -86.0352);
      --color-blue-700: lab(36.9089% 35.0961 -85.6872);
      --color-violet-200: lab(87.0888% 8.53688 -19.4189);
      --color-purple-300: lab(78.3298% 26.2195 -34.9499);
      --color-purple-400: lab(63.6946% 47.6127 -59.2066);
      --color-purple-500: lab(52.0183% 66.11 -78.2316);
      --color-purple-600: lab(43.0295% 75.21 -86.5669);
      --color-purple-700: lab(36.1758% 69.8525 -80.0381);
      --color-pink-200: lab(87.4504% 19.6 -6.46662);
      --color-pink-400: lab(64.5597% 64.3615 -12.7988);
      --color-pink-500: lab(56.9303% 76.8162 -8.07021);
      --color-rose-400: lab(64.4125% 63.0291 19.2068);
      --color-rose-500: lab(56.101% 79.4328 31.4532);
      --color-slate-50: lab(98.1434% -.369519 -1.05966);
      --color-slate-200: lab(91.7353% -.998765 -4.76968);
      --color-slate-700: lab(26.9569% -1.47016 -15.6993);
      --color-slate-900: lab(7.78673% 1.82345 -15.0537);
      --color-gray-50: lab(98.2596% -.247031 -.706708);
      --color-gray-200: lab(91.6229% -.159115 -2.26791);
      --color-zinc-100: lab(96.1634% .0993311 -.364041);
      --color-zinc-200: lab(90.6853% .399232 -1.45452);
      --color-zinc-300: lab(84.9837% .601262 -2.17986);
      --color-zinc-400: lab(65.6464% 1.53497 -5.42429);
      --color-zinc-500: lab(47.8878% 1.65477 -5.77283);
      --color-zinc-600: lab(35.1166% 1.78212 -6.1173);
      --color-zinc-700: lab(26.8019% 1.35387 -4.68303);
      --color-zinc-800: lab(15.7305% .613764 -2.16959);
      --color-zinc-900: lab(8.30603% .618205 -2.16572);
    }
  }
}

@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;
    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-auto {
    pointer-events: auto;
  }

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

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

  .sticky {
    position: sticky;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .top-full {
    top: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .bottom-full {
    bottom: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .z-\[100\] {
    z-index: 100;
  }

  .z-\[200\] {
    z-index: 200;
  }

  .col-span-2 {
    grid-column: span 2 / span 2;
  }

  .container {
    width: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }

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

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

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

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

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

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

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

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

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

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }

  .ml-5 {
    margin-left: calc(var(--spacing) * 5);
  }

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

  .line-clamp-1 {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .table {
    display: table;
  }

  .aspect-\[2\/3\] {
    aspect-ratio: 2 / 3;
  }

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

  .aspect-square {
    aspect-ratio: 1;
  }

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

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

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

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

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

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

  .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-14 {
    height: calc(var(--spacing) * 14);
  }

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

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

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

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

  .h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .h-screen {
    height: 100vh;
  }

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

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

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

  .max-h-\[70vh\] {
    max-height: 70vh;
  }

  .max-h-\[80vh\] {
    max-height: 80vh;
  }

  .max-h-\[85vh\] {
    max-height: 85vh;
  }

  .max-h-\[400px\] {
    max-height: 400px;
  }

  .max-h-\[calc\(80vh-140px\)\] {
    max-height: calc(80vh - 140px);
  }

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

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

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

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

  .w-1\/4 {
    width: 25%;
  }

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

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

  .w-2\/3 {
    width: 66.6667%;
  }

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

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

  .w-3\/4 {
    width: 75%;
  }

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

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

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

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

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

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

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

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

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

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

  .w-\[400px\] {
    width: 400px;
  }

  .w-\[420px\] {
    width: 420px;
  }

  .w-\[500px\] {
    width: 500px;
  }

  .w-\[650px\] {
    width: 650px;
  }

  .w-full {
    width: 100%;
  }

  .w-px {
    width: 1px;
  }

  .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-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-\[80px\] {
    max-width: 80px;
  }

  .max-w-\[100px\] {
    max-width: 100px;
  }

  .max-w-\[200px\] {
    max-width: 200px;
  }

  .max-w-\[600px\] {
    max-width: 600px;
  }

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

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

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

  .min-w-\[3px\] {
    min-width: 3px;
  }

  .min-w-\[8rem\] {
    min-width: 8rem;
  }

  .min-w-\[24px\] {
    min-width: 24px;
  }

  .min-w-\[80px\] {
    min-width: 80px;
  }

  .min-w-\[100px\] {
    min-width: 100px;
  }

  .min-w-\[400px\] {
    min-width: 400px;
  }

  .min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
  }

  .flex-1 {
    flex: 1;
  }

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

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

  .grow {
    flex-grow: 1;
  }

  .origin-bottom {
    transform-origin: bottom;
  }

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

  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-0\.5 {
    --tw-translate-x: calc(var(--spacing) * .5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-3\.5 {
    --tw-translate-x: calc(var(--spacing) * 3.5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

  .scale-0 {
    --tw-scale-x: 0%;
    --tw-scale-y: 0%;
    --tw-scale-z: 0%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-75 {
    --tw-scale-x: 75%;
    --tw-scale-y: 75%;
    --tw-scale-z: 75%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-100 {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-105 {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-110 {
    --tw-scale-x: 110%;
    --tw-scale-y: 110%;
    --tw-scale-z: 110%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-\[0\.65\] {
    scale: .65;
  }

  .-rotate-90 {
    rotate: -90deg;
  }

  .rotate-0 {
    rotate: none;
  }

  .rotate-90 {
    rotate: 90deg;
  }

  .rotate-180 {
    rotate: 180deg;
  }

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

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-grab {
    cursor: grab;
  }

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

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-text {
    cursor: text;
  }

  .touch-none {
    touch-action: none;
  }

  .resize-none {
    resize: none;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .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-3 {
    gap: calc(var(--spacing) * 3);
  }

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

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

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

  .gap-\[2px\] {
    gap: 2px;
  }

  :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-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * 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-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-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * 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)));
  }

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

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

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

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

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

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

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

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

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

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

  .rounded-t {
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
  }

  .rounded-t-full {
    border-top-left-radius: 3.40282e38px;
    border-top-right-radius: 3.40282e38px;
  }

  .rounded-t-lg {
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
  }

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

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

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

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

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

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

  .border-\[6px\] {
    border-style: var(--tw-border-style);
    border-width: 6px;
  }

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

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

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

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

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

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

  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }

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

  .border-amber-200 {
    border-color: var(--color-amber-200);
  }

  .border-amber-300 {
    border-color: var(--color-amber-300);
  }

  .border-amber-400 {
    border-color: var(--color-amber-400);
  }

  .border-amber-400\/50 {
    border-color: #fcbb0080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-400\/50 {
      border-color: color-mix(in oklab, var(--color-amber-400) 50%, transparent);
    }
  }

  .border-amber-500\/20 {
    border-color: #f99c0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/20 {
      border-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
    }
  }

  .border-amber-500\/30 {
    border-color: #f99c004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/30 {
      border-color: color-mix(in oklab, var(--color-amber-500) 30%, transparent);
    }
  }

  .border-amber-500\/50 {
    border-color: #f99c0080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/50 {
      border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
    }
  }

  .border-blue-200 {
    border-color: var(--color-blue-200);
  }

  .border-blue-200\/40 {
    border-color: #bedbff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-200\/40 {
      border-color: color-mix(in oklab, var(--color-blue-200) 40%, transparent);
    }
  }

  .border-blue-500\/30 {
    border-color: #3080ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-500\/30 {
      border-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
    }
  }

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

  .border-border\/50 {
    border-color: color-mix(in srgb, hsl(var(--border)) 50%, transparent);
  }

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

  .border-current {
    border-color: currentColor;
  }

  .border-cyan-500\/30 {
    border-color: #00b7d74d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-500\/30 {
      border-color: color-mix(in oklab, var(--color-cyan-500) 30%, transparent);
    }
  }

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

  .border-destructive\/50 {
    border-color: color-mix(in srgb, hsl(var(--destructive)) 50%, transparent);
  }

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

  .border-emerald-500\/30 {
    border-color: #00bb7f4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/30 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
    }
  }

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

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-green-500\/30 {
    border-color: #00c7584d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-green-500\/30 {
      border-color: color-mix(in oklab, var(--color-green-500) 30%, transparent);
    }
  }

  .border-green-500\/50 {
    border-color: #00c75880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-green-500\/50 {
      border-color: color-mix(in oklab, var(--color-green-500) 50%, transparent);
    }
  }

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

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

  .border-muted-foreground\/30 {
    border-color: color-mix(in srgb, hsl(var(--muted-foreground)) 30%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-muted-foreground\/30 {
      border-color: color-mix(in oklab, var(--color-muted-foreground) 30%, transparent);
    }
  }

  .border-orange-200 {
    border-color: var(--color-orange-200);
  }

  .border-orange-300 {
    border-color: var(--color-orange-300);
  }

  .border-orange-500\/30 {
    border-color: #fe6e004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-orange-500\/30 {
      border-color: color-mix(in oklab, var(--color-orange-500) 30%, transparent);
    }
  }

  .border-pink-200 {
    border-color: var(--color-pink-200);
  }

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

  .border-primary\/30 {
    border-color: color-mix(in srgb, hsl(var(--primary)) 30%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-primary\/30 {
      border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
    }
  }

  .border-primary\/50 {
    border-color: color-mix(in srgb, hsl(var(--primary)) 50%, transparent);
  }

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

  .border-purple-500\/30 {
    border-color: #ac4bff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-purple-500\/30 {
      border-color: color-mix(in oklab, var(--color-purple-500) 30%, transparent);
    }
  }

  .border-red-500\/20 {
    border-color: #fb2c3633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/20 {
      border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }

  .border-red-500\/30 {
    border-color: #fb2c364d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/30 {
      border-color: color-mix(in oklab, var(--color-red-500) 30%, transparent);
    }
  }

  .border-red-500\/50 {
    border-color: #fb2c3680;
  }

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

  .border-rose-500\/30 {
    border-color: #ff23574d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/30 {
      border-color: color-mix(in oklab, var(--color-rose-500) 30%, transparent);
    }
  }

  .border-slate-200 {
    border-color: var(--color-slate-200);
  }

  .border-slate-700 {
    border-color: var(--color-slate-700);
  }

  .border-transparent {
    border-color: #0000;
  }

  .border-violet-200 {
    border-color: var(--color-violet-200);
  }

  .border-violet-200\/30 {
    border-color: #ddd6ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-violet-200\/30 {
      border-color: color-mix(in oklab, var(--color-violet-200) 30%, transparent);
    }
  }

  .border-yellow-200 {
    border-color: var(--color-yellow-200);
  }

  .border-yellow-400 {
    border-color: var(--color-yellow-400);
  }

  .border-zinc-500\/30 {
    border-color: #71717b4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-zinc-500\/30 {
      border-color: color-mix(in oklab, var(--color-zinc-500) 30%, transparent);
    }
  }

  .border-zinc-600 {
    border-color: var(--color-zinc-600);
  }

  .border-zinc-700 {
    border-color: var(--color-zinc-700);
  }

  .border-zinc-700\/30 {
    border-color: #3f3f464d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-zinc-700\/30 {
      border-color: color-mix(in oklab, var(--color-zinc-700) 30%, transparent);
    }
  }

  .border-zinc-700\/50 {
    border-color: #3f3f4680;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-zinc-700\/50 {
      border-color: color-mix(in oklab, var(--color-zinc-700) 50%, transparent);
    }
  }

  .border-t-popover {
    border-top-color: var(--color-popover);
  }

  .border-t-primary {
    border-top-color: var(--color-primary);
  }

  .border-t-transparent {
    border-top-color: #0000;
  }

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

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

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

  .bg-amber-500\/10 {
    background-color: #f99c001a;
  }

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

  .bg-amber-500\/20 {
    background-color: #f99c0033;
  }

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

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

  .bg-background\/80 {
    background-color: color-mix(in srgb, hsl(var(--background)) 80%, transparent);
  }

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

  .bg-background\/90 {
    background-color: color-mix(in srgb, hsl(var(--background)) 90%, transparent);
  }

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

  .bg-background\/95 {
    background-color: color-mix(in srgb, hsl(var(--background)) 95%, transparent);
  }

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

  .bg-black\/20 {
    background-color: #0003;
  }

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

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

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

  .bg-black\/60 {
    background-color: #0009;
  }

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

  .bg-black\/80 {
    background-color: #000c;
  }

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

  .bg-black\/90 {
    background-color: #000000e6;
  }

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

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

  .bg-blue-300\/40 {
    background-color: #90c5ff66;
  }

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

  .bg-blue-300\/50 {
    background-color: #90c5ff80;
  }

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

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

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

  .bg-blue-500\/10 {
    background-color: #3080ff1a;
  }

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

  .bg-blue-500\/20 {
    background-color: #3080ff33;
  }

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

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

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

  .bg-border\/40 {
    background-color: color-mix(in srgb, hsl(var(--border)) 40%, transparent);
  }

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

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

  .bg-card\/50 {
    background-color: color-mix(in srgb, hsl(var(--card)) 50%, transparent);
  }

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

  .bg-card\/60 {
    background-color: color-mix(in srgb, hsl(var(--card)) 60%, transparent);
  }

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

  .bg-card\/80 {
    background-color: color-mix(in srgb, hsl(var(--card)) 80%, transparent);
  }

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

  .bg-card\/90 {
    background-color: color-mix(in srgb, hsl(var(--card)) 90%, transparent);
  }

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

  .bg-card\/95 {
    background-color: color-mix(in srgb, hsl(var(--card)) 95%, transparent);
  }

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

  .bg-cyan-500\/20 {
    background-color: #00b7d733;
  }

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

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

  .bg-destructive\/5 {
    background-color: color-mix(in srgb, hsl(var(--destructive)) 5%, transparent);
  }

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

  .bg-destructive\/10 {
    background-color: color-mix(in srgb, hsl(var(--destructive)) 10%, transparent);
  }

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

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

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

  .bg-emerald-500\/10 {
    background-color: #00bb7f1a;
  }

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

  .bg-emerald-500\/20 {
    background-color: #00bb7f33;
  }

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

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

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

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

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

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

  .bg-green-500\/10 {
    background-color: #00c7581a;
  }

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

  .bg-green-500\/20 {
    background-color: #00c75833;
  }

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

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

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

  .bg-muted\/20 {
    background-color: color-mix(in srgb, hsl(var(--muted)) 20%, transparent);
  }

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

  .bg-muted\/30 {
    background-color: color-mix(in srgb, hsl(var(--muted)) 30%, transparent);
  }

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

  .bg-muted\/40 {
    background-color: color-mix(in srgb, hsl(var(--muted)) 40%, transparent);
  }

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

  .bg-muted\/50 {
    background-color: color-mix(in srgb, hsl(var(--muted)) 50%, transparent);
  }

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

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

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

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

  .bg-orange-500\/10 {
    background-color: #fe6e001a;
  }

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

  .bg-orange-500\/20 {
    background-color: #fe6e0033;
  }

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

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

  .bg-pink-500\/20 {
    background-color: #f6339a33;
  }

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

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

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

  .bg-primary\/5 {
    background-color: color-mix(in srgb, hsl(var(--primary)) 5%, transparent);
  }

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

  .bg-primary\/10 {
    background-color: color-mix(in srgb, hsl(var(--primary)) 10%, transparent);
  }

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

  .bg-primary\/15 {
    background-color: color-mix(in srgb, hsl(var(--primary)) 15%, transparent);
  }

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

  .bg-primary\/20 {
    background-color: color-mix(in srgb, hsl(var(--primary)) 20%, transparent);
  }

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

  .bg-primary\/50 {
    background-color: color-mix(in srgb, hsl(var(--primary)) 50%, transparent);
  }

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

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

  .bg-purple-500\/10 {
    background-color: #ac4bff1a;
  }

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

  .bg-purple-500\/20 {
    background-color: #ac4bff33;
  }

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

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

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

  .bg-red-500\/10 {
    background-color: #fb2c361a;
  }

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

  .bg-red-500\/20 {
    background-color: #fb2c3633;
  }

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

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

  .bg-red-950\/50 {
    background-color: #46080980;
  }

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

  .bg-rose-500\/10 {
    background-color: #ff23571a;
  }

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

  .bg-rose-500\/20 {
    background-color: #ff235733;
  }

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

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

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

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

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

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

  .bg-white\/10 {
    background-color: #ffffff1a;
  }

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

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

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

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

  .bg-yellow-500\/20 {
    background-color: #edb20033;
  }

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

  .bg-yellow-500\/30 {
    background-color: #edb2004d;
  }

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

  .bg-zinc-500\/20 {
    background-color: #71717b33;
  }

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

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

  .bg-zinc-700\/50 {
    background-color: #3f3f4680;
  }

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

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

  .bg-zinc-800\/30 {
    background-color: #27272a4d;
  }

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

  .bg-zinc-800\/50 {
    background-color: #27272a80;
  }

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

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

  .bg-zinc-900\/50 {
    background-color: #18181b80;
  }

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

  .bg-zinc-900\/95 {
    background-color: #18181bf2;
  }

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

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

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

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

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

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

  .from-amber-500\/10 {
    --tw-gradient-from: #f99c001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-amber-500\/10 {
      --tw-gradient-from: color-mix(in oklab, var(--color-amber-500) 10%, transparent);
    }
  }

  .from-amber-500\/10 {
    --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-amber-500\/20 {
    --tw-gradient-from: #f99c0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-amber-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
    }
  }

  .from-amber-500\/20 {
    --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-amber-500\/90 {
    --tw-gradient-from: #f99c00e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-amber-500\/90 {
      --tw-gradient-from: color-mix(in oklab, var(--color-amber-500) 90%, transparent);
    }
  }

  .from-amber-500\/90 {
    --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-background {
    --tw-gradient-from: var(--color-background);
    --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-black\/60 {
    --tw-gradient-from: #0009;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/60 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }

  .from-black\/60 {
    --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-black\/80 {
    --tw-gradient-from: #000c;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 80%, transparent);
    }
  }

  .from-black\/80 {
    --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-blue-500\/20 {
    --tw-gradient-from: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-blue-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
    }
  }

  .from-blue-500\/20 {
    --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-emerald-500 {
    --tw-gradient-from: var(--color-emerald-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));
  }

  .from-emerald-500\/20 {
    --tw-gradient-from: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-emerald-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
    }
  }

  .from-emerald-500\/20 {
    --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-orange-400 {
    --tw-gradient-from: var(--color-orange-400);
    --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-orange-500 {
    --tw-gradient-from: var(--color-orange-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));
  }

  .from-orange-500\/10 {
    --tw-gradient-from: #fe6e001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-orange-500\/10 {
      --tw-gradient-from: color-mix(in oklab, var(--color-orange-500) 10%, transparent);
    }
  }

  .from-orange-500\/10 {
    --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-primary\/20 {
    --tw-gradient-from: color-mix(in srgb, hsl(var(--primary)) 20%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-primary\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-primary) 20%, transparent);
    }
  }

  .from-primary\/20 {
    --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-purple-500 {
    --tw-gradient-from: var(--color-purple-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));
  }

  .from-purple-500\/10 {
    --tw-gradient-from: #ac4bff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-purple-500\/10 {
      --tw-gradient-from: color-mix(in oklab, var(--color-purple-500) 10%, transparent);
    }
  }

  .from-purple-500\/10 {
    --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-purple-500\/20 {
    --tw-gradient-from: #ac4bff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-purple-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-purple-500) 20%, transparent);
    }
  }

  .from-purple-500\/20 {
    --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-purple-600 {
    --tw-gradient-from: var(--color-purple-600);
    --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-red-500 {
    --tw-gradient-from: var(--color-red-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));
  }

  .from-red-600 {
    --tw-gradient-from: var(--color-red-600);
    --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-red-950\/30 {
    --tw-gradient-from: #4608094d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-red-950\/30 {
      --tw-gradient-from: color-mix(in oklab, var(--color-red-950) 30%, transparent);
    }
  }

  .from-red-950\/30 {
    --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-zinc-800\/50 {
    --tw-gradient-from: #27272a80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-zinc-800\/50 {
      --tw-gradient-from: color-mix(in oklab, var(--color-zinc-800) 50%, transparent);
    }
  }

  .from-zinc-800\/50 {
    --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));
  }

  .via-amber-500 {
    --tw-gradient-via: var(--color-amber-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-background {
    --tw-gradient-via: var(--color-background);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

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

  .to-amber-500\/10 {
    --tw-gradient-to: #f99c001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-amber-500\/10 {
      --tw-gradient-to: color-mix(in oklab, var(--color-amber-500) 10%, transparent);
    }
  }

  .to-amber-500\/10 {
    --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-amber-600\/10 {
    --tw-gradient-to: #dd74001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-amber-600\/10 {
      --tw-gradient-to: color-mix(in oklab, var(--color-amber-600) 10%, transparent);
    }
  }

  .to-amber-600\/10 {
    --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-background\/80 {
    --tw-gradient-to: color-mix(in srgb, hsl(var(--background)) 80%, transparent);
  }

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

  .to-background\/80 {
    --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-blue-500 {
    --tw-gradient-to: var(--color-blue-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));
  }

  .to-blue-500\/10 {
    --tw-gradient-to: #3080ff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-blue-500\/10 {
      --tw-gradient-to: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
    }
  }

  .to-blue-500\/10 {
    --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-blue-600 {
    --tw-gradient-to: var(--color-blue-600);
    --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-blue-600\/10 {
    --tw-gradient-to: #155dfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-blue-600\/10 {
      --tw-gradient-to: color-mix(in oklab, var(--color-blue-600) 10%, transparent);
    }
  }

  .to-blue-600\/10 {
    --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-emerald-600\/10 {
    --tw-gradient-to: #0097671a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-emerald-600\/10 {
      --tw-gradient-to: color-mix(in oklab, var(--color-emerald-600) 10%, transparent);
    }
  }

  .to-emerald-600\/10 {
    --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-green-500 {
    --tw-gradient-to: var(--color-green-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));
  }

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

  .to-orange-500\/5 {
    --tw-gradient-to: #fe6e000d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-orange-500\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-orange-500) 5%, transparent);
    }
  }

  .to-orange-500\/5 {
    --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-orange-500\/90 {
    --tw-gradient-to: #fe6e00e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-orange-500\/90 {
      --tw-gradient-to: color-mix(in oklab, var(--color-orange-500) 90%, transparent);
    }
  }

  .to-orange-500\/90 {
    --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-primary\/5 {
    --tw-gradient-to: color-mix(in srgb, hsl(var(--primary)) 5%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-primary\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-primary) 5%, transparent);
    }
  }

  .to-primary\/5 {
    --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-purple-500\/10 {
    --tw-gradient-to: #ac4bff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-purple-500\/10 {
      --tw-gradient-to: color-mix(in oklab, var(--color-purple-500) 10%, transparent);
    }
  }

  .to-purple-500\/10 {
    --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-purple-600\/10 {
    --tw-gradient-to: #9810fa1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-purple-600\/10 {
      --tw-gradient-to: color-mix(in oklab, var(--color-purple-600) 10%, transparent);
    }
  }

  .to-purple-600\/10 {
    --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-red-950\/30 {
    --tw-gradient-to: #4608094d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-red-950\/30 {
      --tw-gradient-to: color-mix(in oklab, var(--color-red-950) 30%, transparent);
    }
  }

  .to-red-950\/30 {
    --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));
  }

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

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

  .fill-amber-400 {
    fill: var(--color-amber-400);
  }

  .fill-current {
    fill: currentColor;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

  .font-serif {
    font-family: var(--font-serif);
  }

  .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-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }

  .text-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--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-\[9px\] {
    font-size: 9px;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

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

  .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-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }

  .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-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

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

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

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

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

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .text-amber-100\/70 {
    color: #fef3c6b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-100\/70 {
      color: color-mix(in oklab, var(--color-amber-100) 70%, transparent);
    }
  }

  .text-amber-100\/80 {
    color: #fef3c6cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-100\/80 {
      color: color-mix(in oklab, var(--color-amber-100) 80%, transparent);
    }
  }

  .text-amber-300 {
    color: var(--color-amber-300);
  }

  .text-amber-400 {
    color: var(--color-amber-400);
  }

  .text-amber-500 {
    color: var(--color-amber-500);
  }

  .text-amber-600 {
    color: var(--color-amber-600);
  }

  .text-amber-700 {
    color: var(--color-amber-700);
  }

  .text-blue-400 {
    color: var(--color-blue-400);
  }

  .text-blue-500 {
    color: var(--color-blue-500);
  }

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

  .text-current {
    color: currentColor;
  }

  .text-cyan-400 {
    color: var(--color-cyan-400);
  }

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

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

  .text-emerald-400 {
    color: var(--color-emerald-400);
  }

  .text-emerald-500 {
    color: var(--color-emerald-500);
  }

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

  .text-foreground\/50 {
    color: color-mix(in srgb, hsl(var(--foreground)) 50%, transparent);
  }

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

  .text-green-400 {
    color: var(--color-green-400);
  }

  .text-green-500 {
    color: var(--color-green-500);
  }

  .text-green-500\/70 {
    color: #00c758b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-green-500\/70 {
      color: color-mix(in oklab, var(--color-green-500) 70%, transparent);
    }
  }

  .text-green-500\/80 {
    color: #00c758cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-green-500\/80 {
      color: color-mix(in oklab, var(--color-green-500) 80%, transparent);
    }
  }

  .text-green-600 {
    color: var(--color-green-600);
  }

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

  .text-muted-foreground\/40 {
    color: color-mix(in srgb, hsl(var(--muted-foreground)) 40%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted-foreground\/40 {
      color: color-mix(in oklab, var(--color-muted-foreground) 40%, transparent);
    }
  }

  .text-muted-foreground\/50 {
    color: color-mix(in srgb, hsl(var(--muted-foreground)) 50%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted-foreground\/50 {
      color: color-mix(in oklab, var(--color-muted-foreground) 50%, transparent);
    }
  }

  .text-muted-foreground\/60 {
    color: color-mix(in srgb, hsl(var(--muted-foreground)) 60%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted-foreground\/60 {
      color: color-mix(in oklab, var(--color-muted-foreground) 60%, transparent);
    }
  }

  .text-muted-foreground\/70 {
    color: color-mix(in srgb, hsl(var(--muted-foreground)) 70%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted-foreground\/70 {
      color: color-mix(in oklab, var(--color-muted-foreground) 70%, transparent);
    }
  }

  .text-muted\/30 {
    color: color-mix(in srgb, hsl(var(--muted)) 30%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted\/30 {
      color: color-mix(in oklab, var(--color-muted) 30%, transparent);
    }
  }

  .text-orange-400 {
    color: var(--color-orange-400);
  }

  .text-orange-500 {
    color: var(--color-orange-500);
  }

  .text-pink-400 {
    color: var(--color-pink-400);
  }

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

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

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

  .text-primary\/40 {
    color: color-mix(in srgb, hsl(var(--primary)) 40%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-primary\/40 {
      color: color-mix(in oklab, var(--color-primary) 40%, transparent);
    }
  }

  .text-primary\/60 {
    color: color-mix(in srgb, hsl(var(--primary)) 60%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-primary\/60 {
      color: color-mix(in oklab, var(--color-primary) 60%, transparent);
    }
  }

  .text-purple-300 {
    color: var(--color-purple-300);
  }

  .text-purple-400 {
    color: var(--color-purple-400);
  }

  .text-purple-500 {
    color: var(--color-purple-500);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-rose-400 {
    color: var(--color-rose-400);
  }

  .text-rose-500 {
    color: var(--color-rose-500);
  }

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

  .text-transparent {
    color: #0000;
  }

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

  .text-white\/60 {
    color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/60 {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .text-white\/70 {
    color: #ffffffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/70 {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .text-yellow-400 {
    color: var(--color-yellow-400);
  }

  .text-yellow-500 {
    color: var(--color-yellow-500);
  }

  .text-yellow-600 {
    color: var(--color-yellow-600);
  }

  .text-zinc-100 {
    color: var(--color-zinc-100);
  }

  .text-zinc-200 {
    color: var(--color-zinc-200);
  }

  .text-zinc-300 {
    color: var(--color-zinc-300);
  }

  .text-zinc-400 {
    color: var(--color-zinc-400);
  }

  .text-zinc-500 {
    color: var(--color-zinc-500);
  }

  .text-zinc-600 {
    color: var(--color-zinc-600);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

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

  .line-through {
    text-decoration-line: line-through;
  }

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

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

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-80 {
    opacity: .8;
  }

  .opacity-90 {
    opacity: .9;
  }

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

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

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

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

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px 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);
  }

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

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

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

  .shadow-primary\/10 {
    --tw-shadow-color: color-mix(in srgb, hsl(var(--primary)) 10%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-primary\/10 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-primary) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-current {
    --tw-ring-color: currentcolor;
  }

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

  .ring-primary\/30 {
    --tw-ring-color: color-mix(in srgb, hsl(var(--primary)) 30%, transparent);
  }

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

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

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

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

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

  .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-sm {
    --tw-blur: blur(var(--blur-sm));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

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

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

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

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

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

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

  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -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, );
  }

  .focus-mode {
    transition-property: all;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  }

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

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

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

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    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;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-1000 {
    --tw-duration: 1s;
    transition-duration: 1s;
  }

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

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

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

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

  .group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *) {
    border-color: color-mix(in srgb, hsl(var(--muted)) 40%, transparent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *) {
      border-color: color-mix(in oklab, var(--color-muted) 40%, transparent);
    }
  }

  .group-\[\.destructive\]\:text-red-300:is(:where(.group).destructive *) {
    color: var(--color-red-300);
  }

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

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

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

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

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

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

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

  .placeholder\:text-zinc-500::placeholder {
    color: var(--color-zinc-500);
  }

  @media (hover: hover) {
    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  @media (hover: hover) {
    .hover\:scale-110:hover {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  @media (hover: hover) {
    .hover\:border-border:hover {
      border-color: var(--color-border);
    }
  }

  @media (hover: hover) {
    .hover\:border-border\/50:hover {
      border-color: color-mix(in srgb, hsl(var(--border)) 50%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:border-primary:hover {
      border-color: var(--color-primary);
    }
  }

  @media (hover: hover) {
    .hover\:border-primary\/20:hover {
      border-color: color-mix(in srgb, hsl(var(--primary)) 20%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:border-primary\/30:hover {
      border-color: color-mix(in srgb, hsl(var(--primary)) 30%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:border-primary\/50:hover {
      border-color: color-mix(in srgb, hsl(var(--primary)) 50%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:border-purple-500\/30:hover {
      border-color: #ac4bff4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-purple-500\/30:hover {
        border-color: color-mix(in oklab, var(--color-purple-500) 30%, transparent);
      }
    }
  }

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

  @media (hover: hover) {
    .hover\:bg-accent\/80:hover {
      background-color: color-mix(in srgb, hsl(var(--accent)) 80%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:bg-amber-500\/20:hover {
      background-color: #f99c0033;
    }

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

  @media (hover: hover) {
    .hover\:bg-amber-500\/30:hover {
      background-color: #f99c004d;
    }

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

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

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

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

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

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

  @media (hover: hover) {
    .hover\:bg-destructive\/10:hover {
      background-color: color-mix(in srgb, hsl(var(--destructive)) 10%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:bg-destructive\/90:hover {
      background-color: color-mix(in srgb, hsl(var(--destructive)) 90%, transparent);
    }

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

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

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

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

  @media (hover: hover) {
    .hover\:bg-muted\/50:hover {
      background-color: color-mix(in srgb, hsl(var(--muted)) 50%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:bg-muted\/80:hover {
      background-color: color-mix(in srgb, hsl(var(--muted)) 80%, transparent);
    }

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

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

  @media (hover: hover) {
    .hover\:bg-primary\/5:hover {
      background-color: color-mix(in srgb, hsl(var(--primary)) 5%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:bg-primary\/10:hover {
      background-color: color-mix(in srgb, hsl(var(--primary)) 10%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:bg-primary\/20:hover {
      background-color: color-mix(in srgb, hsl(var(--primary)) 20%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:bg-primary\/90:hover {
      background-color: color-mix(in srgb, hsl(var(--primary)) 90%, transparent);
    }

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

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

  @media (hover: hover) {
    .hover\:bg-red-500\/20:hover {
      background-color: #fb2c3633;
    }

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

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

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

  @media (hover: hover) {
    .hover\:bg-secondary\/80:hover {
      background-color: color-mix(in srgb, hsl(var(--secondary)) 80%, transparent);
    }

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

  @media (hover: hover) {
    .hover\:bg-white\/20:hover {
      background-color: #fff3;
    }

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

  @media (hover: hover) {
    .hover\:bg-zinc-700\/50:hover {
      background-color: #3f3f4680;
    }

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

  @media (hover: hover) {
    .hover\:bg-zinc-800\/50:hover {
      background-color: #27272a80;
    }

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

  @media (hover: hover) {
    .hover\:from-purple-700:hover {
      --tw-gradient-from: var(--color-purple-700);
      --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));
    }
  }

  @media (hover: hover) {
    .hover\:to-blue-700:hover {
      --tw-gradient-to: var(--color-blue-700);
      --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));
    }
  }

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

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

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

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

  @media (hover: hover) {
    .hover\:text-red-300:hover {
      color: var(--color-red-300);
    }
  }

  @media (hover: hover) {
    .hover\:text-red-500:hover {
      color: var(--color-red-500);
    }
  }

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

  @media (hover: hover) {
    .hover\:opacity-90:hover {
      opacity: .9;
    }
  }

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

  @media (hover: hover) {
    .hover\:shadow-lg:hover {
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-md:hover {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px 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);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-sm:hover {
      --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);
    }
  }

  @media (hover: hover) {
    .hover\:ring-1:hover {
      --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);
    }
  }

  @media (hover: hover) {
    .hover\:ring-zinc-600:hover {
      --tw-ring-color: var(--color-zinc-600);
    }
  }

  @media (hover: hover) {
    .group-\[\.destructive\]\:hover\:border-destructive\/30:is(:where(.group).destructive *):hover {
      border-color: color-mix(in srgb, hsl(var(--destructive)) 30%, transparent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-\[\.destructive\]\:hover\:border-destructive\/30:is(:where(.group).destructive *):hover {
        border-color: color-mix(in oklab, var(--color-destructive) 30%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .group-\[\.destructive\]\:hover\:bg-destructive:is(:where(.group).destructive *):hover {
      background-color: var(--color-destructive);
    }
  }

  @media (hover: hover) {
    .group-\[\.destructive\]\:hover\:text-destructive-foreground:is(:where(.group).destructive *):hover {
      color: var(--color-destructive-foreground);
    }
  }

  @media (hover: hover) {
    .group-\[\.destructive\]\:hover\:text-red-50:is(:where(.group).destructive *):hover {
      color: var(--color-red-50);
    }
  }

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

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

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

  .focus\:text-destructive:focus {
    color: var(--color-destructive);
  }

  .focus\:opacity-100:focus {
    opacity: 1;
  }

  .focus\:ring-1:focus {
    --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);
  }

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

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

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

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

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

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

  .group-\[\.destructive\]\:focus\:ring-destructive:is(:where(.group).destructive *):focus {
    --tw-ring-color: var(--color-destructive);
  }

  .group-\[\.destructive\]\:focus\:ring-red-400:is(:where(.group).destructive *):focus {
    --tw-ring-color: var(--color-red-400);
  }

  .group-\[\.destructive\]\:focus\:ring-offset-red-600:is(:where(.group).destructive *):focus {
    --tw-ring-offset-color: var(--color-red-600);
  }

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

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

  .focus-visible\:ring-1:focus-visible {
    --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);
  }

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

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

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

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

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

  .active\:cursor-grabbing:active {
    cursor: grabbing;
  }

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

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

  .disabled\:opacity-30:disabled {
    opacity: .3;
  }

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

  .data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
  }

  .data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: .5;
  }

  .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[state\=checked\]\:translate-x-4[data-state="checked"] {
    --tw-translate-x: calc(var(--spacing) * 4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

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

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

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

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

  .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

  .data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
    --tw-translate-x: var(--radix-toast-swipe-end-x);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
    --tw-translate-x: var(--radix-toast-swipe-move-x);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
    transition-property: none;
  }

  @supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))) {
    .supports-\[backdrop-filter\]\:bg-background\/60 {
      background-color: color-mix(in srgb, hsl(var(--background)) 60%, transparent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .supports-\[backdrop-filter\]\:bg-background\/60 {
        background-color: color-mix(in oklab, var(--color-background) 60%, transparent);
      }
    }
  }

  @media (min-width: 40rem) {
    .sm\:top-auto {
      top: auto;
    }
  }

  @media (min-width: 40rem) {
    .sm\:right-0 {
      right: calc(var(--spacing) * 0);
    }
  }

  @media (min-width: 40rem) {
    .sm\:bottom-0 {
      bottom: calc(var(--spacing) * 0);
    }
  }

  @media (min-width: 40rem) {
    .sm\:mt-0 {
      margin-top: calc(var(--spacing) * 0);
    }
  }

  @media (min-width: 40rem) {
    .sm\:mr-2 {
      margin-right: calc(var(--spacing) * 2);
    }
  }

  @media (min-width: 40rem) {
    .sm\:block {
      display: block;
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex {
      display: flex;
    }
  }

  @media (min-width: 40rem) {
    .sm\:hidden {
      display: none;
    }
  }

  @media (min-width: 40rem) {
    .sm\:inline {
      display: inline;
    }
  }

  @media (min-width: 40rem) {
    .sm\:w-auto {
      width: auto;
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-\[140px\] {
      max-width: 140px;
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-\[150px\] {
      max-width: 150px;
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-\[425px\] {
      max-width: 425px;
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-\[500px\] {
      max-width: 500px;
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-\[600px\] {
      max-width: 600px;
    }
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex-col {
      flex-direction: column;
    }
  }

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

  @media (min-width: 40rem) {
    .sm\:items-center {
      align-items: center;
    }
  }

  @media (min-width: 40rem) {
    .sm\:justify-between {
      justify-content: space-between;
    }
  }

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

  @media (min-width: 40rem) {
    .sm\:gap-1 {
      gap: calc(var(--spacing) * 1);
    }
  }

  @media (min-width: 40rem) {
    .sm\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }
  }

  @media (min-width: 40rem) {
    .sm\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }
  }

  @media (min-width: 40rem) {
    :where(.sm\:space-x-2 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
    }
  }

  @media (min-width: 40rem) {
    .sm\:rounded-lg {
      border-radius: var(--radius-lg);
    }
  }

  @media (min-width: 40rem) {
    .sm\:px-4 {
      padding-inline: calc(var(--spacing) * 4);
    }
  }

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

  @media (min-width: 40rem) {
    .sm\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:relative {
      position: relative;
    }
  }

  @media (min-width: 48rem) {
    .md\:block {
      display: block;
    }
  }

  @media (min-width: 48rem) {
    .md\:flex {
      display: flex;
    }
  }

  @media (min-width: 48rem) {
    .md\:hidden {
      display: none;
    }
  }

  @media (min-width: 48rem) {
    .md\:max-w-\[180px\] {
      max-width: 180px;
    }
  }

  @media (min-width: 48rem) {
    .md\:max-w-\[200px\] {
      max-width: 200px;
    }
  }

  @media (min-width: 48rem) {
    .md\:max-w-\[420px\] {
      max-width: 420px;
    }
  }

  @media (min-width: 48rem) {
    .md\:translate-x-0 {
      --tw-translate-x: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

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

  @media (min-width: 48rem) {
    .md\:flex-row {
      flex-direction: row;
    }
  }

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

  @media (min-width: 64rem) {
    .lg\:block {
      display: block;
    }
  }

  @media (min-width: 64rem) {
    .lg\:flex {
      display: flex;
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (min-width: 80rem) {
    .xl\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:scale-0 {
      --tw-scale-x: 0%;
      --tw-scale-y: 0%;
      --tw-scale-z: 0%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:scale-100 {
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:-rotate-90 {
      rotate: -90deg;
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:rotate-0 {
      rotate: none;
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:bg-\[hsl\(20_12\%_8\%\)\] {
      background-color: #171412;
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:bg-black\/70 {
      background-color: #000000b3;
    }

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

  @media (prefers-color-scheme: dark) {
    .dark\:text-amber-300 {
      color: var(--color-amber-300);
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:text-amber-400 {
      color: var(--color-amber-400);
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:text-yellow-400 {
      color: var(--color-yellow-400);
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:shadow-\[0_4px_12px_-2px_hsl\(20_30\%_5\%\/0\.5\)\,inset_0_1px_0_hsl\(40_20\%_100\%\/0\.04\)\] {
      --tw-shadow: 0 4px 12px -2px var(--tw-shadow-color, #110b0980), inset 0 1px 0 var(--tw-shadow-color, #ffffff0a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:shadow-\[0_25px_50px_-12px_hsl\(20_30\%_3\%\/0\.6\)\,0_0_0_1px_hsl\(25_15\%_20\%\/0\.5\)\,inset_0_1px_0_hsl\(40_20\%_100\%\/0\.05\)\] {
      --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #0a070599), 0 0 0 1px var(--tw-shadow-color, #3b322b80), inset 0 1px 0 var(--tw-shadow-color, #ffffff0d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (prefers-color-scheme: dark) {
    @media (hover: hover) {
      .dark\:hover\:shadow-\[0_0_20px_hsl\(32_95\%_52\%\/0\.25\)\,0_4px_12px_hsl\(20_30\%_5\%\/0\.4\)\]:hover {
        --tw-shadow: 0 0 20px var(--tw-shadow-color, #f98c1040), 0 4px 12px var(--tw-shadow-color, #110b0966);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }

  .\[\&\>span\]\:line-clamp-1 > span {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }
}

@keyframes accordion-down {
  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height);
  }
}

@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height);
  }

  to {
    height: 0;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes slide-in-from-top {
  from {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes slide-in-from-bottom {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}

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

:root {
  --background: 0 0% 100%;
  --foreground: 222 47% 11%;
  --card: 0 0% 100%;
  --card-foreground: 222 47% 11%;
  --popover: 0 0% 100%;
  --popover-foreground: 222 47% 11%;
  --primary: 25 95% 53%;
  --primary-foreground: 0 0% 100%;
  --secondary: 220 14% 96%;
  --secondary-foreground: 222 47% 11%;
  --muted: 220 14% 96%;
  --muted-foreground: 220 9% 46%;
  --accent: 220 14% 96%;
  --accent-foreground: 222 47% 11%;
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;
  --border: 220 13% 91%;
  --input: 220 13% 91%;
  --ring: 25 95% 53%;
  --radius: .5rem;
}

.dark {
  --background: 20 10% 7%;
  --foreground: 40 15% 92%;
  --card: 20 8% 10%;
  --card-foreground: 40 15% 92%;
  --popover: 20 10% 12%;
  --popover-foreground: 40 15% 92%;
  --primary: 32 95% 52%;
  --primary-foreground: 20 10% 7%;
  --secondary: 20 6% 15%;
  --secondary-foreground: 40 10% 80%;
  --muted: 20 6% 12%;
  --muted-foreground: 30 8% 55%;
  --accent: 25 12% 18%;
  --accent-foreground: 40 15% 92%;
  --destructive: 0 65% 48%;
  --destructive-foreground: 0 0% 100%;
  --border: 25 8% 18%;
  --input: 25 8% 15%;
  --ring: 32 95% 52%;
  --sidebar: 20 12% 8%;
  --sidebar-foreground: 40 10% 75%;
  --sidebar-border: 25 10% 14%;
}

* {
  border-color: hsl(var(--border));
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-feature-settings: "rlig" 1, "calt" 1;
}

.focus-mode-active .focus-mode:not(.focus-mode-target) {
  opacity: .2;
  pointer-events: none;
}

.editor-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
  transition: scrollbar-color .3s;
}

.editor-scrollbar:hover {
  scrollbar-color: hsl(var(--muted-foreground) / .15) transparent;
}

.editor-scrollbar::-webkit-scrollbar {
  width: 4px;
}

.editor-scrollbar::-webkit-scrollbar-track {
  background-color: #0000;
}

.editor-scrollbar::-webkit-scrollbar-thumb {
  background-color: #0000;
  border-radius: 2px;
  transition: background-color .3s;
}

.editor-scrollbar:hover::-webkit-scrollbar-thumb {
  background-color: hsl(var(--muted-foreground) / .15);
}

.editor-scrollbar::-webkit-scrollbar-thumb:hover {
  background-color: hsl(var(--muted-foreground) / .3);
}

.prose-editor h1 {
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-family: var(--font-serif);
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.prose-editor h2 {
  font-size: 1.5rem;
  line-height: 2rem;
  font-family: var(--font-serif);
  margin-top: 1.5rem;
  margin-bottom: .75rem;
  font-weight: 600;
}

.prose-editor h3 {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-family: var(--font-serif);
  margin-top: 1rem;
  margin-bottom: .5rem;
  font-weight: 500;
}

.prose-editor p {
  margin-bottom: 1rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.prose-editor blockquote {
  border-left-width: 4px;
  border-color: hsl(var(--primary) / .3);
  color: hsl(var(--muted-foreground));
  padding-left: 1rem;
  font-style: italic;
}

.shimmer:after {
  content: "";
  background: linear-gradient(90deg, #0000, #ffffff14, #0000);
  animation: 2s infinite shimmer;
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
}

.ambient-gradient {
  background: radial-gradient(ellipse at top, hsl(var(--primary) / .12), transparent 50%), radial-gradient(ellipse at bottom, hsl(var(--accent) / .08), transparent 50%);
}

.dark .ambient-gradient {
  background: radial-gradient(100% 60% at 50% -10%, #cf79171f, #0000 60%), radial-gradient(50% 40% at 90% 10%, #a3522914, #0000 50%), radial-gradient(60% 50% at 10% 90%, #86612d0f, #0000 50%);
}

.dark .glow-primary {
  box-shadow: 0 0 15px #f98c1040, 0 0 30px #f98c101a, 0 0 45px #f98c100d;
}

.dark .card-elevated {
  box-shadow: 0 4px 12px -2px #110b0980, 0 2px 4px -1px #110b094d, inset 0 1px #ffffff0a;
}

.dark .sidebar-dark {
  background: linear-gradient(#171412 0%, #110f0e 100%);
  border-right: 1px solid #272320;
}

.dark .text-heading {
  color: #f5f3f0;
}

.dark .text-body {
  color: #d6d3cd;
}

.dark .text-muted {
  color: #958c83;
}

.dark button[data-variant="default"]:hover, .dark .btn-primary:hover {
  box-shadow: 0 0 20px #f98c1033, 0 4px 12px #110b0966;
}

.dark input:focus, .dark textarea:focus, .dark select:focus {
  box-shadow: 0 0 0 1px #f98c1080, 0 0 12px #f98c1026;
}

.dark [role="dialog"] {
  box-shadow: 0 25px 50px -12px #0a070599, 0 0 0 1px #3b322b80, inset 0 1px #ffffff0d;
}

.dark ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.dark ::-webkit-scrollbar-track {
  background: #161412;
}

.dark ::-webkit-scrollbar-thumb {
  background: #463f39;
  border-radius: 4px;
}

.dark ::-webkit-scrollbar-thumb:hover {
  background: #67594c;
}

.dark .noise-texture:before {
  content: "";
  opacity: .015;
  pointer-events: none;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}

::selection {
  background-color: hsl(var(--primary) / .3);
}

.dark ::selection {
  background-color: #f98c1059;
}

html {
  scroll-behavior: smooth;
}

.cm-editor {
  height: 100%;
}

.cm-editor.cm-focused {
  outline: none;
}

.cm-scroller {
  font-family: var(--font-mono);
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
  transition: scrollbar-color .3s;
}

.cm-scroller:hover {
  scrollbar-color: hsl(var(--muted-foreground) / .12) transparent;
}

.cm-scroller::-webkit-scrollbar {
  width: 4px;
}

.cm-scroller::-webkit-scrollbar-track {
  background: none;
}

.cm-scroller::-webkit-scrollbar-thumb {
  background: none;
  border-radius: 2px;
  transition: background-color .3s;
}

.cm-scroller:hover::-webkit-scrollbar-thumb {
  background: hsl(var(--muted-foreground) / .12);
}

.cm-scroller::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--muted-foreground) / .25);
}

.editor-container[class*="canvas-"] .cm-editor, .editor-container[class*="canvas-"] .cm-scroller, .editor-container[class*="canvas-"] .cm-gutters, .editor-container[class*="canvas-"] .cm-content, .editor-container[class*="canvas-"] .cm-layer, .codemirror-transparent-wrapper .cm-editor, .codemirror-transparent-wrapper .cm-editor.cm-focused, .codemirror-transparent-wrapper .cm-theme, .codemirror-transparent-wrapper .cm-theme-light, .codemirror-transparent-wrapper .cm-theme-dark, .codemirror-transparent-wrapper [class*="cm-"], .transparent-editor, .transparent-editor .cm-editor, .transparent-editor .cm-scroller, .transparent-editor .cm-content, .transparent-editor .cm-gutters, .transparent-editor .cm-line, [data-canvas-style] .cm-editor, [data-canvas-style] .cm-scroller, [data-canvas-style] .cm-content, [data-canvas-style] .cm-line, [data-canvas-style] .cm-gutters, .codemirror-transparent-wrapper > div, .codemirror-transparent-wrapper > div > div, .codemirror-transparent-wrapper > .cm-editor, [data-canvas-style] > div, [data-canvas-style] > div > div, .codemirror-transparent-wrapper > div[class], .codemirror-transparent-wrapper .cm-theme, .codemirror-transparent-wrapper .cm-theme-light, .codemirror-transparent-wrapper .cm-theme-dark, .codemirror-transparent-wrapper .ͼ1, .codemirror-transparent-wrapper .ͼ2, .codemirror-transparent-wrapper .ͼo, .transparent-editor {
  background: none !important;
}

.editor-container {
  position: relative;
}

.editor-container.canvas-plain {
  background: #1a1614;
}

.editor-container.canvas-plain:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(100% 40% at 50% -5%, #865c2d14, #0000 50%);
  position: absolute;
  inset: 0;
}

.editor-container.canvas-plain .cm-editor, .editor-container.canvas-plain .cm-editor *, .editor-container.canvas-plain .cm-scroller, .editor-container.canvas-plain .cm-gutters, .editor-container.canvas-plain .cm-content, .editor-container.canvas-plain .cm-line {
  background: none !important;
}

.editor-container.canvas-plain .cm-editor .cm-content, .editor-container.canvas-plain .cm-editor .cm-line, .editor-container.canvas-plain .cm-content, .editor-container.canvas-plain .cm-line, .editor-container.canvas-plain .cm-editor .cm-line span {
  color: #e7e2da !important;
}

.editor-container.canvas-plain .cm-cursor {
  border-left-width: 2px !important;
  border-left-color: #f49325 !important;
}

.editor-container.canvas-plain .cm-editor.cm-focused .cm-cursor {
  box-shadow: 0 0 8px #f98c1066;
}

.editor-container.canvas-plain .cm-activeLine {
  background: #231e1a !important;
}

.editor-container.canvas-plain .cm-selectionBackground {
  background: #d9852633 !important;
}

.editor-container.canvas-plain .cm-placeholder {
  font-style: italic;
  color: #7c736a !important;
}

.editor-container.canvas-parchment {
  background: #eae2d7;
}

.editor-container.canvas-parchment:before {
  content: "";
  pointer-events: none;
  opacity: .25;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}

.editor-container.canvas-parchment:after {
  content: "";
  pointer-events: none;
  background: radial-gradient(#0000 50%, #c6b39f26 100%);
  position: absolute;
  inset: 0;
}

.editor-container.canvas-parchment .cm-editor, .editor-container.canvas-parchment .cm-editor *, .editor-container.canvas-parchment .cm-scroller, .editor-container.canvas-parchment .cm-gutters, .editor-container.canvas-parchment .cm-content, .editor-container.canvas-parchment .cm-line {
  background: none !important;
}

.editor-container.canvas-parchment .cm-content, .editor-container.canvas-parchment .cm-line {
  color: #47301f;
}

.editor-container.canvas-parchment .cm-cursor {
  border-left-width: 2px !important;
  border-left-color: #815331 !important;
}

.editor-container.canvas-parchment .cm-activeLine {
  background: #e1d4c180 !important;
}

.editor-container.canvas-parchment .cm-selectionBackground {
  background: #c9a6824d !important;
}

.editor-container.canvas-parchment .cm-placeholder {
  font-style: italic;
  color: #998066 !important;
}

.editor-container.canvas-sepia {
  background: #f0ebe6;
}

.editor-container.canvas-sepia:before {
  content: "";
  pointer-events: none;
  opacity: .5;
  background: linear-gradient(#ede7de 0%, #efeae6 50%, #ede7de 100%);
  position: absolute;
  inset: 0;
}

.editor-container.canvas-sepia .cm-editor, .editor-container.canvas-sepia .cm-editor *, .editor-container.canvas-sepia .cm-scroller, .editor-container.canvas-sepia .cm-gutters, .editor-container.canvas-sepia .cm-content, .editor-container.canvas-sepia .cm-line {
  background: none !important;
}

.editor-container.canvas-sepia .cm-content, .editor-container.canvas-sepia .cm-line {
  color: #4c3524;
}

.editor-container.canvas-sepia .cm-cursor {
  border-left-width: 2px !important;
  border-left-color: #953 !important;
}

.editor-container.canvas-sepia .cm-activeLine {
  background: #eae1d799 !important;
}

.editor-container.canvas-sepia .cm-selectionBackground {
  background: #d1b0944d !important;
}

.editor-container.canvas-sepia .cm-placeholder {
  font-style: italic;
  color: #a18b78 !important;
}

.editor-container.canvas-midnight {
  background: linear-gradient(#0c0e12 0%, #08090d 30%, #060709 70%, #0b0c0f 100%);
}

.editor-container.canvas-midnight:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(120% 40% at 50% -5%, #2640731f, #0000 50%), radial-gradient(80% 30% at 20% 10%, #2f26590f, #0000 40%), radial-gradient(60% 40% at 80% 90%, #2438420a, #0000 50%);
  position: absolute;
  inset: 0;
}

.editor-container.canvas-midnight:after {
  content: "";
  pointer-events: none;
  background: radial-gradient(#0000 40%, #04050766 100%);
  position: absolute;
  inset: 0;
}

.editor-container.canvas-midnight .cm-editor, .editor-container.canvas-midnight .cm-editor *, .editor-container.canvas-midnight .cm-scroller, .editor-container.canvas-midnight .cm-gutters, .editor-container.canvas-midnight .cm-content, .editor-container.canvas-midnight .cm-line {
  background: none !important;
}

.editor-container.canvas-midnight .cm-editor .cm-content, .editor-container.canvas-midnight .cm-editor .cm-line, .editor-container.canvas-midnight .cm-content, .editor-container.canvas-midnight .cm-line, .editor-container.canvas-midnight .cm-editor .cm-line span {
  text-shadow: 0 0 1px #eef2f61a;
  color: #e9edf2 !important;
}

.editor-container.canvas-midnight .cm-cursor {
  border-left-width: 2px !important;
  border-left-color: #5ebeed !important;
}

.editor-container.canvas-midnight .cm-editor.cm-focused .cm-cursor {
  box-shadow: 0 0 12px #3db8f580, 0 0 4px #75c7f0;
}

.editor-container.canvas-midnight .cm-activeLine {
  background: #121b2b80 !important;
}

.editor-container.canvas-midnight .cm-selectionBackground {
  background: #2e73b840 !important;
}

.editor-container.canvas-midnight .cm-placeholder {
  font-style: italic;
  color: #6c7c93 !important;
}

.editor-container.canvas-notebook {
  background: #f7f5ed;
}

.editor-container.canvas-notebook .cm-editor, .editor-container.canvas-notebook .cm-editor *, .editor-container.canvas-notebook .cm-scroller, .editor-container.canvas-notebook .cm-gutters, .editor-container.canvas-notebook .cm-content {
  background: none !important;
}

.editor-container.canvas-notebook .cm-scroller {
  border-left: 2px solid #e0858566;
  margin-left: 40px;
  padding-left: 20px !important;
}

.editor-container.canvas-notebook .cm-content, .editor-container.canvas-notebook .cm-line {
  color: #242e42;
  background: none !important;
}

.editor-container.canvas-notebook .cm-line {
  border-bottom: 1px solid #b8cce080;
  margin-bottom: 0;
  padding-bottom: 4px;
}

.editor-container.canvas-notebook .cm-cursor {
  border-left-width: 2px !important;
  border-left-color: #2258c3 !important;
}

.editor-container.canvas-notebook .cm-activeLine {
  border-bottom: 1px solid #a6bfd999;
  background: #f5f0e080 !important;
}

.editor-container.canvas-notebook .cm-selectionBackground {
  background: #85b3e040 !important;
}

.editor-container.canvas-notebook .cm-placeholder {
  font-style: italic;
  color: #7b879d !important;
}

.editor-container.canvas-premium {
  background: #f7f4ed;
}

.editor-container.canvas-premium:before {
  content: "";
  pointer-events: none;
  opacity: .15;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}

.editor-container.canvas-premium .cm-editor, .editor-container.canvas-premium .cm-editor > *, .editor-container.canvas-premium .cm-editor > * > *, .editor-container.canvas-premium .cm-scroller, .editor-container.canvas-premium .cm-gutters, .editor-container.canvas-premium .cm-content, .editor-container.canvas-premium .cm-line, .editor-container.canvas-premium .cm-layer, .editor-container.canvas-premium [class^="cm-"] {
  background: none !important;
}

.editor-container.canvas-premium .cm-content, .editor-container.canvas-premium .cm-line {
  color: #342419;
}

.editor-container.canvas-premium .cm-cursor {
  border-left-width: 2px !important;
  border-left-color: #734626 !important;
}

.editor-container.canvas-premium .cm-activeLine {
  background: #f5efe080 !important;
}

.editor-container.canvas-premium .cm-selectionBackground {
  background: #dcc4a359 !important;
}

.editor-container.canvas-premium .cm-placeholder {
  font-style: italic;
  color: #9d8c7b !important;
}

.editor-container.canvas-premium .cm-scroller:hover {
  scrollbar-color: #ccc1b34d transparent;
}

.editor-container.canvas-premium .cm-scroller:hover::-webkit-scrollbar-thumb {
  background: #c9c1b64d;
}

.editor-container.canvas-premium .cm-scroller::-webkit-scrollbar-thumb:hover {
  background: #b8a99480;
}

.page-container {
  perspective: 2000px;
  transform-style: preserve-3d;
  position: relative;
  background: none !important;
}

.editor-container[class*="canvas-"] .page-container, .editor-container[class*="canvas-"] .page-container > *, .editor-container[class*="canvas-"] .editor-typography-transition, .editor-container[class*="canvas-"] .codemirror-transparent-wrapper {
  background: none !important;
}

.page-content {
  transform-origin: 0;
  backface-visibility: hidden;
  transition: transform .6s cubic-bezier(.645, .045, .355, 1);
  position: relative;
}

.page-flip-next-exit {
  animation: .5s cubic-bezier(.645, .045, .355, 1) forwards pageFlipNextOut;
}

.page-flip-next-enter {
  animation: .5s cubic-bezier(.645, .045, .355, 1) forwards pageFlipNextIn;
}

.page-flip-prev-exit {
  animation: .5s cubic-bezier(.645, .045, .355, 1) forwards pageFlipPrevOut;
}

.page-flip-prev-enter {
  animation: .5s cubic-bezier(.645, .045, .355, 1) forwards pageFlipPrevIn;
}

@keyframes pageFlipNextOut {
  0% {
    opacity: 1;
    transform: rotateY(0);
  }

  100% {
    opacity: 0;
    transform: rotateY(-90deg);
  }
}

@keyframes pageFlipNextIn {
  0% {
    opacity: 0;
    transform: rotateY(90deg);
  }

  100% {
    opacity: 1;
    transform: rotateY(0);
  }
}

@keyframes pageFlipPrevOut {
  0% {
    opacity: 1;
    transform: rotateY(0);
  }

  100% {
    opacity: 0;
    transform: rotateY(90deg);
  }
}

@keyframes pageFlipPrevIn {
  0% {
    opacity: 0;
    transform: rotateY(-90deg);
  }

  100% {
    opacity: 1;
    transform: rotateY(0);
  }
}

.page-shadow {
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(to right, #0000 0%, #3d33291a 50%, #3d332933 100%);
  transition: opacity .3s;
  position: absolute;
  inset: 0;
}

.page-flip-next-exit .page-shadow, .page-flip-prev-enter .page-shadow {
  animation: .5s forwards pageShadowIn;
}

@keyframes pageShadowIn {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.page-nav-arrow {
  z-index: 10;
  cursor: pointer;
  opacity: 0;
  width: 32px;
  color: hsl(var(--muted-foreground) / .4);
  background: none;
  justify-content: center;
  align-items: center;
  transition: opacity .3s, background .3s;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
}

.page-nav-arrow:hover {
  color: hsl(var(--muted-foreground) / .8);
  background: linear-gradient(to right, hsl(var(--muted) / .3), transparent);
}

.page-nav-arrow.left {
  border-radius: 0;
  left: 0;
}

.page-nav-arrow.left:hover {
  background: linear-gradient(to right, hsl(var(--muted) / .3), transparent);
}

.page-nav-arrow.right {
  border-radius: 0;
  right: 0;
}

.page-nav-arrow.right:hover {
  background: linear-gradient(to left, hsl(var(--muted) / .3), transparent);
}

.editor-container:hover .page-nav-arrow {
  opacity: .5;
}

.editor-container:hover .page-nav-arrow:hover {
  opacity: 1;
}

.page-nav-arrow svg {
  stroke-width: 1.5px;
  width: 20px;
  height: 20px;
}

.page-slide-left-exit {
  animation: .4s cubic-bezier(.4, 0, .2, 1) forwards slideLeftOut;
}

.page-slide-left-enter {
  animation: .4s cubic-bezier(.4, 0, .2, 1) forwards slideLeftIn;
}

.page-slide-right-exit {
  animation: .4s cubic-bezier(.4, 0, .2, 1) forwards slideRightOut;
}

.page-slide-right-enter {
  animation: .4s cubic-bezier(.4, 0, .2, 1) forwards slideRightIn;
}

@keyframes slideLeftOut {
  0% {
    opacity: 1;
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    transform: translateX(-100%);
  }
}

@keyframes slideLeftIn {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideRightOut {
  0% {
    opacity: 1;
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    transform: translateX(100%);
  }
}

@keyframes slideRightIn {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.editor-content-wrapper {
  max-width: var(--editor-line-width, 70ch);
  margin: 0 auto;
  padding: 48px 24px 200px;
}

.editor-container .cm-editor {
  padding: 0;
}

.editor-container .cm-scroller {
  padding: 48px 0 200px;
}

.editor-container .cm-content {
  padding: 0 !important;
}

.dark .cm-cursor, .dark .cm-dropCursor {
  border-left-width: 2px !important;
  border-left-color: #f9941f !important;
}

.dark .cm-editor.cm-focused .cm-cursor {
  box-shadow: 0 0 8px #f98c1080, 0 0 2px #f9941f;
}

.dark .cm-selectionBackground {
  background: #e6861a40 !important;
}

.dark .cm-editor.cm-focused .cm-selectionBackground {
  background: #e6861a4d !important;
}

.dark .cm-selectionMatch {
  border-radius: 2px;
  background: #cc853326 !important;
}

.dark .cm-activeLine {
  background: #1d1916 !important;
}

.paragraph-focus-active .cm-line:not(.cm-activeLine) {
  opacity: .4;
  transition: opacity .3s;
}

.paragraph-focus-active .cm-line.cm-activeLine {
  opacity: 1;
}

.typewriter-mode .cm-scroller {
  scroll-padding-top: 40vh;
  scroll-padding-bottom: 40vh;
}

.typewriter-mode .cm-content {
  padding-bottom: 50vh !important;
}

.zen-mode-active {
  z-index: 9999 !important;
  background: #141110 !important;
  position: fixed !important;
  inset: 0 !important;
}

.zen-mode-active .editor-container {
  height: 100vh;
  overflow: hidden;
}

.zen-mode-active .zen-mode-hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}

.zen-mode-active:hover .zen-mode-toolbar {
  opacity: 1;
  pointer-events: auto;
}

.zen-mode-toolbar {
  z-index: 10000;
  opacity: 0;
  transition: opacity .3s;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

@keyframes goal-pulse {
  0%, 100% {
    box-shadow: 0 0 #f9c31f66;
  }

  50% {
    box-shadow: 0 0 20px 8px #f9c31f33;
  }
}

.goal-complete {
  animation: 2s ease-in-out infinite goal-pulse;
}

.focus-mode-transition {
  transition: opacity .3s, transform .3s;
}

.focus-mode-active .status-bar {
  opacity: 0;
  transform: translateY(100%);
}

.zen-toolbar-trigger {
  z-index: 9998;
  height: 60px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.editor-typography-transition {
  transition: font-family .2s, font-size .2s, line-height .2s;
}

.dark .cm-placeholder {
  font-style: italic;
  color: #6e665e !important;
}

.dark .markdown-preview, .canvas-plain .markdown-preview, .canvas-midnight .markdown-preview {
  color: #dedbd3;
}

.dark .markdown-preview h1, .dark .markdown-preview h2, .dark .markdown-preview h3, .canvas-plain .markdown-preview h1, .canvas-plain .markdown-preview h2, .canvas-plain .markdown-preview h3, .canvas-midnight .markdown-preview h1, .canvas-midnight .markdown-preview h2, .canvas-midnight .markdown-preview h3 {
  color: #efece7;
}

.dark .markdown-preview blockquote, .canvas-plain .markdown-preview blockquote, .canvas-midnight .markdown-preview blockquote {
  color: #beb4a7;
  border-left-color: #e6861a66;
}

.dark .markdown-preview code, .canvas-plain .markdown-preview code, .canvas-midnight .markdown-preview code {
  color: #e4aa67;
  background: #2a2622;
  border-radius: 4px;
  padding: .15em .4em;
  font-size: .9em;
}

.markdown-preview {
  color: #453021;
}

.markdown-preview h1, .markdown-preview h2, .markdown-preview h3 {
  color: #362417;
}

.markdown-preview blockquote {
  color: #705943;
  border-left-color: #ac773980;
}

.markdown-preview a {
  color: #379;
}

.markdown-preview code {
  color: #86522d;
  background: #e7e1da;
  border-radius: 4px;
  padding: .15em .4em;
  font-size: .9em;
}

.markdown-preview.paginated-view p, .markdown-preview.paginated-view h1, .markdown-preview.paginated-view h2, .markdown-preview.paginated-view h3, .markdown-preview.paginated-view h4, .markdown-preview.paginated-view blockquote, .markdown-preview.paginated-view ul, .markdown-preview.paginated-view ol, .markdown-preview.paginated-view li {
  break-inside: avoid;
  page-break-inside: avoid;
}

.markdown-preview.paginated-view h1, .markdown-preview.paginated-view h2, .markdown-preview.paginated-view h3, .markdown-preview.paginated-view h4 {
  break-after: avoid;
  page-break-after: avoid;
}

@keyframes highlight-flash {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .8;
    transform: scale(1.02);
  }

  100% {
    opacity: 0;
    transform: scale(1);
  }
}

.typewriter-overlay {
  z-index: 100;
  background: linear-gradient(#171411 0%, #110f0d 100%);
  border-top: 1px solid #322e29;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0 -4px 20px #110b0980;
}

.typewriter-dock-handle {
  border-bottom: 1px solid #292623;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  display: flex;
}

.typewriter-expand-btn {
  color: #a89c8a;
  border-radius: 4px;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  transition: all .2s;
  display: flex;
}

.typewriter-expand-btn:hover {
  color: #d6cec2;
  background: #2a2622;
}

.typewriter-dock-label {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 12px;
  font-weight: 500;
}

.typewriter-sound-btn {
  color: #93836c;
  border-radius: 4px;
  padding: 4px;
  transition: all .2s;
}

.typewriter-sound-btn:hover {
  color: #d6cec2;
  background: #2a2622;
}

.typewriter-carriage-indicator {
  background: #211f1c;
  border-radius: 2px;
  flex: 1;
  height: 4px;
  position: relative;
  overflow: hidden;
}

.typewriter-carriage-position {
  background: #e6861a;
  border-radius: 2px;
  width: 20px;
  height: 100%;
  transition: left 50ms ease-out;
  position: absolute;
  top: 0;
  box-shadow: 0 0 8px #f2870d80;
}

.typewriter-paper-roll {
  background: linear-gradient(#f1eee4 0%, #e8e3d9 100%);
  border-bottom: 2px solid #ccc1b3;
  height: 60px;
  position: relative;
  overflow: hidden;
}

.typewriter-paper-texture {
  opacity: .3;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}

.typewriter-paper-viewport {
  color: #362417;
  white-space: nowrap;
  scrollbar-width: none;
  align-items: center;
  height: 100%;
  padding: 0 24px;
  font-family: Courier New, Courier, monospace;
  font-size: 18px;
  display: flex;
  overflow-x: auto;
}

.typewriter-paper-viewport::-webkit-scrollbar {
  display: none;
}

.typewriter-static-text {
  opacity: .9;
}

.typewriter-char {
  display: inline-block;
  position: relative;
}

.typewriter-char:after {
  content: "";
  pointer-events: none;
  background: radial-gradient(#4d2f191a 0%, #0000 70%);
  animation: .3s ease-out forwards ink-spread;
  position: absolute;
  inset: -2px;
}

@keyframes ink-spread {
  0% {
    opacity: 1;
    transform: scale(.5);
  }

  100% {
    opacity: 0;
    transform: scale(1.5);
  }
}

.typewriter-cursor {
  color: #734626;
  font-weight: bold;
}

.typewriter-paper-shadow-left, .typewriter-paper-shadow-right {
  pointer-events: none;
  z-index: 1;
  width: 40px;
  position: absolute;
  top: 0;
  bottom: 0;
}

.typewriter-paper-shadow-left {
  background: linear-gradient(90deg, #e0dbd1, #0000);
  left: 0;
}

.typewriter-paper-shadow-right {
  background: linear-gradient(270deg, #e0dbd1, #0000);
  right: 0;
}

.typewriter-mechanism {
  background: linear-gradient(#221e1c 0%, #161413 100%);
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 16px 24px;
  display: flex;
}

.typewriter-bar-row {
  perspective: 500px;
  gap: 4px;
  display: flex;
}

.typewriter-bar-container {
  width: 28px;
  height: 50px;
  position: relative;
}

.typewriter-bar-arm {
  transform-origin: bottom;
  background: linear-gradient(#605a52 0%, #464039 100%);
  border-radius: 2px;
  width: 4px;
  height: 45px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.typewriter-bar-slug {
  background: #6e665e;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  transition: background 50ms;
  display: flex;
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: inset 0 -2px 4px #38312e, 0 2px 4px #110b094d;
}

.typewriter-bar-slug.struck {
  background: #93836c;
}

.typewriter-bar-letter {
  color: #dedbd3;
  font-family: Courier New, monospace;
  font-size: 11px;
  font-weight: bold;
  transform: scaleX(-1);
}

.typewriter-strike-flash {
  pointer-events: none;
  background: radial-gradient(circle, #ffd96699 0%, #0000 70%);
  width: 30px;
  height: 30px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 768px) {
  .typewriter-mechanism {
    display: none;
  }

  .typewriter-paper-roll {
    height: 50px;
  }

  .typewriter-paper-viewport {
    font-size: 16px;
  }
}

:root {
  --tw-gunmetal: #2f3337;
  --tw-gunmetal-dark: #1c1f22;
  --tw-gunmetal-light: #43474c;
  --tw-brass: #bd9128;
  --tw-brass-shine: #ddb43c;
  --tw-brass-dark: #8a6628;
  --tw-chrome: #a1a6aa;
  --tw-chrome-shine: #c8ccd0;
  --tw-rubber: #262626;
  --tw-cream: #ebe3d6;
  --tw-ink: #432a19;
  --tw-ribbon-red: #c32222;
  --tw-ribbon-black: #141414;
}

.typewriter-frame {
  z-index: 100;
  perspective: 1000px;
  pointer-events: none;
  width: auto;
  position: fixed;
  bottom: 0;
  left: 250px;
  right: 0;
}

.typewriter-frame.typewriter-frame--expanded {
  flex-direction: column;
  display: flex;
  top: 52px;
}

.typewriter-body {
  background: linear-gradient(180deg, var(--tw-gunmetal-light) 0%, var(--tw-gunmetal) 20%, var(--tw-gunmetal-dark) 100%);
  pointer-events: auto;
  border-radius: 8px 8px 0 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 -4px 20px #0006, inset 0 1px #505962, inset 0 -2px 8px #0000004d;
}

.typewriter-frame--expanded .typewriter-body {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.typewriter-chrome-strip {
  background: linear-gradient(90deg, var(--tw-chrome) 0%, var(--tw-chrome-shine) 50%, var(--tw-chrome) 100%);
  height: 3px;
  box-shadow: 0 1px 2px #0000004d;
}

.typewriter-dock-handle {
  background: linear-gradient(180deg, var(--tw-gunmetal) 0%, var(--tw-gunmetal-dark) 100%);
  border-bottom: 1px solid #394046;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  display: flex;
}

.typewriter-expand-btn, .typewriter-sound-btn, .typewriter-settings-btn {
  color: var(--tw-chrome);
  background: linear-gradient(#3b4045 0%, #292e32 100%);
  border: 1px solid #40474f;
  border-radius: 4px;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  transition: all .2s;
  display: flex;
  box-shadow: 0 2px 4px #0003, inset 0 1px #464d53;
}

.typewriter-expand-btn:hover, .typewriter-sound-btn:hover, .typewriter-settings-btn:hover {
  color: var(--tw-chrome-shine);
  background: linear-gradient(#464d53 0%, #32383e 100%);
}

.typewriter-dock-label {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: Courier New, monospace;
  font-size: 11px;
  font-weight: 600;
}

.typewriter-carriage-rail {
  background: linear-gradient(#232629 0%, #1c1f22 50%, #232629 100%);
  border-radius: 4px;
  flex: 1;
  height: 8px;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 2px 4px #0000004d, 0 1px #3b4045;
}

.typewriter-carriage-slider {
  background: linear-gradient(90deg, var(--tw-brass-dark) 0%, var(--tw-brass) 30%, var(--tw-brass-shine) 50%, var(--tw-brass) 70%, var(--tw-brass-dark) 100%);
  border-radius: 3px;
  width: 30px;
  height: 6px;
  position: absolute;
  top: 1px;
  left: 0;
  box-shadow: 0 1px 2px #0000004d, inset 0 1px #e0bd52;
}

.typewriter-bell {
  background: radial-gradient(circle at 30% 30%, var(--tw-brass-shine) 0%, var(--tw-brass) 50%, var(--tw-brass-dark) 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
  box-shadow: 0 2px 4px #0000004d, inset 0 -2px 4px #0003, inset 0 2px 4px #e0bd524d;
}

.typewriter-bell-icon {
  filter: grayscale(.5) brightness(1.2);
  font-size: 14px;
}

.typewriter-expanded {
  overflow: hidden;
}

.typewriter-frame--expanded .typewriter-expanded {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.typewriter-platen-assembly {
  background: linear-gradient(180deg, var(--tw-gunmetal-dark) 0%, #171a1c 100%);
  justify-content: center;
  align-items: center;
  padding: 12px 20px 8px;
  display: flex;
}

.typewriter-platen-knob {
  background: radial-gradient(circle at 40% 40%, var(--tw-gunmetal-light) 0%, var(--tw-gunmetal) 60%, var(--tw-gunmetal-dark) 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
  box-shadow: 0 2px 4px #0006, inset 0 2px 4px #464d5380;
}

.typewriter-platen-knob-inner {
  background: linear-gradient(135deg, var(--tw-chrome) 0%, var(--tw-chrome-shine) 50%, #798086 100%);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  box-shadow: inset 0 -2px 4px #0000004d, 0 1px 2px #0003;
}

.typewriter-platen {
  border-radius: 18px;
  flex: 1;
  max-width: 600px;
  height: 36px;
  margin: 0 8px;
  position: relative;
  overflow: hidden;
}

.typewriter-platen-rubber {
  background: linear-gradient(180deg, #333 0%, var(--tw-rubber) 30%, #141414 70%, #1f1f1f 100%);
  border-radius: 12px;
  position: absolute;
  inset: 0;
}

.typewriter-platen-shine {
  background: linear-gradient(90deg, #0000 0%, #59595999 20%, #737373cc 50%, #59595999 80%, #0000 100%);
  border-radius: 2px;
  height: 4px;
  position: absolute;
  top: 2px;
  left: 10%;
  right: 10%;
}

.typewriter-paper-guide {
  background: linear-gradient(#121416 0%, #1c1f21 100%);
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 0 20px;
  display: flex;
  overflow: hidden;
}

.typewriter-ribbon-area {
  background: linear-gradient(180deg, #171a1c 0%, var(--tw-gunmetal-dark) 100%);
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 4px 20px;
  display: flex;
}

.typewriter-ribbon-spool {
  background: radial-gradient(circle at 40% 40%, var(--tw-gunmetal-light) 0%, var(--tw-gunmetal) 50%, var(--tw-gunmetal-dark) 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  display: flex;
  box-shadow: 0 2px 6px #0006, inset 0 2px 4px #3b40454d;
}

.typewriter-ribbon-spool-center {
  background: linear-gradient(135deg, var(--tw-chrome) 0%, #798086 100%);
  border-radius: 50%;
  width: 12px;
  height: 12px;
  box-shadow: inset 0 -1px 2px #0000004d;
}

.typewriter-ribbon-window {
  background: #121416;
  border-radius: 4px;
  flex: 1;
  align-items: center;
  max-width: 200px;
  height: 14px;
  display: flex;
  overflow: hidden;
  box-shadow: inset 0 2px 4px #0006;
}

.typewriter-ribbon {
  background: linear-gradient(180deg, var(--tw-ribbon-red) 0%, var(--tw-ribbon-red) 45%, var(--tw-ribbon-black) 55%, var(--tw-ribbon-black) 100%);
  width: 100%;
  height: 12px;
}

.typewriter-mechanism {
  perspective: 500px;
  background: linear-gradient(#171a1c 0%, #0e0f11 100%);
  justify-content: center;
  padding: 8px 20px 12px;
  display: flex;
}

.typewriter-bar-semicircle {
  justify-content: center;
  align-items: flex-end;
  width: 600px;
  height: 110px;
  display: flex;
  position: relative;
}

.typewriter-strike-point {
  background: radial-gradient(circle at center, var(--tw-brass-shine) 0%, var(--tw-brass) 50%, transparent 70%);
  z-index: 10;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.typewriter-strike-point-inner {
  background: var(--tw-brass-dark);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.typewriter-bar-positioned {
  transform-origin: bottom;
  position: absolute;
  bottom: 0;
  left: 50%;
}

.typewriter-semicircle-bar {
  width: 24px;
  height: 65px;
  position: relative;
}

.typewriter-semicircle-arm {
  flex-direction: column;
  align-items: center;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.typewriter-semicircle-slug {
  background: linear-gradient(135deg, var(--tw-gunmetal-light) 0%, var(--tw-gunmetal) 50%, var(--tw-gunmetal-dark) 100%);
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  transition: background 50ms;
  display: flex;
  box-shadow: 0 1px 2px #0000004d, inset 0 1px #525960;
}

.typewriter-semicircle-slug.struck {
  background: linear-gradient(135deg, var(--tw-gunmetal) 0%, #525960 50%, var(--tw-gunmetal-light) 100%);
  box-shadow: 0 0 8px #fc36, 0 1px 2px #0000004d;
}

.typewriter-semicircle-letter {
  color: var(--tw-chrome);
  font-family: Courier New, monospace;
  font-size: 12px;
  font-weight: bold;
  transform: scaleX(-1)rotate(180deg);
}

.typewriter-semicircle-body {
  background: linear-gradient(90deg, var(--tw-gunmetal-dark) 0%, var(--tw-gunmetal) 50%, var(--tw-gunmetal-dark) 100%);
  border-radius: 2px;
  width: 4px;
  height: 40px;
}

.typewriter-semicircle-flash {
  pointer-events: none;
  background: radial-gradient(circle, #ffd966cc 0%, #fc36 40%, #0000 70%);
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.typewriter-frame-edge {
  background: linear-gradient(180deg, var(--tw-gunmetal-dark) 0%, #121416 100%);
  height: 6px;
  box-shadow: inset 0 2px 4px #0000004d;
}

.typewriter-rivet {
  background: radial-gradient(circle at 30% 30%, var(--tw-chrome-shine) 0%, var(--tw-chrome) 40%, var(--tw-gunmetal) 100%);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: absolute;
  box-shadow: 0 1px 2px #0006, inset 0 -1px 1px #0000004d;
}

.typewriter-rivet--tl {
  top: 8px;
  left: 12px;
}

.typewriter-rivet--tr {
  top: 8px;
  right: 12px;
}

.typewriter-rivet--bl {
  bottom: 8px;
  left: 12px;
}

.typewriter-rivet--br {
  bottom: 8px;
  right: 12px;
}

.skeuomorphic-paper {
  border-radius: 2px;
  flex: 1;
  min-height: 0;
  margin: 8px 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 12px #0000004d, 0 1px 3px #0003;
}

.skeuomorphic-paper__base {
  background: var(--paper-bg, #ebe3d6);
  position: absolute;
  inset: 0;
}

.skeuomorphic-paper__texture {
  opacity: var(--paper-texture-opacity, .3);
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}

.skeuomorphic-paper__wear {
  pointer-events: none;
  background: radial-gradient(30% 20% at 15% 25%, #c2997026, #0000), radial-gradient(25% 15% at 80% 70%, #b493641a, #0000), radial-gradient(40% 30% at 60% 20%, #c9af9c14, #0000);
  position: absolute;
  inset: 0;
}

.skeuomorphic-paper__rules {
  background-image: repeating-linear-gradient(180deg, transparent, transparent 27px, var(--paper-line, #b8cce080) 27px, var(--paper-line, #b8cce080) 28px);
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.skeuomorphic-paper__margin {
  background: var(--paper-margin, #e0858580);
  pointer-events: none;
  width: 2px;
  position: absolute;
  top: 0;
  bottom: 0;
}

.skeuomorphic-paper__feed-holes {
  z-index: 2;
  flex-direction: column;
  justify-content: space-around;
  width: 16px;
  padding: 8px 0;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
}

.skeuomorphic-paper__feed-holes--left {
  background: linear-gradient(90deg, #f2f2f2 0%, #0000 100%);
  left: 0;
}

.skeuomorphic-paper__feed-holes--right {
  background: linear-gradient(270deg, #f2f2f2 0%, #0000 100%);
  right: 0;
}

.skeuomorphic-paper__feed-hole {
  background: #afb3b6;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  margin: 0 auto;
  box-shadow: inset 0 1px 2px #0003, 0 1px #ffffff80;
}

.skeuomorphic-paper__content {
  color: var(--paper-text, #432a19);
  scrollbar-width: none;
  padding: 16px 60px;
  font-family: Courier New, Courier, monospace;
  font-size: 16px;
  line-height: 28px;
  position: absolute;
  inset: 0;
  overflow-y: auto;
}

.skeuomorphic-paper__content::-webkit-scrollbar {
  display: none;
}

.skeuomorphic-paper__line {
  white-space: pre-wrap;
  word-break: break-word;
  min-height: 28px;
}

.skeuomorphic-paper__line--current {
  position: relative;
}

.skeuomorphic-paper__static {
  opacity: .95;
}

.skeuomorphic-paper__char {
  display: inline-block;
  position: relative;
}

.skeuomorphic-paper__char:after {
  content: "";
  background: radial-gradient(ellipse at center, var(--paper-text, #452a17) 0%, transparent 60%);
  opacity: 0;
  pointer-events: none;
  animation: .2s ease-out forwards ink-splatter;
  position: absolute;
  inset: -3px;
}

@keyframes ink-splatter {
  0% {
    opacity: .15;
    transform: scale(.3);
  }

  100% {
    opacity: 0;
    transform: scale(1.2);
  }
}

.skeuomorphic-paper__cursor {
  color: var(--paper-text, #432a19);
  margin-left: 1px;
  font-weight: bold;
}

.skeuomorphic-paper__curl-top, .skeuomorphic-paper__curl-bottom {
  pointer-events: none;
  z-index: 3;
  height: 12px;
  position: absolute;
  left: 20px;
  right: 20px;
}

.skeuomorphic-paper__curl-top {
  background: linear-gradient(#00000014 0%, #0000 100%);
  top: 0;
}

.skeuomorphic-paper__curl-bottom {
  background: linear-gradient(0deg, #0000001a 0%, #0000 100%);
  bottom: 0;
}

.skeuomorphic-paper__shadow {
  pointer-events: none;
  z-index: 4;
  position: absolute;
  inset: 0;
  box-shadow: inset 0 2px 8px #0000001a, inset 0 -2px 8px #0000000d;
}

.skeuomorphic-paper--white .skeuomorphic-paper__base {
  background: #fafafa;
}

.skeuomorphic-paper--legal .skeuomorphic-paper__base {
  background: linear-gradient(#f4ebbe 0%, #efe3b3 100%);
}

.skeuomorphic-paper--graph .skeuomorphic-paper__rules {
  background-image: repeating-linear-gradient(180deg, transparent, transparent 19px, var(--paper-line, #bdd1db80) 19px, var(--paper-line, #bdd1db80) 20px), repeating-linear-gradient(90deg, transparent, transparent 19px, var(--paper-line, #bdd1db80) 19px, var(--paper-line, #bdd1db80) 20px);
}

.typewriter-keycap {
  cursor: pointer;
  background: none;
  border: none;
  width: 36px;
  height: 36px;
  padding: 0;
}

.typewriter-keycap-outer {
  background: linear-gradient(#494536 0%, #333028 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  padding: 3px;
  transition: transform 50ms;
  box-shadow: 0 4px 8px #0006, inset 0 1px #6b6247;
}

.typewriter-keycap:active .typewriter-keycap-outer, .typewriter-keycap.active .typewriter-keycap-outer {
  transform: translateY(2px);
  box-shadow: 0 2px 4px #0000004d, inset 0 1px #6b6247;
}

.typewriter-keycap-inner {
  background: linear-gradient(#e8e7e3 0%, #dbdad6 50%, #cfcdc9 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  box-shadow: inset 0 2px 4px #ffffff4d, inset 0 -2px 4px #00000026;
}

.typewriter-keycap-letter {
  color: #262626;
  font-family: Courier New, monospace;
  font-size: 14px;
  font-weight: bold;
}

@media (max-width: 768px) {
  .typewriter-frame {
    border-radius: 0;
    max-width: 100%;
  }

  .typewriter-bar-semicircle {
    display: none;
  }

  .typewriter-platen-assembly {
    padding: 8px 12px;
  }

  .typewriter-platen-knob {
    width: 24px;
    height: 24px;
  }

  .skeuomorphic-paper {
    min-height: 120px;
    max-height: 200px;
  }

  .skeuomorphic-paper__content {
    padding: 12px 40px;
    font-size: 14px;
    line-height: 24px;
  }

  .skeuomorphic-paper__feed-holes {
    display: none;
  }
}

.tw-frame {
  perspective: 1000px;
  flex-direction: column;
  height: 100%;
  display: flex;
}

.tw-frame--expanded {
  height: 100%;
}

.tw-body {
  background: linear-gradient(180deg, var(--tw-gunmetal-light) 0%, var(--tw-gunmetal) 20%, var(--tw-gunmetal-dark) 100%);
  border-radius: 8px;
  flex-direction: column;
  height: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px #0006, inset 0 1px #505962, inset 0 -2px 8px #0000004d;
}

.tw-chrome-strip {
  background: linear-gradient(90deg, var(--tw-chrome) 0%, var(--tw-chrome-shine) 50%, var(--tw-chrome) 100%);
  height: 3px;
  box-shadow: 0 1px 2px #0000004d;
}

.tw-dock-handle {
  background: linear-gradient(180deg, var(--tw-gunmetal) 0%, var(--tw-gunmetal-dark) 100%);
  border-bottom: 1px solid #394046;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  display: flex;
}

.tw-btn {
  color: #c9c2b6;
  cursor: pointer;
  background: linear-gradient(#42474d 0%, #32383e 100%);
  border: 1px solid #292e32;
  border-radius: 4px;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 500;
  transition: all .15s;
  display: flex;
  box-shadow: 0 2px 4px #0000004d, inset 0 1px #525960;
}

.tw-btn:hover {
  color: #e0dbd1;
  background: linear-gradient(#4b5258 0%, #3c4249 100%);
}

.tw-btn--icon {
  padding: 6px;
}

.tw-btn--active {
  color: var(--tw-brass-shine);
}

.tw-btn-label {
  font-family: inherit;
}

.tw-platen-assembly {
  background: linear-gradient(180deg, var(--tw-gunmetal-dark) 0%, #171a1c 100%);
  justify-content: center;
  align-items: center;
  padding: 12px 20px 8px;
  display: flex;
}

.tw-platen-knob {
  background: radial-gradient(circle at 40% 40%, var(--tw-gunmetal-light) 0%, var(--tw-gunmetal) 60%, var(--tw-gunmetal-dark) 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
  box-shadow: 0 2px 4px #0006, inset 0 1px 2px #5c6670;
}

.tw-platen-knob-inner {
  background: radial-gradient(circle at 35% 35%, var(--tw-chrome-shine) 0%, var(--tw-chrome) 50%, var(--tw-gunmetal) 100%);
  border-radius: 50%;
  width: 16px;
  height: 16px;
  box-shadow: inset 0 1px 2px #0000004d;
}

.tw-platen {
  border-radius: 12px;
  flex: 1;
  max-width: 600px;
  height: 24px;
  margin: 0 12px;
  position: relative;
  overflow: hidden;
}

.tw-platen-rubber {
  background: linear-gradient(180deg, #2e2e2e 0%, var(--tw-rubber) 30%, #141414 50%, var(--tw-rubber) 70%, #2e2e2e 100%);
  position: absolute;
  inset: 0;
  box-shadow: inset 0 2px 4px #00000080, inset 0 -2px 4px #4d4d4d4d;
}

.tw-platen-shine {
  background: linear-gradient(90deg, #0000 0%, #6666664d 50%, #0000 100%);
  border-radius: 2px;
  height: 4px;
  position: absolute;
  top: 2px;
  left: 10%;
  right: 10%;
}

.tw-paper-guide {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 0 16px 8px;
  display: flex;
  overflow: hidden;
}

.tw-paper {
  border-radius: 2px;
  flex: 1;
  min-height: 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 12px #0000004d, 0 1px 3px #0003;
}

.tw-paper-base {
  background: var(--tw-cream);
  position: absolute;
  inset: 0;
}

.tw-paper-texture {
  opacity: .3;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}

.tw-paper-wear {
  pointer-events: none;
  background: radial-gradient(30% 20% at 15% 25%, #c2997026, #0000), radial-gradient(25% 15% at 80% 70%, #b493641a, #0000), radial-gradient(40% 30% at 60% 20%, #c9af9c14, #0000);
  position: absolute;
  inset: 0;
}

.tw-feed-holes {
  z-index: 2;
  flex-direction: column;
  justify-content: space-around;
  width: 16px;
  padding: 8px 0;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
}

.tw-feed-holes--left {
  background: linear-gradient(90deg, #f2f2f2 0%, #0000 100%);
  left: 0;
}

.tw-feed-holes--right {
  background: linear-gradient(270deg, #f2f2f2 0%, #0000 100%);
  right: 0;
}

.tw-feed-hole {
  background: #d9d9d9;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin: 0 auto;
  box-shadow: inset 0 1px 2px #999, 0 1px #ffffff80;
}

.tw-paper-content {
  z-index: 1;
  height: 100%;
  padding: 20px 40px;
  position: relative;
  overflow: auto;
}

.tw-paper-content .h-full, .tw-paper-content .page-container, .tw-paper-content .codemirror-transparent-wrapper {
  height: 100%;
  background: none !important;
}

.tw-paper-content .cm-editor, .tw-paper-content .cm-scroller {
  background: none !important;
}

.tw-paper-content .cm-content {
  color: var(--tw-ink) !important;
  font-family: American Typewriter, Courier New, Courier, monospace !important;
}

.tw-paper-content .cm-line {
  color: var(--tw-ink) !important;
}

.tw-paper-content .cm-cursor {
  border-left-color: var(--tw-ink) !important;
}

.tw-ribbon-area {
  background: linear-gradient(180deg, #1c1f22 0%, var(--tw-gunmetal-dark) 100%);
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 8px 20px 12px;
  display: flex;
}

.tw-ribbon-spool {
  background: radial-gradient(circle at 40% 40%, var(--tw-gunmetal-light) 0%, var(--tw-gunmetal) 50%, var(--tw-gunmetal-dark) 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
  box-shadow: 0 2px 4px #0006, inset 0 1px 2px #505962;
}

.tw-ribbon-spool-center {
  background: radial-gradient(circle at 35% 35%, var(--tw-chrome-shine) 0%, var(--tw-chrome) 60%, var(--tw-gunmetal) 100%);
  border-radius: 50%;
  width: 10px;
  height: 10px;
}

.tw-ribbon-window {
  background: #0d0d0d;
  border-radius: 2px;
  flex: 1;
  max-width: 200px;
  height: 12px;
  overflow: hidden;
  box-shadow: inset 0 2px 4px #00000080;
}

.tw-ribbon {
  background: linear-gradient(180deg, var(--tw-ribbon-black) 0%, #262626 50%, var(--tw-ribbon-black) 100%);
  height: 100%;
}

.tw-frame-edge {
  background: linear-gradient(180deg, var(--tw-gunmetal-dark) 0%, #121416 100%);
  height: 6px;
  box-shadow: inset 0 2px 4px #0000004d;
}

.tw-rivet {
  background: radial-gradient(circle at 30% 30%, var(--tw-chrome-shine) 0%, var(--tw-chrome) 40%, var(--tw-gunmetal) 100%);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: absolute;
  box-shadow: 0 1px 2px #0006, inset 0 -1px 1px #0000004d;
}

.tw-rivet--tl {
  top: 8px;
  left: 12px;
}

.tw-rivet--tr {
  top: 8px;
  right: 12px;
}

.tw-rivet--bl {
  bottom: 8px;
  left: 12px;
}

.tw-rivet--br {
  bottom: 8px;
  right: 12px;
}

.selection-toolbar {
  pointer-events: auto;
}

.selection-toolbar__main {
  background: linear-gradient(180deg, hsl(var(--popover)) 0%, hsl(var(--popover) / .95) 100%);
  border: 1px solid hsl(var(--border));
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-radius: 10px;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  display: flex;
  box-shadow: 0 8px 24px #0000002e, 0 4px 8px #0000001f, 0 1px 2px #00000014;
}

.dark .selection-toolbar__main {
  background: linear-gradient(#272320 0%, #1f1b19 100%);
  border-color: #3e3732;
  box-shadow: 0 8px 32px #00000080, 0 4px 12px #0000004d, inset 0 1px #38332e;
}

.selection-toolbar__btn {
  color: hsl(var(--foreground) / .85);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-width: 36px;
  min-height: 36px;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 500;
  transition: all .15s;
  display: flex;
}

.selection-toolbar__btn:hover {
  background: hsl(var(--accent));
  color: hsl(var(--foreground));
  transform: translateY(-1px);
}

.selection-toolbar__btn:active {
  transform: translateY(0);
}

.dark .selection-toolbar__btn:hover {
  color: hsl(var(--foreground));
  background: #3b322b;
}

.selection-toolbar__btn--primary {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  padding: 6px 12px;
}

.selection-toolbar__btn--primary:hover {
  background: hsl(var(--primary) / .9);
  box-shadow: 0 0 12px hsl(var(--primary) / .3);
}

.dark .selection-toolbar__btn--primary {
  color: #161412;
  background: #f2870d;
}

.dark .selection-toolbar__btn--primary:hover {
  background: #f9941f;
  box-shadow: 0 0 16px #f9880666;
}

.selection-toolbar__btn--active {
  background: hsl(var(--accent));
}

.selection-toolbar__label {
  font-weight: 600;
}

.selection-toolbar__more {
  background: hsl(var(--popover));
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
  margin-top: 4px;
  padding: 4px;
  overflow: hidden;
}

.dark .selection-toolbar__more {
  background: #1c1917;
  border-color: #322d29;
}

.selection-toolbar__more-btn {
  width: 100%;
  color: hsl(var(--foreground));
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 4px;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  font-size: 13px;
  transition: background .15s;
  display: flex;
}

.selection-toolbar__more-btn:hover {
  background: hsl(var(--accent));
}

.dark .selection-toolbar__more-btn:hover {
  background: #332d28;
}

.selection-toolbar__shortcut {
  color: hsl(var(--muted-foreground));
  margin-left: auto;
  font-family: system-ui, sans-serif;
  font-size: 11px;
}

.selection-toolbar__arrow {
  background: linear-gradient(135deg, transparent 50%, hsl(var(--popover)) 50%);
  border-right: 1px solid hsl(var(--border));
  border-bottom: 1px solid hsl(var(--border));
  width: 14px;
  height: 14px;
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%)rotate(45deg);
  box-shadow: 3px 3px 6px #0000001f;
}

.dark .selection-toolbar__arrow {
  background: linear-gradient(135deg, #0000 50%, #1f1b19 50%);
  border-color: #3e3732;
}

@keyframes tw-char-strike {
  0% {
    opacity: 0;
    transform: translate3d(var(--ink-offset-x, 0), calc(-12px + var(--ink-offset-y, 0)), 0) scale(1.3);
  }

  20% {
    opacity: var(--ink-opacity, 1);
    transform: translate3d(var(--ink-offset-x, 0), calc(2px + var(--ink-offset-y, 0)), 0) scale(.95);
  }

  40% {
    transform: translate3d(var(--ink-offset-x, 0), var(--ink-offset-y, 0), 0) scale(1);
  }

  100% {
    opacity: var(--ink-opacity, 1);
    transform: translate3d(var(--ink-offset-x, 0), var(--ink-offset-y, 0), 0) scale(1);
  }
}

@keyframes tw-char-strike-fast {
  0% {
    opacity: 0;
    transform: translate3d(0, -8px, 0)scale(1.15);
  }

  30% {
    opacity: 1;
    transform: translate3d(0, 1px, 0)scale(.98);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)scale(1);
  }
}

@keyframes tw-cursor-blink {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .2;
  }
}

.tw-input-container {
  contain: layout style;
  width: 100%;
  height: 100%;
  position: relative;
}

.tw-char-overlay {
  pointer-events: none;
  z-index: 10;
  contain: strict;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.tw-char-strike {
  font-family: American Typewriter, Courier New, Courier, monospace;
  font-size: inherit;
  color: var(--tw-ink, #432a19);
  pointer-events: none;
  will-change: transform, opacity;
  transform-origin: bottom;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  animation: .12s cubic-bezier(.22, .61, .36, 1) forwards tw-char-strike;
  position: absolute;
}

.tw-input-container[data-fast-mode="true"] .tw-char-strike {
  animation: 80ms cubic-bezier(.22, .61, .36, 1) forwards tw-char-strike-fast;
}

.tw-input-editor {
  width: 100%;
  height: 100%;
  color: var(--tw-ink, #432a19);
  resize: none;
  white-space: pre-wrap;
  word-wrap: break-word;
  caret-color: var(--tw-ink, #432a19);
  contain: content;
  will-change: scroll-position;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: none;
  border: none;
  outline: none;
  padding: 20px 40px;
  font-family: American Typewriter, Courier New, Courier, monospace;
  font-size: 18px;
  line-height: 1.8;
  position: relative;
  overflow: hidden auto;
}

.tw-input-editor:empty:before {
  content: attr(data-placeholder);
  color: #997b6680;
  pointer-events: none;
  font-style: italic;
}

.tw-input-editor:focus {
  outline: none;
}

.tw-input-cursor {
  background: var(--tw-ink, #432a19);
  pointer-events: none;
  will-change: opacity;
  width: 2px;
  height: 1.2em;
  animation: .8s ease-in-out infinite tw-cursor-blink;
  position: absolute;
}

.tw-input-editor:focus ~ .tw-input-cursor {
  display: none;
}

.tw-text-display {
  color: var(--tw-ink, #432a19);
  white-space: pre-wrap;
  word-wrap: break-word;
  contain: content;
  content-visibility: auto;
  font-family: American Typewriter, Courier New, Courier, monospace;
  font-size: 18px;
  line-height: 1.8;
}

.tw-input-editor::-webkit-scrollbar {
  width: 8px;
}

.tw-input-editor::-webkit-scrollbar-track {
  background: none;
}

.tw-input-editor::-webkit-scrollbar-thumb {
  background: #997b6633;
  border-radius: 4px;
}

.tw-input-editor::-webkit-scrollbar-thumb:hover {
  background: #997b6666;
}

.tw-input-editor::selection {
  background: #cc85334d;
}

.tw-canvas {
  background: var(--tw-cream, #ebe3d6);
  border-radius: 2px;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 12px #00000026, inset 0 1px #ffffff4d;
}

.tw-canvas:before {
  content: "";
  opacity: .25;
  pointer-events: none;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}

.tw-canvas:after {
  content: "";
  pointer-events: none;
  background: radial-gradient(30% 20% at 15% 25%, #c299701a, #0000), radial-gradient(25% 15% at 80% 70%, #b4936414, #0000), radial-gradient(40% 30% at 60% 20%, #c9af9c0f, #0000);
  position: absolute;
  inset: 0;
}

.tw-canvas-holes {
  z-index: 2;
  flex-direction: column;
  justify-content: space-around;
  width: 20px;
  padding: 12px 0;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
}

.tw-canvas-holes--left {
  background: linear-gradient(90deg, #ebebeb 0%, #0000 100%);
  left: 0;
}

.tw-canvas-holes--right {
  background: linear-gradient(270deg, #ebebeb 0%, #0000 100%);
  right: 0;
}

.tw-canvas-hole {
  background: #d1d1d1;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  margin: 0 auto;
  box-shadow: inset 0 1px 3px #8c8c8c, 0 1px #fff9;
}

.tw-canvas--ruled {
  background-image: repeating-linear-gradient(#0000, #0000 calc(1.8em - 1px), #bdd1db4d calc(1.8em - 1px) 1.8em);
  background-position: 0 20px;
  background-size: 100% 1.8em;
}

.tw-canvas--margin:before {
  content: "";
  z-index: 3;
  background: #d2797966;
  width: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 60px;
}

.tw-paper-content .cm-editor, .tw-paper-content .cm-scroller {
  background: none !important;
  font-family: American Typewriter, Courier New, Courier, monospace !important;
}

.tw-paper-content .cm-content {
  caret-color: var(--tw-ink) !important;
  padding: 0 !important;
  font-family: inherit !important;
}

.tw-paper-content .cm-line {
  font-family: inherit !important;
  line-height: 1.8 !important;
}

.tw-paper-content .cm-line .tw-cm-char {
  will-change: transform, opacity;
  animation: .12s cubic-bezier(.22, .61, .36, 1) forwards tw-char-strike;
  display: inline-block;
}

.tw-paper-content .cm-activeLine, .tw-paper-content .cm-activeLineGutter {
  background: none !important;
}

.tw-paper-content .cm-selectionBackground {
  background: #cc853340 !important;
}

.tw-paper-content .cm-focused .cm-selectionBackground {
  background: #cc853359 !important;
}

.tw-paper-content .cm-cursor {
  border-left: 2px solid var(--tw-ink) !important;
}

@media (prefers-reduced-motion: reduce) {
  .tw-char-strike {
    opacity: 1;
    animation: none;
    transform: none;
  }

  .tw-input-cursor {
    opacity: 1;
    animation: none;
  }

  .tw-input-editor {
    scroll-behavior: auto;
  }
}

@media (min-resolution: 120dpi) {
  .tw-char-strike {
    animation-duration: .1s;
  }
}

@media (pointer: coarse) {
  .tw-input-editor {
    padding: 24px 32px;
    font-size: 20px;
  }
}

.page-container {
  transform-style: preserve-3d;
  overflow: hidden;
}

.page-flip-container {
  will-change: transform, opacity;
  transform-style: preserve-3d;
}

.page-flip-container:after {
  content: "";
  pointer-events: none;
  opacity: 0;
  width: 60px;
  transition: opacity .2s ease-out;
  position: absolute;
  top: 0;
  bottom: 0;
}

.page-flip-container[data-direction="1"]:after {
  background: linear-gradient(to right, #00000014, #0000);
  left: 0;
}

.page-flip-container[data-direction="-1"]:after {
  background: linear-gradient(to left, #00000014, #0000);
  right: 0;
}

.page-flip-container:before {
  content: "";
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(#ffffff1a, #ffffff0d 50%, #ffffff1a);
  width: 3px;
  transition: opacity .2s ease-out;
  position: absolute;
  top: 0;
  bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
  .page-flip-container {
    transition: opacity .15s ease-out !important;
    animation: none !important;
  }

  .page-flip-container:after, .page-flip-container:before {
    display: none;
  }
}

.selection-toolbar__colors {
  border-top: 1px solid hsl(var(--border) / .5);
  background: hsl(var(--popover));
  border-radius: 0 0 8px 8px;
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.highlight-color-btn {
  cursor: pointer;
  border: 2px solid #0000;
  border-radius: 6px;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  transition: all .15s;
}

.highlight-color-btn:hover {
  border-color: hsl(var(--foreground) / .3);
  transform: scale(1.15);
  box-shadow: 0 2px 8px #00000026;
}

.highlight-color-btn:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

.text-highlight {
  cursor: pointer;
  border-radius: 2px;
  padding: 0 1px;
  transition: background-color .15s;
}

.text-highlight:hover {
  filter: brightness(.95);
}

.text-highlight--yellow {
  background-color: #facc1566;
}

.text-highlight--green {
  background-color: #4ade8066;
}

.text-highlight--blue {
  background-color: #60a5fa66;
}

.text-highlight--pink {
  background-color: #f472b666;
}

.text-highlight--purple {
  background-color: #a78bfa66;
}

.text-highlight--orange {
  background-color: #fb923c66;
}

.text-highlight--yellow:hover {
  background-color: #facc1599;
}

.text-highlight--green:hover {
  background-color: #4ade8099;
}

.text-highlight--blue:hover {
  background-color: #60a5fa99;
}

.text-highlight--pink:hover {
  background-color: #f472b699;
}

.text-highlight--purple:hover {
  background-color: #a78bfa99;
}

.text-highlight--orange:hover {
  background-color: #fb923c99;
}

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

@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-space-x-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 spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__62d64f1d._.css.map*/