@keyframes floatUpDown{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes sparkle-delayed{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes sparkle-slow{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes float-delayed{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes fadeInOut{0%{opacity:0;transform:translateY(10px)}20%,80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.animate-floatUpDown{animation:floatUpDown 3s ease-in-out infinite}.animate-sparkle{animation:sparkle 2s ease-in-out infinite}.animate-sparkle-delayed{animation:sparkle-delayed 2s ease-in-out infinite .5s}.animate-sparkle-slow{animation:sparkle-slow 3s ease-in-out infinite 1s}.animate-float{animation:float 2s ease-in-out infinite}.animate-float-delayed{animation:float-delayed 2s ease-in-out infinite 1s}.animate-float-slow{animation:float-slow 2.5s ease-in-out infinite .5s}.animate-fadeInOut{animation:fadeInOut 3s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;overflow-x:hidden;transition:background-color .3s ease}.dark body{background-color:#111827}.dark{color-scheme:dark}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}body::-webkit-scrollbar{width:8px}body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;min-height:20px}body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;cursor:pointer;border:none;outline:none}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover{background-color:#059669}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:border-color .2s ease-in-out}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:1.5rem}.spinner{border:2px solid #f3f3f3;border-top:2px solid #3b82f6;border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.7}}@keyframes wiggle-slow{0%,to{transform:rotate(0)}25%{transform:rotate(1deg)}75%{transform:rotate(-1deg)}}@keyframes thinking{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes pulse-fast{0%,to{opacity:1}50%{opacity:.3}}.animate-pulse-slow{animation:pulse-slow 3s ease-in-out infinite}.animate-wiggle-slow{animation:wiggle-slow 2s ease-in-out infinite}.animate-thinking{animation:thinking 1s ease-in-out infinite}.animate-pulse-fast{animation:pulse-fast 1s ease-in-out infinite}.animation-delay-150{animation-delay:.15s}.animation-delay-300{animation-delay:.3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}@media (max-width: 768px){.container{padding:0 .5rem}.card{padding:1rem}}
