:root {
  --ts-color-brand: #0277bd;
  --ts-color-brand-hover: #015e97;
  --ts-color-brand-soft: #e1f5fe;
  --ts-color-canvas: #f7f9fa;
  --ts-color-panel: #ffffff;
  --ts-color-subtle: #eceff1;
  --ts-color-text: #263238;
  --ts-color-text-secondary: #455a64;
  --ts-color-border: #b0bec5;
  --ts-color-border-strong: #78909c;
  --ts-color-success: #2e7d32;
  --ts-color-warning: #a15c00;
  --ts-color-danger: #c62828;
  --ts-color-unavailable: #546e7a;
  --ts-font-sans: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ts-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --ts-space-1: 0.25rem;
  --ts-space-2: 0.5rem;
  --ts-space-3: 0.75rem;
  --ts-space-4: 1rem;
  --ts-space-6: 1.5rem;
  --ts-space-8: 2rem;
  --ts-space-12: 3rem;
  --ts-radius-sm: 0.25rem;
  --ts-radius-md: 0.5rem;
  --ts-radius-lg: 0.75rem;
  --ts-shadow-sm: 0 1px 2px rgba(38, 50, 56, 0.12);
  --ts-shadow-md: 0 4px 12px rgba(38, 50, 56, 0.16);
  --ts-focus-ring: 0 0 0 3px rgba(2, 119, 189, 0.35);
  --ts-touch-target: 44px;
  --ts-content-max: 1440px;
}

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