/* GB.ABH Circadian Mode — transition layer.
   Loaded on every base layout (after tokens.css). The palette itself is set by
   static/js/circadian.js as inline custom properties on <html> when the
   `circadian` class is present; this file only makes the ~30-minute value
   changes SLIDE gently instead of snapping, and keeps the motion opt-out honest.

   No hardcoded colors here — the token system + the JS engine own the palette. */

/* Gentle cross-fade as the solar tint updates. Scoped to the surfaces that read
   the tinted tokens, and to `html.circadian` so plain light/dark are untouched.
   Only enabled when the user has not asked for reduced motion. */
@media (prefers-reduced-motion: no-preference) {
    html.circadian body,
    html.circadian .gb-app,
    html.circadian .gb-header,
    html.circadian .gb-nav,
    html.circadian .gb-section-card,
    html.circadian .ui-card,
    html.circadian .admin-main,
    html.circadian .u-sidebar,
    html.circadian aside {
        transition:
            background-color 1500ms ease,
            border-color 1500ms ease,
            color 1500ms ease;
    }
}

/* Reduced-motion users still get the full circadian palette — it just applies
   instantly, with no animated slide. (No rule needed; the transition above is
   simply never declared for them.) */
