@keyframes brandDraw{0%{stroke-dashoffset:77px}50%{stroke-dashoffset:0}to{stroke-dashoffset:-77px}}@keyframes brandNeonDraw{0%{stroke-dashoffset:77px}60%,to{stroke-dashoffset:0}}@keyframes neonGlow{0%,to{filter:drop-shadow(0 0 2px var(--spinner-color))}60%{filter:drop-shadow(0 0 6px var(--spinner-color)) drop-shadow(0 0 12px var(--spinner-color))}}@keyframes pulse{0%,to{opacity:.3;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@keyframes heartbeat{0%,20%,40%,to{opacity:.7;transform:scale(1)}10%{opacity:1;transform:scale(1.15)}30%{opacity:.9;transform:scale(1.08)}}.heartbeat-svg{animation:1.2s cubic-bezier(.215,.61,.355,1) infinite heartbeat}@keyframes brandStagger{0%{stroke-dashoffset:77px}40%,60%{stroke-dashoffset:0}to{stroke-dashoffset:-77px}}@keyframes echoBase{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.95)}}@keyframes echo1{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}@keyframes echo2{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@keyframes brandSnake{0%{stroke-dashoffset:0}to{stroke-dashoffset:-77px}}@keyframes breathe{0%,to{opacity:.2;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@keyframes brandScanline{0%{transform:translateY(-29px)}50%{transform:translateY(0)}to{transform:translateY(29px)}}
