:root{--bg-primary:#0a0b10;--bg-secondary:#13141f;--bg-card:#13141f99;--text-main:#f8fafc;--text-muted:#94a3b8;--accent-primary:#6366f1;--accent-glow:#6366f166;--accent-secondary:#8b5cf6;--border-color:#ffffff14;--surface-hover:#ffffff08}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 0 0,#6450b440 0%,#0a0b10 70%);background-attachment:fixed;min-height:100vh;font-family:Inter,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-family:Outfit,sans-serif;font-weight:600;line-height:1.2}.serif{font-family:Playfair Display,serif}input,select{border:1px solid var(--border-color);color:var(--text-main);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141521cc;border-radius:8px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .3s}input:focus,select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow);outline:none}button{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;cursor:pointer;box-shadow:0 4px 15px var(--accent-glow);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem 2rem;font-family:Outfit,sans-serif;font-size:1.125rem;font-weight:600;transition:all .3s;display:flex}button:hover{box-shadow:0 6px 20px var(--accent-glow);filter:brightness(1.1);transform:translateY(-2px)}button:active{transform:translateY(1px)}button:disabled{opacity:.7;cursor:not-allowed;transform:none}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;box-shadow:0 25px 50px -12px #00000080}label{color:var(--text-muted);letter-spacing:.01em;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeUp}.spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
