.ts-scope,
.ts-component {
  color: var(--ts-color-text);
  font-family: var(--ts-font-ui);
  line-height: 1.5;
}

.ts-scope *,
.ts-scope *::before,
.ts-scope *::after,
.ts-component,
.ts-component::before,
.ts-component::after {
  box-sizing: border-box;
}

.ts-scope button,
.ts-scope input,
.ts-scope select,
.ts-scope textarea,
.ts-component:is(button, input, select, textarea) {
  font: inherit;
}

.ts-focusable:focus-visible,
.ts-scope :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: none;
  box-shadow: var(--ts-focus-ring);
}

.ts-icon {
  width: 1.25em;
  height: 1.25em;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ts-data {
  font-family: var(--ts-font-data);
  font-variant-numeric: tabular-nums;
}

.ts-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

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