/* Zawaya room motion contract. Tokens only; rs-language.css owns the shapes.
   Frame budget at 60 Hz: 16.7 ms total, with at most 2 ms main-thread
   scripting and 3 ms compositor work for a focus move. No more than three
   layers move at once (rs-motion.js books every arrival into one of three
   lanes); the streak gets one layer for under 200 ms. Animate transform and
   opacity ONLY.
   No layout or paint property may change mid-transition. Never animate blur:
   any softness must be rasterized once at rest, then moved as a cached layer.
   These are budgets to measure on target hardware, not measured timings. */
.rs {
    --rm-focus-move: 220ms; /* a focus move: the bar draws past full length and settles, a frame lands */
    --rm-arrive: 220ms;     /* an arrival: 20u of travel, 6% past rest, settled (rs-motion.js landing) */
    --rm-light: 240ms;      /* home's light travelling to the focus, with the same overshoot */
    --rm-breath: 7000ms;    /* the light breathing while nothing is pressed */
    --rm-drift: 11000ms;    /* the light drifting 1u while nothing is pressed */
    --rm-still: 2500ms;     /* nothing pressed this long: the stillness begins */
    --rm-confirm: 180ms;    /* confirmation response */
    --rm-screen-enter: 280ms; /* surface and detail enter */
    --rm-screen-exit: 240ms;  /* outgoing surface and detail */
    --rm-dock: 260ms;       /* voice docking */
    --rm-undock: 260ms;     /* voice undocking */
    --rm-streak: 160ms;     /* one low-opacity transform-scaled outgoing copy */
    --rm-move-ease: cubic-bezier(.18, 1.12, .32, 1); /* spring-like settle */
    --rm-fade-ease: cubic-bezier(.22, .7, .25, 1);  /* soft opacity fade */
    --rm-focus-scale: 1.04; /* ring or bar remains the language's existing shape */
}
@media (prefers-reduced-motion: reduce) {
    .rs {
        --rm-focus-move: 0ms; --rm-confirm: 0ms; --rm-arrive: 0ms; --rm-light: 0ms;
        --rm-breath: 0ms; --rm-drift: 0ms; --rm-still: 0ms;
        --rm-screen-enter: 0ms; --rm-screen-exit: 0ms;
        --rm-dock: 0ms; --rm-undock: 0ms; --rm-streak: 0ms;
        --rm-focus-scale: 1;
    }
}
