/* Shared Bootstrap bridge. Vendor -> tokens -> base -> components -> surface. */
:root, :host {
  --bs-primary: var(--ui-color-primary);
  --bs-primary-rgb: var(--ui-color-primary-rgb);
  --bs-secondary: var(--ui-color-secondary);
  --bs-secondary-rgb: var(--ui-color-secondary-rgb);
  --bs-success: var(--ui-color-success);
  --bs-success-rgb: var(--ui-color-success-rgb);
  --bs-danger: var(--ui-color-danger);
  --bs-danger-rgb: var(--ui-color-danger-rgb);
  --bs-warning: var(--ui-color-warning);
  --bs-warning-rgb: var(--ui-color-warning-rgb);
  --bs-info: var(--ui-color-info);
  --bs-info-rgb: var(--ui-color-info-rgb);
  --bs-light: var(--ui-color-light);
  --bs-light-rgb: var(--ui-color-light-rgb);
  --bs-dark: var(--ui-color-dark);
  --bs-dark-rgb: var(--ui-color-dark-rgb);
  --bs-primary-text-emphasis: var(--ui-color-primary-emphasis);
  --bs-primary-bg-subtle: var(--ui-color-primary-soft);
  --bs-primary-border-subtle: var(--ui-color-primary-border);
  --bs-secondary-text-emphasis: var(--ui-color-secondary-emphasis);
  --bs-secondary-bg-subtle: var(--ui-color-secondary-soft);
  --bs-secondary-border-subtle: var(--ui-color-secondary-border);
  --bs-success-text-emphasis: var(--ui-color-success-emphasis);
  --bs-success-bg-subtle: var(--ui-color-success-soft);
  --bs-success-border-subtle: var(--ui-color-success-border);
  --bs-danger-text-emphasis: var(--ui-color-danger-emphasis);
  --bs-danger-bg-subtle: var(--ui-color-danger-soft);
  --bs-danger-border-subtle: var(--ui-color-danger-border);
  --bs-warning-text-emphasis: var(--ui-color-warning-emphasis);
  --bs-warning-bg-subtle: var(--ui-color-warning-soft);
  --bs-warning-border-subtle: var(--ui-color-warning-border);
  --bs-info-text-emphasis: var(--ui-color-info-emphasis);
  --bs-info-bg-subtle: var(--ui-color-info-soft);
  --bs-info-border-subtle: var(--ui-color-info-border);
  --bs-light-text-emphasis: var(--ui-color-light-emphasis);
  --bs-light-bg-subtle: var(--ui-color-light-soft);
  --bs-light-border-subtle: var(--ui-color-light-border);
  --bs-dark-text-emphasis: var(--ui-color-dark-emphasis);
  --bs-dark-bg-subtle: var(--ui-color-dark-soft);
  --bs-dark-border-subtle: var(--ui-color-dark-border);
  --bs-body-bg: var(--ui-color-bg);
  --bs-body-bg-rgb: var(--ui-color-bg-rgb);
  --bs-body-color: var(--ui-color-text);
  --bs-body-color-rgb: var(--ui-color-dark-rgb);
  --bs-emphasis-color: var(--ui-color-text);
  --bs-emphasis-color-rgb: var(--ui-color-dark-rgb);
  --bs-body-font-family: var(--ui-font-sans);
  --bs-body-font-size: var(--ui-font-size-base);
  --bs-body-line-height: var(--ui-line-height);
  --bs-secondary-color: var(--ui-color-text-muted);
  --bs-secondary-color-rgb: var(--ui-color-text-muted-rgb);
  --bs-tertiary-color: var(--ui-color-text-subtle);
  --bs-secondary-bg: var(--ui-color-surface-muted);
  --bs-tertiary-bg: var(--ui-color-bg);
  --bs-tertiary-bg-rgb: var(--ui-color-bg-rgb);
  --bs-border-color: var(--ui-color-border);
  --bs-border-radius: var(--ui-radius-md);
  --bs-border-radius-sm: var(--ui-radius-sm);
  --bs-border-radius-lg: var(--ui-radius-lg);
  --bs-link-color: var(--ui-color-primary);
  --bs-link-color-rgb: var(--ui-color-primary-rgb);
  --bs-link-hover-color: var(--ui-color-primary-hover);
  --bs-link-hover-color-rgb: var(--ui-color-primary-hover-rgb);
  --bs-font-monospace: var(--ui-font-mono);
  --bs-focus-ring-color: var(--ui-color-focus-ring);
  --bs-form-valid-color: var(--ui-color-success);
  --bs-form-valid-border-color: var(--ui-color-success);
  --bs-form-invalid-color: var(--ui-color-danger);
  --bs-form-invalid-border-color: var(--ui-color-danger);
}
.proxy-ui { margin: 0; color: var(--ui-color-text); background: var(--ui-color-bg); font-family: var(--ui-font-sans); font-size: var(--ui-font-size-base); line-height: var(--ui-line-height); -webkit-font-smoothing: antialiased; }
.proxy-ui [hidden] { display: none !important; }
.proxy-ui :focus-visible { outline: 2px solid var(--ui-color-primary); outline-offset: 2px; }
.proxy-ui .text-secondary { color: var(--ui-color-text-muted) !important; }
.proxy-ui .bg-white { background-color: var(--ui-color-surface) !important; }
.proxy-ui .shadow-sm { box-shadow: var(--ui-shadow-sm) !important; }
@media (prefers-reduced-motion: reduce) {
  .proxy-ui *, .proxy-ui *::before, .proxy-ui *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
