@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{color:#29262b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#29262b;--muted:#847e80;--line:#e8e2dc;background:#f3f0eb;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #df7566}#root{min-height:100vh}:root{--ink:#273238;--muted:#7d898d;--line:#e8edf0;--paper:#f8fafb;--card:#fff;--violet:#7656ed;--violet-dark:#5f43dd;--mint:#66c6b9;--coral:#ff8e78;--sky:#dff4ff;--shadow:0 18px 50px #303a4414}*{box-sizing:border-box}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100dvh;color:var(--ink);background:var(--paper)}.main-content{width:min(100%,760px);min-height:calc(100dvh - 76px);padding:0 20px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.conversation-main{width:100%;max-width:none;padding:0}.page{min-height:100dvh;padding:24px 0 20px}.eyebrow{color:#a0aab0;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.button{cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 19px;font-size:13px;font-weight:800;display:inline-flex}.button.primary,.learning-primary-action{color:#fff;background:var(--violet);box-shadow:0 10px 20px #7656ed38}.button.outline{border:1px solid var(--line);color:var(--ink);background:#fff}.button.full{width:100%}.topbar{background:var(--paper);justify-content:space-between;align-items:center;width:min(100%,760px);height:72px;margin:0 auto;padding:0 20px;display:flex}.brand{color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:15px;font-weight:900;display:inline-flex}.brand-mark{color:#fff;background:var(--violet);border-radius:10px;place-items:center;width:30px;height:30px;font:700 18px Georgia,serif;display:grid}.top-actions{align-items:center;gap:10px;display:flex}.streak{color:#6f7f85;font-size:10px;font-weight:700}.streak i{background:var(--coral);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.profile,.home-profile{color:#fff;cursor:pointer;background:#303b42;border:0;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid}.home-topline{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.home-greeting{color:#7e8b90;margin-bottom:15px;font-size:12px;font-weight:700;display:block}.home-topline h1{color:var(--ink);letter-spacing:-.05em;margin:0;font:700 clamp(29px,8vw,43px)/1.05 DM Sans,sans-serif}.home-topline h1 em{color:var(--violet);font-style:normal}.home-meta{gap:8px;margin:18px 0 22px;display:flex}.level-pill,.streak-pill{color:#68777c;background:#eef2f4;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:800}.streak-pill{color:#c06b59;background:#fff0eb}.today-lesson-card{color:#fff;min-height:252px;box-shadow:var(--shadow);background:linear-gradient(135deg,#8063f1,#ae7cf0 58%,#dfa0ee);border-radius:30px;justify-content:space-between;align-items:stretch;padding:25px;display:flex;position:relative;overflow:hidden}.today-lesson-card:after{content:"";border:28px solid #ffffff21;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-55px;right:-34px}.lesson-card-copy{z-index:1;flex-direction:column;align-items:flex-start;max-width:75%;display:flex;position:relative}.lesson-card-badge{color:#eee8ff;letter-spacing:.14em;font-size:9px;font-weight:900}.today-lesson-card h2{letter-spacing:-.06em;margin:20px 0 10px;font-size:clamp(27px,7vw,39px);line-height:1.04}.today-lesson-card h2 em{color:#fff2a4;font-style:normal}.today-lesson-card p{color:#f0eaff;margin:0;font-size:12px;line-height:1.5}.light-button{color:#5d43d4;background:#fff;min-width:132px;margin-top:auto}.today-lesson-mark{z-index:1;color:#fff;background:#ffffff26;border:1px solid #ffffff73;border-radius:20px;flex-direction:column;flex:0 0 66px;justify-content:center;align-items:center;width:66px;height:66px;margin-top:3px;display:flex;position:relative}.today-lesson-mark span{font-size:28px;font-weight:900;line-height:.9}.today-lesson-mark small{font-size:9px;font-weight:800}.today-lesson-mark i{color:#fff2a4;margin-top:8px;font-size:15px;font-style:normal}.today-review-link{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;margin:14px 0;padding:18px 2px;display:flex}.today-review-link span,.today-review-link small{gap:5px;display:grid}.today-review-link b{font-size:15px}.today-review-link strong{color:var(--violet)}.today-review-link small{color:#879399;font-size:11px}.today-alternates{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.today-alternates button{border:1px solid var(--line);min-height:96px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:18px;gap:8px;padding:16px;display:grid}.today-alternates span{font-size:15px;font-weight:900}.today-alternates b{color:#89969b;font-size:10px}.today-focus{margin-top:30px}.section-title{justify-content:space-between;align-items:end;display:flex}.section-title h2{letter-spacing:-.04em;margin:5px 0 0;font-size:21px}.section-title>span{color:#9aa5aa;font-size:11px;font-weight:800}.focus-row-list{background:#fff;border-radius:18px;margin-top:13px;padding:3px 15px}.focus-row{color:#758187;border-bottom:1px solid #f0f2f3;align-items:center;gap:10px;min-height:49px;font-size:12px;display:flex}.focus-row:last-child{border-bottom:0}.focus-row>span{color:#adb7bb;background:#f1f4f5;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.focus-row.done{color:var(--ink);font-weight:700}.focus-row.done>span{color:#fff;background:var(--mint)}.focus-row b{color:var(--mint);margin-left:auto;font-size:10px}.bottom-nav{z-index:20;width:min(100%,760px);height:calc(75px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff0;grid-template-columns:repeat(4,1fr);margin:auto;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #2c38400d}.nav-item{color:#a1acb1;cursor:pointer;background:0 0;border:0;place-items:center;gap:2px;font-size:10px;font-weight:700;display:grid;position:relative}.nav-icon{border-radius:10px;place-items:center;width:29px;height:27px;font-size:19px;display:grid}.nav-item.active{color:var(--violet)}.nav-item.active .nav-icon{color:#fff;background:var(--violet)}.nav-dot{background:var(--coral);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:27%}.scenario-browser-backdrop{z-index:25;background:var(--paper);position:fixed;inset:0;overflow-y:auto}.scenario-browser{min-height:100dvh;color:var(--ink);background:var(--paper)}.scenario-browser-header{z-index:2;height:calc(72px + env(safe-area-inset-top));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fafbed;justify-content:space-between;align-items:end;padding:0 20px 13px;display:flex;position:sticky;top:0}.scenario-browser-header>button{color:#748187;cursor:pointer;background:0 0;border:0;place-items:center;width:34px;height:34px;font-size:24px;display:grid}.scenario-browser-header div{align-items:center;gap:9px;display:flex}.scenario-browser-header span{font-size:17px;font-weight:900}.scenario-browser-header strong{color:var(--violet);background:#eeeaff;border-radius:8px;padding:6px 8px;font-size:9px}.scenario-browser-content{width:min(760px,100% - 40px);padding:28px 0 calc(34px + env(safe-area-inset-bottom));margin:auto}.scenario-browser-content h1{letter-spacing:-.07em;margin:8px 0 24px;font-size:clamp(29px,8vw,45px);line-height:1.04}.scenario-browser-content h1 em{color:var(--violet);font-style:normal}.scenario-featured{color:#fff;cursor:pointer;background:#33484a;border-radius:27px;align-items:end;min-height:286px;display:flex;position:relative;overflow:hidden}.scenario-featured img{object-fit:cover;opacity:.65;width:100%;height:100%;position:absolute;inset:0}.scenario-featured:after{content:"";background:linear-gradient(#0000,#121e23e6);position:absolute;inset:25% 0 0}.scenario-featured>div{z-index:1;gap:7px;width:100%;padding:22px;display:grid;position:relative}.scenario-featured span{color:#e5dfff;letter-spacing:.12em;font-size:9px;font-weight:900}.scenario-featured strong{letter-spacing:-.05em;font-size:25px;line-height:1.08}.scenario-featured p{color:#dce6e8;margin:0 0 6px;font-size:11px}.scenario-featured button{color:#fff;background:var(--violet);cursor:pointer;border:0;border-radius:13px;min-height:44px;font-size:12px;font-weight:800}.scenario-category{margin-top:28px}.scenario-category-heading{justify-content:space-between;align-items:end;margin-bottom:11px;display:flex}.scenario-category-heading h2{letter-spacing:-.05em;margin:0;font-size:21px}.scenario-category-heading span{color:#9aa6aa;font-size:10px}.scenario-browser-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.scenario-browser-card{color:#fff;cursor:pointer;text-align:left;background:#546c6c;border:0;border-radius:21px;min-height:196px;padding:0;display:grid;position:relative;overflow:hidden}.scenario-browser-image{position:absolute;inset:0}.scenario-browser-image:after{content:"";background:linear-gradient(#0000,#0f1e21e0);position:absolute;inset:25% 0 0}.scenario-browser-image img{object-fit:cover;opacity:.72;width:100%;height:100%}.scenario-browser-copy{z-index:1;align-content:end;gap:4px;height:100%;padding:15px;display:grid;position:relative}.scenario-browser-copy em{color:#f6d4cc;font-size:9px;font-style:normal;font-weight:900}.scenario-browser-copy strong{letter-spacing:-.05em;font-size:19px}.scenario-browser-copy small{color:#e3eaeb;font-size:10px}.scenario-browser-card>b{z-index:1;font-size:18px;position:absolute;top:13px;right:14px}.learning-screen{min-height:100dvh;color:var(--ink);background:linear-gradient(#fbfcfd,#f3f8fb)}.learning-progress-header{z-index:4;height:calc(78px + env(safe-area-inset-top));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fbfcfde6;border-bottom:1px solid #fffc;align-items:end;gap:12px;padding:0 20px 15px;display:flex;position:relative}.learning-progress-header .learning-back,.learning-settings{border:1px solid var(--line);color:#69777d;cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:37px;height:37px;display:grid}.learning-progress-title{gap:2px;min-width:0;display:grid}.learning-progress-title span{color:#94a0a6;letter-spacing:.1em;font-size:9px;font-weight:900}.learning-progress-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.learning-settings{background:0 0;border:0;margin-left:auto}.learning-progress-meter{background:#e1eaf0;border-radius:99px;height:4px;position:absolute;bottom:8px;left:20px;right:20px;overflow:hidden}.learning-progress-meter i{border-radius:inherit;background:var(--violet);height:100%;transition:width .3s;display:block}.learning-progress-count{top:calc(17px + env(safe-area-inset-top));color:#89969b;font-size:10px;font-weight:900;position:absolute;right:20px}.open-count{color:var(--mint);top:auto;bottom:13px}.learning-one-task{width:min(620px,100% - 40px);min-height:calc(100dvh - 78px - env(safe-area-inset-top));padding:clamp(30px, 7vh, 68px) 0 calc(25px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;align-items:center;margin:auto;display:flex}.learning-one-task h1{letter-spacing:-.07em;margin:14px 0 0;font-size:clamp(32px,8vw,50px);line-height:1.04}.learning-one-task h1 em{color:var(--violet);font-style:normal}.learning-kicker,.prompt-kicker,.review-type-label,.task-context span{color:#96a2a8;letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:900}.learning-support-copy{color:#7e8c92;max-width:300px;margin:16px 0 0;font-size:13px;line-height:1.6}.speaking-task-card{width:100%;box-shadow:var(--shadow);background:#fff;border-radius:25px;margin-top:28px;padding:4px}.expression-teach-card{text-align:left;border:1px solid #edf0f2;border-radius:21px;gap:9px;padding:22px 18px;display:grid}.expression-teach-card span{color:var(--mint);letter-spacing:.12em;font-size:10px;font-weight:900}.expression-teach-card strong{color:#35444a;font-size:24px;line-height:1.25}.expression-teach-card p{color:#87949a;margin:0;font-size:12px}.expression-teach-card small{color:var(--coral);font-size:11px}.learning-primary-action{cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;gap:11px;min-height:52px;margin-top:25px;padding:0 23px;font-size:13px;font-weight:900;display:inline-flex}.learning-primary-action b{font-size:20px;font-weight:400}.learning-stage-note{color:#a3adb2;margin-top:auto;padding-top:24px;font-size:11px}.task-context{border-left:3px solid var(--mint);text-align:left;background:#e9f8f5;border-radius:13px;gap:7px;width:100%;padding:13px 15px;display:grid}.task-context strong{color:#3b706d;font-size:13px}.practice-prompt{width:100%;padding:26px 10px 15px}.practice-prompt h1{margin-top:11px;font-size:clamp(29px,7vw,45px)}.answer-skeleton{color:#b86659;background:#fff0eb;border-radius:8px;margin-top:20px;padding:10px 14px;font-size:17px;display:inline-block}.learning-mic{color:#fff;background:var(--violet);cursor:pointer;border:12px solid #ede9ff;border-radius:50%;place-items:center;width:132px;height:132px;margin:auto 0 3px;display:grid;position:relative;box-shadow:0 12px 30px #7656ed47}.learning-mic:disabled{cursor:not-allowed;opacity:.55}.learning-mic.listening{background:#38a79a;border-color:#d9f1ec;animation:1.2s ease-in-out infinite mic-breathe}.learning-mic.processing,.learning-mic.speaking{background:#718087;border-color:#e4e9eb}.learning-mic-symbol{z-index:1;font-size:25px;position:relative}.learning-mic small{font-size:9px;font-weight:900;position:absolute;bottom:25px}.learning-mic-halo{position:absolute;inset:-14px}.learning-mic-halo i{opacity:0;border:1px solid #7656ed59;border-radius:50%;position:absolute;inset:0}.learning-mic.listening .learning-mic-halo i{animation:1.6s infinite mic-pulse}.learning-mic.listening .learning-mic-halo i:nth-child(2){animation-delay:.4s}.learning-mic.listening .learning-mic-halo i:nth-child(3){animation-delay:.8s}.learning-secondary-tools,.review-tool-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:15px;display:flex}.learning-secondary-tools button,.review-tool-row button,.learning-tool-button{border:1px solid var(--line);color:#77858a;cursor:pointer;background:#fff;border-radius:11px;min-height:39px;padding:0 13px;font-size:11px;font-weight:800}.learning-secondary-tools button.selected,.review-tool-row button.selected{color:var(--violet);background:#f0edff}.learning-tool-note{color:#a1adb1;font-size:10px}.learning-revealed-hint,.learning-revealed-example{box-sizing:border-box;color:#3f7772;background:#e8f8f4;border-radius:11px;width:100%;margin-top:9px;padding:12px 14px;font-size:12px}.learning-revealed-example{color:#b46355;background:#fff0eb}.practice-result{border:1px solid var(--line);width:100%;box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:18px;margin-top:6px;padding:16px}.practice-result>span,.practice-feedback small,.practice-success b{color:#99a5aa;letter-spacing:.1em;font-size:9px;font-weight:900;display:block}.practice-result>strong{margin-top:7px;font-size:18px;line-height:1.4;display:block}.practice-feedback,.practice-success{background:#fff0eb;border-radius:11px;gap:5px;margin-top:13px;padding:12px;display:grid}.practice-feedback b{color:#a5584d;font-size:12px}.practice-feedback em{color:#b96254;font-size:16px;font-style:normal;font-weight:800}.practice-success{background:#eaf8f4}.practice-success b{color:#3b9488}.practice-success span{color:#53736f;font-size:12px}.retry-action{margin-top:14px}.learning-error{margin:10px 0 0;font-size:12px;color:#b85d50!important}.roleplay-screen{color:#fff;background:#2b4245;min-height:100dvh;position:relative;overflow:hidden}.roleplay-backdrop,.roleplay-shade{position:absolute;inset:0}.roleplay-backdrop{filter:saturate(.88);background-position:50%;background-size:cover}.roleplay-shade{background:linear-gradient(#1221257a,#11212359 48%,#0d1b1eeb)}.roleplay-screen .learning-progress-header{color:#fff;background:#14242740;border-color:#ffffff26}.roleplay-screen .learning-progress-header .learning-back,.roleplay-screen .learning-settings{color:#fff;background:#ffffff26;border-color:#ffffff59}.roleplay-screen .learning-progress-title span,.roleplay-screen .learning-progress-count{color:#d9e6e7}.roleplay-screen .learning-progress-title strong{color:#fff}.roleplay-screen .learning-progress-meter{background:#ffffff40}.roleplay-stage{z-index:2;width:min(640px,100% - 40px);min-height:calc(100dvh - 78px - env(safe-area-inset-top));padding:45px 0 calc(22px + env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-end;margin:auto;display:flex;position:relative}.roleplay-character{align-items:center;gap:12px;margin:auto 0 17px;display:flex}.learning-emma-mark{object-fit:cover;border:2px solid #ffffffb3;border-radius:50%;width:51px;height:51px}.learning-emma-mark.fallback{color:#fff;background:var(--coral);place-items:center;font-size:24px;font-weight:900;display:grid}.roleplay-character div{gap:2px;display:grid}.roleplay-character strong{font-size:19px}.roleplay-character span{color:#d6e2e3;font-size:11px}.roleplay-dialogue{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#193134a6;border:1px solid #ffffff38;border-radius:24px;width:100%;padding:20px;box-shadow:0 20px 50px #00000026}.roleplay-kicker{color:#b7ded8;letter-spacing:.13em;font-size:9px;font-weight:900}.roleplay-dialogue>p{color:#fff;letter-spacing:-.05em;margin:9px 0 0;font-size:clamp(25px,6vw,39px);line-height:1.12}.roleplay-turn-status{color:#f8d4a7;margin-top:12px;font-size:11px;font-weight:800}.roleplay-user-answer,.roleplay-interruption{background:#ffffff24;border-radius:12px;gap:5px;margin-top:16px;padding:12px 13px;display:grid}.roleplay-user-answer small,.roleplay-interruption small{color:#b7ded8;letter-spacing:.08em;font-size:9px;font-weight:900}.roleplay-user-answer span{color:#fff;font-size:13px}.roleplay-interruption{background:#ffac941f;border-left:3px solid #ffaf94}.roleplay-interruption strong{color:#ffe1d6;font-size:12px}.roleplay-interruption em{color:#ffc2af;font-size:17px;font-style:normal;font-weight:800}.roleplay-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:16px;display:flex}.roleplay-actions .learning-mic{flex:0 0 132px;margin:0 25%}.roleplay-actions .learning-secondary-tools{order:2;margin-top:0}.roleplay-screen .learning-secondary-tools button,.roleplay-screen .learning-tool-button{color:#e8f0ef;background:#ffffff21;border-color:#ffffff47}.roleplay-screen .learning-revealed-hint,.roleplay-screen .learning-revealed-example{color:#eaf5f3;background:#122b2dd9;flex-basis:100%}.roleplay-retry{color:#fff;background:var(--violet);cursor:pointer;border:0;border-radius:14px;width:100%;min-height:51px;font-size:13px;font-weight:900}.roleplay-screen .roleplay-finish,.playback-fallback{color:#e8f0ef;cursor:pointer;background:#ffffff21;border:1px solid #ffffff47;border-radius:11px;min-height:38px;padding:0 13px;font-size:11px;font-weight:800}.roleplay-follow-up{color:#fff;background:#122b2d73;border-left:2px solid #ffaf94;flex-basis:100%;padding:10px 13px;font-size:12px}.roleplay-follow-up span{color:#ffaf94;margin-bottom:3px;font-size:9px;font-weight:900;display:block}.pronunciation-coaching,.expression-gap{background:#122b2dd9;border-radius:13px;width:100%;padding:14px}.pronunciation-coaching span,.gap-kicker{color:#9de1d7;letter-spacing:.1em;font-size:9px;font-weight:900;display:block}.pronunciation-coaching strong{margin-top:5px;font-size:18px;display:block}.pronunciation-coaching p,.expression-gap p{color:#cadbd9;margin:5px 0 0;font-size:11px}.expression-gap{border-left:3px solid var(--coral)}.expression-gap small,.expression-gap strong{margin-top:5px;display:block}.expression-gap button{color:#ffd1c2;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0;font-size:12px;font-weight:800}.review-page,.progress-page{padding-top:28px}.review-heading{justify-content:space-between;align-items:start;gap:15px;display:flex}.compact-heading h1{letter-spacing:-.07em;margin:8px 0 10px;font-size:clamp(30px,8vw,45px);line-height:1.03}.compact-heading p:last-child{color:var(--muted);margin:0;font-size:12px}.due-badge{color:#fff;background:var(--violet);border-radius:23px;align-content:center;place-items:center;min-width:72px;height:72px;display:grid}.due-badge b{font-size:28px;line-height:1}.due-badge small{margin-top:4px;font-size:9px;font-weight:800}.review-sections{margin-top:34px}.review-start{margin:12px 0}.review-list{gap:10px;display:grid}.review-item{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px}.status{color:#8c9ca1;letter-spacing:.1em;font-size:9px;font-weight:900}.status.practicing{color:var(--coral)}.review-item h2{margin:8px 0 0;font-size:17px}.review-timing{color:#3c9a8d;margin:7px 0 0;font-size:11px;font-weight:800}.review-actions{border-top:1px solid var(--line);gap:6px;margin-top:13px;padding-top:11px;display:flex}.review-actions button{color:#6c5ad6;cursor:pointer;background:#f1efff;border:0;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800}.review-answer{color:#3c9a8d!important}.review-empty{background:#fff;border:1px dashed #d9e2e6;border-radius:17px;padding:24px 17px}.review-empty strong{font-size:14px}.review-empty p{color:var(--muted);margin:6px 0 0;font-size:11px}.review-practice-screen .learning-one-task{padding-top:clamp(42px,12vh,105px)}.review-practice-screen .learning-one-task h1{max-width:520px}.review-recall-note{color:var(--muted);margin:13px 0 0;font-size:12px}.review-practice-screen .learning-mic{margin-top:auto}.review-next-label{color:#3d8c80;background:#e9f8f4;border-radius:11px;width:100%;margin-top:14px;padding:11px;font-size:11px;font-weight:800}.progress-hero{color:#fff;background:linear-gradient(135deg,#273e46,#426b6c);border-radius:24px;align-items:center;gap:18px;margin-top:28px;padding:22px;display:flex}.progress-ring{border:5px solid #8dd7cc;border-radius:50%;flex:0 0 82px;align-content:center;place-items:center;width:82px;height:82px;display:grid}.progress-ring b{font-size:25px}.progress-ring small{font-size:9px}.progress-hero h2{margin:8px 0 3px;font-size:20px}.progress-hero p{color:#cee1df;margin:0;font-size:11px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px;display:grid}.metric{background:#fff;border-radius:15px;min-height:122px;padding:13px}.metric>span,.metric>em{color:#8f9da1;font-size:9px;font-style:normal}.metric strong{color:#3f897f;margin:11px 0 4px;font-size:14px;display:block}.metric p{color:#8a979c;margin:6px 0 0;font-size:10px;line-height:1.4}.growth-card,.readiness-card{background:#fff;border-radius:18px;justify-content:space-between;align-items:center;margin-top:12px;padding:18px;display:flex}.growth-card h2,.readiness-card h2{margin:5px 0;font-size:16px}.growth-card p,.readiness-card p{color:var(--muted);margin:0;font-size:10px}.growth-count{color:#3c9a8d;border:1px solid #d9eee9;border-radius:50%;align-content:center;place-items:center;width:59px;height:59px;display:grid}.growth-count b{font-size:22px}.growth-count small{font-size:8px}.readiness-card>b{color:var(--violet);font-size:22px}.prelesson-backdrop,.level-backdrop,.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a222761;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.prelesson-card,.level-card,.summary-modal{background:#fff;border-radius:27px;width:min(450px,100%);padding:28px 22px;position:relative;box-shadow:0 25px 80px #19252d33}.modal-close{color:#849197;cursor:pointer;background:#f0f3f4;border:0;border-radius:50%;place-items:center;width:32px;height:32px;font-size:20px;display:grid;position:absolute;top:15px;right:15px}.prelesson-card h1,.level-card h1,.summary-modal h1{letter-spacing:-.07em;margin:10px 0;font-size:34px;line-height:1.03}.prelesson-card h1{color:var(--violet)}.prelesson-intro,.level-card>p:not(.eyebrow),.summary-note{color:var(--muted);font-size:12px;line-height:1.55}.lesson-mode-badge{color:#3a8b80;background:#e9f8f4;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:900;display:inline-block}.prelesson-goal,.prelesson-expressions,.summary-takeaway,.summary-note,.summary-expressions{background:#f7f9fa;border-radius:15px;gap:6px;margin-top:13px;padding:15px;display:grid}.prelesson-goal small,.prelesson-expressions small,.summary-takeaway small,.summary-note small,.summary-expressions small{color:#9aa6ab;font-size:9px;font-weight:900}.prelesson-goal strong,.summary-takeaway strong{font-size:14px}.prelesson-expressions span,.summary-expressions span{color:#4b9187;font-size:12px}.prelesson-duration{color:var(--muted);text-align:center;font-size:11px}.prelesson-card .button{margin-top:8px}.modal-review,.lesson-exit-link{color:#8c999e;cursor:pointer;background:0 0;border:0;margin:14px auto 0;padding:0;font-size:11px;display:block}.level-options{gap:9px;margin-top:20px;display:grid}.level-option{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:14px;gap:4px;padding:14px;display:grid;position:relative}.level-option.selected{border-color:var(--violet);background:#f4f1ff}.level-option strong{font-size:14px}.level-option span{color:var(--muted);font-size:11px}.level-option small{color:var(--violet);font-size:10px;font-weight:900;position:absolute;top:13px;right:13px}.summary-mark{color:#fff;background:var(--mint);border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.summary-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;grid-template-columns:repeat(3,1fr);margin:18px 0 8px;padding:12px 0;display:grid}.summary-stats span{color:var(--muted);gap:4px;font-size:10px;display:grid}.summary-stats b{color:var(--ink);font-size:22px}.summary-modal .button{margin-top:15px}.lesson-takeaway{padding:20px 0 38px}.lesson-takeaway h1{margin:10px 0 20px;font-size:38px}.lesson-takeaway h1 em{color:var(--violet);font-style:normal}.takeaway-goal,.takeaway-main,.takeaway-expressions{background:#fff;border-radius:15px;gap:6px;margin-top:10px;padding:15px;display:grid}.takeaway-main{border-left:3px solid var(--violet);background:#f3f0ff}.takeaway-main strong{color:#5e49c9;font-size:20px}.takeaway-actions{gap:9px;margin-top:18px;display:flex}.takeaway-actions .button{flex:1}.conversation-screen{background:var(--paper);min-height:100dvh}.conversation-head{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;height:70px;padding:0 20px;display:flex}.icon-button{cursor:pointer;background:0 0;border:0;font-size:25px}.conversation-head>div{gap:3px;display:grid}.conversation-head strong{font-size:16px}.session-progress{background:#e6eaec;border-radius:99px;flex:1;height:4px;overflow:hidden}.session-progress i{border-radius:inherit;background:var(--violet);height:100%;display:block}.conversation-content{width:min(620px,100% - 40px);margin:auto;padding:22px 0 40px}.scenario-hero{color:#fff;background:#334c4f;border-radius:22px;align-items:end;min-height:205px;padding:19px;display:flex;position:relative;overflow:hidden}.scenario-hero .scene-image{object-fit:cover;opacity:.7;width:100%;height:100%;position:absolute;inset:0}.scenario-hero:after{content:"";background:linear-gradient(#0000,#101e20d9);position:absolute;inset:30% 0 0}.scenario-hero>div{z-index:1;gap:5px;display:grid;position:relative}.scenario-hero strong{font-size:19px}.scenario-hero strong small{color:#d4e0e1;font-size:11px;font-weight:400}.scenario-hero>div>span{color:#c9dfdc;font-size:10px}.role-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px;display:grid}.role-grid>div,.goal-strip{background:#fff;border-radius:13px;gap:5px;padding:13px;display:grid}.role-grid small,.goal-strip small{color:#9aa5aa;font-size:9px}.role-grid strong,.goal-strip strong{font-size:12px}.goal-strip{border-left:3px solid var(--mint);margin-top:9px}.detail-copy .button{margin-top:15px}@keyframes mic-breathe{50%{box-shadow:0 0 0 11px #38a79a2e}}@keyframes mic-pulse{0%{opacity:.45;transform:scale(.75)}to{opacity:0;transform:scale(1.25)}}@media (width<=560px){.main-content{padding-left:16px;padding-right:16px}.topbar{padding:0 16px}.today-lesson-card{border-radius:25px;min-height:242px;padding:21px}.today-lesson-card h2{margin-top:17px;font-size:30px}.today-lesson-mark{border-radius:17px;flex-basis:58px;width:58px;height:58px}.today-alternates{gap:8px}.today-alternates button{min-height:90px;padding:13px}.scenario-browser-content{width:calc(100% - 32px)}.scenario-browser-grid{grid-template-columns:1fr 1fr}.scenario-browser-card{min-height:170px}.scenario-browser-copy strong{font-size:17px}.learning-one-task{width:calc(100% - 32px)}.learning-one-task h1{font-size:34px}.learning-mic{border-width:10px;width:114px;height:114px}.learning-mic small{bottom:21px}.roleplay-stage{width:calc(100% - 32px)}.roleplay-actions .learning-mic{flex-basis:114px}.roleplay-dialogue{padding:17px}.roleplay-dialogue>p{font-size:28px}.metric-grid{gap:6px}.metric{padding:10px}.metric strong{font-size:12px}.prelesson-backdrop,.level-backdrop,.modal-backdrop{padding:12px}}
