/* [next]/internal/font/google/geist_a71539c9.module.css [app-client] (css) */
@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/7178b3e590c64307-s.11.cyxs5p-0z~.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: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.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: Geist Fallback;
  src: local(Arial);
  ascent-override: 95.94%;
  descent-override: 28.16%;
  line-gap-override: 0.0%;
  size-adjust: 104.76%;
}

.geist_a71539c9-module__T19VSG__className {
  font-family: Geist, Geist Fallback;
  font-style: normal;
}

.geist_a71539c9-module__T19VSG__variable {
  --font-geist-sans: "Geist", "Geist Fallback";
}

/* [next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-client] (css) */
@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.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: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/797e433ab948586e-s.p.0.q-h669a_dqa.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: Geist Mono Fallback;
  src: local(Arial);
  ascent-override: 74.67%;
  descent-override: 21.92%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.geist_mono_8d43a2aa-module__8Li5zG__className {
  font-family: Geist Mono, Geist Mono Fallback;
  font-style: normal;
}

.geist_mono_8d43a2aa-module__8Li5zG__variable {
  --font-geist-mono: "Geist Mono", "Geist Mono Fallback";
}

/* [project]/apps/website/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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --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-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: var(--font-geist-sans);
    --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-700: #b75000;
    --color-teal-50: #f0fdfa;
    --color-teal-100: #cbfbf1;
    --color-teal-200: #96f7e4;
    --color-teal-300: #46ecd5;
    --color-teal-400: #00d3bd;
    --color-teal-500: #00baa7;
    --color-teal-600: #009588;
    --color-teal-700: #00776e;
    --color-rose-50: #fff1f2;
    --color-rose-100: #ffe4e6;
    --color-rose-200: #ffccd3;
    --color-rose-400: #ff667f;
    --color-rose-500: #ff2357;
    --color-rose-700: #c20039;
    --color-slate-300: #cad5e2;
    --color-slate-400: #90a1b9;
    --color-gray-50: #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5dc;
    --color-gray-400: #99a1af;
    --color-gray-500: #6a7282;
    --color-gray-600: #4a5565;
    --color-gray-700: #364153;
    --color-gray-800: #1e2939;
    --color-white: #fff;
    --spacing: .25rem;
    --text-xs: .75rem;
    --text-sm: .875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-xs: .125rem;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --shadow-xs: 0 1px 2px 0 #0000000d;
    --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
    --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
    --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-geist-sans);
    --default-mono-font-family: var(--font-geist-mono);
    --color-primary: var(--color-primary);
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --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-700: lab(47.2709% 42.9082 69.2966);
      --color-teal-50: lab(98.3189% -4.74921 -.111711);
      --color-teal-100: lab(95.1845% -17.4212 -.425422);
      --color-teal-200: lab(90.7612% -33.1343 -.542295);
      --color-teal-300: lab(84.8977% -48.1516 -1.3321);
      --color-teal-400: lab(76.0109% -53.3483 -2.27906);
      --color-teal-500: lab(67.3859% -49.0983 -2.63511);
      --color-teal-600: lab(55.0223% -41.0774 -3.90277);
      --color-teal-700: lab(44.4134% -33.1436 -4.22149);
      --color-rose-50: lab(96.2369% 4.94155 1.28011);
      --color-rose-100: lab(92.8221% 9.86832 2.60075);
      --color-rose-200: lab(86.806% 19.1909 4.07754);
      --color-rose-400: lab(64.4125% 63.0291 19.2068);
      --color-rose-500: lab(56.101% 79.4328 31.4532);
      --color-rose-700: lab(41.1651% 71.6251 30.3087);
      --color-slate-300: lab(84.7652% -1.94535 -7.93337);
      --color-slate-400: lab(65.5349% -2.25151 -14.5072);
      --color-gray-50: lab(98.2596% -.247031 -.706708);
      --color-gray-100: lab(96.1596% -.0823438 -1.13575);
      --color-gray-200: lab(91.6229% -.159115 -2.26791);
      --color-gray-300: lab(85.1236% -.612259 -3.7138);
      --color-gray-400: lab(65.9269% -.832707 -8.17473);
      --color-gray-500: lab(47.7841% -.393182 -10.0268);
      --color-gray-600: lab(35.6337% -1.58697 -10.8425);
      --color-gray-700: lab(27.1134% -.956401 -12.3224);
      --color-gray-800: lab(16.1051% -1.18239 -11.7533);
    }
  }
}

@layer base {
  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 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;
  }

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

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

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  *, :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 {
  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

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

  .block {
    display: block;
  }

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

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

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

  .resize {
    resize: both;
  }

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

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

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

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

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

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

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

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

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

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

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, 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));
  }

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

@media (prefers-color-scheme: dark) {
  :root {
    --color-dark: #f3f4f6;
    --color-text: #e5e7eb;
    --color-text-light: #9ca3af;
    --background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 100%);
    --foreground: #f3f4f6;
    --glass-bg: #1e1e32d9;
    --glass-border: #fff3;
  }
}

@keyframes breathing {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .95;
    transform: scale(1.02);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

:root {
  --color-primary-50: #f5f3ff;
  --color-primary-100: #ede9fe;
  --color-primary-200: #ddd6fe;
  --color-primary-300: #c4b5fd;
  --color-primary-400: #a78bfa;
  --color-primary-500: #8b5cf6;
  --color-primary-600: #7c3aed;
  --color-primary-700: #6d28d9;
  --color-primary-800: #5b21b6;
  --color-primary-900: #4c1d95;
  --color-rose-100: #ffe4e6;
  --color-rose-200: #fecdd3;
  --color-rose-300: #fda4af;
  --color-rose-400: #fb7185;
  --color-rose-500: #f43f5e;
  --color-rose-600: #e11d48;
  --color-rose-700: #be123c;
  --color-amber-100: #fef3c7;
  --color-amber-200: #fde68a;
  --color-amber-300: #fcd34d;
  --color-amber-400: #fbbf24;
  --color-amber-500: #f59e0b;
  --color-amber-600: #d97706;
  --color-teal-100: #d1fae5;
  --color-teal-200: #a7f3d0;
  --color-teal-300: #6ee7b7;
  --color-teal-400: #34d399;
  --color-teal-500: #10b981;
  --color-teal-600: #059669;
  --color-sky-100: #e0f2fe;
  --color-sky-300: #7dd3fc;
  --color-sky-500: #0ea5e9;
  --color-white: #fff;
  --color-gray-50: #fafafa;
  --color-gray-100: #f4f4f5;
  --color-gray-200: #e4e4e7;
  --color-gray-300: #d4d4d8;
  --color-gray-400: #a1a1aa;
  --color-gray-500: #71717a;
  --color-gray-600: #52525b;
  --color-gray-700: #3f3f46;
  --color-gray-800: #27272a;
  --color-gray-900: #18181b;
  --color-primary: var(--color-primary-600);
  --color-primary-light: var(--color-primary-400);
  --color-primary-dark: var(--color-primary-800);
  --color-accent: var(--color-rose-500);
  --color-accent-light: var(--color-rose-400);
  --color-accent-dark: var(--color-rose-700);
  --color-warm: var(--color-amber-500);
  --color-warm-light: var(--color-amber-300);
  --color-teal: var(--color-teal-500);
  --color-teal-light: var(--color-teal-300);
  --color-bg: #f7f5ff;
  --color-bg-alt: #f0edff;
  --color-bg-warm: #fff8f5;
  --color-surface: #ffffff9e;
  --color-surface-strong: #ffffffe0;
  --color-surface-subtle: #ffffff47;
  --color-surface-dark: #4c1d950f;
  --color-text: #1e1b4b;
  --color-text-sub: #4c4982;
  --color-text-inverse: #fff;
  --color-text-on-glass: #1e1b4bd9;
  --color-cream-bg: #fcfbf8;
  --color-cream-surface: #f5f3ec;
  --color-cream-border: #e8e5d9;
  --color-matcha-primary: #7fa181;
  --color-matcha-hover: #6b8e6d;
  --color-matcha-light: #ebf1ec;
  --color-matcha-focus-ring: #7fa18133;
  --color-text-main: #2c3531;
  --color-text-muted: #6a7670;
  --color-text-light: #9da8a3;
  --color-error-bg: #fef2f2;
  --color-error-border: #fecaca;
  --color-error-text: #ef4444;
  --color-border: #ffffff8c;
  --color-border-soft: #7c3aed1a;
  --color-border-medium: #7c3aed2e;
  --color-border-glass: #fff6;
  --gradient-primary: linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-rose-500) 100%);
  --gradient-primary-h: linear-gradient(90deg, var(--color-primary-500) 0%, var(--color-rose-500) 100%);
  --gradient-primary-v: linear-gradient(180deg, var(--color-primary-600) 0%, var(--color-rose-500) 100%);
  --gradient-warm: linear-gradient(135deg, var(--color-amber-400) 0%, var(--color-rose-400) 100%);
  --gradient-cool: linear-gradient(135deg, var(--color-teal-400) 0%, var(--color-primary-400) 100%);
  --gradient-soft: linear-gradient(135deg, var(--color-primary-200) 0%, var(--color-rose-200) 100%);
  --gradient-card: linear-gradient(145deg, #ffffffd9 0%, #ffffff73 100%);
  --gradient-card-hover: linear-gradient(145deg, #fffffff2 0%, #fff9 100%);
  --gradient-hero-bg: linear-gradient(155deg, #f5f3ff 0%, #fdf2f8 55%, #ecfdf5 100%);
  --gradient-section-alt: linear-gradient(160deg, var(--color-primary-50) 0%, var(--color-rose-100) 100%);
  --gradient-blob-violet: radial-gradient(ellipse, #8b5cf647 0%, transparent 68%);
  --gradient-blob-rose: radial-gradient(ellipse, #f43f5e33 0%, transparent 68%);
  --gradient-blob-amber: radial-gradient(ellipse, #fbbf242e 0%, transparent 68%);
  --gradient-blob-teal: radial-gradient(ellipse, #34d39929 0%, transparent 68%);
  --gradient-text-primary: linear-gradient(135deg, var(--color-primary-600), var(--color-rose-500));
  --glass-bg: #ffffff8c;
  --glass-bg-strong: #ffffffd1;
  --glass-bg-subtle: #ffffff47;
  --glass-bg-dark: #1e1b4b1f;
  --glass-blur: blur(22px);
  --glass-blur-sm: blur(10px);
  --glass-blur-lg: blur(44px);
  --glass-border: 1px solid #ffffff85;
  --glass-border-dark: 1px solid #7c3aed1f;
  --glass-shadow: 0 8px 36px #7c3aed1a, 0 2px 8px #0000000a;
  --glass-shadow-lg: 0 16px 56px #7c3aed26, 0 6px 18px #0000000f;
  --shadow-xs: 0 1px 4px #7c3aed0f;
  --shadow-sm: 0 1px 6px #7c3aed14, 0 1px 4px #0000000a;
  --shadow-md: 0 4px 24px #7c3aed1f, 0 2px 8px #0000000d;
  --shadow-lg: 0 10px 44px #7c3aed29, 0 4px 16px #00000012;
  --shadow-xl: 0 20px 64px #7c3aed33,  0 8px 28px #00000014;
  --shadow-primary: 0 6px 24px #7c3aed66;
  --shadow-accent: 0 6px 24px #f43f5e59;
  --shadow-warm: 0 6px 24px #f59e0b66;
  --shadow-teal: 0 6px 24px #10b98159;
  --shadow-glow-primary: 0 0 36px #8b5cf680;
  --shadow-glow-accent: 0 0 28px #f43f5e66;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-9: 36px;
  --space-10: 40px;
  --space-12: 48px;
  --space-14: 56px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-28: 112px;
  --space-32: 128px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --radius-2xl: 27px;
  --radius-3xl: 50px;
  --radius-full: 9999px;
  --font-sans: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "PingFang TC", "Heiti TC", sans-serif;
  --font-display: "DM Serif Display", "Noto Serif TC", "PingFang TC", serif;
  --text-xs: 11px;
  --text-sm: 13px;
  --text-base: 15px;
  --text-md: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --text-4xl: 40px;
  --text-5xl: 54px;
  --text-6xl: 72px;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-tight: 1.2;
  --leading-snug: 1.4;
  --leading-base: 1.65;
  --leading-relaxed: 1.85;
  --tracking-tight: -.02em;
  --tracking-base: 0em;
  --tracking-wide: .04em;
  --tracking-wider: .08em;
  --ease-out: cubic-bezier(0, 0, .2, 1);
  --ease-in: cubic-bezier(.4, 0, 1, 1);
  --ease-smooth: cubic-bezier(.4, 0, .2, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --ease-bounce: cubic-bezier(.68, -.55, .27, 1.55);
  --duration-fast: .12s;
  --duration-base: .24s;
  --duration-slow: .38s;
  --duration-slower: .6s;
  --transition-fast: var(--duration-fast)   var(--ease-out);
  --transition-base: var(--duration-base)   var(--ease-out);
  --transition-slow: var(--duration-slow)   var(--ease-out);
  --transition-spring: var(--duration-slow)   var(--ease-spring);
  --transition-smooth: var(--duration-base)   var(--ease-smooth);
  --z-base: 0;
  --z-raised: 10;
  --z-float: 50;
  --z-overlay: 100;
  --z-modal: 200;
  --z-nav: 500;
  --z-toast: 1000;
  --container-max: 1180px;
  --container-pad: 0 var(--space-6);
  --nav-height: 68px;
  --section-py: var(--space-16);
  --editor-selection-color: var(--color-primary-600);
  --editor-selection-width: 2px;
  --editor-selection-shadow: 0 0 0 3px var(--color-primary-100);
  --editor-handle-size: 8px;
  --editor-handle-color: var(--color-primary-600);
  --editor-handle-bg: var(--color-white);
  --editor-handle-border: 1px solid var(--color-primary-600);
  --editor-handle-shadow: 0 1px 3px #7c3aed33;
  --editor-resizing-opacity: .7;
  --editor-dragging-cursor: grabbing;
  --editor-hovered-opacity: .85;
}

button {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  background: none;
  border: none;
  outline: none;
}

img, svg {
  max-width: 100%;
  display: block;
}

ul, ol {
  list-style: none;
}

::selection {
  background: var(--color-primary-200);
  color: var(--color-primary-900);
}

:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
  border-radius: var(--radius-xs);
}

:root {
  --tarot-bg-page: #07051a;
  --tarot-bg-card-back: #0c0920;
  --tarot-bg-card-front: #0f0c23;
  --tarot-bg-card-inner: #14112e;
  --tarot-gold: #c9a84c;
  --tarot-gold-light: #f0d06e;
  --tarot-gold-pale: #e8c97a;
  --tarot-gold-dim: #c9a84c4d;
  --tarot-gold-glow: #c9a84c8c;
  --tarot-gold-glow-bright: #f0d06eb3;
  --tarot-silver: #b8c4d6;
  --tarot-silver-light: #dde4f0;
  --tarot-reversed-color: #f87171;
  --tarot-text-primary: #f0e8d0;
  --tarot-text-sub: #c8b896;
  --tarot-text-muted: #f0e8d06b;
  --tarot-border-gold: 1px solid #c9a84c6b;
  --tarot-border-gold-bright: 1px solid #f0d06ecc;
  --tarot-border-inner: 1px solid #c9a84c38;
  --tarot-card-radius: 12px;
  --tarot-perspective: 1200px;
  --tarot-card-w-sm: 90px;
  --tarot-card-h-sm: 156px;
  --tarot-card-w-md: 130px;
  --tarot-card-h-md: 225px;
  --tarot-card-w-lg: 170px;
  --tarot-card-h-lg: 295px;
  --tarot-card-w-xl: 210px;
  --tarot-card-h-xl: 364px;
  --tarot-face-padding: 10px 8px;
  --tarot-art-padding: 4px 2px;
  --tarot-art-size: 62%;
  --tarot-num-size: 10px;
  --tarot-name-size: 9px;
  --tarot-arcana-size: 7px;
  --tarot-art-glow-r: 5px;
  --tarot-art-glow-r-hover: 11px;
  --tarot-shadow-idle: 0 8px 32px #000000a6,
    0 2px 8px  #00000073;
  --tarot-shadow-hover: 0 20px 56px #6d28d961,
    0 8px  22px #0000008c;
  --tarot-shadow-selected: 0 0 0 2px var(--tarot-gold),
    0 0 28px #c9a84c8c,
    0 16px 48px #000000a6;
  --tarot-hover-lift: -7px;
  --tarot-flip-duration: .72s;
  --tarot-flip-ease: cubic-bezier(.42, 0, .18, 1.02);
  --tarot-hover-duration: .28s;
  --tarot-shimmer-duration: 5s;
  --tarot-glow-duration: 2.4s;
  --tarot-shimmer-bg: linear-gradient(105deg,
    transparent  0%,
    transparent 38%,
    #ffffff0f 48%,
    #ffffff1a 50%,
    #ffffff0f 52%,
    transparent 62%,
    transparent 100%);
}

@keyframes tarotShimmer {
  0% {
    opacity: 0;
    transform: translateX(-160%)skewX(-15deg);
  }

  8% {
    opacity: 1;
  }

  92% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(160%)skewX(-15deg);
  }
}

@keyframes tarotGlowPulse {
  0%, 100% {
    filter: drop-shadow(0 0  6px var(--tarot-gold-dim));
  }

  50% {
    filter: drop-shadow(0 0 20px var(--tarot-gold-glow));
  }
}

@keyframes tarotFloat {
  0%, 100% {
    transform: translateY(0px) rotate(var(--card-tilt, 0deg));
  }

  50% {
    transform: translateY(-14px) rotate(var(--card-tilt, 0deg));
  }
}

@keyframes tarotReveal {
  from {
    opacity: 0;
    transform: translateY(24px)scale(.95);
  }

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

:root {
  --tarot-bg: #07011a;
  --tarot-bg-mid: #0d0228;
  --tarot-surface: #120432a6;
  --tarot-surface-light: #230c5285;
  --tarot-surface-card: #16063ac7;
  --tarot-gold: #d4af37;
  --tarot-gold-80: #d4af37cc;
  --tarot-gold-55: #d4af378c;
  --tarot-gold-35: #d4af3759;
  --tarot-gold-18: #d4af372e;
  --tarot-gold-08: #d4af3714;
  --tarot-gold-gradient: linear-gradient(135deg, #8a6518 0%, #f0d060 50%, #8a6518 100%);
  --tarot-gold-gradient-h: linear-gradient(90deg, #9a7020 0%, #ead050 50%, #9a7020 100%);
  --tarot-violet: #8b5cf6e6;
  --tarot-violet-deep: #4c1d95f2;
  --tarot-rose-tarot: #f43f5ed9;
  --tarot-amber-tarot: #f59e0bd9;
  --tarot-teal-tarot: #0d9488d9;
  --tarot-indigo-tarot: #6366f1d9;
  --tarot-sky-tarot: #0ea5e9d9;
  --tarot-moonlight: #c3b6ff8c;
  --tarot-gradient-page: radial-gradient(ellipse 90% 65% at 18% 8%,  #7c3aed57 0%, transparent 60%),
    radial-gradient(ellipse 70% 55% at 82% 88%, #f43f5e2e  0%, transparent 58%),
    radial-gradient(ellipse 50% 45% at 55% 45%, #6366f11f 0%, transparent 55%),
    linear-gradient(168deg, #07011a 0%, #0d0228 55%, #07011a 100%);
  --tarot-gradient-hero: radial-gradient(ellipse 110% 80% at 50% 0%, #5b21b66b 0%, transparent 65%),
    radial-gradient(ellipse 60% 40% at 50% 0%, #d4af371a 0%, transparent 45%);
  --tarot-gradient-card: linear-gradient(148deg, #320e69b8 0%, #160537e0 100%);
  --tarot-gradient-card-hover: linear-gradient(148deg, #4e169ec7 0%, #260858e6 100%);
  --tarot-gradient-card-featured: linear-gradient(148deg, #411282d1 0%, #1e0646eb 100%);
  --tarot-gradient-cat-all: linear-gradient(135deg, #8b5cf6d1, #a78bfad1);
  --tarot-gradient-cat-love: linear-gradient(135deg, #f43f5ed1,  #fb7185d1);
  --tarot-gradient-cat-career: linear-gradient(135deg, #f59e0bd1, #fbbf24d1);
  --tarot-gradient-cat-spirit: linear-gradient(135deg, #0ea5e9d1,  #38bdf8d1);
  --tarot-gradient-cat-deep: linear-gradient(135deg, #6366f1d1,  #8b5cf6d1);
  --tarot-gradient-text: linear-gradient(135deg, #e8c840 0%, #f5e080 50%, #c8a030 100%);
  --tarot-glass: #12043494;
  --tarot-glass-strong: #1a0844d1;
  --tarot-glass-border: 1px solid #8b5cf647;
  --tarot-glass-border-gold: 1px solid #d4af376b;
  --tarot-glass-shadow: 0 8px 38px #4e12bc61, 0 2px 10px #00000073;
  --tarot-glass-shadow-lg: 0 18px 64px #4e12bc7a, 0 6px 22px #0000008c;
  --tarot-glow-violet: 0 0 32px #8b5cf694, 0 0 65px #8b5cf642;
  --tarot-glow-gold: 0 0 28px #d4af3785, 0 0 55px #d4af3738;
  --tarot-glow-rose: 0 0 28px #f43f5e85;
  --tarot-glow-card: 0 22px 65px #5f19d785, 0 0 42px #d4af3747;
  --tarot-card-face-bg: linear-gradient(158deg, #1e0a3c 0%, #0d0220 58%, #180535 100%);
  --tarot-card-border-color: #d4af37ad;
  --tarot-step-active: #8b5cf6f2;
  --tarot-step-done: #d4af37d1;
  --tarot-step-idle: #ffffff24;
  --tarot-step-line: #ffffff29;
  --tarot-step-label-active: #fffffff2;
  --tarot-step-label-idle: #ffffff61;
  --tarot-diff-active: #d4af37d9;
  --tarot-diff-idle: #ffffff2e;
  --tarot-feature-bg: #0c0323d1;
  --tarot-feature-border: #8b5cf633;
  --tarot-feature-icon: #d4af37bf;
  --tarot-stars-1: 50px 30px #ffffff61,   145px 75px #ffffff52,
    245px 20px #ffffff6b,  360px 95px #ffffff47,
    480px 40px #ffffff61,  610px 130px #ffffff52,
    720px 25px #fff6,  850px 85px #ffffff47,
    950px 142px #ffffff6b, 1082px 35px #ffffff52,
    1198px 108px #ffffff61,1322px 55px #ffffff47,
    1398px 92px #ffffff6b, 68px 182px #ffffff52,
    192px 165px #ffffff61, 318px 212px #ffffff47,
    448px 178px #ffffff6b, 578px 228px #ffffff52,
    712px 192px #ffffff61, 838px 218px #ffffff47,
    968px 188px #ffffff6b, 1102px 232px #ffffff52,
    1242px 202px #ffffff61,1358px 158px #ffffff47,
    28px 298px #ffffff61,  162px 322px #ffffff52,
    288px 278px #ffffff6b, 418px 348px #ffffff47,
    548px 308px #ffffff61, 678px 332px #ffffff52,
    808px 268px #ffffff6b, 938px 352px #ffffff47,
    1058px 298px #ffffff61,1208px 278px #ffffff52,
    1338px 318px #ffffff6b,1418px 252px #ffffff47,
    38px 418px #ffffff61,  168px 392px #ffffff52,
    292px 448px #ffffff6b, 422px 412px #ffffff47,
    552px 468px #ffffff61, 672px 385px #ffffff52,
    802px 442px #ffffff6b, 932px 392px #ffffff47,
    1062px 458px #ffffff61,1182px 418px #ffffff52,
    1322px 432px #ffffff6b,1412px 408px #ffffff47,
    62px 528px #ffffff61,  192px 508px #ffffff52,
    312px 558px #ffffff6b, 442px 512px #ffffff47,
    572px 538px #ffffff61, 702px 495px #ffffff52,
    832px 550px #ffffff6b, 952px 515px #ffffff47,
    1072px 532px #ffffff61,1202px 502px #ffffff52;
  --tarot-stars-2: 92px 52px #ffffff9e,   272px 142px #ffffff8f,
    468px 58px #ffffffa6,  648px 168px #ffffff8a,
    822px 48px #ffffff9e,  998px 158px #ffffff8c,
    1172px 74px #ffffffa3, 1352px 162px #ffffff8a,
    172px 268px #ffffff9e, 378px 295px #ffffff8c,
    595px 255px #ffffffa6, 818px 282px #ffffff8c,
    1038px 300px #ffffff9e,1255px 264px #ffffff8c,
    78px 460px #ffffff9e,  330px 475px #ffffff8c,
    625px 452px #ffffffa6, 898px 484px #ffffff8c,
    1145px 465px #ffffff9e,1378px 478px #ffffff8c;
  --tarot-stars-3: 206px 90px #ffffffe0,  656px 66px #ffffffd1,
    1115px 110px #ffffffe0,428px 388px #ffffffd1,
    958px 338px #ffffffe6, 1328px 268px #ffffffd1;
}

@keyframes tarotFloatSlow {
  0%, 100% {
    transform: translateY(0px) rotate(var(--card-tilt, 0deg));
  }

  50% {
    transform: translateY(-8px) rotate(var(--card-tilt, 0deg));
  }
}

@keyframes tarotTwinkle1 {
  0%, 100% {
    opacity: .32;
  }

  50% {
    opacity: .82;
  }
}

@keyframes tarotTwinkle2 {
  0%, 100% {
    opacity: .52;
  }

  60% {
    opacity: .88;
  }
}

@keyframes tarotTwinkle3 {
  0%, 100% {
    opacity: .78;
  }

  45% {
    opacity: 1;
  }
}

@keyframes tarotGoldShimmer {
  0% {
    background-position: -200%;
  }

  100% {
    background-position: 200%;
  }
}

@keyframes tarotHeroPulse {
  0%, 100% {
    opacity: .65;
    transform: scale(1);
  }

  50% {
    opacity: .88;
    transform: scale(1.04);
  }
}

@keyframes tarotStepPing {
  0% {
    box-shadow: 0 0 #8b5cf680;
  }

  70% {
    box-shadow: 0 0 0 12px #8b5cf600;
  }

  100% {
    box-shadow: 0 0 #8b5cf600;
  }
}

:root {
  --storage-sidebar-expanded: 260px;
  --storage-sidebar-collapsed: 68px;
  --storage-header-height: 56px;
  --storage-bg-main: #fff;
  --storage-bg-panel: #f9fafb;
  --storage-bg-hover: #f3f4f6;
  --storage-bg-active: #e5e7eb;
  --storage-text-primary: #111827;
  --storage-text-secondary: #4b5563;
  --storage-text-muted: #9ca3af;
  --storage-border: #e5e7eb;
  --storage-border-strong: #d1d5db;
  --storage-accent-main: #111827;
  --storage-accent-hover: #374151;
  --storage-accent-bg: #f3f4f6;
  --storage-accent-text: #fff;
  --storage-meter-track: #e5e7eb;
  --storage-meter-fill: #111827;
}

.dark, [data-theme="dark"] {
  --storage-bg-main: #0f172a;
  --storage-bg-panel: #1e293b;
  --storage-bg-hover: #334155;
  --storage-bg-active: #475569;
  --storage-text-primary: #f8fafc;
  --storage-text-secondary: #cbd5e1;
  --storage-text-muted: #64748b;
  --storage-border: #334155;
  --storage-border-strong: #475569;
  --storage-accent-main: #fff;
  --storage-accent-hover: #e2e8f0;
  --storage-accent-bg: #334155;
  --storage-accent-text: #0f172a;
  --storage-meter-track: #334155;
  --storage-meter-fill: #f8fafc;
}

:root {
  --color-primary: #6366f1;
  --color-primary-dark: #4f46e5;
  --color-primary-light: #e0e7ff;
  --color-dark: #1a1a2e;
  --color-text: #404040;
  --color-text-light: #767676;
  --color-border: #ffffff4d;
  --color-bg-light: #f5f5f7;
  --color-white: #fff;
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --glass-bg: #ffffffd9;
  --glass-border: #fff6;
  --glass-shadow: 0 8px 32px #00000014;
  --glass-backdrop: blur(10px);
  --background: linear-gradient(135deg, #f5f5f7 0%, #e8e8ed 100%);
  --foreground: #1a1a2e;
  --breathing-duration: 3s;
  --ai-editing-color: #a78bfa;
  --ai-editing-shadow: 0 0 20px #a78bfa99;
  --ai-locked-border: 2px dashed #a78bfacc;
  --ai-locked-bg: #a78bfa0d;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-dark: #f3f4f6;
    --color-text: #e5e7eb;
    --color-text-light: #9ca3af;
    --background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 100%);
    --foreground: #f3f4f6;
    --glass-bg: #1e1e32d9;
    --glass-border: #fff3;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  background: var(--background);
  color: var(--foreground);
  background-attachment: fixed;
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
  line-height: 1.6;
}

h1 {
  letter-spacing: -.02em;
  margin: 0;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
}

h2 {
  letter-spacing: -.01em;
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
}

h3 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
}

h4 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}

p {
  color: var(--color-text);
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
}

.glass-effect {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  -webkit-backdrop-filter: var(--glass-backdrop);
  backdrop-filter: var(--glass-backdrop);
  border-radius: 20px;
}

.glass-effect-sm {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  -webkit-backdrop-filter: var(--glass-backdrop);
  backdrop-filter: var(--glass-backdrop);
  border-radius: 12px;
}

.breathing {
  animation: breathing var(--breathing-duration) ease-in-out infinite;
}

.floating {
  animation: 3s ease-in-out infinite float;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

button {
  cursor: pointer;
  border: none;
  font-family: inherit;
}

input, select, textarea {
  font-family: inherit;
  font-size: inherit;
}

input:focus, select:focus, textarea:focus {
  outline: none;
}

:root {
  --color-primary-50: #f5f3ff;
  --color-primary-100: #ede9fe;
  --color-primary-200: #ddd6fe;
  --color-primary-300: #c4b5fd;
  --color-primary-400: #a78bfa;
  --color-primary-500: #8b5cf6;
  --color-primary-600: #7c3aed;
  --color-primary-700: #6d28d9;
  --color-primary-800: #5b21b6;
  --color-primary-900: #4c1d95;
  --color-rose-100: #ffe4e6;
  --color-rose-200: #fecdd3;
  --color-rose-300: #fda4af;
  --color-rose-400: #fb7185;
  --color-rose-500: #f43f5e;
  --color-rose-600: #e11d48;
  --color-rose-700: #be123c;
  --color-amber-100: #fef3c7;
  --color-amber-200: #fde68a;
  --color-amber-300: #fcd34d;
  --color-amber-400: #fbbf24;
  --color-amber-500: #f59e0b;
  --color-amber-600: #d97706;
  --color-teal-100: #d1fae5;
  --color-teal-200: #a7f3d0;
  --color-teal-300: #6ee7b7;
  --color-teal-400: #34d399;
  --color-teal-500: #10b981;
  --color-teal-600: #059669;
  --color-sky-100: #e0f2fe;
  --color-sky-300: #7dd3fc;
  --color-sky-500: #0ea5e9;
  --color-white: #fff;
  --color-gray-50: #fafafa;
  --color-gray-100: #f4f4f5;
  --color-gray-200: #e4e4e7;
  --color-gray-300: #d4d4d8;
  --color-gray-400: #a1a1aa;
  --color-gray-500: #71717a;
  --color-gray-600: #52525b;
  --color-gray-700: #3f3f46;
  --color-gray-800: #27272a;
  --color-gray-900: #18181b;
  --color-primary: var(--color-primary-600);
  --color-primary-light: var(--color-primary-400);
  --color-primary-dark: var(--color-primary-800);
  --color-accent: var(--color-rose-500);
  --color-accent-light: var(--color-rose-400);
  --color-accent-dark: var(--color-rose-700);
  --color-warm: var(--color-amber-500);
  --color-warm-light: var(--color-amber-300);
  --color-teal: var(--color-teal-500);
  --color-teal-light: var(--color-teal-300);
  --color-bg: #f7f5ff;
  --color-bg-alt: #f0edff;
  --color-bg-warm: #fff8f5;
  --color-surface: #ffffff9e;
  --color-surface-strong: #ffffffe0;
  --color-surface-subtle: #ffffff47;
  --color-surface-dark: #4c1d950f;
  --color-text: #1e1b4b;
  --color-text-sub: #4c4982;
  --color-text-muted: #8b89b0;
  --color-text-light: #b0aec8;
  --color-text-inverse: #fff;
  --color-text-on-glass: #1e1b4bd9;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-2xl: 40px;
  --radius-3xl: 60px;
  --radius-full: 9999px;
  --font-sans: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "PingFang TC", "Heiti TC", sans-serif;
  --text-base: 15px;
  --leading-base: 1.65;
}

*, :before, :after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  text-rendering: optimizelegibility;
  font-size: 16px;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  color: var(--color-text);
  background-color: var(--color-bg);
  line-height: var(--leading-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  overflow-x: hidden;
}

::-webkit-scrollbar {
  width: 5px;
}

::-webkit-scrollbar-track {
  background: var(--color-primary-50);
}

::-webkit-scrollbar-thumb {
  background: var(--color-primary-300);
  border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-primary-500);
}

:root {
  --tarot-bg-page: #07051a;
  --tarot-gold: #d4af37;
  --storage-sidebar-expanded: 260px;
  --storage-sidebar-collapsed: 68px;
  --storage-header-height: 56px;
  --dashboard-bg: #f8fafc;
  --dashboard-text-main: #1e293b;
  --dashboard-text-muted: #475569;
  --dashboard-text-light: #94a3b8;
  --dashboard-pastel-blue: #e5f2ff;
  --dashboard-pastel-yellow: #fff4e0;
  --dashboard-pastel-purple: #f3e8ff;
  --dashboard-pastel-green: #e8f5e9;
  --dashboard-solid-white: #fff;
  --dashboard-radius-xl: 24px;
  --dashboard-radius-lg: 16px;
  --dashboard-radius-md: 12px;
}

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

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

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

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

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

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

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

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* [project]/apps/website/src/components/ui/NotificationToast/NotificationToast.module.css [app-client] (css) */
.NotificationToast-module__gWXp8G__toastStack {
  z-index: 9999;
  pointer-events: none;
  flex-direction: column;
  gap: 12px;
  display: flex;
  position: fixed;
  top: 20px;
  right: 20px;
}

