/* Ticker — kabdalis2 design system. Infinitely looping marquee band. */
.b-ticker{
    overflow:hidden;
    padding-block:.55em;
    font-family:var(--font-mono, ui-monospace, monospace);
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

/* Tones */
.b-ticker--pine{ background:var(--pine, #2e5d49); color:var(--surface2, #f5f1ea); }
.b-ticker--accent{ background:var(--accent, #9c3a52); color:#fff; }
.b-ticker--surface{ background:var(--surface2, #f5f1ea); color:var(--ink, #25211b); }

.b-ticker__track{
    display:inline-flex;
    width:max-content;
    animation:kab-ticker var(--ticker-dur, 30s) linear infinite;
}
.b-ticker:hover .b-ticker__track,
.b-ticker:focus-within .b-ticker__track{ animation-play-state:paused; }

.b-ticker__group{ display:inline-flex; align-items:center; }
.b-ticker__item{ white-space:nowrap; }
.b-ticker__sep{ margin-inline:1.1em; opacity:.55; }

@keyframes kab-ticker{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
}

/* Editor preview renders one static group. */
.b-ticker.is-static .b-ticker__track{ animation:none; }

/* Reduced motion: no marquee — the first group wraps as a plain list and the
   duplicate group is hidden. */
@media (prefers-reduced-motion: reduce){
    .b-ticker{
        -webkit-mask-image:none;
        mask-image:none;
    }
    .b-ticker__track{
        animation:none;
        display:block;
        width:auto;
    }
    .b-ticker__group{ display:inline; }
    .b-ticker__group[aria-hidden="true"]{ display:none; }
    .b-ticker__item{ white-space:normal; }
}
