.journey-duo-container{position:fixed;inset:0;width:100%;height:100%;background:#e0f2fe;overflow:hidden;z-index:1000;display:flex;flex-direction:column;justify-content:space-between;align-items:center;animation:duoFadeIn .3s ease-out;font-family:Inter,system-ui,sans-serif}@keyframes duoFadeIn{0%{opacity:0}to{opacity:1}}.journey-duo-sky{position:absolute;top:0;left:0;right:0;height:55%;z-index:1}.duo-cloud{position:absolute;background:#fff;border-radius:100px;border:3px solid #bae6fd;opacity:.9;animation:duoDrift 25s linear infinite}.duo-cloud:before,.duo-cloud:after{content:"";position:absolute;background:#fff;border-radius:50%;border-top:3px solid #bae6fd}.cloud-1{top:15%;left:-20%;width:120px;height:40px;animation-duration:30s}.cloud-1:before{width:60px;height:60px;top:-30px;left:15px}.cloud-1:after{width:45px;height:45px;top:-20px;right:15px}.cloud-2{top:35%;left:-30%;width:160px;height:50px;animation-duration:22s;animation-delay:5s}.cloud-2:before{width:70px;height:70px;top:-35px;left:25px}.cloud-2:after{width:55px;height:55px;top:-25px;right:25px}.cloud-3{top:8%;left:-40%;width:90px;height:35px;animation-duration:38s;animation-delay:12s}@keyframes duoDrift{0%{transform:translate(-100vw)}to{transform:translate(120vw)}}.journey-duo-ground{position:absolute;bottom:0;left:0;right:0;height:45%;background:#58cc02;border-top:5px solid #46a302;z-index:2;display:flex;flex-direction:column;justify-content:center}.duo-hill{position:absolute;top:-25px;background:#58cc02;border:5px solid #46a302;border-bottom:none;border-radius:100px 100px 0 0;z-index:1}.hill-1{left:10%;width:140px;height:30px}.hill-2{left:45%;width:220px;height:45px;top:-40px;background:#61e002}.hill-3{right:15%;width:160px;height:35px;top:-30px}.journey-duo-pathway{position:relative;width:100%;height:140px;background:#f4f4f5;border-top:6px solid #e4e4e7;border-bottom:6px solid #e4e4e7;z-index:3;display:flex;align-items:center}.pathway-stripes{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 100px,#e4e4e7 100px,#e4e4e7 140px);animation:duoScrollPath .6s linear infinite}@keyframes duoScrollPath{0%{background-position:0 0}to{background-position:-140px 0}}.duo-shop{position:absolute;right:-250px;bottom:20px;width:150px;height:160px;background:#fff;border:4px solid var(--color-navy);border-radius:28px 28px 0 0;box-shadow:0 10px #0f172a26;z-index:5;display:flex;flex-direction:column;align-items:center;animation:duoScrollShop 7.5s linear infinite}.shop-sign{position:absolute;top:-35px;width:70px;height:70px;background:#fff;border:4px solid var(--color-navy);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px #0f172a26;z-index:6;overflow:hidden;padding:8px}.shop-sign img{width:100%;height:100%;object-fit:contain}.shop-gift-icon{font-size:32px}.shop-awning{position:absolute;top:45px;left:-10px;right:-10px;height:28px;background:repeating-linear-gradient(90deg,var(--brand-accent),var(--brand-accent) 20px,#1e293b 20px,#1e293b 40px);border:4px solid var(--color-navy);border-radius:8px;box-shadow:0 6px #0f172a33;z-index:7}.shop-window{position:absolute;bottom:0;left:16px;right:16px;height:65px;background:#bae6fd;border:4px solid var(--color-navy);border-bottom:none;border-radius:12px 12px 0 0}.shop-window:before{content:"";position:absolute;top:8px;left:8px;width:12px;height:35px;background:#fff9;border-radius:6px;transform:rotate(20deg)}.shop-1{animation-delay:0s}.shop-2{animation-delay:1.5s}.shop-3{animation-delay:3s}.shop-4{animation-delay:4.5s}.shop-5{animation-delay:6s}@keyframes duoScrollShop{0%{right:-250px}to{right:calc(100vw + 250px)}}.duo-tree,.duo-bush{position:absolute;right:-150px;border:4px solid var(--color-navy);z-index:4;animation:duoScrollScenery 7.5s linear infinite}.duo-tree{bottom:12px;width:60px;height:110px;background:#22c55e;border-radius:50px;box-shadow:inset -8px -8px #16a34a}.duo-tree:after{content:"";position:absolute;bottom:-12px;left:20px;width:16px;height:16px;background:#b45309;border:4px solid var(--color-navy);border-bottom:none;z-index:-1}.duo-bush{bottom:6px;width:75px;height:45px;background:#10b981;border-radius:50px;box-shadow:inset -6px -6px #059669}.tree-1{animation-delay:.8s;animation-duration:6s}.bush-1{animation-delay:2.2s;animation-duration:5s}.tree-2{animation-delay:3.7s;animation-duration:6.5s;background:#14b8a6;box-shadow:inset -8px -8px #0d9488}.bush-2{animation-delay:5.2s;animation-duration:5.5s;background:#84cc16;box-shadow:inset -6px -6px #65a30d}@keyframes duoScrollScenery{0%{right:-150px}to{right:calc(100vw + 150px)}}.journey-duo-mascot-area{position:absolute;left:15%;bottom:25%;z-index:10;display:flex;flex-direction:column;align-items:center}.journey-duo-mascot-wrapper{transform-origin:bottom center;animation:duoSprint .25s infinite alternate ease-in-out;filter:drop-shadow(0 8px 12px rgba(15,23,42,.15))}@keyframes duoSprint{0%{transform:translateY(0) rotate(8deg) scaleY(.96)}to{transform:translateY(-12px) rotate(12deg) scaleY(1.04)}}.duo-mascot-shadow{position:absolute;bottom:-15px;width:90px;height:18px;background:#0f172a40;border-radius:50%;filter:blur(2px);animation:duoShadow .25s infinite alternate ease-in-out;z-index:-1}@keyframes duoShadow{0%{transform:scale(1);opacity:.3}to{transform:scale(.75);opacity:.15}}.duo-speed-streak{position:absolute;height:6px;background:var(--brand-accent);border:2px solid var(--color-navy);border-radius:6px;z-index:11;animation:duoStreak .4s linear infinite}.streak-1{top:30px;left:-40px;width:50px;animation-delay:0s}.streak-2{top:70px;left:-60px;width:70px;animation-delay:.2s}@keyframes duoStreak{0%{transform:translate(30px);opacity:0}50%{opacity:1}to{transform:translate(-120px);opacity:0}}.duo-dust-puff{position:absolute;bottom:-5px;left:-10px;width:24px;height:24px;background:#fff;border:3px solid var(--color-navy);border-radius:50%;z-index:9;animation:duoDust .5s linear infinite;opacity:0}.puff-1{animation-delay:0s}.puff-2{animation-delay:.15s;left:-25px;bottom:5px}.puff-3{animation-delay:.3s;left:-40px;bottom:0}@keyframes duoDust{0%{transform:translate(0) scale(.5);opacity:1}to{transform:translate(-60px,-15px) scale(1.5);opacity:0}}.journey-duo-header-card{position:absolute;top:32px;left:50%;transform:translate(-50%);background:#fff;border:4px solid var(--color-navy);border-radius:28px;padding:24px 36px;box-shadow:0 10px 0 var(--color-navy);text-align:center;z-index:20;width:90%;max-width:540px;animation:duoHeaderBounce .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes duoHeaderBounce{0%{transform:translate(-50%) translateY(-40px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.journey-duo-header-card h2{font-family:Space Grotesk,sans-serif;color:var(--color-navy);font-size:1.75rem;font-weight:700;margin:0 0 8px}.journey-duo-header-card p{color:var(--text-secondary);font-size:1.05rem;margin:0 0 20px;font-weight:500}.duo-progress-bar-container{width:100%;height:24px;background:#e2e8f0;border:4px solid var(--color-navy);border-radius:100px;overflow:hidden;padding:2px;box-shadow:inset 0 2px 4px #0000001a}.duo-progress-bar-fill{height:100%;background:#58cc02;border-radius:100px;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.duo-progress-bar-highlight{position:absolute;top:4px;left:8px;right:8px;height:4px;background:#fff9;border-radius:100px}.ai-coach-page{min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px);display:flex;flex-direction:column;background:var(--bg-base, #F5F5F0);font-family:Inter,sans-serif}.ai-coach-page.chat-active{height:100vh;height:100dvh;height:var(--visual-viewport-height, 100dvh);overflow:hidden;background:radial-gradient(ellipse 70% 55% at 8% 12%,rgba(212,255,0,.18) 0%,transparent 55%),radial-gradient(ellipse 55% 45% at 92% 80%,rgba(160,200,255,.13) 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 55% 55%,rgba(255,210,160,.09) 0%,transparent 50%),#eef2ea}.ai-coach-landing{background:#fff;overflow-y:auto}.ai-coach-hero{background:#111;padding:80px 20px 72px;text-align:center;position:relative;overflow:hidden;color:#fff}.ai-coach-hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 0%,rgba(212,255,0,.15) 0%,transparent 50%);z-index:0;pointer-events:none}.ai-coach-hero-inner{max-width:720px;margin:0 auto;position:relative;z-index:1}.ai-coach-hero h1{font-size:clamp(2.5rem,6vw,3.5rem);font-family:Space Grotesk,sans-serif;font-weight:700;color:#fff;margin-bottom:20px;letter-spacing:-.04em;line-height:1.1}.ai-coach-hero h1 span{color:var(--brand-accent);text-shadow:0 0 24px rgba(212,255,0,.3)}.ai-coach-hero-sub{font-size:1.125rem;color:#fffc;line-height:1.7;margin-bottom:36px;max-width:640px;margin-left:auto;margin-right:auto;font-weight:400}.ai-coach-hero-sub strong{color:#fff;font-weight:600}.landing-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}.landing-hero-actions .btn-ghost{background:#ffffff14;color:#ffffffe6!important;border:1px solid rgba(255,255,255,.15);padding:16px 36px;font-size:1.05rem;border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-hero-actions .btn-ghost:hover{background:#ffffff26}.landing-hero-note{font-size:.85rem;color:#ffffff80;font-weight:600;letter-spacing:.01em}.sr-only-geo{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.hover-anim-up{opacity:0;transform:translateY(20px);animation:fadeSlideUp .6s ease-out forwards}@keyframes fadeSlideUp{to{opacity:1;transform:translateY(0)}}.landing-section{padding:80px 20px}.landing-section-geo{background:linear-gradient(180deg,#fff,#f8fafc);padding:40px 20px}.geo-highlight-card{background:#fff;border-radius:24px;padding:32px;border:1px solid #e2e8f0;display:flex;gap:24px;align-items:flex-start;box-shadow:0 10px 30px #0000000a}.geo-icon{color:var(--brand-accent);flex-shrink:0;background:#111;padding:12px;border-radius:16px;box-shadow:0 8px 16px #0000001a}.geo-content h3{text-align:left!important;margin-bottom:12px!important;font-size:1.5rem!important;font-family:Space Grotesk,sans-serif}.geo-content p{color:#475569;line-height:1.7;margin:0;font-size:1.05rem}.geo-content strong{color:#111}.landing-section-alt{background:#fafafe}.landing-container{max-width:960px;margin:0 auto}.landing-section h2{font-size:2.2rem;font-weight:800;color:#111;text-align:center;margin-bottom:52px;letter-spacing:-.02em}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing-step{text-align:center;padding:36px 28px;background:#fff;border-radius:20px;border:1px solid #e2e8f0;transition:transform .3s,box-shadow .3s;position:relative}.landing-step:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000000f}.step-number{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;margin-bottom:20px;box-shadow:0 6px 16px #16a34a4d}.landing-step h3{font-size:1.15rem;font-weight:700;color:#1e293b;margin-bottom:10px}.landing-step p{font-size:.95rem;color:#64748b;line-height:1.65}.landing-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing-benefit{text-align:center;padding:40px 28px;background:#fff;border-radius:20px;border:1px solid #e2e8f0;transition:transform .3s,box-shadow .3s}.landing-benefit:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000000f}.landing-benefit svg{color:#16a34a;margin-bottom:18px}.landing-benefit h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:10px}.landing-benefit p{font-size:.9rem;color:#64748b;line-height:1.65}.landing-faq{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.faq-item{border:1px solid #e2e8f0;border-radius:16px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}.faq-item[open]{border-color:#22c55e;box-shadow:0 4px 16px #22c55e1f}.faq-question{padding:20px 24px;font-weight:700;font-size:1rem;color:#1e293b;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;-webkit-user-select:none;user-select:none;transition:color .2s}.faq-item[open] .faq-question{color:#16a34a}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";font-size:1.4rem;font-weight:700;color:#94a3b8;transition:transform .25s,color .2s;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f1f5f9}.faq-item[open] .faq-question:after{transform:rotate(45deg);color:#fff;background:#22c55e}.faq-answer{padding:0 24px 20px;font-size:.95rem;color:#475569;line-height:1.7;animation:fadeInFaq .3s ease}@keyframes fadeInFaq{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.landing-cta{padding:80px 20px;background:linear-gradient(160deg,#061a0e,#0a2918,#0f3d24);text-align:center;color:#fff;position:relative;overflow:hidden}.landing-cta:before{content:"";position:absolute;top:-100px;left:50%;transform:translate(-50%);width:600px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.15) 0%,transparent 70%);pointer-events:none}.landing-cta h2{font-size:2rem;font-weight:800;color:#fff;margin:24px 0 12px;position:relative}.landing-cta p{font-size:1.05rem;color:#ffffffb3;margin-bottom:32px;position:relative}.landing-cta .btn-primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff!important;border:none;padding:16px 40px;font-size:1.05rem;font-weight:700;border-radius:14px;box-shadow:0 8px 24px #16a34a66;position:relative;transition:transform .2s,box-shadow .2s}.landing-cta .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #16a34a8c}.coach-gate{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 20px}.gate-card{max-width:520px;width:100%;text-align:center;padding:50px 40px;border-radius:24px;box-shadow:0 10px 40px #0000000f;background:#fff}.gate-mascot-wrapper{width:120px;height:120px;margin:0 auto 24px;border-radius:50%;background:#eef2ff;padding:10px;box-shadow:0 8px 20px #6366f126}.gate-mascot{width:100%;height:100%;object-fit:contain}.gate-card h1{font-size:2rem;color:var(--text-primary);margin-bottom:16px;font-weight:800}.gate-subtitle{font-size:1.1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:30px}.gate-benefits{display:flex;flex-direction:column;gap:12px;text-align:left;background:#f8fafc;padding:24px;border-radius:16px;margin-bottom:24px}.gate-benefit{display:flex;align-items:center;gap:12px;font-weight:600;color:#334155;font-size:1.05rem}.gate-benefit svg{color:var(--brand-accent)}.gate-alert{background:#fff3cd;color:#856404;padding:14px;border-radius:12px;font-size:.95rem;font-weight:600;margin-bottom:30px}.gate-warning{border-top:6px solid var(--color-coral, #ef4444)}.gate-icon-warning{color:var(--color-coral, #ef4444);margin-bottom:20px}.gate-checklist{text-align:left;margin:0 auto;display:inline-block;color:var(--text-secondary);font-size:1.05rem;line-height:1.8}.coach-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--brand-accent);font-size:1.2rem;font-weight:700}.coach-container{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;margin:0 auto;background:transparent;position:relative}.coach-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffffd1;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.07);box-shadow:0 1px #fff9;z-index:10}.coach-back-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:#64748b;cursor:pointer;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.coach-back-btn:hover{background:#0000000d;color:#1a1a1a}.coach-back-btn:active{background:#0000001a;transform:scale(.93)}.coach-header-identity{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.coach-header-avatar-wrap{position:relative;flex-shrink:0;width:40px;height:40px;background:#ffffffe6;border:1px solid rgba(212,255,0,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000014}.avatar-online-dot{position:absolute;bottom:1px;right:1px;width:10px;height:10px;background:#22c55e;border-radius:50%;border:2px solid white;box-shadow:0 0 6px #22c55e80}.coach-header-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.coach-header-name{font-size:1rem;font-weight:700;color:#1a1a1a;display:flex;align-items:center;gap:6px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beta-badge{background:#0f172a;color:#e2e8f0;font-size:.6rem;padding:2px 6px;border-radius:4px;font-weight:700;letter-spacing:.04em;text-transform:lowercase;flex-shrink:0}.coach-status{font-size:.78rem;color:#22c55e;font-weight:600;letter-spacing:.01em}.coach-reset-btn{display:flex;align-items:center;gap:8px;background:#fffc;color:#ef4444;border:1px solid rgba(0,0,0,.09);padding:8px 12px;border-radius:16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px #0000000f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.coach-reset-btn:hover{background:#fff5f5f2;color:#dc2626;box-shadow:0 3px 12px #00000017}.coach-reset-btn:active{transform:scale(.96)}.coach-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.coach-context-wrapper{position:relative}.coach-context-btn{display:flex;align-items:center;gap:8px;background:#fffc;color:#1a1a1a;border:1px solid rgba(0,0,0,.09);padding:8px 12px;border-radius:16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px #0000000f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.coach-context-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-context-btn:hover{background:#fffffff5;box-shadow:0 3px 12px #00000017}.coach-context-btn:active{transform:scale(.96)}.coach-context-btn.active{background:var(--brand-accent);color:#111;border-color:#d4ff0066;box-shadow:0 2px 10px #d4ff004d}.coach-context-btn.active:hover{background:var(--brand-accent-hover)}.coach-list-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.8);border-radius:18px;box-shadow:0 8px 32px #00000024,0 2px 8px #0000000f;padding:8px;min-width:240px;z-index:100;animation:fadeInUp .15s ease-out}.coach-list-dropdown-label{font-size:.78rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px 8px;margin:0}.coach-list-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border-radius:10px;border:none;background:transparent;font-size:.9rem;font-weight:600;color:#334155;cursor:pointer;text-align:left;transition:background .15s}.coach-list-dropdown-item:hover{background:#f8fafc}.coach-list-dropdown-item.selected{background:#ecfdf5;color:#15803d}.coach-list-dropdown-count{font-size:.78rem;font-weight:500;color:#94a3b8;background:#f1f5f9;padding:2px 7px;border-radius:10px;flex-shrink:0}.coach-list-dropdown-clear{color:#ef4444;margin-top:4px;border-top:1px solid #f1f5f9;border-radius:0 0 8px 8px}.coach-list-dropdown-clear:hover{background:#fff1f2}.coach-messages-wrapper{flex:1;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;align-items:center;position:relative;background:transparent}.coach-messages{display:flex;flex-direction:column;gap:24px;width:100%;max-width:1000px;position:relative;z-index:1}.chat-wrapper{display:flex;gap:16px;max-width:75%;animation:chatMsgIn .28s cubic-bezier(.2,.8,.2,1) both}@keyframes chatMsgIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-wrapper.msg-group-mid,.chat-wrapper.msg-group-end{margin-top:-14px}.chat-wrapper.msg-group-start .chat-avatar,.chat-wrapper.msg-group-mid .chat-avatar{visibility:hidden}.chat-wrapper.assistant.msg-group-start .bubble-text,.chat-wrapper.assistant.msg-group-mid .bubble-text{border-radius:4px 18px 4px 4px!important}.chat-wrapper.user.msg-group-start .bubble-text,.chat-wrapper.user.msg-group-mid .bubble-text{border-radius:18px 4px 4px!important}.chat-wrapper.user{align-self:flex-end;flex-direction:row-reverse}.chat-wrapper.assistant{align-self:flex-start}.chat-avatar{width:36px;height:36px;border-radius:50%;background:#ffffff8c;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.8);padding:3px;box-shadow:0 2px 10px #00000014,inset 0 1px #ffffffe6;flex-shrink:0;margin-top:4px;display:flex;align-items:center;justify-content:center;overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:contain}.chat-bubble{display:flex;flex-direction:column;position:relative}.bubble-text{padding:14px 18px;border-radius:18px;font-size:1rem;line-height:1.6;border:none!important;position:relative}.chat-wrapper.assistant .bubble-text{background:#ffffff85;backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);color:#1a1a1a;font-weight:450;box-shadow:0 4px 24px #00000012,0 1px 3px #0000000a,inset 0 1px #fffffff2,inset 0 -1px #00000008;border:1px solid rgba(255,255,255,.72)!important;border-radius:4px 18px 18px}.chat-wrapper.user .bubble-text{background:#d4ff00c7;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:#111;font-weight:600;box-shadow:0 4px 20px #d4ff0047,0 1px 3px #0000000d,inset 0 1px #ffffff8c,inset 0 -1px #0000000a;border:1px solid rgba(255,255,255,.45)!important;border-radius:18px 4px 18px 18px}.chat-wrapper.assistant .bubble-text:before,.chat-wrapper.user .bubble-text:before{display:none}.typing-indicator{display:flex;gap:6px;padding:14px 20px;background:#ffffff85;backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border-radius:4px 18px 18px;border:1px solid rgba(255,255,255,.72);box-shadow:0 4px 24px #00000012,inset 0 1px #fffffff2;width:fit-content;position:relative}.typing-indicator:before{display:none}.typing-indicator span{width:10px;height:10px;border-radius:50%;background:#cbd5e1;animation:typingBounce 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1);background:var(--brand-accent)}}.suggested-starters-wrapper{margin-top:10px;margin-left:54px;max-width:85%;animation:fadeInUp .5s ease-out}@media(max-width:600px){.suggested-starters-wrapper{margin-left:0;max-width:100%;padding:0 16px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.starters-label{font-size:.95rem;font-weight:600;color:#64748b;margin-bottom:12px}.suggested-starters{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.suggested-starters::-webkit-scrollbar{display:none}@media(min-width:601px){.suggested-starters{flex-wrap:wrap;overflow-x:visible}}.starter-pill{background:#ffffff7a;border:1px solid rgba(255,255,255,.72)!important;padding:11px 16px;border-radius:20px;font-size:.9rem;font-weight:600;color:#1a1a1a;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 12px #0000000f,inset 0 1px #ffffffe6;display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);flex-shrink:0;scroll-snap-align:start;white-space:nowrap}.starter-pill:hover{background:#fffffff5;transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.starter-pill:active{transform:scale(.97);box-shadow:0 1px 6px #00000014}.starter-pill-list{background:var(--brand-accent);border-color:#111!important;color:#111}.starter-pill-list:hover{background:var(--brand-accent-hover);color:#111}.product-suggestions{margin-top:16px}.products-label{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:800;color:#1e293b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.product-card-large{display:flex;flex-direction:column;background:#ffffffe6;border:1px solid rgba(0,0,0,.07);border-radius:20px;overflow:hidden;text-decoration:none;color:#111;transition:all .18s ease;box-shadow:0 4px 20px #00000014,0 1px 4px #0000000a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.product-card-large:hover{transform:translateY(-2px);box-shadow:0 8px 28px #0000001f,0 2px 6px #0000000f}.product-img-large{width:100%;aspect-ratio:4/3;background:#f8fafc;padding:16px;display:flex;align-items:center;justify-content:center}.product-img-large img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}.product-info-large{padding:16px;display:flex;flex-direction:column;flex:1}.product-title-large{font-size:1.05rem;font-weight:700;line-height:1.4;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-meta-large{display:flex;justify-content:space-between;align-items:center;margin-top:auto;margin-bottom:12px}.product-store-badge{background:#0f172a;color:#fff;padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:700;text-transform:uppercase}.product-price-large{font-weight:800;font-size:1.15rem;color:#111}.product-cta{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--brand-accent);color:#111;padding:10px;border:none;border-radius:12px;font-weight:700;font-size:.9rem;box-shadow:0 2px 8px #d4ff0059;transition:all .15s ease}.product-card-large:hover .product-cta{background:var(--brand-accent-hover);box-shadow:0 3px 12px #d4ff0080}.product-card-wrapper{display:flex;flex-direction:column}.product-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:11px;border:none;border-top:1px solid rgba(0,0,0,.06);border-radius:0 0 20px 20px;background:#ffffffb3;color:#333;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;position:relative;z-index:1}.product-add-btn:hover{background:#f8ffc8cc;color:#111}.product-add-btn.product-added{background:var(--brand-accent);color:#111;cursor:default}.list-picker-modal{max-width:400px}.list-picker-options{display:flex;flex-direction:column;gap:8px}.list-picker-option{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#ffffffd9;cursor:pointer;transition:all .15s ease;width:100%;text-align:left;box-shadow:0 2px 8px #0000000d}.list-picker-option:hover{background:#f8ffc8cc;transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.list-picker-option:active{transform:scale(.98)}.list-picker-name{font-weight:700;color:#1e293b;font-size:.95rem}.list-picker-count{font-size:.8rem;color:#94a3b8;font-weight:600}.coach-input-area{background:transparent;padding:24px 24px calc(24px + env(safe-area-inset-bottom));position:sticky;bottom:0;z-index:20;display:flex;flex-direction:column;align-items:center;background:linear-gradient(to bottom,#eef2ea00,#eef2eae0 35%,#eef2ea);pointer-events:none}.coach-input-container{pointer-events:auto;width:100%;max-width:1000px;display:flex;flex-direction:column;align-items:center}.coach-input-box{display:flex;align-items:flex-end;gap:12px;background:#ffffffe0;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.85);border-radius:28px;padding:8px 10px 8px 22px;transition:all .2s ease;width:100%;box-shadow:0 4px 24px #0000001a,0 1px 4px #0000000f,inset 0 1px #fffffff2}.coach-input-box:focus-within{background:#fffffff5;box-shadow:0 4px 28px #0000001f,0 0 0 3px #d4ff0040,inset 0 1px #fffffff2;border-color:#d4ff0080}.coach-textarea{flex:1;border:none;background:transparent;font-size:1.1rem;font-family:inherit;color:#1e293b;resize:none;outline:none;padding:12px 0;max-height:150px;line-height:1.5}.coach-textarea::placeholder{color:#94a3b8}.coach-send-button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:#0000000f;color:#0000004d;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:not-allowed;transition:all .18s cubic-bezier(.34,1.56,.64,1)}.coach-send-button.active{background:var(--brand-accent);color:#111;cursor:pointer;border-color:#d4ff0066;box-shadow:0 2px 12px #d4ff0066}.coach-send-button.active:hover{transform:scale(1.06);box-shadow:0 4px 18px #d4ff0080}.coach-send-button.active:active{transform:scale(.94);box-shadow:0 1px 6px #d4ff004d}.coach-footer-note{text-align:center;font-size:.8rem;color:#64748b;margin-top:16px;font-weight:500;opacity:.8}@media(min-width:1200px){.coach-container{max-width:1200px;border-radius:0}.coach-messages-wrapper{padding:32px 48px}.coach-input-area{padding:20px 48px}.products-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media(max-width:768px){.coach-container{border:none}.coach-header{padding:8px 12px;gap:6px}.coach-header-name{font-size:.92rem}.coach-status{font-size:.72rem}.coach-header-actions{gap:4px}.coach-context-btn{padding:8px;font-size:.78rem;max-width:none;width:36px;height:36px;border-radius:50%;justify-content:center}.coach-context-btn span{display:none}.coach-reset-btn{padding:8px;font-size:.78rem;border-radius:50%;width:36px;height:36px;justify-content:center}.coach-reset-btn span{display:none}.coach-list-dropdown{left:0;right:auto;max-width:calc(100vw - 32px)}.chat-wrapper{max-width:92%}.chat-wrapper.assistant{max-width:95%}.suggested-starters-wrapper{margin-left:0;max-width:100%}.suggested-starters{gap:8px}.starter-pill{padding:10px 14px;font-size:.9rem}.products-grid{grid-template-columns:1fr}.bubble-text{font-size:.95rem;padding:12px 16px}.coach-messages-wrapper{padding:16px 12px}.coach-input-area{padding:10px 12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}body.keyboard-open .coach-input-area{padding-bottom:max(12px,env(safe-area-inset-bottom))}.coach-input-box{padding:6px 8px 6px 16px;border-radius:22px}.coach-textarea{font-size:16px;padding:10px 0}.coach-send-button{width:44px;height:44px}.coach-footer-note{display:none}.gate-card{padding:30px 20px}.gate-mascot-wrapper{width:100px;height:100px}.landing-hero{padding:48px 16px 40px}.landing-hero h1{font-size:2rem}.landing-hero-sub{font-size:1.05rem}.landing-hero-mascot{width:90px;height:90px}.landing-hero-actions{flex-direction:column;align-items:center;gap:10px;width:100%}.landing-hero-actions .hero-btn,.landing-hero-actions .btn-ghost{width:100%;max-width:320px;padding:14px 24px!important;font-size:.95rem!important}.ai-coach-hero{padding:48px 16px 40px}.ai-coach-hero h1{font-size:clamp(1.75rem,7vw,2.5rem)}.ai-coach-hero-sub{font-size:.95rem}.landing-section{padding:48px 16px}.landing-section h2{font-size:1.5rem;margin-bottom:32px}.landing-steps,.landing-benefits{grid-template-columns:1fr;gap:16px}.landing-step,.landing-benefit{padding:24px 20px}.landing-cta{padding:48px 16px}.landing-cta h2{font-size:1.4rem}.faq-question{font-size:.9rem;padding:14px 16px}.faq-answer{padding:0 16px 14px;font-size:.85rem}}.ai-coach-page.swiper-mode-active{background:#020617}.ai-coach-page.swiper-mode-active .coach-container{padding:0;max-width:100%}.ai-coach-page.swiper-mode-active .coach-header,.ai-coach-page.swiper-mode-active .coach-messages-wrapper,.ai-coach-page.swiper-mode-active .coach-input-area{display:none!important}.magic-entering-bg{background:#e0f2fe!important}.magic-onboarding-overlay{position:fixed;inset:0;background:#e0f2fe;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;padding:24px;overflow:hidden}.magic-duo-sky{position:absolute;top:0;left:0;right:0;height:55%;pointer-events:none;z-index:1;overflow:hidden}.magic-duo-ground{position:absolute;bottom:0;left:0;right:0;height:45%;background:#58cc02;border-top:6px solid #46a302;z-index:2;overflow:hidden}.magic-onboarding-card{position:relative;z-index:10;background:#fff;border:4px solid #0f172a;border-radius:32px;padding:40px 48px;box-shadow:0 16px #0f172a;max-width:540px;width:100%;text-align:center;animation:duoModalPop .5s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes duoModalPop{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.magic-mascot-stage{margin:0 auto 28px;width:140px;height:140px;background:#f1f5f9;border:4px solid #0f172a;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 6px #00000014,0 8px #0f172a;animation:duoStageFloat 2s infinite alternate ease-in-out}.magic-mascot-stage svg{width:85px!important;height:auto!important;display:block}@keyframes duoStageFloat{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.magic-onboarding-card h2{font-family:Space Grotesk,sans-serif;color:#0f172a;font-size:2.25rem;font-weight:800;margin:0 0 12px;letter-spacing:-.03em}.magic-onboarding-card p{color:#475569;font-size:1.15rem;font-weight:600;margin:0 0 32px;line-height:1.5}.magic-progress-container{width:100%;height:28px;background:#e2e8f0;border:4px solid #0f172a;border-radius:100px;padding:3px;box-shadow:inset 0 2px 4px #00000026;overflow:hidden}.magic-progress-fill{height:100%;background:#58cc02;border-radius:100px;width:0%;animation:magicProgressAnim 2.5s linear forwards;position:relative}.magic-progress-highlight{position:absolute;top:4px;left:8px;right:8px;height:6px;background:#ffffffa6;border-radius:100px}@keyframes magicProgressAnim{0%{width:5%}20%{width:35%}50%{width:65%}80%{width:90%}to{width:100%}}.magic-duo-tip{position:relative;z-index:10;margin-top:36px;background:#0f172a;color:#fff;border:4px solid #0f172a;border-radius:20px;padding:16px 24px;font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:12px;box-shadow:0 8px #0f172a66;animation:duoTipFade .6s ease-out .3s both;max-width:540px;width:100%}@keyframes duoTipFade{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.magic-tip-icon{font-size:1.5rem;background:#58cc02;padding:6px 10px;border-radius:12px;border:2px solid #ffffff;box-shadow:0 4px #46a302;flex-shrink:0}@media(max-width:600px){.magic-onboarding-card{padding:32px 24px;border-radius:28px}.magic-onboarding-card h2{font-size:1.8rem}.magic-onboarding-card p{font-size:1.05rem;margin-bottom:24px}.magic-mascot-stage{width:110px;height:110px;margin-bottom:20px}.magic-mascot-stage svg{width:68px!important;height:auto!important}.magic-duo-tip{padding:14px 18px;font-size:.85rem;margin-top:24px}}
