.embers{
    position:fixed;
    inset:0;
    overflow:hidden;
    pointer-events:none;
    z-index:1;
}

.ember{
    position:absolute;
    bottom:-20px;
    border-radius:50%;
    background:radial-gradient(circle,var(--gold-bright),var(--fire));
    opacity:.45;
    animation:emberRise linear infinite;
    filter:blur(.2px);
}

@keyframes emberRise{
    0%{transform:translateY(0) translateX(0) scale(.6);opacity:0}
    15%{opacity:.65}
    100%{transform:translateY(-115vh) translateX(28px) scale(1.1);opacity:0}
}

@keyframes pulseGlow{
    0%{opacity:.45;transform:scale(.95)}
    50%{opacity:1;transform:scale(1.06)}
    100%{opacity:.45;transform:scale(.95)}
}

@keyframes fadeUp{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
}

@keyframes popIn{
    from{opacity:0;transform:scale(.94) translateY(10px)}
    to{opacity:1;transform:scale(1) translateY(0)}
}

@keyframes spin{
    to{transform:rotate(360deg)}
}

.status-warning{
    animation:warningPulse 2.2s infinite;
}

@keyframes warningPulse{
    0%,100%{box-shadow:0 0 0 rgba(255,122,24,0)}
    50%{box-shadow:0 0 18px rgba(255,122,24,.25)}
}

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