@font-face {
  font-family: "Inter";
  src: url("../vendor/inter/InterVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: light;
  --color-primary: #533afd;
  --color-primary-hover: #4032c8;
  --color-bg: #f8fafd;
  --color-surface: #ffffff;
  --color-accent-bg: #f5f5ff;
  --color-text: #061b31;
  --color-muted: #50617a;
  --color-placeholder: #7d8ba4;
  --color-error: #d8351e;
  --color-error-bg: #fff2ef;
  --color-success: #006f3a;
  --color-success-bg: #eefaf4;
  --color-border: #d4dee9;
  --color-input-border: #bac8da;
  --color-focus-ring: rgba(83, 58, 253, 0.16);
  --color-danger-surface: #fff2ef;
  --gradient-decorative: linear-gradient(90deg, #bdb4ff, #f96bee, #fe8c2d, #ffd552);
  --shadow-card: 0 2px 8px rgba(6, 27, 49, 0.06);
  --shadow-card-hover: 0 12px 28px rgba(6, 27, 49, 0.10);
  --shadow-button: 0 1px 2px rgba(6, 27, 49, 0.14);
  --radius-control: 10px;
  --radius-card: 16px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --motion-fast: 160ms cubic-bezier(.2, .8, .2, 1);
  --motion-notice: 180ms cubic-bezier(.2, .8, .2, 1);
  --motion-panel: 220ms cubic-bezier(.2, .8, .2, 1);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --color-primary: #8b7cff;
  --color-primary-hover: #a69bff;
  --color-bg: #0b1220;
  --color-surface: #111c2e;
  --color-accent-bg: #1a1740;
  --color-text: #f4f7fb;
  --color-muted: #aab7c8;
  --color-placeholder: #7d8ba4;
  --color-error: #ff8070;
  --color-error-bg: #341b21;
  --color-success: #4dd49a;
  --color-success-bg: #103126;
  --color-border: #2d3d54;
  --color-input-border: #405169;
  --color-focus-ring: rgba(139, 124, 255, 0.24);
  --color-danger-surface: #341b21;
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.22);
  --shadow-card-hover: 0 12px 28px rgba(0, 0, 0, 0.34);
  --shadow-button: 0 1px 2px rgba(0, 0, 0, 0.28);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --color-primary: #8b7cff;
    --color-primary-hover: #a69bff;
    --color-bg: #0b1220;
    --color-surface: #111c2e;
    --color-accent-bg: #1a1740;
    --color-text: #f4f7fb;
    --color-muted: #aab7c8;
    --color-placeholder: #7d8ba4;
    --color-error: #ff8070;
    --color-error-bg: #341b21;
    --color-success: #4dd49a;
    --color-success-bg: #103126;
    --color-border: #2d3d54;
    --color-input-border: #405169;
    --color-focus-ring: rgba(139, 124, 255, 0.24);
    --color-danger-surface: #341b21;
    --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.22);
    --shadow-card-hover: 0 12px 28px rgba(0, 0, 0, 0.34);
    --shadow-button: 0 1px 2px rgba(0, 0, 0, 0.28);
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
