/* ============================================================
   News UI System — main stylesheet aggregator
   Import order matters: tokens → reset → typography → utilities
                         → layout → components → rtl
   ============================================================ */

@import url("./core/_tokens.css");
@import url("./core/_reset.css");
@import url("./core/_typography.css");
@import url("./core/_utilities.css");

@import url("./layout/header-footer.css");

@import url("./components/badges.css");
@import url("./components/cards.css");
@import url("./components/grid.css");
@import url("./components/lists.css");
@import url("./components/carousel.css");
@import url("./components/ticker.css");
@import url("./components/media.css");
@import url("./components/skeleton.css");

@import url("./core/_rtl.css");

/* Scroll-trigger animation primitives */
.nui-anim-up      { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--nui-ease-standard), transform .7s var(--nui-ease-standard); }
.nui-anim-up.is-in{ opacity: 1; transform: translateY(0); }
.nui-anim-fade    { opacity: 0; transition: opacity .7s var(--nui-ease-standard); }
.nui-anim-fade.is-in { opacity: 1; }
.nui-anim-zoom    { opacity: 0; transform: scale(.96); transition: opacity .7s var(--nui-ease-standard), transform .7s var(--nui-ease-emphatic); }
.nui-anim-zoom.is-in { opacity: 1; transform: scale(1); }

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