/* ==========================================================================
   KMeet — Bahasa gerak bersama. Brand-aware (glow ikut --k-glow/--k-accent),
   reduced-motion-safe. Hanya transform/opacity/shadow/glow.
   ========================================================================== */

@keyframes k-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-8px); }
}
@keyframes k-pulse-ring {
    0%   { box-shadow: 0 0 0 0 var(--k-glow); }
    70%  { box-shadow: 0 0 0 12px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}
@keyframes k-rise {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes k-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes k-glow-in {
    from { opacity: 0; box-shadow: 0 0 0 0 transparent; }
    to   { opacity: 1; box-shadow: 0 18px 50px -20px var(--k-glow); }
}
@keyframes k-shimmer {
    0%   { background-position: -150% 0; }
    100% { background-position: 250% 0; }
}

/* Ambient */
.k-float { animation: k-float 7s var(--k-ease) infinite; }
.k-pulse-ring { animation: k-pulse-ring 2.4s var(--k-ease) infinite; }

/* Entrance (sekali jalan) */
.k-rise { animation: k-rise 360ms var(--k-ease) both; }
.k-fade-in { animation: k-fade-in 320ms var(--k-ease) both; }
.k-glow-in { animation: k-glow-in 420ms var(--k-ease) both; }

/* Stagger delay untuk entrance berurutan */
.k-stagger-1 { animation-delay: 60ms; }
.k-stagger-2 { animation-delay: 120ms; }
.k-stagger-3 { animation-delay: 180ms; }
.k-stagger-4 { animation-delay: 240ms; }
.k-stagger-5 { animation-delay: 300ms; }
.k-stagger-6 { animation-delay: 360ms; }

/* Micro-interaction */
.k-hover-lift { transition: transform 160ms var(--k-ease), box-shadow 160ms var(--k-ease); }
.k-hover-lift:hover { transform: translateY(-2px); box-shadow: var(--k-shadow-md); }
.k-press { transition: transform 120ms var(--k-ease); }
.k-press:active { transform: scale(0.98); }
.k-focus-ring:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--k-glow); }

/* Shimmer helper (opsional untuk CTA/loading) */
.k-shimmer {
    background-image: linear-gradient(100deg, transparent 30%, var(--k-brand-glow) 50%, transparent 70%);
    background-size: 200% 100%;
    animation: k-shimmer 2.2s linear infinite;
}

/* ---- Off-switch global: hormati prefers-reduced-motion ---- */
@media (prefers-reduced-motion: reduce) {
    .k-float, .k-pulse-ring, .k-rise, .k-fade-in, .k-glow-in, .k-shimmer,
    .k-hover-lift, .k-press {
        animation: none !important;
        transition: none !important;
    }
    .k-rise, .k-fade-in, .k-glow-in { opacity: 1 !important; transform: none !important; }
}
