/* Shared visual language for the site, console, and authentication screens. */
:root {
  color-scheme: dark;
  --site-bg: #0b0f17;
  --site-surface: #131a26;
  --site-surface-raised: #192233;
  --site-control: #0f1520;
  --site-border: #293448;
  --site-border-hover: #425571;
  --site-text: #e8edf5;
  --site-muted: #a0aec0;
  --site-primary: #2563eb;
  --site-primary-hover: #1d4ed8;
  --site-primary-soft: #182c50;
  --site-link: #60a5fa;
  --site-success: #34d399;
  --site-success-soft: #12372c;
  --site-warning: #fbbf24;
  --site-warning-soft: #3b3017;
  --site-danger: #fb7185;
  --site-danger-soft: #3e202a;
  --site-font: "Segoe UI", "Microsoft YaHei", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --site-radius: 10px;
  --site-card-radius: 12px;
  --site-shadow: 0 8px 24px rgb(0 0 0 / 16%);
  --site-focus: 0 0 0 3px rgb(96 165 250 / 22%);
}

body:is(.ka-dashboard-ui, .ka-public-ui, .ka-auth-ui, .ka-customer-ui) {
  margin: 0;
  background: var(--site-bg);
  color: var(--site-text);
  font-family: var(--site-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body:is(.ka-dashboard-ui, .ka-public-ui, .ka-auth-ui, .ka-customer-ui) :is(button, input, select, textarea) {
  font-family: inherit;
}

body:is(.ka-dashboard-ui, .ka-public-ui, .ka-auth-ui, .ka-customer-ui) :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--site-link);
  outline-offset: 3px;
}

body:is(.ka-dashboard-ui, .ka-public-ui, .ka-auth-ui, .ka-customer-ui) ::selection {
  background: var(--site-primary-soft);
  color: var(--site-text);
}

@media (prefers-reduced-motion: reduce) {
  body:is(.ka-dashboard-ui, .ka-public-ui, .ka-auth-ui, .ka-customer-ui) *,
  body:is(.ka-dashboard-ui, .ka-public-ui, .ka-auth-ui, .ka-customer-ui) *::before,
  body:is(.ka-dashboard-ui, .ka-public-ui, .ka-auth-ui, .ka-customer-ui) *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
