.landing-page ::selection{background:hsl(var(--zap));color:hsl(var(--ink))}.landing-page .cm-live-dot{animation:cm-live-pulse 2s ease infinite}@keyframes cm-live-pulse{0%,to{opacity:.55}50%{opacity:1}}.landing-page .cm-speaking-ring{opacity:0;animation:cm-speak-pulse 1.8s ease infinite}.landing-page .cm-speaking-ring-sm{opacity:0;animation:cm-speak-pulse 2s ease .3s infinite}@keyframes cm-speak-pulse{0%,to{opacity:0}30%{opacity:1}60%{opacity:0}}.landing-page .cm-cursor-blink{animation:cm-cursor-blink 1s step-end infinite}@keyframes cm-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.landing-page .cm-typing-dot{opacity:.3;animation:cm-typing-bounce 1.2s ease infinite}@keyframes cm-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.3}30%{transform:translateY(-3px);opacity:1}}.landing-page .cm-timer-bar{animation:cm-timer-shrink 8s linear infinite}@keyframes cm-timer-shrink{0%{width:70%}to{width:20%}}.landing-page .cm-poll-fill{transform-origin:left;animation:cm-poll-grow 1.5s ease .5s both}@keyframes cm-poll-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.landing-page .cm-dice{animation:cm-dice-shake 4s ease infinite}@keyframes cm-dice-shake{0%,90%,to{transform:rotate(0)}92%{transform:rotate(-4deg)}94%{transform:rotate(4deg)}96%{transform:rotate(-2deg)}98%{transform:rotate(2deg)}}.landing-page .cm-ai-pulse{animation:cm-live-pulse 1.4s ease infinite}.landing-page .cm-draw{stroke-dasharray:200;stroke-dashoffset:200;animation-name:cm-draw;animation-timing-function:ease;animation-fill-mode:both}@keyframes cm-draw{0%{stroke-dashoffset:200;opacity:0}10%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@media (prefers-reduced-motion:reduce){.landing-page *,.landing-page :after,.landing-page :before{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}