:root {
  --brand-navy: #123B6D;
  --brand-teal: #00A88F;
  --brand-yellow: #F5B91B;
  --u2-bg: oklch(97.2% 0.006 285);
  --u2-surface: oklch(100% 0 0);
  --u2-fg: oklch(22% 0.025 285);
  --u2-muted: oklch(46% 0.025 285);
  --u2-border: oklch(87% 0.012 285);
  --u2-accent: var(--brand-navy);
  --u2-accent-hover: #0B2D55;
  --u2-focus: #54C7B6;
  --u2-success: oklch(38% 0.11 155);
  --u2-warning: oklch(48% 0.12 72);
  --u2-danger: oklch(46% 0.17 25);
  --u2-sans: "Noto Sans SC", "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --u2-serif: "Songti SC", "STSong", Georgia, serif;
  --u2-radius-control: 9px;
  --u2-radius-panel: 14px;
  --u2-shadow-dialog: 0 18px 50px oklch(22% 0.025 285 / 0.16);
  --u2-transition: 180ms cubic-bezier(0.22, 1, 0.36, 1);
  --u2-z-sticky: 20;
  --u2-z-backdrop: 40;
  --u2-z-dialog: 50;
  --u2-z-toast: 60;
}

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid var(--u2-focus) !important;
  outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
