*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;color:#e4e4e7;background-color:#0a0a0f;min-height:100vh;overflow-x:hidden}input,textarea,select,button{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:root{--color-bg: #0a0a0f;--color-surface: #18181b;--color-surface-hover: #27272a;--color-border: #3f3f46;--color-border-focus: #a78bfa;--color-text: #e4e4e7;--color-text-muted: #a1a1aa;--color-text-dim: #71717a;--color-primary: #8b5cf6;--color-primary-hover: #7c3aed;--color-primary-glow: rgba(139, 92, 246, .25);--color-accent: #a78bfa;--color-success: #34d399;--color-error: #f87171;--color-warning: #fbbf24;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem}#app{min-height:100vh;display:flex;flex-direction:column}.progress-bar-container{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 var(--spacing-md);background:linear-gradient(180deg,#0a0a0ff2,#0a0a0f00);padding-top:var(--spacing-md);padding-bottom:var(--spacing-xl)}.progress-bar-track{width:100%;max-width:640px;margin:0 auto;height:4px;background:var(--color-surface);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px var(--color-primary-glow)}.progress-info{display:flex;justify-content:space-between;align-items:center;max-width:640px;margin:var(--spacing-xs) auto 0;font-size:.75rem;color:var(--color-text-dim)}.questionnaire{flex:1;display:flex;flex-direction:column;align-items:center;padding:4rem var(--spacing-md) var(--spacing-3xl);width:100%}.section-container{width:100%;max-width:640px;margin:0 auto}.section-header{margin-bottom:var(--spacing-2xl)}.section-header h2{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--color-text),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;line-height:1.2}.section-header p{margin-top:var(--spacing-sm);color:var(--color-text-muted);font-size:.95rem}.form-group{margin-bottom:var(--spacing-xl)}.form-label{display:block;font-size:.95rem;font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-sm)}.form-label .required{color:var(--color-primary);margin-left:2px}.form-helper{font-size:.8rem;color:var(--color-text-dim);margin-top:var(--spacing-xs)}.text-input,.textarea-input{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--color-text);font-size:.95rem;transition:border-color .2s,box-shadow .2s;outline:none}.text-input:focus,.textarea-input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-glow)}.text-input::placeholder,.textarea-input::placeholder{color:var(--color-text-dim)}.textarea-input{min-height:100px;resize:vertical}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-option,.checkbox-option{position:relative;display:flex;align-items:center;gap:var(--spacing-md);padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.radio-option:hover,.checkbox-option:hover{background:var(--color-surface-hover);border-color:var(--color-text-dim)}.radio-option.selected,.checkbox-option.selected{border-color:var(--color-primary);background:#8b5cf614;box-shadow:0 0 0 1px var(--color-primary)}.radio-option input,.checkbox-option input{position:absolute;opacity:0;width:0;height:0}.radio-indicator{width:20px;height:20px;border-radius:50%;border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s}.radio-indicator:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--color-primary);transform:scale(0);transition:transform .2s cubic-bezier(.4,0,.2,1)}.radio-option.selected .radio-indicator{border-color:var(--color-primary)}.radio-option.selected .radio-indicator:after{transform:scale(1)}.checkbox-indicator{width:20px;height:20px;border-radius:var(--radius-sm);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s,background-color .2s}.checkbox-indicator svg{width:14px;height:14px;stroke:#fff;stroke-width:3;fill:none;opacity:0;transition:opacity .2s}.checkbox-option.selected .checkbox-indicator{border-color:var(--color-primary);background:var(--color-primary)}.checkbox-option.selected .checkbox-indicator svg{opacity:1}.option-label{font-size:.95rem;color:var(--color-text)}.conditional-field{margin-top:var(--spacing-sm);padding-left:var(--spacing-lg);overflow:hidden}.nav-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-2xl);gap:var(--spacing-md)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:500;cursor:pointer;border:none;transition:all .2s;outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-back{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-back:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.btn-next,.btn-submit{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;margin-left:auto}.btn-next:hover:not(:disabled),.btn-submit:hover:not(:disabled){box-shadow:0 4px 20px var(--color-primary-glow);transform:translateY(-1px)}.btn-next:active:not(:disabled),.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit{min-width:160px;justify-content:center;position:relative;overflow:hidden}.btn-submit.loading{pointer-events:none}.btn-submit .spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field-error{color:var(--color-error);font-size:.8rem;margin-top:var(--spacing-xs)}.text-input.error,.textarea-input.error{border-color:var(--color-error)}.success-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center;padding:var(--spacing-xl)}.success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-success),#10b981);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-xl)}.success-icon svg{width:40px;height:40px;stroke:#fff;stroke-width:3;fill:none}.success-container h2{font-size:2rem;font-weight:700;margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--color-text),var(--color-success));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.success-container p{color:var(--color-text-muted);font-size:1.1rem;max-width:400px}.confetti-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:200}.brand-footer{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--color-text-dim);font-size:.8rem}.brand-footer a{color:var(--color-accent);transition:color .2s}.brand-footer a:hover{color:var(--color-primary)}@media (max-width: 480px){.section-header h2{font-size:1.4rem}.nav-buttons{flex-wrap:wrap}.btn-next,.btn-submit,.btn-back{width:100%;justify-content:center}}
