:root{--p950:#2b0b63;--p900:#3c117e;--p800:#5220b7;--p700:#652de6;--p600:#7b46ff;--p500:#925fff;--p200:#d9c8ff;--p100:#eee7ff;--gold:#ffbf2f;--gold2:#ffd86b;--ink:#21193a;--muted:#7d7593;--bg:#f6f2ff;--white:#fff;--line:rgba(64,30,125,.09);--shadow:0 18px 50px rgba(71,31,145,.14)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#eee8ff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}body{min-height:100dvh;display:flex;justify-content:center}button,input{font:inherit}.app-shell{width:100%;min-height:100dvh;background:linear-gradient(180deg,#fbfaff,#f4efff);display:flex;justify-content:center}.screen{display:none;width:min(100%,430px);min-height:100dvh;position:relative;overflow:hidden}.screen.active{display:flex}.welcome-screen{padding:calc(env(safe-area-inset-top) + 24px) 22px calc(env(safe-area-inset-bottom) + 20px);flex-direction:column;align-items:center;background:radial-gradient(circle at 12% 24%,rgba(126,75,255,.18),transparent 29%),radial-gradient(circle at 90% 62%,rgba(255,191,47,.12),transparent 24%),linear-gradient(180deg,#fdfcff,#f4efff)}.orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.orb-a{width:210px;height:210px;background:rgba(122,70,255,.09);top:125px;left:-110px}.orb-b{width:180px;height:180px;background:rgba(255,192,49,.07);right:-85px;bottom:190px}.welcome-brand{width:100%;text-align:center;z-index:2}.brand-lockup{display:inline-flex;align-items:flex-start;gap:7px}.brand-name{font-size:56px;line-height:1;font-weight:950;letter-spacing:-4px;color:var(--p900)}.brand-spark{color:var(--gold);font-size:22px;transform:translateY(-4px)}.soft-pill,.mini-badge,.plan-chip{display:inline-flex;align-items:center;border-radius:999px;background:rgba(123,70,255,.09);color:var(--p800);font-weight:800}.soft-pill{padding:9px 14px;margin-top:10px;font-size:14px}.welcome-art{width:100%;height:330px;position:relative;display:grid;place-items:center;margin-top:8px}.welcome-art img{width:290px;height:290px;object-fit:cover;border-radius:50px;box-shadow:var(--shadow);border:1px solid rgba(102,45,230,.08)}.hello-chip,.dots-chip{position:absolute;z-index:3;font-weight:900;border-radius:22px;box-shadow:0 12px 26px rgba(64,25,130,.12)}.hello-chip{right:6px;top:44px;background:#fff;border:2px solid var(--p200);padding:11px 15px;font-size:23px;color:var(--p900);transform:rotate(-4deg)}.dots-chip{left:10px;top:76px;background:linear-gradient(135deg,#b69bff,#8b5cff);color:#fff;padding:9px 14px;font-size:19px}.welcome-copy{text-align:center;z-index:2}.welcome-copy h1{font-size:42px;line-height:.98;letter-spacing:-2px;margin:0;color:var(--p950)}.welcome-copy h1 span{color:var(--p600);position:relative}.welcome-copy h1 span:after{content:"";position:absolute;left:7%;right:7%;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--gold2));bottom:-9px}.welcome-copy p{font-size:16px;line-height:1.48;color:var(--muted);max-width:350px;margin:24px auto 0}.welcome-actions{width:100%;margin-top:24px;z-index:2}.btn{width:100%;border:0;border-radius:20px;min-height:60px;font-weight:900;cursor:pointer}.btn-primary{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;background:linear-gradient(135deg,var(--p600),var(--p800));color:#fff;font-size:19px;box-shadow:0 16px 34px rgba(98,45,230,.32)}.btn-primary span:first-child{color:var(--gold2)}.btn-primary b{font-size:31px}.btn-ghost{background:transparent;color:var(--p800);min-height:44px;margin-top:8px}.version{font-size:11px;color:#9f97af;margin:9px 0 0;z-index:2}
.app-screen{flex-direction:column;background:linear-gradient(180deg,#fbfaff 0%,#f4efff 100%);padding:calc(env(safe-area-inset-top) + 12px) 16px calc(env(safe-area-inset-bottom) + 92px)}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.topbar h2{font-size:24px;margin:2px 0 0;letter-spacing:-.7px}.eyebrow{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.11em;font-weight:900;color:#8e80ae}.avatar-btn,.profile-avatar{border:0;background:linear-gradient(135deg,var(--p600),var(--p800));color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(93,43,200,.24)}.avatar-btn{width:42px;height:42px;border-radius:15px}.page{display:none;animation:fade .2s ease}.page.active{display:block}.hero-panel{background:linear-gradient(135deg,#5a27c6,#8350ff);border-radius:28px;min-height:220px;padding:22px;color:#fff;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;overflow:hidden;position:relative;box-shadow:0 20px 45px rgba(83,34,180,.27)}.hero-panel:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.08);right:-70px;top:-70px}.hero-copy{z-index:2}.hero-copy .mini-badge{background:rgba(255,255,255,.13);color:#fff;padding:7px 10px;font-size:10px}.hero-copy h3{font-size:28px;line-height:1.02;margin:12px 0 8px;letter-spacing:-1px}.hero-copy p{font-size:13px;line-height:1.4;margin:0 0 15px;color:#eee7ff}.hero-cta{border:0;background:#fff;color:var(--p800);font-weight:900;border-radius:13px;padding:11px 13px}.hero-panel img{width:145px;height:170px;object-fit:cover;border-radius:30px;justify-self:end;z-index:2;box-shadow:0 10px 30px rgba(38,9,94,.25)}.section-head{display:flex;align-items:end;justify-content:space-between;margin:20px 3px 10px}.section-head h3{margin:3px 0 0;font-size:20px}.text-btn{border:0;background:transparent;color:var(--p700);font-weight:900;font-size:12px}.lesson-card{display:grid;grid-template-columns:52px 1fr 42px;gap:11px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:13px;margin-bottom:10px;box-shadow:0 9px 24px rgba(60,26,120,.06)}.lesson-icon{width:52px;height:52px;border-radius:17px;background:var(--p100);display:grid;place-items:center;font-size:24px}.lesson-info{display:flex;flex-direction:column;gap:3px}.lesson-info strong{font-size:14px}.lesson-info span{font-size:11px;color:var(--muted)}.lesson-card>b{color:var(--p700);font-size:12px;text-align:right}.progress,.big-progress{height:6px;background:#ede8f6;border-radius:999px;overflow:hidden}.progress i,.big-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--p500),var(--p700));border-radius:inherit}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.stats-row div{background:#fff;border:1px solid var(--line);border-radius:18px;text-align:center;padding:13px 6px}.stats-row strong{display:block;font-size:19px;color:var(--p800)}.stats-row span{font-size:10px;color:var(--muted)}
.conversation-head-card,.panel{background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:0 10px 25px rgba(60,24,125,.06)}.conversation-head-card{display:flex;justify-content:space-between;align-items:center;padding:13px 14px}.conversation-head-card strong{display:block;margin-top:3px}.segmented{display:flex;background:#f0eaff;padding:4px;border-radius:12px}.segment{border:0;background:transparent;color:#8c7cad;font-weight:900;font-size:12px;padding:7px 10px;border-radius:9px}.segment.active{background:#fff;color:var(--p700);box-shadow:0 4px 10px rgba(71,31,145,.1)}.coach-card{text-align:center;padding:15px 15px 12px}.coach-avatar{width:176px;height:176px;margin:0 auto 12px;position:relative;border-radius:38px;overflow:hidden;box-shadow:0 16px 35px rgba(77,31,160,.15);transition:.2s}.coach-avatar img{width:100%;height:100%;object-fit:cover}.state-dot{position:absolute;width:16px;height:16px;right:12px;bottom:12px;border:3px solid #fff;border-radius:50%;background:#63d08f}.coach-state{font-weight:900;color:var(--p900)}.coach-card p{font-size:12px;line-height:1.4;color:var(--muted);margin:6px auto 0;max-width:330px}.state-listening{animation:pulseAvatar .8s infinite}.state-thinking img{filter:saturate(.75)}.state-speaking{animation:talkBob .45s infinite alternate}.state-happy{transform:rotate(-1deg)}.chat-card{margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:21px;padding:11px;box-shadow:0 10px 25px rgba(60,24,125,.06)}.message{padding:11px 12px;border-radius:16px;margin-bottom:9px}.message-label{font-size:9px;letter-spacing:.1em;font-weight:900;text-transform:uppercase;opacity:.65}.message p{font-size:13px;line-height:1.4;margin:4px 0 0}.user-message{margin-left:34px;background:#ede7ff;color:#4b2b83}.talki-message{margin-right:16px;background:linear-gradient(135deg,#5e2bcf,#8653ff);color:#fff}.listen-btn{margin-top:8px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.13);color:#fff;border-radius:10px;padding:6px 9px;font-size:11px;font-weight:900}.feedback{display:flex;gap:8px;background:#fff8e8;border:1px solid #ffe4a0;color:#755216;border-radius:14px;padding:9px}.feedback p{margin:2px 0 0;font-size:11px}.hidden{display:none!important}.composer{text-align:center;padding-top:10px}.typing-row{display:flex;gap:8px}.typing-row input{flex:1;border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px 13px;outline:none}.send-btn{width:45px;border:0;border-radius:15px;background:#fff;color:var(--p700);font-size:20px;box-shadow:0 8px 18px rgba(63,26,125,.08)}.mic-btn{width:70px;height:70px;border:0;border-radius:50%;margin:11px auto 5px;background:linear-gradient(145deg,#8b59ff,#5825c8);box-shadow:0 15px 30px rgba(82,35,190,.3);position:relative;color:#fff;font-size:26px}.mic-ring{position:absolute;inset:-6px;border:2px solid rgba(119,68,240,.22);border-radius:50%}.mic-btn.listening .mic-ring{animation:ringPulse 1s infinite}.mic-caption{display:block;font-size:10px;color:#9187a7;font-weight:800}
.feature-banner{background:linear-gradient(135deg,#6330cf,#925fff);color:#fff;border-radius:26px;padding:19px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 40px rgba(79,34,173,.22)}.feature-banner h3{font-size:25px;margin:8px 0 6px}.feature-banner p{font-size:12px;line-height:1.4;margin:0;color:#eee8ff;max-width:240px}.feature-banner .mini-badge{background:rgba(255,255,255,.13);color:#fff;padding:6px 9px;font-size:9px}.banner-icon{font-size:45px}.category-chips{display:flex;gap:7px;overflow:auto;padding:15px 0 11px}.category-chips button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:8px 12px;white-space:nowrap;font-size:11px;font-weight:800}.category-chips button.active{background:var(--p800);color:#fff}.course-card{display:grid;grid-template-columns:66px 1fr 18px;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:21px;padding:12px;margin-bottom:10px;box-shadow:0 9px 24px rgba(60,26,120,.06)}.course-visual{height:66px;border-radius:18px;background:linear-gradient(145deg,#ede5ff,#fff5d8);display:grid;place-items:center;font-size:31px}.course-card h3{font-size:15px;margin:3px 0}.course-card p{font-size:11px;color:var(--muted);margin:0 0 7px}.course-card>b{color:#9b90b0;font-size:23px}
.progress-hero{background:linear-gradient(135deg,#5423bd,#8956ff);color:#fff;border-radius:26px;padding:20px;box-shadow:0 18px 40px rgba(79,34,173,.22)}.progress-hero .eyebrow{color:#d9caff}.progress-hero h3{font-size:27px;margin:7px 0 4px}.progress-hero p{font-size:12px;color:#eae1ff}.week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:17px}.week-row span{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:10px;font-weight:900}.week-row span.done{background:#fff;color:var(--p800)}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}.metrics-grid div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;text-align:center}.metrics-grid span{font-size:21px}.metrics-grid strong{display:block;color:var(--p800);font-size:22px;margin:3px 0}.metrics-grid small{color:var(--muted)}.panel{padding:15px;margin-top:11px}.panel .section-head{margin:0 0 10px}.panel p{font-size:11px;color:var(--muted);margin:9px 0 0}.big-progress{height:9px}.achievement{display:grid;grid-template-columns:42px 1fr 38px;gap:9px;align-items:center;margin-top:9px}.achievement>span{width:42px;height:42px;border-radius:15px;background:#fff6dd;display:grid;place-items:center}.achievement p{margin:3px 0 0}.achievement b{color:var(--p700);font-size:11px}
.premium-hero{background:linear-gradient(145deg,#351067,#6b29c9 65%,#7e3df1);border-radius:28px;padding:25px 20px;color:#fff;text-align:center;box-shadow:0 22px 46px rgba(51,16,108,.3);position:relative;overflow:hidden}.premium-hero:after{content:"";position:absolute;width:170px;height:170px;background:rgba(255,216,107,.08);border-radius:50%;right:-70px;top:-70px}.premium-hero .eyebrow{color:#e7d9ff}.crown{display:grid;place-items:center;width:56px;height:56px;border-radius:19px;margin:0 auto 10px;background:linear-gradient(145deg,var(--gold2),var(--gold));color:#5a3300;font-size:31px;box-shadow:0 12px 25px rgba(255,191,47,.25)}.premium-hero h3{font-size:30px;margin:8px 0}.premium-hero p{font-size:13px;line-height:1.45;color:#eadfff;max-width:310px;margin:0 auto}.price{margin:18px 0}.price strong{font-size:34px}.price span{color:#d9caff}.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#543100;min-height:52px;box-shadow:0 12px 26px rgba(255,191,47,.25)}.benefits{background:#fff;border:1px solid var(--line);border-radius:23px;padding:8px 14px;margin-top:12px}.benefits>div{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.benefits>div:last-child{border-bottom:0}.benefits>div>span{width:42px;height:42px;border-radius:15px;background:var(--p100);display:grid;place-items:center;color:var(--p700);font-weight:900}.benefits p{margin:0}.benefits strong{display:block;font-size:13px}.benefits small{color:var(--muted)}
.profile-card{text-align:center;background:linear-gradient(135deg,#5b27c4,#8751ff);color:#fff;border-radius:27px;padding:22px;box-shadow:0 18px 40px rgba(79,34,173,.22)}.profile-avatar{width:76px;height:76px;border-radius:24px;font-size:26px;background:#fff;color:var(--p800)}.profile-card h3{font-size:24px;margin:10px 0 3px}.profile-card p{font-size:12px;color:#e7ddff;margin:0 0 10px}.plan-chip{padding:7px 10px;background:rgba(255,255,255,.14);color:#fff;font-size:10px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:22px;margin-top:12px;overflow:hidden}.settings-card button{width:100%;border:0;background:#fff;display:grid;grid-template-columns:42px 1fr 18px;gap:10px;align-items:center;text-align:left;padding:13px;border-bottom:1px solid var(--line)}.settings-card button:last-child{border-bottom:0}.settings-card button>span{width:42px;height:42px;border-radius:14px;background:var(--p100);display:grid;place-items:center}.settings-card strong{display:block;font-size:13px}.settings-card small{color:var(--muted)}.settings-card b{color:#9a8fac;font-size:22px}
.bottom-nav{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 10px);height:70px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid rgba(73,32,145,.08);border-radius:24px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:5px 7px;box-shadow:0 15px 38px rgba(56,20,119,.14);z-index:10}.nav-item{border:0;background:transparent;color:#9b92ad;display:flex;flex-direction:column;align-items:center;gap:3px;font-weight:800}.nav-item span{font-size:20px;line-height:1}.nav-item small{font-size:9px}.nav-item.active{color:var(--p700)}.nav-item.active span{width:35px;height:30px;border-radius:12px;background:var(--p100);display:grid;place-items:center}.toast{position:fixed;left:50%;transform:translateX(-50%) translateY(18px);bottom:26px;width:min(88%,360px);background:#2d214c;color:#fff;border-radius:16px;padding:12px 15px;font-size:13px;opacity:0;pointer-events:none;transition:.22s;text-align:center;box-shadow:0 18px 40px rgba(31,18,70,.28);z-index:30}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@keyframes fade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pulseAvatar{0%,100%{box-shadow:0 16px 35px rgba(77,31,160,.15)}50%{box-shadow:0 16px 42px rgba(255,191,47,.34)}}@keyframes talkBob{from{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes ringPulse{0%{transform:scale(.92);opacity:1}100%{transform:scale(1.18);opacity:0}}
@media(min-width:431px){body{padding:24px}.screen{min-height:860px;border-radius:36px;box-shadow:0 30px 80px rgba(55,26,110,.18)}.welcome-screen,.app-screen{min-height:860px}}
