/* V242 — semantic design tokens and shared interaction primitives */
:root{
  --ds-color-brand:var(--primary,#2563eb);
  --ds-color-ink:#17324d;
  --ds-color-text:#334c64;
  --ds-color-muted:#6b7f94;
  --ds-color-line:#d8e3ef;
  --ds-color-line-strong:#c5d3e2;
  --ds-color-surface:#fff;
  --ds-color-surface-soft:#f6f9fd;
  --ds-color-info:#1769aa;
  --ds-color-success:#17643a;
  --ds-color-warning:#845800;
  --ds-color-danger:#a1261d;
  --ds-focus:#0b6fcb;
  --ds-radius-sm:8px;
  --ds-radius-md:12px;
  --ds-radius-lg:16px;
  --ds-shadow-popover:0 16px 38px rgba(20,50,80,.18);
  --ds-control-height:42px;
  --ds-space-1:4px;
  --ds-space-2:8px;
  --ds-space-3:12px;
  --ds-space-4:16px;
  --ds-space-5:24px;
}

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

:where(button,input,select,textarea){font:inherit}
:where(button,[role="button"],summary){touch-action:manipulation}
:where([hidden]){display:none}

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

@media(forced-colors:active){
  :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight}
  :where(button,[role="button"],summary){border:1px solid ButtonText}
}
