@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--primary:#6366f1;--primary-hover:#4f46e5;--bg-dark:#fbfcfe;--bg-mesh:radial-gradient(at 0% 0%, #6366f10d 0px, transparent 50%), radial-gradient(at 100% 0%, #0ea5e90d 0px, transparent 50%), radial-gradient(at 100% 100%, #a855f70d 0px, transparent 50%), radial-gradient(at 0% 100%, #ec48990d 0px, transparent 50%);--border:#0000000f;--text-primary:#0f172a;--text-secondary:#64748b;--success:#10b981;--warning:#f59e0b;--error:#ef4444}*{box-sizing:border-box;margin:0;padding:0;font-family:Plus Jakarta Sans,sans-serif}body{background-color:var(--bg-dark);background-image:var(--bg-mesh);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh}#root{max-width:1280px;margin:0 auto;padding:4rem 2rem}.glass-card{-webkit-backdrop-filter:blur(20px);background:#ffffffb3;border:1px solid #fffc;border-radius:2rem;padding:2.5rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 20px 40px -15px #0000000d}.input-group{gap:1rem;width:100%;margin-bottom:2rem;display:flex}input[type=text]{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;outline:none;flex:1;padding:1rem 1.5rem;font-size:1rem;transition:all .2s;box-shadow:0 1px 2px #00000005}input[type=text]:focus{border-color:var(--primary);box-shadow:0 0 0 4px #6366f11a}button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:1rem;justify-content:center;align-items:center;gap:.5rem;padding:1rem 2rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 10px 15px -3px #6366f133}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale()}h1{text-align:center;color:#0f172a;letter-spacing:-.04em;margin-bottom:1.5rem;font-size:4rem;font-weight:800;line-height:1.1}.subtitle{text-align:center;color:var(--text-secondary);max-width:800px;margin-bottom:4rem;margin-left:auto;margin-right:auto;font-size:1.25rem;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeIn}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