.NotificationToast-module__gWXp8G__toastContainer {
  pointer-events: all;
  background: #fff;
  border-left: 4px solid;
  border-radius: 8px;
  max-width: 360px;
  animation: .3s ease-out forwards NotificationToast-module__gWXp8G__slideInRight;
  overflow: hidden;
  box-shadow: 0 4px 12px #00000026;
}

.NotificationToast-module__gWXp8G__toastContainer.NotificationToast-module__gWXp8G__toastExit {
  animation: .3s ease-in forwards NotificationToast-module__gWXp8G__slideOutRight;
}

@keyframes NotificationToast-module__gWXp8G__slideInRight {
  from {
    opacity: 0;
    transform: translateX(400px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes NotificationToast-module__gWXp8G__slideOutRight {
  from {
    opacity: 1;
    transform: translateX(0);
  }

  to {
    opacity: 0;
    transform: translateX(400px);
  }
}

.NotificationToast-module__gWXp8G__toastContent {
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.NotificationToast-module__gWXp8G__toastIcon {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  margin-top: 2px;
  display: flex;
}

.NotificationToast-module__gWXp8G__toastText {
  flex: 1;
  min-width: 0;
}

.NotificationToast-module__gWXp8G__toastTitle {
  color: #1e293b;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.NotificationToast-module__gWXp8G__toastDescription {
  color: #64748b;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.NotificationToast-module__gWXp8G__toastClose {
  color: #94a3b8;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 4px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 4px;
  transition: all .2s;
  display: flex;
}

.NotificationToast-module__gWXp8G__toastClose:hover {
  color: #64748b;
  background-color: #f1f5f9;
}

@media (max-width: 640px) {
  .NotificationToast-module__gWXp8G__toastStack {
    top: 12px;
    left: 12px;
    right: 12px;
  }

  .NotificationToast-module__gWXp8G__toastContainer {
    max-width: none;
  }

  .NotificationToast-module__gWXp8G__toastContent {
    padding: 12px;
  }

  .NotificationToast-module__gWXp8G__toastTitle {
    font-size: 13px;
  }

  .NotificationToast-module__gWXp8G__toastDescription {
    font-size: 12px;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__05w8-o~._.css.map*/