@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/icon?family=Material+Icons);*{box-sizing:border-box;margin:0;padding:0}:root{--nora-purple:#8b5cf6;--nora-purple-dark:#7c3aed;--nora-lilac:#f1e9ff;--nora-mint:#b8f1e3;--nora-mint-dark:#20bfa5;--nora-mint-bg:#e9faf6;--nora-mint-text:#169e88;--text-primary:#10142d;--text-secondary:#596174;--background:#fcfbfe;--surface:#fff;--border-soft:#ece9f3;--nora-lilac-deep:#e4d8fb;--nora-glow-ring:#e9d5ff;--nora-tint:#f5f0ff;--text-muted:#7a8194;--surface-sunken:#f7f5fc;--error:#dc2f4b;--warn:#c77a08;--success:var(--nora-mint-dark);--bg-top:#fcfbfe;--bg-mid:#fff;--bg-bot:#f7f5fc;--glow:#8b5cf6;--teal:#20bfa5;--blue:#8b5cf6;--blue-dark:#7c3aed;--text-pri:#10142d;--text-sec:#596174;--btn-dis:#ece9f3;--primary-color:#8b5cf6;--secondary-color:#20bfa5;--background-dark:#fcfbfe;--surface-dark:#fff;--deep-dark:#f7f5fc;--text-tertiary:#7a8194;--surface-light:#fff;--male-color:#8b5cf6;--female-color:#c0468c}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fcfbfe;background:var(--background);background-attachment:fixed;color:#10142d;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root,body,html{height:100%}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#8b5cf6,#7c3aed);background:linear-gradient(45deg,var(--nora-purple),var(--nora-purple-dark));-webkit-background-clip:text;background-clip:text;display:inline-block}.gradient-container{background:#fcfbfe;background:var(--background)}button{border:none;cursor:pointer;font-family:Inter,sans-serif;outline:none}.primary-button,button.primary-button{background:linear-gradient(135deg,#8b5cf6,#7c3aed);background:linear-gradient(135deg,var(--nora-purple) 0,var(--nora-purple-dark) 100%);border-radius:12px;box-shadow:0 4px 16px #7c3aed47;color:#fff;font-size:18px;font-weight:600;padding:16px 24px;transition:opacity .2s,transform .1s,box-shadow .2s;width:100%}.primary-button:hover{box-shadow:0 6px 20px #7c3aed61;opacity:.9}.primary-button:active{transform:scale(.98)}.primary-button:disabled{background:#ece9f3;background:var(--btn-dis);box-shadow:none;color:#7a8194;color:var(--text-muted);cursor:not-allowed}.icon-button{align-items:center;background-color:#fff;background-color:var(--surface);border-radius:50%;color:#10142d;color:var(--text-pri);display:flex;height:40px;justify-content:center;width:40px}.option-card{background:#fff;background:var(--surface);border:1.5px solid #ece9f3;border:1.5px solid var(--border-soft);border-radius:12px;cursor:pointer;margin-bottom:16px;padding:16px;transition:border-color .2s,background-color .2s;width:100%}.option-card.selected{background:#f1e9ff;background:var(--nora-lilac);border-color:#8b5cf6;border-color:var(--nora-purple)}.progress-fill{background:linear-gradient(90deg,#20bfa5,#8b5cf6);background:linear-gradient(90deg,var(--teal),var(--glow))}.option-icon{align-items:center;border-radius:12px;display:flex;height:48px;justify-content:center;margin-right:16px;width:48px}.option-icon.male{background-color:#f1e9ff;background-color:var(--nora-lilac);color:#8b5cf6;color:var(--male-color)}.option-icon.female{background-color:#e9faf6;background-color:var(--nora-mint-bg);color:#169e88;color:var(--nora-mint-text)}.flex-row{align-items:center;display:flex;flex-direction:row}.flex-column{display:flex;flex-direction:column}.container,.full-height{height:100%}.container{margin:0 auto;max-width:600px;padding:24px}.page-title{font-size:24px;font-weight:700;margin-bottom:8px;text-align:center}.page-subtitle{color:#596174;color:var(--text-secondary);font-size:14px;font-weight:400;margin-bottom:40px;text-align:center}.bottom-button-container{background:linear-gradient(180deg,#fcfbfe00,#fcfbfe 40%);background:linear-gradient(180deg,#fcfbfe00 0,var(--background) 40%);bottom:0;box-shadow:0 -4px 12px rgba(16,20,45,.105);left:0;padding:16px 24px;position:sticky;right:0}.animated-dot{border-radius:50%;display:inline-block;height:10px;margin:0 4px;width:10px}@keyframes pulse{0%,to{opacity:.5;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}}.pulse-animation{animation:pulse 1.5s infinite}.safe-area{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}