:root{--bg:#f8f8f4;--ink:#211a33;--muted:#676379;--line:#e9e6ef;--purple:#6446de;--violet:#eee9ff;--green:#edf6d9;--pink:#f9e9f2;--blue:#e8efff;--peach:#fff0dc;--white:#fff;--radius:21px;font:15px/1.5 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
@font-face{font-family:Inter;src:url("./assets/inter.woff2") format("woff2");font-weight:100 900;font-display:swap}
*{box-sizing:border-box}body{margin:0}button,select,textarea{font:inherit;color:inherit}button,select{cursor:pointer}button{background:none;border:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}svg{width:22px;height:22px;flex:none}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #866bfa;outline-offset:3px}h1:focus{outline:none}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;z-index:10;top:8px;left:8px;background:white;padding:12px;border-radius:8px}
.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);padding:25px 17px}.brand{display:flex;align-items:center;gap:10px;text-align:left;font-weight:850;font-size:19px;letter-spacing:-.65px;line-height:1.1;padding:0 4px;width:max-content}.brand img{width:38px;height:38px}.brand small{display:block;letter-spacing:.1px;font-size:11px;color:var(--muted);font-weight:750;margin-top:3px}.sidebar nav{display:grid;gap:6px;margin-top:47px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:#625a72;font-weight:650;text-align:left;min-height:46px}.nav-link svg{width:20px;height:20px}.nav-link:hover{background:#f6f4fd}.nav-link.active{background:var(--violet);color:#5737cf;font-weight:780}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:17px 4px 0}.sidebar-foot small{display:block;color:var(--muted);font-size:9px;letter-spacing:.7px}.mini-pip{width:46px;height:46px;border-radius:16px;overflow:hidden;background:#eee7ff;display:inline-flex;flex:none;align-items:center;justify-content:center}.mini-pip img{width:88px;max-width:none;transform:translateY(-1px)}.bottom-nav,.mobile-brand{display:none}
.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,60px);background:#fcfcfa}.crumb{font-weight:730;color:#4d465f}.top-actions{display:flex;align-items:center;gap:10px}.locale{display:flex;gap:6px;align-items:center;border:1px solid var(--line);padding:5px 7px 5px 10px;border-radius:10px;color:#5f586e;background:white}.locale svg,.pill svg{width:16px;height:16px}.locale select{max-width:113px;min-height:25px;border:0;background:transparent;font-size:12px;font-weight:720}.pill{display:inline-flex;gap:6px;align-items:center;padding:5px 10px;border-radius:99px;font-size:11px;font-weight:760;line-height:1.5}.xp{background:#f0ebff;color:#5a38c6;white-space:nowrap}
.page{width:min(1295px,100%);margin:auto;padding:33px clamp(22px,4vw,60px) 44px}.greeting{margin-bottom:25px}.eyebrow{text-transform:uppercase;letter-spacing:.105em;font-size:10px;font-weight:820;color:#6c588a}.greeting h1{font-size:clamp(32px,4vw,51px);letter-spacing:-.063em;line-height:1.09;margin:5px 0 8px;font-weight:830;max-width:850px}.greeting p{color:var(--muted);font-size:15px;max-width:700px}
.today-grid{display:grid;grid-template-columns:minmax(0,2.24fr) minmax(240px,1fr);gap:16px}.hero{min-height:282px;border-radius:24px;overflow:hidden;position:relative;isolation:isolate;color:white;background:radial-gradient(ellipse at 87% 42%,#714deb 0,#512cb7 46%,#382180 100%);display:flex;align-items:center;padding:29px 29px 31px}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 2px 2px,#ffffff16 1px,transparent 1.1px);background-size:24px 24px;mask-image:linear-gradient(to right,transparent,#000)}.hero-copy{position:relative;z-index:1;width:min(55%,405px)}.hero-label{color:#f2ebff;background:#ffffff20;letter-spacing:.08em;font-size:9px}.hero-label i{width:7px;height:7px;border-radius:50%;background:#dcfa84}.hero h2{font-size:clamp(30px,3.6vw,48px);line-height:1.03;letter-spacing:-.07em;margin:11px 0 7px}.hero p{color:#f0eaff;font-size:13px}.hero-meta{display:flex;gap:7px;align-items:center;color:#ece0ff;font-size:11px;font-weight:660;margin:13px 0 16px}.hero-meta svg{width:15px;height:15px}.hero-mascot{position:absolute;z-index:-1;width:58%;max-width:505px;right:-1.5%;top:50%;transform:translateY(-50%);pointer-events:none}.hero-index{position:absolute;bottom:14px;right:18px;font-size:10px;color:#e1d4ff;letter-spacing:2px}
.button{min-height:43px;padding:8px 14px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:775;text-align:center;line-height:1.25;transition:transform .15s,background .15s}.button svg{width:18px;height:18px}.button:active:not(:disabled){transform:translateY(2px)}.button:disabled{opacity:.55}.lime{background:#e4ff99;color:#28144e;box-shadow:0 3px 0 #b1cf62}.lime:hover{background:#edffb6}.primary{background:var(--purple);color:white;box-shadow:0 3px 0 #4a31ba}.primary:hover{background:#5535d1}.secondary{background:#f1edfc;color:#5237ab;border:1px solid #e7def9}.secondary:hover{background:#e9e0fb}.danger{background:#b91c4a;color:white}.link{display:inline-flex;align-items:center;gap:6px;font-weight:760;font-size:12px;color:#5c3dc3;text-align:left;padding:4px}.link:hover{text-decoration:underline}.link svg{width:16px;height:16px}
.card{border:1px solid var(--line);background:white;border-radius:var(--radius);box-shadow:0 2px 0 #2a0f5604}.week{padding:22px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:15px}.week-title,.goal-row,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.week-title h2{font-size:37px;letter-spacing:-.09em;line-height:1.06;margin-top:3px}.week-title h2 span{font-size:14px;letter-spacing:0;color:var(--muted)}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.day{text-align:center;display:grid;justify-items:center;gap:5px;color:#706681}.day>span{font-size:9px;font-weight:760}.day b{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#f5f3f8;font-size:10px}.day b svg{width:15px;height:15px}.day.is-today b{outline:1px solid #9475fa;outline-offset:1px;color:#5b37ca}.day.checked b{background:#dff4a8;color:#324628}.goal-row{font-size:11px;color:var(--muted);margin-top:auto}.goal-row strong{color:var(--ink)}.meter{height:7px;background:#f1edf7;border-radius:99px;margin-top:-6px;overflow:hidden}.meter i{display:block;height:100%;background:#9578f0;border-radius:inherit}
.section{margin-top:24px}.section-heading{margin-bottom:12px}.section-heading h2,.section>h2{font-size:22px;letter-spacing:-.042em;line-height:1.17}.track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.track-card{display:flex;align-items:center;gap:12px;min-width:0;text-align:left;padding:12px;border-radius:15px;min-height:77px}.track-card:hover,.mission-row:hover{border-color:#bfaeff;background:#fcfaff}.track-icon{height:44px;width:44px;border-radius:13px;display:grid;place-items:center;flex:none;color:#6842cf}.track-icon svg{width:23px;height:23px}.purple{background:var(--violet);color:#5b39bd}.green{background:var(--green);color:#4b652c}.pink{background:var(--pink);color:#a44779}.blue{background:var(--blue);color:#375ac2}.peach{background:var(--peach);color:#ba5f26}.track-copy{display:grid;min-width:0;gap:1px;flex:1}.track-copy strong{font-size:14px;font-weight:790;letter-spacing:-.025em}.track-copy .eyebrow{font-size:8px;letter-spacing:.07em}.track-detail{font-size:11px;color:var(--muted);line-height:1.35}.track-card>svg,.mission-row>svg:last-child{width:16px;height:16px;color:#8b80a0}.middot{margin:0 2px}.voice-promo{margin-top:17px;display:flex;align-items:center;gap:12px;padding:12px 14px}.voice-promo>div{flex:1}.voice-promo h3{font-size:14px}.voice-promo p{color:var(--muted);font-size:12px}
.path-grid{gap:12px}.mission-list{display:grid;gap:9px}.mission-row{display:flex;gap:12px;align-items:center;padding:13px;text-align:left;width:100%;border-radius:14px}.mission-row>span:nth-child(2){flex:1;min-width:0}.mission-row strong,.mission-row small{display:block}.mission-row small{color:var(--muted);margin-top:2px}.mission-index{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--violet);color:#5b39bd;font-size:13px;font-weight:800;flex:none}.mission-index.checked{background:var(--green);color:#45631e}.mission-index svg{width:18px;height:18px}.empty{padding:15px;color:var(--muted);font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px;gap:12px}.metric{display:grid;gap:2px;text-align:left;min-width:0}.metric strong{font-size:clamp(18px,2.4vw,32px);letter-spacing:-.06em;font-weight:810}.metric span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.progress-panel{padding:18px}.progress-panel .week-strip{margin-top:18px;max-width:480px}.progress-panel .day b{width:34px;height:34px}
.book-grid,.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.book-card{overflow:hidden}.book-cover{position:relative;min-height:157px;padding:16px 20px;overflow:hidden}.book-cover:after{content:"";position:absolute;inset:-20% -12% -35% 45%;pointer-events:none;border:1px solid currentColor;border-radius:50%;opacity:.13;box-shadow:0 0 0 12px currentColor,0 0 0 24px white,0 0 0 36px currentColor}.book-cover h2{font-size:25px;letter-spacing:-.05em;line-height:1.1;max-width:82%;margin:10px 0 4px}.book-cover .track-icon{margin-top:7px;background:#ffffff95}.book-cover>span:last-child{font-size:11px;font-weight:750}.book-body{padding:14px 17px}.book-body p,.lab-panel>p{color:var(--muted);font-size:13px}.book-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px}
.lab-panel{padding:19px;min-width:0}.lab-panel h2{font-size:20px;letter-spacing:-.04em;line-height:1.17;margin-bottom:10px}.history h2{margin-bottom:0}.tabs{display:flex;gap:3px;background:#f3f0fa;padding:4px;border-radius:12px;margin-bottom:17px}.tabs button{flex:1;border-radius:9px;padding:7px;font-size:11px;font-weight:720;min-height:38px}.tabs button.selected{background:white;color:#5536bb;box-shadow:0 1px 3px #0001}.history-row{padding:11px 0;border-top:1px solid var(--line);margin-top:10px}.history-row>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:12px}.history-compare{display:grid;gap:3px;background:var(--green);padding:10px 12px;border-radius:12px;margin-top:10px}.history-compare small{font-size:11px}.history-compare strong{font-size:17px}.clip-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(59px,1fr));gap:5px;margin-top:10px}.clip-metrics .metric{background:#f6f4fa;padding:6px;border-radius:9px}.clip-metrics strong{font-size:16px}.clip-metrics span{font-size:9px}.player{display:block;width:100%;height:37px;margin-top:9px}.transcript{margin-top:9px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:13px;overflow-wrap:anywhere}.transcript small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}
.lesson-shell{max-width:890px;margin:auto;padding:21px 22px 45px}.lesson-top{display:flex;align-items:flex-start;gap:14px}.lesson-top>.pill{margin-top:4px;white-space:nowrap}.icon-button{display:inline-grid;place-items:center;min-width:40px;min-height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#5b4b70;flex:none}.icon-button:hover{background:#f1ecfb}.icon-button svg{width:20px;height:20px}.lesson-rail{flex:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding-top:8px}.lesson-rail div{text-align:center;min-width:0}.lesson-rail span{display:block;height:6px;border-radius:10px;background:#e9e4f0}.lesson-rail small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.lesson-rail .passed span{background:#b7dc67}.lesson-rail .current span{background:#8160e9}.lesson-rail .current small{color:#5e39c8;font-weight:800}.lesson-content{max-width:670px;margin:22px auto 0}.lesson-label{display:flex;gap:8px;align-items:center;margin-bottom:9px}.lesson-label .track-icon{width:32px;height:32px;border-radius:9px}.lesson-label .track-icon svg{width:17px;height:17px}.lesson-content h1{font-size:clamp(30px,5vw,49px);line-height:1.04;letter-spacing:-.065em}.lesson-sub{color:var(--muted);margin:8px 0;font-size:14px}.lesson-card{padding:18px 20px;margin-top:16px}.lesson-card h2{font-size:19px;letter-spacing:-.03em;margin:9px 0}.lesson-card h3{font-size:15px;margin:13px 0 6px}.mini-head,.dialogue-head,.result-banner{display:flex;align-items:center;gap:10px;margin-bottom:11px}.mini-head p,.dialogue-head p,.result-banner p{color:var(--muted);font-size:12px}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:9px 0}.listen-btn{white-space:normal}.answer-list{display:grid;gap:7px}.answer{border:1px solid var(--line);border-radius:12px;padding:9px 10px;display:flex;align-items:center;gap:9px;font-size:13px;text-align:left;min-height:47px}.answer span{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:#f3effa;font-size:11px;flex:none}.answer:hover,.answer.selected{border-color:#a28aef;background:#f7f3ff}.answer.correct{border-color:#b5d876;background:#f2f9df}.notice{display:flex;align-items:center;gap:6px;border-radius:9px;background:#f3effa;padding:8px 10px;margin:9px 0;font-size:12px}.notice svg{width:17px;height:17px}.notice.success{background:#edf6d6;color:#3b5920}.notice.error{background:#fff0f4;color:#8e2849}.lesson-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.quote{background:#f5f1ff;border-left:3px solid #9a7deb;padding:10px 13px;border-radius:0 10px 10px 0;font-weight:650;color:#3f2e62;overflow-wrap:anywhere}.word-space{min-height:58px;margin:11px 0;padding:5px;border-bottom:1px dashed #cbbcf0;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.word-bank{display:flex;flex-wrap:wrap;gap:6px}.word{padding:6px 10px;min-height:37px;border-radius:8px;background:#f4f0fc;border:1px solid #e9e0fa;font-size:13px;font-weight:650}.word.placeholder{opacity:.18}.help{color:var(--muted);font-size:11px;margin:8px 0}.mic-live{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.mic-live strong{font-variant-numeric:tabular-nums;font-size:14px}.live-dot{height:9px;width:9px;background:#e6516a;border-radius:50%;animation:pulse 1.2s infinite}.spinner{width:17px;height:17px;display:inline-block;flex:none;border:2px solid #ddd1fc;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.4}}
.dialogue-head>div{flex:1}.turns{display:grid;gap:8px;margin:10px 0}.turn{display:flex;align-items:center;gap:7px}.turn.user{justify-content:flex-end}.bubble{background:#f0eaff;border-radius:2px 14px 14px;padding:8px 11px;max-width:83%;overflow-wrap:anywhere;font-size:14px}.turn.user .bubble{background:#edf6d8;border-radius:14px 2px 14px 14px;min-width:0}.turn .icon-button{min-height:32px;min-width:32px}.turn .icon-button svg{width:16px;height:16px}.compose{border-top:1px solid var(--line);padding-top:10px}.support{display:flex;gap:5px;flex-wrap:wrap}.compose label{display:block;font-size:12px;font-weight:720;margin:8px 0 3px}.compose textarea{width:100%;background:#faf9fc;border:1px solid var(--line);border-radius:10px;padding:8px 10px;resize:vertical}.compose .lesson-footer{justify-content:space-between}.compose .lesson-footer small{font-size:10px;color:var(--muted);flex:1;min-width:120px}.coach-state{display:flex;align-items:center;gap:9px;background:#f5f1ff;padding:9px;border-radius:10px;font-size:12px}.coach-state small{display:block;color:var(--muted)}.result-banner{padding:9px;background:#f0f8dd;border-radius:12px}.result-banner strong{font-size:24px;color:#446225;letter-spacing:-.06em}.result-card>.listen-btn{margin-top:7px}.answer-review{padding:6px 9px;background:#f7f5fa;border-radius:8px;margin-top:5px;font-size:13px;overflow-wrap:anywhere}
@media(max-width:1050px){.shell{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding-inline:12px}.hero{padding:22px}.today-grid{grid-template-columns:minmax(0,1.7fr) minmax(205px,1fr)}.week{padding:15px 12px}.day b{width:22px;height:22px}.topbar,.page{padding-inline:23px}}
@media(max-width:790px){.shell{display:block}.sidebar{display:none}.topbar{height:57px;padding-inline:15px}.mobile-brand{display:flex;font-size:17px}.mobile-brand img{height:31px;width:31px}.crumb{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;background:#fff;z-index:3;border-top:1px solid var(--line);padding:4px 5px calc(4px + env(safe-area-inset-bottom))}.bottom-nav .nav-link{display:grid;justify-items:center;justify-content:center;text-align:center;gap:2px;padding:5px 1px;font-size:9px;border-radius:9px;min-height:44px}.bottom-nav .nav-link svg{width:18px;height:18px}.page{padding:22px 15px 78px}.today-grid{grid-template-columns:minmax(0,1.8fr) minmax(195px,1fr)}}
@media(max-width:570px){.today-grid,.lab-grid{grid-template-columns:1fr}.today-grid{gap:10px}.greeting{margin-bottom:16px}.greeting h1{font-size:34px}.greeting p{font-size:13px}.hero{min-height:218px;padding:15px}.hero h2{font-size:32px}.hero p{font-size:12px}.hero-copy{width:65%}.hero-mascot{width:59%;right:-7%}.hero-meta{margin:8px 0 10px}.hero .button{padding-inline:8px;font-size:11px;gap:5px}.hero .button svg{width:15px}.week{padding:11px 12px;display:grid;grid-template-columns:minmax(95px,1fr) 2fr;gap:8px 10px}.week-title{gap:4px;justify-content:flex-start}.week-title h2{font-size:24px}.week-title h2 span{font-size:11px}.week-title .track-icon{display:none}.goal-row{margin-top:0}.meter{margin-top:0;align-self:center}.section{margin-top:17px}.section-heading h2{font-size:20px}.track-grid,.book-grid{gap:7px}.track-card{padding:8px;gap:7px;align-items:flex-start}.track-card .track-icon{height:30px;width:30px;border-radius:8px}.track-card .track-icon svg{width:17px;height:17px}.track-card>svg{display:none}.track-copy strong{font-size:12px}.track-detail{font-size:10px}.track-copy .eyebrow{font-size:8px}.voice-promo{gap:7px;padding:8px}.voice-promo .track-icon{width:33px;height:33px}.voice-promo p{font-size:10px}.voice-promo .button{font-size:10px;padding:4px;min-height:35px}.voice-promo .button svg{display:none}.book-cover{min-height:152px;padding:11px}.book-cover h2{font-size:19px}.book-cover .eyebrow{font-size:8px}.book-body{padding:10px}.book-body p{font-size:11px}.book-actions{gap:7px}.book-actions .button{font-size:11px;padding:5px 7px}.lesson-shell{padding:12px 12px 27px}.lesson-top{gap:7px}.lesson-top>.pill{font-size:9px;padding:4px 6px}.lesson-rail small{font-size:8px}.lesson-content{margin-top:14px}.lesson-card{padding:12px}.lab-panel{padding:12px}}
@media(max-width:350px){.top-actions{gap:5px}.locale{padding-inline:4px}.locale svg{display:none}.locale select{max-width:88px}.track-card .track-icon{width:25px;height:25px}.track-card .track-icon svg{width:15px}.hero h2{font-size:29px}.book-grid{grid-template-columns:1fr}.lesson-rail small{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:350px){.topbar{padding-inline:10px}.mobile-brand{font-size:16px;gap:5px;padding:0}.mobile-brand img{width:27px;height:27px}.locale select{max-width:75px}.top-actions .xp{font-size:10px;padding:4px 6px}.top-actions .xp svg{width:13px;height:13px}}
.history-date{display:block;color:var(--muted);font-size:10px}.history>.button{margin-top:10px}
.turn.pip{display:block}.pip-line,.turn-actions{display:flex;align-items:center;gap:6px}.pip-line{flex-wrap:wrap}.pip-line .bubble{max-width:100%}.turn-actions{flex-wrap:wrap}.turn-translate{min-height:32px;padding:3px 9px;border-radius:9px;background:#fff;border:1px solid var(--line);color:#5b39bd;font-size:12px;font-weight:730}.turn-translate:hover,.turn-translate[aria-expanded=true]{background:var(--violet)}.turn-translation{padding:7px 11px;margin:5px 0 1px;border-left:2px solid #b7a5e9;color:#504566;font-size:13px;overflow-wrap:anywhere}.answer-builder{background:#faf8fe;border:1px solid #e9e1f6;border-radius:13px;padding:10px 12px;margin:9px 0}.answer-builder .help{margin:0 0 8px}.answer-builder fieldset{padding:0;margin:0 0 9px;border:0;min-width:0}.answer-builder legend{font-size:12px;font-weight:740;padding:0;margin-bottom:4px}.builder-options{display:flex;gap:5px;flex-wrap:wrap}.builder-option{border:1px solid #e5ddf2;background:#fff;border-radius:8px;font-size:12px;padding:6px 8px;min-height:34px;max-width:100%;text-align:left}.builder-option:hover:not(:disabled),.builder-option[aria-pressed=true]{background:var(--violet);border-color:#a991ee;color:#462d97}.builder-option:disabled{opacity:.6}.builder-preview{background:#f0eaff;padding:7px 9px;margin:0 0 7px;border-radius:8px;font-size:13px;color:#40305e;overflow-wrap:anywhere}
.beginner-entry{margin:-4px 0 11px}.beginner-entry .link{padding-left:0}.wb-count{font-weight:700;color:#645578}.wb-offline{margin-top:18px;color:var(--muted);font-size:13px}.wb-head .link{padding-left:0;margin-bottom:7px}.wb-status{display:flex;gap:8px 18px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:13px}.wb-status strong{font-size:13px}.wb-status strong span{margin-left:5px;color:#5b39bd}.wb-status progress{width:120px;height:8px;margin-left:9px;accent-color:#7853db}.wb-status p{margin:0;font-size:12px}.wb-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}.wb-chapters a{position:relative;min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 27px 6px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;text-decoration:none;overflow-wrap:anywhere}.wb-chapters a.current{border-color:#ac96ed;background:var(--violet)}.wb-chapters a>span:first-child{font-size:11px;color:#6b5c7b}.wb-chapters strong{font-size:13px;line-height:1.3}.wb-check{position:absolute;right:7px;top:7px;color:#356546}.wb-check svg{width:14px;height:14px}.wb-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:14px;align-items:start}.wb-column{display:grid;gap:14px;min-width:0}.wb-card,.wb-sound{padding:14px;min-width:0}.wb-card h2{font-size:17px;margin:0 0 8px}.wb-card p{font-size:13px}.wb-card .quote{margin:8px 0}.wb-transcript{font-size:13px;margin:8px 0}.wb-transcript summary,.wb-sound summary{cursor:pointer;color:#5b39bd;font-weight:700}.wb-transcript p{margin:5px 0;overflow-wrap:anywhere}.wb-listening{margin:8px 0 14px;padding:0;border:0;display:grid;gap:5px}.wb-listening label{display:flex;align-items:flex-start;gap:6px;font-size:13px}.wb-listening input,.wb-done input{accent-color:#7853db;flex:none}.wb-word-bank{color:#5b39bd;font-weight:650}.wb-input{display:block;margin:8px 0 10px;font-size:12px;font-weight:700}.wb-input textarea{display:block;width:100%;min-height:64px;margin-top:4px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fbfaff;font:inherit;font-weight:400;resize:vertical}.wb-done{display:flex;gap:6px;align-items:center;font-size:13px;font-weight:700;margin-top:12px}.wb-sound-main{display:grid;grid-template-columns:minmax(98px,135px) minmax(0,1fr);align-items:start;gap:9px}.wb-sound-main img{width:100%;height:auto;display:block}.wb-ipa{font-size:17px;margin:2px 0;overflow-wrap:anywhere}.wb-ipa>span+span{font-weight:500;color:#6945bc}.wb-sound p{font-size:13px;margin:3px 0 7px}.wb-sound .button,.wb-card .listen-btn{min-height:34px}.wb-sound-drill{margin-top:8px;padding-top:7px;border-top:1px solid var(--line)}.wb-sound-drill h3,.voice-compare h3{font-size:13px;margin:4px 0}.wb-sound-compact{padding:8px 10px;margin:0 0 10px;background:#f9f6ff;border:1px solid var(--line);border-radius:10px}.wb-sound-compact[open] .wb-sound-main{margin-top:8px}.voice-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.voice-compare>div{min-width:0;border:1px solid var(--line);border-radius:10px;padding:8px}.voice-compare .quote{margin-bottom:6px}.voice-compare .clip-metrics{grid-template-columns:repeat(auto-fit,minmax(75px,1fr))}
@media(max-width:730px){.wb-grid,.voice-compare{grid-template-columns:1fr}.wb-chapters a{padding-left:7px;padding-right:17px}.wb-check{right:3px;top:4px}.wb-check svg{width:12px;height:12px}}
@media(max-width:360px){.wb-status progress{width:75px}.wb-chapters strong{font-size:11px}.wb-sound-main{grid-template-columns:minmax(80px,108px) minmax(0,1fr)}}
.mission-save{color:var(--muted);font-size:12px;margin:10px 3px}.resume-card{display:flex;justify-content:space-between;align-items:center;gap:8px 14px;padding:10px 13px;margin:0 0 11px}.resume-card>div{display:grid;gap:1px}.resume-card>div span{font-size:12px;color:var(--muted)}.basics-overview{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:15px}.basics-overview h2{font-size:20px;margin:3px 0 7px}.basics-meter{display:flex;align-items:center;gap:8px;font-size:12px;color:#6245bb}.basics-meter progress{width:130px;height:8px;accent-color:#7853db}.basics-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.basics-block{padding:12px}.basics-block h3{margin:3px 0 8px}.basics-week{display:flex;align-items:center;gap:7px;padding:7px 3px;border-top:1px solid var(--line);color:inherit;text-decoration:none;font-size:13px;min-height:38px}.basics-week:hover strong{color:#6541cf}.basics-week strong{flex:1}.basics-week svg,.basics-lesson h2 svg{width:17px;height:17px}.basics-number{background:var(--violet);color:#6140bc;border-radius:7px;padding:2px 5px;font-weight:750}.basics-head>.link{padding-left:0;margin-bottom:7px}.basics-lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.basics-lesson h2{display:flex;align-items:center;gap:7px}.basics-lesson h3{font-size:14px;margin:8px 0 4px}.basics-script{padding-left:20px}.basics-script li{padding:3px 0}.basics-output{margin-top:12px}
@media(max-width:790px){.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav .nav-link{padding-inline:1px;font-size:clamp(8px,2.35vw,11px)}}
@media(max-width:650px){.basics-blocks,.basics-lesson-grid{grid-template-columns:1fr}.basics-overview{align-items:flex-start;flex-direction:column}.resume-card>.button{white-space:normal;text-align:left}}

.work-entry{display:flex;align-items:center;gap:13px;padding:14px 16px;margin-top:17px;border-color:#e1d8fa;background:#fbf9ff}
.work-entry>div{flex:1;min-width:0}
.work-entry h2,.work-goal-panel h2{font-size:17px;letter-spacing:-.025em}
.work-entry p,.work-goal-panel p{font-size:13px;color:var(--muted)}
.work-plan,.work-stage{max-width:960px;margin-inline:auto}
.work-stage{max-width:740px}
.work-next{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;background:radial-gradient(ellipse at 86% 45%,#6a4ed3 0,#402984 56%,#30205f 100%);color:white}
.work-next::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 1px 1px,#fff2 1px,transparent 1.2px) 0 0/23px 23px;mask-image:linear-gradient(90deg,transparent 28%,black)}
.work-next-inner{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) minmax(110px,31%);min-height:202px;padding:23px clamp(16px,4vw,34px)}
.work-next-inner>div{position:relative;z-index:1}
.work-next-inner img{width:115%;margin-left:-5%;pointer-events:none}
.work-kicker{display:block;color:#e9dbff;font-size:12px;font-weight:750}
.work-next h2{font-size:clamp(25px,4vw,44px);letter-spacing:-.055em;line-height:1.04;margin:7px 0}
.work-next p{font-size:14px;color:#efeaff;max-width:490px;margin-bottom:14px}
.work-goal-panel{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 16px;margin-top:14px;flex-wrap:wrap}
.work-goals{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.work-goals .button{min-height:36px}
.work-goals [aria-pressed=true]{background:#e5d9ff;border-color:#a98bec;color:#43258e}
.work-meter{display:flex;align-items:center;gap:8px;color:#593daf;font-size:13px}
.work-meter progress{width:92px;height:8px;accent-color:#7c59de}
.work-weeks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.work-week{min-width:0;padding:13px 15px}
.work-week h3{font-size:17px;letter-spacing:-.026em;margin-bottom:6px}
.work-week h3 small{display:block;letter-spacing:0;font-size:11px;font-weight:750;color:#684ca2}
.work-row{display:flex;align-items:center;gap:9px;width:100%;padding:8px 2px;min-height:51px;border-top:1px solid var(--line);text-align:left}
.work-row:hover strong{color:#5938c5}
.work-row>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.work-row strong,.work-row small{display:block;font-size:13px}
.work-row small{font-size:10px;color:var(--muted)}
.work-row-mark{flex:none;display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:var(--violet);color:#603db9}
.work-row svg{width:15px;height:15px}
.work-back-link{padding-left:0;margin-bottom:5px}
.work-case{padding:clamp(14px,3vw,25px);min-width:0}
.work-case .mini-head{margin-bottom:15px}
.work-details{padding:8px 10px;background:#f8f5fd;border-radius:10px;margin:8px 0;font-size:13px;overflow-wrap:anywhere}
.work-details summary{cursor:pointer;color:#5535a3;font-weight:750}
.work-details p{margin:5px 0 2px}
.work-details ol{padding-left:21px;margin:6px 0}
.work-details ol li+li{margin-top:4px}
.work-compose{margin-top:12px}
.work-compose textarea{font-size:16px}
.work-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:7px;margin-top:13px}
.work-actions>.primary{margin-left:auto}
.work-score{padding:9px 13px;background:#eeebff;border-radius:11px;color:#50388d;display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;font-size:12px}
.work-score strong{font-size:22px;letter-spacing:-.04em}
.work-rubric{padding:0;margin:12px 0;list-style:none}
.work-rubric>li{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.work-check-grid{display:grid;gap:6px;margin-top:5px}
.work-check-grid.compare{grid-template-columns:repeat(2,minmax(0,1fr))}
.work-check{display:grid;align-content:start;gap:3px;min-width:0;padding:7px 8px;border-radius:8px;background:#f4f2f8;color:#615779;overflow-wrap:anywhere}
.work-check.shown{background:#ecf6d8;color:#3a5122}
.work-check.verify{background:#fff0dc;color:#764119}
.work-check q{font-size:13px}
.work-check small{font-weight:650}
.work-check strong{font-size:12px}
.work-tip{padding:10px 12px;background:#f6f1ff;border-left:3px solid #9575e4;border-radius:0 9px 9px 0;overflow-wrap:anywhere}
.work-tip h3{font-size:14px;margin-bottom:3px}
.work-tip p{font-size:14px}
.work-response+.work-response{border-top:1px solid var(--line);margin-top:7px;padding-top:5px}
@media(max-width:600px){.work-weeks{grid-template-columns:1fr}.work-entry{flex-wrap:wrap;gap:8px;padding:10px}.work-entry>.button{margin-left:auto}.work-entry h2{font-size:14px}.work-entry p,.work-next p{font-size:12px}.work-next-inner{min-height:180px;padding:17px 13px;grid-template-columns:minmax(0,1fr) minmax(70px,25%)}.work-next-inner img{width:155%;margin-left:-21%}.work-goal-panel{padding:11px}.work-goals .button{font-size:11px;padding:5px 7px}}
.work-rehearsal{background:#fbf9ff;border-color:#e5dcfa}
.work-situation{display:grid;gap:5px;margin-bottom:13px}
.work-situation label{font-size:13px;font-weight:720}
.work-situation textarea{width:100%;min-height:58px;background:#faf9fc;border:1px solid var(--line);border-radius:10px;padding:8px 10px;resize:vertical;font-size:16px}
.work-situation p{background:#f4f0fc;color:#4d4269;border-radius:9px;padding:8px 10px;overflow-wrap:anywhere}
.work-phrase{margin-top:9px}
.work-phrase .button{margin-top:6px;min-height:36px}

.cloud-lab{padding:12px 16px;margin:14px 0 0}
.cloud-lab h2{font-size:16px;margin-bottom:4px}
.cloud-lab p{color:var(--muted);font-size:13px}
.cloud-lab .button-row{margin-bottom:0}
.cloud-play{margin:7px 0 3px}
.cloud-badge{margin:6px 0 3px;color:var(--muted)}
.cloud-badge.green{color:#356731}

.pip-audio-message {
  position: fixed;
  z-index: 20;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100vw - 32px);
  margin: 0;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 6px 20px #21163c20;
  font-size: 14px;
}
@media (max-width: 790px) {
  .pip-audio-message { bottom: calc(74px + env(safe-area-inset-bottom)); }
}

.reply-notice { margin: 0 0 10px; }
.reply-aid, .reply-examples { margin: 10px 0; }
.reply-aid summary { cursor: pointer; font-weight: 700; color: var(--purple); }
.reply-example {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.reply-example p { flex: 1 1 210px; }
.reply-example .button-row { margin: 0; }
.reply-example .button { min-height: 36px; padding: 6px 10px; }
