@keyframes prof-tie{0%,to{transform:rotate(-7deg)scale(1)}50%{transform:rotate(7deg)scale(1.08)}}.prof-tie{transform-box:fill-box;transform-origin:50%;animation:.45s ease-in-out infinite prof-tie}@keyframes prof-rest{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.prof-rest{transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite prof-rest}@keyframes prof-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(-1.5deg)}}.prof-bob{animation:.9s ease-in-out infinite prof-bob}@keyframes prof-pickup{0%{opacity:0;transform:translateY(24px)rotate(-4deg)scale(.94)}60%{opacity:1;transform:translateY(-4px)rotate(1deg)scale(1.01)}to{opacity:1;transform:none}}.prof-pickup{animation:.55s cubic-bezier(.2,.9,.3,1.2) both prof-pickup}@keyframes prof-drop{0%{transform:translate(-50%,-120%)scale(1.3)}to{transform:translate(-50%,-50%)scale(1)}}.prof-drop{animation:.22s ease-out both prof-drop}@keyframes prof-eyepiece{0%{opacity:0;filter:brightness(0);transform:scale(.3)}55%{opacity:1;filter:brightness(.4)}to{opacity:1;filter:none;transform:none}}.prof-eyepiece{animation:.9s cubic-bezier(.2,.8,.2,1) both prof-eyepiece}@keyframes prof-glow{0%,to{box-shadow:0 0 #a855f700}50%{box-shadow:0 0 0 10px #a855f759}}.prof-glow{animation:1.6s ease-in-out infinite prof-glow}.prof-scope{transition:transform .25s}button:hover .prof-scope{transform:translateY(-3px)rotate(-1deg)}.prof-ticket{perspective:800px}.prof-ticket-inner{transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,1.3,.5,1);position:relative}.prof-ticket[data-flipped=true] .prof-ticket-inner{transform:rotateY(180deg)}.prof-ticket-face{backface-visibility:hidden}.prof-ticket-back{transform:rotateY(180deg)}.prof-knob{accent-color:var(--color-grape-500);height:1.6rem}@media (prefers-reduced-motion:reduce){.prof-tie,.prof-rest,.prof-bob,.prof-pickup,.prof-drop,.prof-eyepiece,.prof-glow{animation:none}.prof-ticket-inner{transition:none}}@keyframes prof-line{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.prof-line{animation:.35s ease-out both prof-line}.prof-bubble{transition:box-shadow .3s}@keyframes prof-msg-left{0%{opacity:0;transform:translate(-14px)scale(.96)}to{opacity:1;transform:none}}@keyframes prof-msg-right{0%{opacity:0;transform:translate(14px)scale(.96)}to{opacity:1;transform:none}}.prof-msg[data-from=professor]>div{transform-origin:0 100%;animation:.4s cubic-bezier(.2,.9,.3,1.2) both prof-msg-left}.prof-msg[data-from=student]>div{transform-origin:100% 100%;animation:.4s cubic-bezier(.2,.9,.3,1.2) both prof-msg-right}@keyframes prof-right{0%{box-shadow:0 0 #81d584b3}to{box-shadow:0 0 0 14px #81d58400}}@keyframes prof-wrong{0%,to{transform:none}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.prof-right.prof-right{animation:.7s ease-out prof-right}.prof-wrong.prof-wrong{animation:.45s ease-in-out prof-wrong}@media (prefers-reduced-motion:reduce){.prof-line,.prof-msg>div,.prof-right,.prof-wrong{animation:none!important}}@keyframes prof-grow{0%{transform:scaleX(0)}}.prof-grow{transform-origin:0;animation:.9s cubic-bezier(.2,.8,.2,1) .2s both prof-grow}@keyframes prof-ring{0%{stroke-dasharray:0 100}}.prof-ring{animation:.8s cubic-bezier(.2,.8,.2,1) .1s both prof-ring}@media (prefers-reduced-motion:reduce){.prof-grow,.prof-ring{animation:none}}@keyframes prof-cta{0%,to{box-shadow:0 0 #a855f773}50%{box-shadow:0 0 0 9px #a855f700}}.prof-cta{animation:1.8s ease-in-out infinite prof-cta}@keyframes prof-point{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.prof-point{animation:1.2s ease-in-out infinite prof-point}@media (prefers-reduced-motion:reduce){.prof-cta,.prof-point{animation:none}}@keyframes prof-wave{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1.15)}}.prof-wave{transform-origin:50%;animation:.7s ease-in-out infinite prof-wave}@media (prefers-reduced-motion:reduce){.prof-wave{animation:none}}.mic-rim{stroke:#1f2937;transition:stroke .15s}.mic-field:focus-visible .mic-rim{stroke:var(--color-grape-400)}
