@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700&display=swap');

@keyframes wi-spin { to { transform: rotate(360deg); } }
@keyframes wi-pulse { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.06); opacity: .92; } }
@keyframes wi-drift { 0% { transform: translateX(-3%); } 50% { transform: translateX(3%); } 100% { transform: translateX(-3%); } }
@keyframes wi-fall { 0% { transform: translateY(-8px); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateY(22px); opacity: 0; } }
@keyframes wi-snow-fall { 0% { transform: translateY(-6px) rotate(0deg); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateY(20px) rotate(180deg); opacity: 0; } }
@keyframes wi-flash { 0%, 90%, 100% { opacity: 1; } 92%, 96% { opacity: .3; } 94% { opacity: 1; } }
@keyframes wi-twinkle { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }

.wi-anim-spin { animation: wi-spin 18s linear infinite; transform-origin: center; }
.wi-anim-pulse { animation: wi-pulse 3.2s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
.wi-anim-drift { animation: wi-drift 7s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
.wi-anim-fall { animation: wi-fall 1.4s linear infinite; }
.wi-anim-snow { animation: wi-snow-fall 3s linear infinite; }
.wi-anim-flash { animation: wi-flash 4s ease-in-out infinite; }
.wi-anim-twinkle { animation: wi-twinkle 2.4s ease-in-out infinite; }

.ww-body {
    flex: 1;
    overflow: hidden;
    position: relative;
}

.ww-body > div {
    height: 100%;
}
