.typing-container{position:relative;overflow:hidden;white-space:nowrap;display:inline-block}.typing-text{display:inline-block;opacity:1;animation:fade-in .5s ease-out}.running-character{position:absolute;right:-3px;top:0;color:rgba(255,255,255,.9);font-weight:300;opacity:1;animation:cursor-blink 1s ease-in-out infinite alternate}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:.3}}@media (max-width:640px){.typing-text{font-size:.9em}.running-character{animation-duration:2.2s,1.2s}}@media (max-width:480px){.typing-text{font-size:.85em}.running-character{animation-duration:2.5s,1.4s}}@media (min-width:641px) and (max-width:768px){.running-character{animation-duration:2s,1s}}@media (prefers-reduced-motion:reduce){.typing-text{transform:translateY(0)}.running-character,.typing-text{animation:none;opacity:1}}@media (max-width:768px){.typing-container{backface-visibility:hidden;perspective:1000px}}@media (max-width:375px){.typing-text{font-size:1em}.running-character{animation-duration:2.8s,1.5s}}@media (max-width:896px) and (orientation:landscape){.running-character{animation-duration:1.8s,.9s}}@media (hover:none) and (pointer:coarse){.typing-container{cursor:default}}.spinner-container{width:80px;height:80px;position:relative;display:flex;align-items:center;justify-content:center}.spinner-ring{border-radius:50%;position:absolute;border-style:solid}.outer-ring{width:80px;height:80px;border-width:3px;border-color:rgba(255,255,255,.6) rgba(255,255,255,.3) rgba(255,255,255,.3);animation:spin-outer 2s linear infinite}.spinning-ring{width:64px;height:64px;border-width:2px;border-color:#ffffff #ffffff transparent transparent;animation:spin-inner 1.5s linear infinite reverse;top:8px;left:8px}.inner-ring{width:48px;height:48px;border-width:2px;border-color:rgba(255,255,255,.8) rgba(255,255,255,.2) rgba(255,255,255,.2);animation:spin-pulse 1.8s ease-in-out infinite;top:16px;left:16px}.spinner-center-dot{width:8px;height:8px;background:#ffffff;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite;box-shadow:0 0 10px rgba(255,255,255,.5)}@keyframes spin-outer{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-inner{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}@keyframes spin-pulse{0%,to{transform:rotate(0deg) scale(1);opacity:.6}50%{transform:rotate(180deg) scale(1.1);opacity:1}}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}}@media (max-width:640px){.outer-ring,.spinner-container{width:64px;height:64px}.spinning-ring{width:52px;height:52px;top:6px;left:6px}.inner-ring{width:40px;height:40px;top:12px;left:12px}.spinner-center-dot{width:6px;height:6px}}@media (max-width:480px){.outer-ring,.spinner-container{width:56px;height:56px}.spinning-ring{width:44px;height:44px;top:6px;left:6px}.inner-ring{width:32px;height:32px;top:12px;left:12px}.spinner-center-dot{width:4px;height:4px}}@media (prefers-reduced-motion:reduce){.spinner-center-dot,.spinner-ring{animation:none!important}}