/* Phase 112 - low-risk beta hardening polish */

:root {
  --cbs-focus-ring: rgba(37, 99, 235, .28);
  --cbs-focus-border: #2563eb;
  --cbs-invalid-ring: rgba(220, 38, 38, .16);
  --cbs-invalid-border: #dc2626;
}

body :where(button, [role="button"], a[href], input, select, textarea):focus-visible {
  outline: 3px solid var(--cbs-focus-ring);
  outline-offset: 2px;
  border-color: var(--cbs-focus-border);
}

body :where(input[type="number"], input[inputmode="decimal"]):invalid {
  border-color: var(--cbs-invalid-border) !important;
  box-shadow: 0 0 0 3px var(--cbs-invalid-ring) !important;
}

body :where(.ff111-card, .pod110-panel, .sr55-card, .p100-card, .v12-card, .fm108-card) {
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

body :where(.ff111-card, .pod110-panel, .sr55-card, .p100-card, .v12-card, .fm108-card):focus-within {
  border-color: rgba(37, 99, 235, .32);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .14);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  body *,
  body *::before,
  body *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
