@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{--color-bg:#090d1a;--color-bg-gradient:radial-gradient(circle at 50% 0%, #161f38 0%, #090d1a 70%);--color-surface:#11182b80;--color-surface-hover:#1a2440b3;--color-surface-selected:#6366f11f;--color-surface-card:#16203a59;--color-border:#ffffff12;--color-border-hover:#ffffff26;--color-border-selected:#6366f173;--color-border-accent:#06b6d473;--color-primary:#6366f1;--color-primary-light:#818cf8;--color-primary-dark:#4f46e5;--color-primary-glow:#6366f140;--color-accent:#06b6d4;--color-accent-light:#22d3ee;--color-accent-glow:#06b6d440;--color-success:#10b981;--color-success-glow:#10b98140;--color-error:#f43f5e;--color-error-glow:#f43f5e33;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 25px -5px #00000080, 0 8px 10px -6px #00000080;--shadow-glow:0 0 20px #6366f133;--font-family:"Inter", sans-serif;--font-family-heading:"Plus Jakarta Sans", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--color-bg);background-image:var(--color-bg-gradient);min-height:100vh;color:var(--color-text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative}.app-container:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#6366f114 0%,#0000 70%);width:400px;height:400px;position:absolute;top:0;left:10%}.app-container:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#06b6d40f 0%,#0000 70%);width:500px;height:500px;position:absolute;bottom:10%;right:5%}.header{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);background:#090d1ab3;justify-content:space-between;align-items:center;padding:1.25rem 2rem;transition:all .3s;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:.75rem;text-decoration:none;display:flex}.header-logo-icon{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 0 15px #06b6d459}.header-logo-svg{fill:none;stroke:#fff;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.header-text-group{flex-direction:column;display:flex}.header h1{font-family:var(--font-family-heading);letter-spacing:-.5px;background:linear-gradient(135deg,#fff 30%,#a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.35rem;font-weight:800;line-height:1.2}.header p{color:var(--color-text-secondary);letter-spacing:.5px;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:500}.header-badge{color:var(--color-success);background:#10b9811a;border:1px solid #10b98133;border-radius:9999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.header-badge-dot{background-color:var(--color-success);width:6px;height:6px;box-shadow:0 0 8px var(--color-success);border-radius:50%;animation:2s infinite pulsePulse}.main-content{z-index:1;flex-direction:column;flex:1;width:100%;max-width:760px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:flex;position:relative}.top-nav{justify-content:space-between;align-items:center;width:100%;margin-bottom:2rem;display:flex}.nav-link{color:var(--color-text-secondary);cursor:pointer;border:1px solid var(--color-border);background:#ffffff08;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.nav-link:hover{color:var(--color-text-primary);background-color:#ffffff12;border-color:#ffffff26;transform:translateY(-1px)}.nav-link.exit-btn{color:var(--color-error);background:#f43f5e0d;border:1px solid #f43f5e26}.nav-link.exit-btn:hover{color:#fff;background:#f43f5e1f;border-color:#f43f5e4d}.stepper-container{border:1px solid var(--color-border);background:#ffffff05;border-radius:12px;gap:.5rem;margin-bottom:1rem;padding:.35rem;display:flex}.step-box{color:var(--color-text-muted);text-align:center;cursor:default;background-color:#0000;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:.75rem .5rem;font-size:.8rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.step-box.active{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);color:#fff;font-weight:700;transform:scale(1.02);box-shadow:0 4px 15px #6366f140}.step-box.completed{color:var(--color-accent-light)}.progress-bar-container{background-color:#ffffff0d;border-radius:99px;height:4px;margin-bottom:.5rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-accent) 100%);border-radius:99px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 12px #06b6d480}.progress-text{text-align:right;color:var(--color-text-secondary);letter-spacing:.5px;margin-bottom:2.5rem;font-size:.75rem;font-weight:700}.question-container{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0d;-webkit-backdrop-filter:blur(10px);border-radius:24px;flex-direction:column;align-items:center;gap:2rem;width:100%;padding:3rem 2.5rem;animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInUp;display:flex}.question-title{font-family:var(--font-family-heading);color:var(--color-text-primary);letter-spacing:-.5px;text-align:center;max-width:600px;margin:0;font-size:1.75rem;font-weight:800;line-height:1.35}.input-wrapper{width:100%;max-width:480px;margin:0 auto;position:relative}.text-input{border:2px solid var(--color-border);color:#fff;text-align:left;width:100%;font-size:1.125rem;font-family:var(--font-family);box-shadow:var(--shadow-sm);background:#090d1a80;border-radius:14px;outline:none;padding:1.1rem 1.4rem;font-weight:500;transition:all .25s}.text-input:hover{border-color:#ffffff26}.text-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px #06b6d426, var(--shadow-md);background-color:#090d1acc}.text-input::placeholder{color:var(--color-text-muted)}.error-text{color:var(--color-error);text-align:left;align-items:center;gap:.35rem;margin-top:.6rem;font-size:.8rem;font-weight:600;animation:.3s ease-in-out shake;display:flex}.btn-next{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;font-family:var(--font-family);text-transform:uppercase;letter-spacing:.75px;border:none;border-radius:14px;align-items:center;gap:.75rem;padding:1.1rem 2.75rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #6366f14d,inset 0 1px #fff3}.btn-next:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:100%;height:100%;transition:transform .6s;position:absolute;top:0;left:0;transform:translate(-100%)}.btn-next:hover:not(:disabled){background:linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);transform:translateY(-2px);box-shadow:0 8px 25px #6366f173,inset 0 1px #fff3}.btn-next:hover:not(:disabled):after{transform:translate(100%)}.btn-next:active:not(:disabled){transform:translateY(0)}.btn-next:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.options-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;width:100%;max-width:640px;margin:0 auto;display:grid}.option-card{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);background:var(--color-surface-card);box-shadow:var(--shadow-sm);text-align:center;border-radius:16px;justify-content:center;align-items:center;min-height:84px;padding:1.75rem 1.5rem;font-size:1.05rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.option-card:hover{background:var(--color-surface-hover);color:#fff;box-shadow:var(--shadow-md);border-color:#fff3;transform:translateY(-3px)}.option-card.selected{border-color:var(--color-primary-light);background:var(--color-surface-selected);color:#fff;font-weight:700;box-shadow:0 8px 25px #6366f133,inset 0 0 0 1px #6366f126}.radio-list{flex-direction:column;gap:.75rem;width:100%;max-width:600px;margin:0 auto;display:flex}.radio-option{border:1px solid var(--color-border);cursor:pointer;text-align:left;background:var(--color-surface-card);box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;padding:1.25rem 1.5rem;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.radio-option:hover{background:var(--color-surface-hover);border-color:#ffffff2e;transform:translate(4px)}.radio-option.selected{border-color:var(--color-accent);background:#06b6d414;box-shadow:0 4px 20px #06b6d426}.radio-circle{border:2px solid var(--color-text-muted);background:#090d1a66;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-right:1.25rem;transition:all .25s;display:flex}.radio-option:hover .radio-circle{border-color:var(--color-text-secondary)}.radio-circle.selected{border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 0 8px #06b6d499}.radio-circle.selected:after{content:"";background-color:#090d1a;border-radius:50%;width:8px;height:8px}.radio-text{color:var(--color-text-primary);font-size:.975rem;font-weight:500;display:block}.radio-option.selected .radio-text{font-weight:600}.radio-subtext{color:var(--color-text-secondary);margin-top:.35rem;font-size:.8rem;font-weight:400;display:block}.image-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;width:100%;max-width:680px;margin:0 auto;display:grid}.image-card{background:var(--color-surface-card);cursor:pointer;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:18px;justify-content:space-between;align-items:center;min-height:90px;padding:1rem 1.25rem;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.image-card:hover{background:var(--color-surface-hover);box-shadow:var(--shadow-md);border-color:#fff3;transform:translateY(-3px)}.image-card.selected{border-color:var(--color-accent-light);background:#06b6d414;box-shadow:0 8px 25px #06b6d433}.image-card-left{align-items:center;gap:1rem;display:flex}.image-card-right{border:1px solid var(--color-border);background:#ffffff08;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;padding:4px;transition:all .25s;display:flex;overflow:hidden}.image-card:hover .image-card-right{background:#ffffff12;border-color:#ffffff26}.image-card.selected .image-card-right{background:#ffffff0d;border-color:#06b6d44d}.upload-dropzone{text-align:center;cursor:pointer;width:100%;max-width:500px;box-shadow:var(--shadow-sm);background:#ffffff05;border:2px dashed #ffffff26;border-radius:20px;flex-direction:column;align-items:center;gap:1rem;margin:0 auto;padding:3.5rem 2rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.upload-dropzone:hover{border-color:var(--color-accent);background:#06b6d40a;transform:translateY(-2px);box-shadow:0 8px 25px #06b6d426}.upload-icon{margin-bottom:.5rem;font-size:3.5rem;animation:4s ease-in-out infinite floatIcon;display:inline-block}.upload-text{color:var(--color-text-primary);font-size:1.1rem;font-weight:700}.upload-subtext{color:var(--color-text-secondary);font-size:.85rem}.preview-container{border:1px solid var(--color-border);width:100%;max-width:500px;box-shadow:var(--shadow-lg), 0 0 30px #0006;border-radius:20px;margin:0 auto;animation:.35s cubic-bezier(.16,1,.3,1) fadeInScale;position:relative;overflow:hidden}.preview-image{width:100%;height:auto;display:block}.remove-photo-btn{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#090d1acc;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:16px;right:16px;box-shadow:0 4px 12px #0000004d}.remove-photo-btn:hover{background:var(--color-error);border-color:#0000;transform:scale(1.1)rotate(90deg)}.privacy-note{color:var(--color-text-muted);text-align:center;border-top:1px solid #ffffff0d;max-width:550px;margin-top:2rem;padding-top:1.25rem;font-size:.8rem;line-height:1.6}.privacy-note a{color:var(--color-accent-light);font-weight:600;text-decoration:none;transition:all .2s}.privacy-note a:hover{color:#fff;text-decoration:underline}.overlay{-webkit-backdrop-filter:blur(18px);z-index:1000;background:#05070ed9;flex-direction:column;justify-content:center;align-items:center;padding:2rem;animation:.4s ease-out fadeIn;display:flex;position:fixed;inset:0}.overlay-card{background:var(--color-surface);text-align:center;width:100%;max-width:500px;box-shadow:var(--shadow-lg), 0 20px 50px #00000080;border:1px solid #ffffff14;border-radius:24px;padding:3.5rem 2.5rem;animation:.4s cubic-bezier(.16,1,.3,1) scaleUp}.overlay-title{font-family:var(--font-family-heading);color:#fff;letter-spacing:-.5px;margin-bottom:.75rem;font-size:2.25rem;font-weight:800}.overlay-subtitle{color:var(--color-text-secondary);margin-bottom:2.5rem;font-size:1.05rem;font-weight:500;line-height:1.5}.btn-stack{flex-direction:column;gap:1rem;width:100%;display:flex}.btn-full{justify-content:center;width:100%}.btn-secondary{color:var(--color-text-primary);box-shadow:var(--shadow-sm);background:#ffffff0a;border:1px solid #ffffff1a}.btn-secondary:hover:not(:disabled){color:#fff;background:#ffffff14;border-color:#fff3}.success-container{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);border-radius:28px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:600px;padding:4rem 2rem;animation:.6s cubic-bezier(.16,1,.3,1) fadeInUp;display:flex}.success-icon-wrapper{background:linear-gradient(135deg, var(--color-success) 0%, #059669 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:2.5rem;font-size:3rem;display:flex;position:relative;box-shadow:0 12px 30px #10b98159}.success-icon-wrapper:before{content:"";border:2px solid var(--color-success);opacity:.3;border-radius:50%;animation:2.5s infinite pulsePulse;position:absolute;inset:-8px}.success-title{font-family:var(--font-family-heading);color:#fff;letter-spacing:-.5px;margin-bottom:1rem;font-size:2.25rem;font-weight:800}.success-desc{color:var(--color-text-secondary);max-width:460px;margin-bottom:0;font-size:1.1rem;line-height:1.65}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulsePulse{0%{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}to{opacity:.3;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (width<=768px){.main-content{padding:2rem 1.25rem 3rem}.header{padding:1rem 1.5rem}.header h1{font-size:1.2rem}.header p{font-size:.7rem}.header-logo-icon{width:34px;height:34px}.stepper-container{gap:.25rem;padding:.25rem}.step-box{border-radius:6px;padding:.6rem .35rem;font-size:.725rem}.question-container{gap:1.75rem;padding:2.25rem 1.75rem}.question-title{font-size:1.45rem}.options-grid{gap:1rem}.option-card{border-radius:12px;min-height:76px;padding:1.25rem 1rem;font-size:.95rem}.btn-next{justify-content:center;width:100%;padding:1rem 2.25rem;font-size:.9rem}}@media (width<=540px){.options-grid,.image-grid{grid-template-columns:1fr;max-width:100%}.image-card{min-height:80px;padding:.85rem 1rem}.image-card-right{width:56px;height:56px}.step-box{padding:.5rem .2rem;font-size:.65rem}.overlay-card{padding:2.5rem 1.5rem}.overlay-title{font-size:1.85rem}.overlay-subtitle{margin-bottom:2rem;font-size:.95rem}}
