/* Chistream unified UI polish — Tailwind remains the primary utility framework. */
:root {
  --cs-accent: #5b4dff;
  --cs-accent-hover: #493be8;
  --cs-focus: rgba(91, 77, 255, .45);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
button, a, summary { transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
:where(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--cs-focus);
  outline-offset: 3px;
}
button:not(:disabled):active { transform: scale(.985); }
a:active { opacity: .88; }
:where(.card, .media-card, .catalog-card, .content-card, article[data-card]) {
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
@media (hover: hover) and (pointer: fine) {
  :where(.card, .media-card, .catalog-card, .content-card, article[data-card]):hover {
    border-color: rgba(91, 77, 255, .28);
  }
}
::selection { background: rgba(91, 77, 255, .25); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
