.onboarding{min-height:100vh;display:flex;flex-direction:column;padding:0 32px;max-width:480px;margin:0 auto}.progress-track{height:2px;background:var(--background-alt);margin-top:24px;margin-bottom:40px;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s ease}.step-wrapper{flex:1;display:flex;flex-direction:column;justify-content:center}.step-wrapper.enter{animation:slideIn .2s ease forwards}.step-wrapper.exit{animation:slideOut .18s ease forwards}@keyframes slideIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-24px)}}.welcome{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;padding-bottom:48px}.welcome>*{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}.welcome.visible>*:nth-child(1){opacity:1;transform:none;transition-delay:0s}.welcome.visible>*:nth-child(2){opacity:1;transform:none;transition-delay:.28s}.welcome.visible>*:nth-child(3){opacity:1;transform:none;transition-delay:.56s}.welcome.visible>*:nth-child(4){opacity:1;transform:none;transition-delay:.84s}.wordmark{font-family:Lora,serif;font-size:13px;letter-spacing:5px;color:var(--text-light)}.headline{font-family:Lora,serif;font-size:40px;line-height:52px;color:var(--text-primary);letter-spacing:-.5px;font-weight:400}.welcome-body{font-size:15px;color:var(--text-secondary);line-height:24px}.flower{font-size:28px}.step{display:flex;flex-direction:column;padding-bottom:48px}.eyebrow{font-size:13px;color:var(--text-light);font-style:italic;margin-bottom:16px;letter-spacing:.3px}.question{font-family:Lora,serif;font-size:36px;line-height:46px;color:var(--text-primary);letter-spacing:-.3px;margin-bottom:24px;font-weight:400}.hint{font-size:12px;color:var(--text-light);font-style:italic;margin-top:-12px;margin-bottom:12px}.underline-input{border:none;border-bottom:2px solid var(--primary-light);background:transparent;font-family:Lora,serif;font-size:24px;color:var(--text-primary);padding:8px 0;outline:none;width:100%;transition:border-color .2s}.underline-input::placeholder{color:var(--text-light)}.underline-input:focus{border-bottom-color:var(--primary)}.age-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.age-chip{padding:8px 16px;border-radius:var(--radius-full);border:1.5px solid var(--primary-light);background:var(--surface);font-size:13px;color:var(--text-secondary);cursor:pointer;transition:border-color .15s}.age-chip:hover{border-color:var(--primary)}.age-chip.selected{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.footer{padding-bottom:40px;padding-top:16px;display:flex;flex-direction:column;gap:12px}.btn{background:var(--background);color:var(--primary);border:1.5px solid var(--primary);border-radius:var(--radius-full);padding:14px;font-size:16px;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:opacity .15s;width:100%}.btn:hover{opacity:.8}.btn.disabled{opacity:.35;cursor:not-allowed}.skip{background:none;border:none;color:var(--text-light);font-size:13px;text-decoration:underline;cursor:pointer;text-align:center;padding:8px;font-family:inherit}.disclosure{font-size:11px;color:var(--text-light);line-height:1.6;text-align:center;padding:0 8px}.disclosure a{color:var(--primary);text-decoration:none}.disclosure a:hover{text-decoration:underline}*.chat{height:100vh;display:flex;flex-direction:column;max-width:680px;margin:0 auto}.chat-header{display:flex;align-items:center;gap:10px;padding:16px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.chat-logo{font-size:22px}.chat-title{font-family:Lora,serif;font-size:20px;letter-spacing:1px;display:block;color:var(--text-primary)}.chat-sub{font-size:11px;color:var(--text-light);display:block}.messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.message-block{display:flex;gap:10px;align-items:flex-end}.message-block.user{justify-content:flex-end;align-items:flex-end}.bubble{max-width:72%;padding:12px 16px;border-radius:var(--radius-lg);font-size:15px;line-height:1.65;white-space:pre-wrap}.bubble.user{background:var(--bubble-user);color:var(--bubble-user-text);border-bottom-right-radius:4px;max-width:72%;width:fit-content;margin-left:auto;white-space:pre-wrap}.bubble.assistant{background:transparent;box-shadow:none;border-radius:0;max-width:100%;padding-left:0;color:var(--text-primary);white-space:normal}.bubble.assistant p{margin:0 0 16px;font-size:16px;line-height:1.75;color:var(--text-primary)}.bubble.assistant p:last-child{margin-bottom:0}.bubble.assistant strong{font-weight:650;color:var(--text-primary)}.bubble.assistant em{font-style:italic}.bubble.assistant h1,.bubble.assistant h2,.bubble.assistant h3{font-family:Georgia,Times New Roman,serif;font-weight:600;color:var(--text-primary);line-height:1.3;letter-spacing:-.2px}.bubble.assistant h1,.bubble.assistant h2{font-size:16px;margin:20px 0 4px}.bubble.assistant h3{font-size:15px;margin:16px 0 4px}.bubble.assistant h1,.bubble.assistant h2,.bubble.assistant h3{display:inline}.bubble.assistant h1:first-child,.bubble.assistant h2:first-child,.bubble.assistant h3:first-child{margin-top:0}.bubble.assistant ul{margin:0 0 16px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}.bubble.assistant ul:last-child{margin-bottom:0}.bubble.assistant li{font-size:15px;line-height:1.65;color:var(--text-primary);padding-left:18px;position:relative}.bubble.assistant li:before{content:"·";position:absolute;left:4px;color:var(--primary);font-size:18px;line-height:1.4;font-weight:700}.bubble.loading{display:flex;gap:5px;align-items:center;padding:14px 18px}.bubble.loading span{width:7px;height:7px;background:var(--primary-light);border-radius:50%;animation:bounce 1s infinite}.bubble.loading span:nth-child(2){animation-delay:.15s}.bubble.loading span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.feedback-row{display:flex;align-items:center;gap:4px;margin-top:4px;padding-left:2px;opacity:0;animation:fadeIn .4s ease .6s forwards}@keyframes fadeIn{to{opacity:1}}.feedback-btn{background:none;border:none;font-size:14px;cursor:pointer;opacity:.3;padding:2px 4px;border-radius:4px;transition:opacity .15s}.feedback-btn:hover:not(:disabled){opacity:.7}.feedback-btn.active{opacity:1}.feedback-btn:disabled{cursor:default}.feedback-thanks{font-size:11px;color:var(--text-light);font-style:italic;margin-left:4px}.empty{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 24px;gap:12px}.empty-emoji{font-size:52px}.empty-title{font-family:Lora,serif;font-size:28px;color:var(--text-primary);font-weight:400}.empty-sub{font-size:16px;color:var(--text-secondary);line-height:26px}.empty-label{font-size:13px;color:var(--text-light);font-style:italic;margin-top:12px}.starters{display:flex;flex-direction:column;gap:8px;width:100%;max-width:400px}.starter-chip{padding:12px 16px;border-radius:var(--radius-lg);border:1.5px solid var(--primary-light);background:var(--surface);font-size:14px;color:var(--text-secondary);cursor:pointer;transition:border-color .15s;font-family:inherit}.starter-chip:hover{border-color:var(--primary)}.input-row{display:flex;align-items:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border);background:var(--background);flex-shrink:0}.chat-input{flex:1;border:1.5px solid var(--primary-light);border-radius:var(--radius-lg);padding:10px 16px;font-size:15px;color:var(--text-primary);background:var(--surface);resize:none;outline:none;font-family:inherit;max-height:120px;line-height:1.5;transition:border-color .2s;overflow-y:hidden}.chat-input:focus{border-color:var(--primary)}.chat-input::placeholder{color:var(--text-light)}.icon-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--primary);background:var(--background);color:var(--primary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s;flex-shrink:0}.icon-btn:hover{opacity:.8}.icon-btn.send{font-size:20px;font-weight:700;font-family:inherit}.icon-btn.disabled{opacity:.35;cursor:not-allowed}.icon-btn.listening{background:var(--primary);color:#fff;animation:pulse 1s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #7a9e7e66}50%{box-shadow:0 0 0 8px #7a9e7e00}}.cursor-blink{animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.clear-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:all .2s;flex-shrink:0}.clear-btn:hover{border-color:var(--primary-light);color:var(--primary);background:#f5f0ea}.share-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px #0000000a;animation:fadeIn .4s ease forwards}.share-card-title{font-family:Lora,serif;font-size:14px;color:var(--text-primary)}.share-card-sub{font-size:12px;color:var(--text-light);line-height:1.5}.share-card-actions{display:flex;flex-direction:column;gap:6px;margin-top:4px}.share-card-btn{background:var(--primary);color:#fff;border:none;border-radius:999px;padding:10px;font-size:13px;cursor:pointer;font-family:inherit;letter-spacing:.2px;transition:opacity .15s}.share-card-btn:hover{opacity:.85}.share-card-dismiss{background:none;border:none;font-size:11px;color:var(--text-light);cursor:pointer;font-family:inherit;text-align:center;padding:4px;text-decoration:underline}.share-tooltip{position:absolute;top:calc(100% + 10px);right:0;background:var(--text-primary);color:var(--background);padding:7px 12px;border-radius:8px;font-size:12px;white-space:nowrap;pointer-events:none;z-index:100;animation:toastIn .15s ease forwards}.share-tooltip:before{content:"";position:absolute;bottom:100%;right:10px;border:5px solid transparent;border-bottom-color:var(--text-primary)}@keyframes toastIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.privacy-page{min-height:100vh;background:var(--background);padding:40px 24px 80px}.privacy-content{max-width:600px;margin:0 auto}.privacy-back{display:inline-block;font-size:13px;color:var(--primary);text-decoration:none;margin-bottom:40px}.privacy-back:hover{text-decoration:underline}.privacy-header{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:32px}.privacy-flower{font-size:28px}.privacy-header h1{font-family:Lora,serif;font-size:32px;font-weight:400;color:var(--text-primary);letter-spacing:-.3px}.privacy-updated{font-size:12px;color:var(--text-light);font-style:italic}.privacy-intro{font-size:15px;line-height:1.75;color:var(--text-secondary);margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--border)}.privacy-content section{margin-bottom:36px}.privacy-content h2{font-family:Lora,serif;font-size:18px;font-weight:400;color:var(--text-primary);margin-bottom:12px}.privacy-content p{font-size:14px;line-height:1.75;color:var(--text-secondary);margin-bottom:12px}.privacy-content p:last-child{margin-bottom:0}.privacy-content ul{margin:8px 0 12px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px}.privacy-content li{font-size:14px;line-height:1.65;color:var(--text-secondary);padding-left:16px;position:relative}.privacy-content li:before{content:"·";position:absolute;left:2px;color:var(--primary);font-size:18px;line-height:1.3;font-weight:700}.privacy-content a{color:var(--primary);text-decoration:none}.privacy-content a:hover{text-decoration:underline}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--background: #FDF6EE;--background-alt: #F0E6D6;--surface: #FFFFFF;--primary: #7A9E7E;--primary-light: #A8C5AB;--text-primary: #2C2C2C;--text-secondary: #6B6B6B;--text-light: #9E9E9E;--bubble-user: #7A9E7E;--bubble-user-text: #FFFFFF;--bubble-assistant: #FFFFFF;--bubble-assistant-text: #2C2C2C;--border: #e8ddd2;--radius-full: 999px;--radius-lg: 20px}html,body,#root{height:100%;background:var(--background);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}
