/* Small layout helpers; namespaced to avoid collisions with legacy templates. */
.ui-container { width: min(100% - 2rem, var(--ui-content-width)); margin-inline: auto; }
.ui-stack { display: flex; flex-direction: column; gap: var(--ui-space-4); }
.ui-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-3); }
.ui-grid { display: grid; gap: var(--ui-space-4); }
.ui-grid--auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.ui-surface { background: var(--ui-color-surface); color: var(--ui-color-text); }
.ui-muted { color: var(--ui-color-text-muted); }
.ui-divider { border: 0; border-top: 1px solid var(--ui-color-border); }
.ui-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) {
  .ui-app *,
  .ui-app *::before,
  .ui-app *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
