@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=Inter:wght@400;500;600&display=swap";
:root{--color-bg:#0b0f19;--color-bg-surface:#151b2b;--color-bg-surface-elevated:#1e263c;--color-primary:#3b82f6;--color-secondary:#8b5cf6;--color-accent:#f59e0b;--color-error:#ef4444;--color-success:#10b981;--color-warning:#f59e0b;--color-text-main:#f8fafc;--color-text-muted:#94a3b8;--color-border:#ffffff1a;--color-border-focus:var(--color-primary);--font-heading:"Outfit",sans-serif;--font-body:"Inter",sans-serif;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #00000080;--shadow-glow:0 0 20px #3b82f666;--glass-bg:#151b2bb3;--glass-border:#ffffff14;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-bounce:.4s cubic-bezier(.175,.885,.32,1.275)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text-main);font-family:var(--font-body);background-image:radial-gradient(circle at 15%,#3b82f626,#0000 25%),radial-gradient(circle at 85% 30%,#8b5cf626,#0000 25%);background-attachment:fixed;flex-direction:column;min-height:100vh;line-height:1.6;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;line-height:1.2}h1{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:clamp(2.5rem,5vw,4rem)}h2{margin-bottom:1rem;font-size:clamp(1.75rem,3vw,2.5rem)}h3{color:var(--color-text-main);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-secondary);text-decoration:underline}.form-group{flex-direction:column;margin-bottom:1.5rem;display:flex}.form-label{color:var(--color-text-main);margin-bottom:.5rem;font-size:.9rem;font-weight:500}.form-input,.form-select,.form-textarea{background:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-text-main);font-family:var(--font-body);transition:all var(--transition-fast);border-radius:8px;width:100%;padding:.75rem 1rem;font-size:1rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 3px #3b82f633}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-error{color:var(--color-error);align-items:center;gap:.25rem;margin-top:.5rem;font-size:.85rem;animation:.3s slideInUp;display:flex}.btn{font-family:var(--font-heading);cursor:pointer;transition:all var(--transition-bounce);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-secondary{background:var(--color-bg-surface-elevated);color:var(--color-text-main);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);border-radius:16px;padding:2rem;position:relative;overflow:hidden}.glass-card:before{content:"";background:linear-gradient(90deg,transparent,var(--color-primary),var(--color-secondary),transparent);opacity:.5;height:2px;position:absolute;top:0;left:0;right:0}.radio-group,.checkbox-group{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.radio-group-row{flex-flow:wrap}.radio-label,.checkbox-label{cursor:pointer;align-items:center;gap:.75rem;font-size:.95rem;display:flex}.radio-input,.checkbox-input{appearance:none;font:inherit;color:currentColor;border:2px solid var(--color-border);width:1.25em;height:1.25em;transition:all var(--transition-fast);background-color:#0000;border-radius:50%;place-content:center;margin:0;display:grid}.checkbox-input{border-radius:4px}.radio-input:before{content:"";width:.65em;height:.65em;box-shadow:inset 1em 1em var(--color-primary);border-radius:50%;transition:transform .12s ease-in-out;transform:scale(0)}.checkbox-input:before{content:"";width:.65em;height:.65em;box-shadow:inset 1em 1em var(--color-primary);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transition:transform .12s ease-in-out;transform:scale(0)}.radio-input:checked,.checkbox-input:checked{border-color:var(--color-primary)}.radio-input:checked:before,.checkbox-input:checked:before{transform:scale(1)}.container{width:100%;max-width:800px;margin:0 auto;padding:2rem 1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.progress-container{justify-content:space-between;margin-bottom:2rem;display:flex;position:relative}.progress-container:before{content:"";background:var(--color-border);z-index:0;height:2px;position:absolute;top:50%;left:0;right:0}.progress-step{background:var(--color-bg-surface);border:2px solid var(--color-border);width:2rem;height:2rem;color:var(--color-text-muted);z-index:1;transition:all var(--transition-normal);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.progress-step.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 0 10px #3b82f680}.progress-step.completed{border-color:var(--color-success);background:var(--color-success);color:#fff}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.glass-card{padding:1.5rem}}
