/* token5555 Commerce Control Fabric — shared visual foundation */
@font-face {
  font-family: "Geist Commerce";
  src: url("/fonts/Geist-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --ui-ink: #252a32;
  --ui-ink-2: #394150;
  --ui-forest: #246fe0;
  --ui-forest-2: #1f66cf;
  --ui-lime: #246fe0;
  --ui-lime-strong: #1f66cf;
  --ui-canvas: #f6f7f9;
  --ui-surface: #ffffff;
  --ui-surface-2: #f8f9fb;
  --ui-line: #e4e7eb;
  --ui-line-strong: #c9d0d9;
  --ui-muted: #667085;
  --ui-good: #18743d;
  --ui-good-soft: #e8f7ed;
  --ui-warn: #98620a;
  --ui-warn-soft: #fff2c9;
  --ui-danger: #a33d3d;
  --ui-danger-soft: #fbe9e7;
  --ui-info: #2563eb;
  --ui-info-soft: #f0f6ff;
  --ui-radius-card: 14px;
  --ui-radius-control: 10px;
  --ui-shadow-sm: 0 1px 2px rgba(22, 31, 45, .04), 0 8px 22px rgba(22, 31, 45, .04);
  --ui-shadow-md: 0 2px 4px rgba(22, 31, 45, .05), 0 18px 48px rgba(22, 31, 45, .08);
  --ui-shadow-dark: 0 24px 64px rgba(22, 31, 45, .16);
  --ui-ease: cubic-bezier(.22, 1, .36, 1);
  --ui-control: 44px;
  --ui-font: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
  --ui-display: "Geist Commerce", "PingFang SC", "Microsoft YaHei", sans-serif;
}

html { color-scheme: light; }
* { scrollbar-color: #c9d0d9 #f6f7f9; }
input, textarea { caret-color: var(--ui-info); }
input::placeholder, textarea::placeholder { color: var(--ui-muted); opacity: 1; }

body {
  font-family: var(--ui-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: #dceaff; color: var(--ui-ink); }

button,
input,
select,
textarea { font: inherit; }

button,
a,
input,
select,
textarea { -webkit-tap-highlight-color: transparent; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .42) !important;
  outline-offset: 3px;
}

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