@tailwind base;@tailwind components;@tailwind utilities;@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float-1{0%,to{transform:translateY(0) translate(0);opacity:.3}33%{transform:translateY(-20px) translate(10px);opacity:.6}66%{transform:translateY(-10px) translate(-5px);opacity:.4}}@keyframes float-2{0%,to{transform:translateY(0) translate(0);opacity:.2}25%{transform:translateY(-15px) translate(-8px);opacity:.5}75%{transform:translateY(-25px) translate(12px);opacity:.3}}@keyframes float-3{0%,to{transform:translateY(0) translate(0);opacity:.4}40%{transform:translateY(-18px) translate(6px);opacity:.7}80%{transform:translateY(-8px) translate(-10px);opacity:.2}}@keyframes pulse-slow{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.3;transform:scale(1.05)}}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 8s ease-in-out infinite}.animate-float-1{animation:float-1 6s ease-in-out infinite}.animate-float-2{animation:float-2 8s ease-in-out infinite}.animate-float-3{animation:float-3 7s ease-in-out infinite}.animate-pulse-slow{animation:pulse-slow 4s ease-in-out infinite}body{margin:0;font-family:-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}*{box-sizing:border-box}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0f172af2,#1e293bf2);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out;padding:1rem;overflow-y:auto}.modal-content{background:linear-gradient(145deg,#1e293b,#334155);border-radius:20px;padding:2.5rem;width:90%;max-width:450px;position:relative;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #94a3b833,inset 0 1px #94a3b81a;animation:slideUp .4s ease-out;border:1px solid rgba(148,163,184,.2);max-height:90vh;overflow-y:auto}.modal-content.large-modal{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.modal-header h2{color:#f1f5f9;font-size:1.5rem;font-weight:700;margin:0}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0f172af2,#1e293bf2);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.auth-modal{background:linear-gradient(145deg,#1e293b,#334155);border-radius:20px;padding:2.5rem;width:90%;max-width:450px;position:relative;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #94a3b833,inset 0 1px #94a3b81a;animation:slideUp .4s ease-out;border:1px solid rgba(148,163,184,.2)}.close-button{position:absolute;top:1.25rem;right:1.25rem;background:linear-gradient(145deg,#475569,#64748b);border:1px solid rgba(148,163,184,.3);font-size:1.25rem;cursor:pointer;color:#e2e8f0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .2s ease;font-weight:500}.close-button:hover{background:linear-gradient(145deg,#64748b,#94a3b8);color:#f1f5f9;transform:scale(1.05);box-shadow:0 4px 12px #0000004d}.auth-form h2{text-align:center;margin-bottom:2rem;background:linear-gradient(135deg,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.75rem;font-weight:700;letter-spacing:-.025em}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.75rem;color:#cbd5e1;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.form-group input{width:100%;padding:1rem;border:2px solid #475569;border-radius:12px;font-size:1rem;transition:all .3s ease;background:linear-gradient(145deg,#334155,#475569);box-shadow:inset 0 2px 4px #0003;color:#e2e8f0}.form-group input::placeholder{color:#94a3b8}.form-group input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 4px #0ea5e933,inset 0 2px 4px #0003;transform:translateY(-1px);background:linear-gradient(145deg,#475569,#64748b)}.form-group input:disabled{background:linear-gradient(145deg,#1e293b,#334155);cursor:not-allowed;opacity:.7;color:#64748b}.auth-button{width:100%;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;padding:1rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1.5rem;box-shadow:0 4px 14px #0ea5e966;position:relative;overflow:hidden}.auth-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.auth-button:hover:before{left:100%}.auth-button:hover:not(:disabled){background:linear-gradient(135deg,#0284c7,#0369a1);transform:translateY(-2px);box-shadow:0 8px 25px #0ea5e980}.auth-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 14px #0ea5e966}.auth-button:disabled{background:linear-gradient(135deg,#64748b,#475569);cursor:not-allowed;transform:none;box-shadow:none}.auth-toggle{text-align:center;margin-top:2rem;color:#94a3b8;font-size:.9rem}.link-button{background:none;border:none;color:#0ea5e9;cursor:pointer;text-decoration:none;font-size:inherit;font-weight:600;transition:all .2s ease;padding:.25rem .5rem;border-radius:6px;margin-left:.25rem}.link-button:hover{color:#0284c7;background:#0ea5e91a;transform:translateY(-1px)}.error-message{background:linear-gradient(145deg,#fef2f2,#fee2e2);border:2px solid #fecaca;color:#dc2626;padding:1rem;border-radius:12px;margin-bottom:1.5rem;font-size:.875rem;font-weight:500;box-shadow:0 4px 6px #dc26261a;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.success-message{text-align:center;background:linear-gradient(145deg,#f0fdf4,#dcfce7);border:2px solid #bbf7d0;border-radius:12px;padding:2rem;animation:bounceIn .6s ease-out}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-message p{margin-bottom:1.5rem;color:#065f46;font-weight:500;font-size:1rem}
