@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Instrument+Serif&display=swap";*,*:before,*:after{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}:root{--color-black: #1A1A1A;--color-white: #FFFFFF;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-cyan: #CFFAFE;--color-blue: #E0F2FE;--color-pink: #FCE7F3;--color-yellow: #FEF3C7;--color-orange: #FFEDD5;--color-green: #D1FAE5;--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--font-serif: "Playfair Display", serif;--font-logo: "Instrument Serif", serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--shadow-xl: 0 15px 30px rgba(0, 0, 0, .15)}.page-dots-bg{background-color:#fff;background-image:radial-gradient(#CBD5E1 .5px,transparent .5px);background-size:16px 16px}.font-serif{font-family:var(--font-serif)}.font-logo{font-family:var(--font-logo)}.text-highlight{font-style:italic;font-weight:300;color:var(--color-gray-400)}.btn-primary{background:var(--color-black);color:var(--color-white);border:none;padding:18px 42px;border-radius:var(--radius-full);font-size:16px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:12px;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-lg);font-family:var(--font-sans)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--color-gray-600);border:1px solid var(--color-gray-200);padding:12px 24px;border-radius:var(--radius-full);font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease;font-family:var(--font-sans)}.btn-secondary:hover{background:var(--color-gray-50);border-color:var(--color-gray-300);color:var(--color-black)}.btn-ghost{background:transparent;color:var(--color-gray-500);border:none;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:400;cursor:pointer;transition:all .15s ease;font-family:var(--font-sans)}.btn-ghost:hover{background:#0000000a;color:var(--color-black)}.onboarding-header-bar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px 28px;pointer-events:none}.onboarding-header-bar>*{pointer-events:auto}.onboarding-header-bar.animated{animation:headerFadeIn .6s ease forwards}@keyframes headerFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.foaster-logo{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;transition:transform .2s ease}.foaster-logo:hover{transform:translateY(-1px)}.foaster-logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;overflow:visible;flex-shrink:0}.foaster-logo-icon img{width:120px;height:120px;-o-object-fit:contain;object-fit:contain;display:block;transform:scale(.33);transform-origin:center center}.foaster-logo-text{font-family:var(--font-logo);font-weight:400;font-size:1.75rem;color:var(--color-black);letter-spacing:-.06em;opacity:.92;transform:scaleX(.85) scaleY(1.1);transform-origin:left center}.foaster-logo:hover .foaster-logo-text{opacity:1}.step-badge{background:transparent;border:1px solid var(--color-gray-300);border-radius:var(--radius-full);padding:6px 16px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-gray-400)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-fadeIn{animation:fadeIn .6s ease-out forwards}.animate-fadeInUp{animation:fadeInUp .8s ease-out forwards}.animate-fadeInScale{animation:fadeInScale .5s ease-out forwards}.animate-slideIn{animation:slideInFromBottom .6s ease-out forwards}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.chat-page{font-family:var(--font-sans);background-color:#fff;background-image:radial-gradient(#CBD5E1 .5px,transparent .5px);background-size:16px 16px;color:var(--color-black);height:100vh;display:flex;flex-direction:column;overflow:hidden;position:relative}.chat-scroll-wrapper{flex:1;width:100%;overflow-y:auto;overflow-x:hidden}.chat-scroll-wrapper::-webkit-scrollbar{width:3px}.chat-scroll-wrapper::-webkit-scrollbar-track{background:transparent}.chat-scroll-wrapper::-webkit-scrollbar-thumb{background:#00000014;border-radius:10px}.chat-container{display:flex;flex-direction:column;max-width:720px;width:100%;margin:0 auto;padding:80px 24px 140px;gap:32px}.chat-message-row{display:flex;width:100%;flex-direction:column;animation:fadeIn .5s ease forwards}.chat-message-row.user{align-items:flex-end}.chat-message-row.assistant{align-items:flex-start}.chat-message-label{margin-bottom:6px;font-size:13px;font-family:var(--font-logo);font-style:italic;color:var(--color-gray-400)}.chat-message-bubble{max-width:85%;line-height:1.6;font-size:15px;font-weight:400}.chat-message-row.user .chat-message-bubble{background-color:#f2f2f2;padding:12px 18px;border-radius:var(--radius-xl);color:var(--color-black)}.chat-message-row.assistant .chat-message-bubble{color:var(--color-gray-700);padding:0 8px;background:transparent;max-width:80%}.chat-input-area{position:fixed;bottom:0;left:0;width:100%;padding:20px 24px 32px;background:linear-gradient(to top,#fff 85%,#fff0);display:flex;justify-content:center}.chat-input-wrapper{--focus-color: var(--color-cyan);width:100%;max-width:672px;position:relative;padding:1px;border-radius:21px;background:linear-gradient(120deg,var(--color-cyan) 0%,var(--color-blue) 20%,var(--color-pink) 40%,var(--color-yellow) 60%,var(--color-orange) 80%,var(--color-green) 100%);box-shadow:0 0 12px -4px #06b6d440;min-height:52px;transition:transform .2s,box-shadow .2s,background .3s ease}.chat-input-wrapper:focus-within{background:var(--focus-color);box-shadow:0 0 20px -4px var(--focus-color);transform:translateY(-1px)}.chat-input-inner{background:var(--color-white);border-radius:20px;padding:8px 10px;display:flex;align-items:flex-end;min-height:52px;width:100%}.chat-input-field{flex:1;border:none;outline:none;font-size:15px;padding:8px 12px;color:var(--color-black);background:transparent;font-family:var(--font-sans);font-weight:400;resize:none;line-height:1.5;max-height:180px;overflow-y:auto}.chat-input-field::-moz-placeholder{color:var(--color-gray-400);font-weight:300}.chat-input-field::placeholder{color:var(--color-gray-400);font-weight:300}.chat-icon-btn{width:36px;height:36px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-gray-400);transition:background .2s,color .2s}.chat-icon-btn:hover{background-color:var(--color-gray-100);color:var(--color-black)}.chat-send-btn{width:36px;height:36px;margin-left:8px;background-color:var(--color-black);color:var(--color-white);border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,opacity .2s}.chat-send-btn:hover{transform:scale(1.05)}.chat-send-btn:disabled{background-color:var(--color-gray-200);color:var(--color-gray-400);cursor:not-allowed;transform:none}.chat-typing-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:12px 0;background-color:transparent}.chat-typing-indicator span{display:block;width:10px;height:10px;background-color:var(--color-black);border-radius:50%;animation:typingBlink 1s infinite ease-in-out}@keyframes typingBlink{0%,to{opacity:.3;transform:scale(.95)}50%{opacity:1;transform:scale(1)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-center{text-align:center}.flex-center{display:flex;align-items:center;justify-content:center}.full-page{min-height:100vh;width:100%}@media(max-width:768px){.onboarding-header-bar{padding:16px 20px}.foaster-logo-icon{width:36px;height:36px}.foaster-logo-text{font-size:1.25rem}.chat-container{padding:60px 16px 120px}.btn-primary{padding:14px 32px;font-size:15px}}.chat-icon-btn.recording{background-color:#fca5a5;color:#dc2626}.chat-icon-btn.transcribing{background-color:#e0e7ff;color:#6366f1}.audio-waveform-container{flex:1;display:flex;align-items:center;justify-content:center;height:44px;overflow:hidden}.transcription-container{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 12px}.transcription-text{color:#6b7280;font-size:14px;font-weight:500;animation:transcription-fade 2s ease-in-out infinite}.transcription-dots{display:flex;align-items:center;gap:4px}.transcription-dot{width:8px;height:8px;border-radius:50%;background:#9ca3af;animation:transcription-bounce 1.4s ease-in-out infinite}.transcription-dot:nth-child(1){animation-delay:0s}.transcription-dot:nth-child(2){animation-delay:.2s}.transcription-dot:nth-child(3){animation-delay:.4s}@keyframes transcription-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1.2);opacity:1}}@keyframes transcription-fade{0%,to{opacity:.4}50%{opacity:1}}.whisper-error{text-align:center;font-size:12px;color:#dc2626;padding:8px;background-color:#fef2f2;border-radius:8px;margin:8px 24px}
