@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700;800&family=Noto+Sans+SC:wght@700;900&display=swap";:root{color:#22231f;font-synthesis:none;background:#f6f2e9;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% 5%,#e1d5ff 0,#0000 25rem),#f6f2e9;margin:0}button{font:inherit;color:inherit}.app{max-width:1180px;min-height:100vh;margin:auto;padding:0 38px 70px}header{justify-content:space-between;align-items:center;height:88px;display:flex}.brand{cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;font-size:24px;display:flex}.brand span{color:#fff;background:#fe5b49;border-radius:14px;place-items:center;width:42px;height:42px;font-family:Noto Sans SC;display:grid;transform:rotate(-5deg)}.headerStats{gap:12px;display:flex}.headerStats span{background:#fff8;border:1px solid #ded9ce;border-radius:99px;align-items:center;gap:6px;padding:9px 14px;font-weight:800;display:flex}.headerStats svg{color:#f16842;width:17px}.hero{color:#fff;background:#24251f;border-radius:32px;grid-template-columns:1.2fr .8fr;min-height:420px;padding:58px 64px;display:grid;position:relative;overflow:hidden}.hero:after{content:"";background:#9eebc6;border-radius:50%;width:400px;height:400px;position:absolute;bottom:-240px;right:-100px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#fd735f;margin:0 0 12px;font-size:12px;font-weight:800}.hero h1{letter-spacing:-.05em;margin:0 0 22px;font-size:64px;line-height:.98}.hero h1 em{color:#ffd85f;font-style:normal}.hero>div>p:not(.eyebrow){color:#cbcbbf;max-width:520px;font-size:17px;line-height:1.6}.primary{color:#fff;cursor:pointer;background:#fe5b49;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:16px 22px;font-weight:800;display:inline-flex;box-shadow:0 6px #bd342a}.primary:hover{transform:translateY(2px);box-shadow:0 4px #bd342a}.primary svg{width:18px}.mascot{z-index:1;place-items:center;display:grid;position:relative}.face{color:#25251f;background:#ffd85f;border-radius:62% 38% 55% 45%;place-items:center;width:190px;height:190px;font:900 48px Noto Sans SC;display:grid;transform:rotate(6deg);box-shadow:18px 18px #fe5b49}.bubble{color:#25251f;background:#fff;border-radius:18px;padding:12px 18px;font-weight:900;position:absolute;top:20px;left:-10px;transform:rotate(-4deg)}.bubble small{color:#777;font-weight:600;display:block}.quick{z-index:2;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:-28px;padding:0 28px;display:grid;position:relative}.quick>div{background:#fff;border:1px solid #e0dbd0;border-radius:20px;align-items:center;gap:14px;padding:18px;display:flex;box-shadow:0 8px 20px #463e2610}.round{color:#7255b1;background:#e1d5ff;border-radius:50%;place-items:center;width:45px;height:45px;display:grid}.round.fire{color:#ea713c;background:#ffe2a8}.round.mint{color:#288258;background:#c9f4dd}.quick p{margin:0}.quick b,.quick small,.mode b,.mode small,.units b,.units small{display:block}.quick small{color:#817d74;margin-top:3px}.section{margin-top:62px}.sectionTitle{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.sectionTitle h2{letter-spacing:-.04em;margin:0;font-size:34px}.sectionTitle>span{color:#817d74;font-weight:700}.modes{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.mode{text-align:left;cursor:pointer;border:0;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:24px;display:grid}.mode.yellow{background:#ffd85f}.mode.pink{background:#ffb4bf}.mode.purple{background:#d8c6ff}.modeIcon{background:#fff8;border-radius:16px;place-items:center;width:50px;height:50px;display:grid}.mode b{font-size:18px}.mode small{color:#56544c;margin-top:5px}.mode>svg{width:18px}.mode:hover,.units button:hover{transform:translateY(-3px)}.units{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.units button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0dbd0;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.units button.selected{border:2px solid #fe5b49}.unitNum{color:#fff;background:#24251f;border-radius:14px;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.units small{color:#827f77;margin:4px 0 8px}.units i{background:linear-gradient(90deg,#63d49b var(--p),#ece9e1 var(--p));border-radius:99px;height:5px;display:block}.full{width:100%;margin-top:16px}.sourceNote{color:#77736b;text-align:center;max-width:720px;margin:32px auto;font-size:13px}.sourceNote code{background:#eae4d9;border-radius:5px;padding:2px 5px}nav{display:none}.play{max-width:760px;margin:auto}.playTop{align-items:center;gap:16px;display:flex}.close{cursor:pointer;background:0 0;border:0;font-size:34px}.bar{background:#ded9ce;border-radius:99px;flex:1;height:10px;overflow:hidden}.bar i{background:#63d49b;border-radius:99px;height:100%;transition:all .3s;display:block}.playTop>span{align-items:center;gap:5px;font-weight:800;display:flex}.playTop svg{fill:#fe5b49;color:#fe5b49}.playMeta{color:#827f77;letter-spacing:.12em;justify-content:space-between;margin:38px 10px 12px;font-size:12px;font-weight:800;display:flex}.playMeta span{align-items:center;gap:5px;display:flex}.playMeta svg{width:15px}.card{text-align:center;background:#fff;border:1px solid #e0dbd0;border-radius:28px;padding:40px;box-shadow:0 14px 30px #493c1d12}.listen{cursor:pointer;background:#ffd85f;border:0;border-radius:50%;place-items:center;width:118px;height:118px;margin:15px auto 30px;display:grid;box-shadow:0 8px #d5a92d}.listen svg{width:38px;height:38px}.listen span{font-size:12px;font-weight:800}.word{opacity:.55;min-height:110px}.word.visible{opacity:1}.word h1{margin:0;font:900 58px Noto Sans SC}.word p{color:#716d65;margin:6px;font-size:18px}.answers{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.answers button{cursor:pointer;background:#fff;border:2px solid #e0dbd0;border-radius:15px;min-height:72px;padding:12px;font-weight:800}.answers button:hover{border-color:#8c6ad2}.answers b{font-size:22px}.answers small{color:#827f77;display:block}.answers .correct{background:#d8f7e6;border-color:#45bd7b}.answers .wrong{background:#ffe0dc;border-color:#fe5b49}.answers .dim{opacity:.45}.mic{color:#fff;cursor:pointer;background:#fe5b49;border:0;border-radius:50%;width:88px;height:88px;box-shadow:0 7px #bd342a}.mic svg{width:34px;height:34px}.speakBox p{color:#716d65}.reveal{background:#e9e0ff;border-radius:14px;flex-direction:column;padding:14px;display:flex}.score{text-align:center;margin:24px}.score b,.score small{display:block}.score b{font-size:28px}.score small{color:#827f77;letter-spacing:.14em;font-weight:800}@media (width<=720px){.app{padding:0 16px 90px}header{height:70px}.hero{grid-template-columns:1fr;min-height:480px;padding:38px 28px}.hero h1{font-size:46px}.mascot{position:absolute;bottom:28px;right:18px}.face{border-radius:42px;width:105px;height:105px;font-size:28px;box-shadow:9px 9px #fe5b49}.bubble{display:none}.quick{grid-template-columns:1fr;margin-top:14px;padding:0}.quick>div:nth-child(n+2){display:none}.modes,.units{grid-template-columns:1fr}.section{margin-top:42px}.sectionTitle>span{display:none}.card{padding:28px 18px}.answers{grid-template-columns:1fr}.word h1{font-size:48px}nav{z-index:10;background:#fff;border-top:1px solid #ded9ce;justify-content:space-around;height:72px;display:flex;position:fixed;bottom:0;left:0;right:0}nav button{color:#8b887f;background:0 0;border:0;place-items:center;font-size:11px;display:grid}nav button.active{color:#fe5b49}nav svg{width:22px}.headerStats span:first-child{display:none}}:root{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html{scroll-behavior:smooth;min-width:320px}body{min-width:320px;overflow-x:hidden}button,input,textarea{touch-action:manipulation}button{-webkit-tap-highlight-color:transparent}.close{min-width:44px;min-height:44px}.brand{min-height:44px}.audioMini{min-width:44px;min-height:44px}@media (hover:none){.primary:hover,.mode:hover,.units button:hover,.exerciseGrid>button:hover{transform:none}.primary:active,.mode:active,.units button:active,.exerciseGrid>button:active{transform:scale(.985)}}@media (width<=720px){.app{padding-top:env(safe-area-inset-top);padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(94px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left))}nav{height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}nav button{min-width:64px;min-height:48px}.primary,.mode,.units button,.unitTabs button,.exerciseGrid>button,.workAnswers button,.writeTask button,.checkBtn,.practiceMini{min-height:44px}input,textarea{font-size:16px!important}textarea{scroll-margin-bottom:180px}.playTop{gap:8px}.playTop>span{white-space:nowrap}.playMeta{gap:10px;margin-top:24px}.playMeta span{min-width:0}.taskPrompt,.word,.exerciseGrid b,.exerciseGrid em,.taskWords span,.taskWords small{overflow-wrap:anywhere;word-break:break-word}.exerciseGrid>button,.units button{grid-template-columns:auto minmax(0,1fr) auto}.headerStats{gap:6px}.headerStats span{padding:8px 10px}.brand{font-size:20px}.brand span{width:38px;height:38px}}@media (width<=380px){.app{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.hero{min-height:440px;padding:30px 22px}.hero h1{font-size:39px}.hero>div>p:not(.eyebrow){font-size:15px}.mascot{bottom:22px;right:14px}.sectionTitle h2{font-size:29px}.card{padding:22px 14px}.word h1{font-size:42px}.contextPrompt h1{font-size:24px}.taskOverview article{gap:9px;padding:11px}.taskIndex{width:30px;height:30px}.practiceMini{padding:9px}.exerciseCard{padding:22px 14px}.taskPrompt{padding:15px;font-size:17px}}@media (height<=560px) and (width<=720px){nav{height:64px;padding-bottom:0;position:static}.app{padding-bottom:20px}}.saveStatus{color:#24764d;background:#d8f7e6;border-radius:99px;justify-content:center;align-items:center;gap:7px;width:max-content;max-width:100%;margin:28px auto 0;padding:9px 14px;font-size:13px;font-weight:800;display:flex}.saveStatus svg{width:16px}.saveStatus.saveError{color:#a6372d;background:#ffe0dc}.cloudSync{color:#fff;background:#24251f;border-radius:28px;overflow:hidden}.cloudIntro{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:30px 34px;display:grid}.cloudIcon{color:#267950;background:#c9f4dd;border-radius:17px;place-items:center;width:54px;height:54px;display:grid}.cloudIcon svg{width:26px}.cloudIntro h2{margin:0;font-size:30px;line-height:1.1}.cloudIntro p:not(.eyebrow){color:#c7c7bd;max-width:660px;margin:8px 0 0}.cloudManage{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff42;border-radius:13px;align-items:center;gap:6px;padding:11px 14px;font-weight:800;display:flex}.cloudManage svg{width:17px}.cloudStatus{background:#171813;align-items:center;gap:12px;padding:12px 34px;display:flex}.cloudStatus>span{align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.cloudStatus i{background:#aaa;border-radius:50%;width:9px;height:9px}.cloudStatus .synced i{background:#63d49b}.cloudStatus .syncing i{background:#ffd85f}.cloudStatus .error i{background:#fe5b49}.cloudStatus small{color:#9e9e94}.cloudPanel{color:#24251f;background:#fff;padding:26px 34px 30px}.cloudPanel label{text-transform:uppercase;letter-spacing:.09em;color:#736e65;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.keyDisplay{gap:10px;display:flex}.keyDisplay code{letter-spacing:.04em;overflow-wrap:anywhere;background:#f1ece2;border:1px solid #ded7ca;border-radius:13px;flex:1;align-items:center;padding:13px 15px;font:800 17px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.keyDisplay button,.cloudChoice form button{color:#fff;cursor:pointer;background:#24251f;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:12px 15px;font-weight:800;display:flex}.keyDisplay button svg{width:17px}.keyWarning{color:#6c5516;background:#fff0c7;border-radius:12px;align-items:center;gap:8px;padding:11px 13px;font-size:13px;font-weight:700;display:flex}.keyWarning svg{flex:none;width:18px}.cloudActions{align-items:center;gap:10px;display:flex}.cloudActions .secondary{margin:0}.disconnect{color:#9b4038;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:12px;font-weight:800;display:flex}.disconnect svg{width:17px}.createKey{text-align:left;cursor:pointer;background:#d8c6ff;border:0;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;padding:17px;display:grid}.createKey>svg:first-child{background:#fff8;border-radius:12px;width:44px;height:44px;padding:11px}.createKey>svg:last-child{width:18px}.createKey b,.createKey small{display:block}.createKey small{color:#625675;margin-top:3px}.createKey:disabled,.cloudChoice form button:disabled{opacity:.5}.or{color:#908b81;text-transform:uppercase;align-items:center;gap:10px;margin:18px 0;font-size:12px;font-weight:800;display:flex}.or:before,.or:after{content:"";background:#ded9ce;flex:1;height:1px}.cloudChoice form>div{gap:9px;display:flex}.cloudChoice input{text-transform:uppercase;border:2px solid #ded9ce;border-radius:12px;flex:1;min-width:0;padding:12px 14px;font:700 16px ui-monospace,SFMono-Regular,Menlo,monospace}.cloudChoice input:focus{border-color:#8c6ad2;outline:0}.cloudError{color:#9b332b;background:#ffe0dc;border-radius:11px;margin:14px 0 0;padding:11px 13px;font-size:13px;font-weight:700}.spin{animation:1s linear infinite cloudSpin}@keyframes cloudSpin{to{transform:rotate(360deg)}}.summaryHero{text-align:center;color:#fff;background:#24251f;border-radius:28px;margin-top:24px;padding:38px 24px}.summaryHero .round{margin:auto}.summaryHero .eyebrow{margin-top:16px}.summaryHero h1{margin:8px 0;font-size:42px}.summaryHero p:not(.eyebrow){color:#c7c7bd}.summaryHero>b{color:#ffd85f}.mistakeReport{margin-top:30px}.mistakeReport article{text-align:left;background:#fff;border:1px solid #ded9ce;border-radius:16px;grid-template-columns:auto 1fr;gap:12px;margin-top:9px;padding:15px;display:grid}.mistakeReport article>button{cursor:pointer;background:#ffd85f;border:0;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.mistakeReport article>button svg{width:20px}.mistakeReport article div>*{display:block}.mistakeReport article b{font-size:18px}.mistakeReport article small{color:#77736b;margin:4px 0 7px}.mistakeReport article span{color:#a94b42}.mistakeReport article strong{color:#24764d;margin-top:3px}.summaryActions{flex-direction:column;align-items:stretch;margin:20px 0 40px;display:flex}.summaryActions .primary{width:100%}.secondary{cursor:pointer;background:#fff;border:1px solid #ccc5b9;border-radius:14px;margin-top:12px;padding:14px 18px;font-weight:800}.sessionSummary .sectionTitle{margin-bottom:12px}@media (width<=720px){.summaryHero{padding:30px 18px}.summaryHero h1{font-size:34px}.mistakeReport .sectionTitle h2{font-size:28px}.mistakeReport article{padding:12px}.mistakeReport article b{font-size:16px}.cloudIntro{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:22px 19px}.cloudIcon{border-radius:14px;width:44px;height:44px}.cloudIntro h2{font-size:23px}.cloudIntro p:not(.eyebrow){font-size:14px}.cloudManage{grid-column:1/3;justify-content:center;width:100%}.cloudStatus{flex-direction:column;align-items:flex-start;gap:4px;padding:11px 19px}.cloudPanel{padding:21px 19px 24px}.keyDisplay,.cloudChoice form>div,.cloudActions{flex-direction:column}.keyDisplay code,.keyDisplay button,.cloudChoice form button,.cloudActions>*{width:100%}.keyDisplay code{text-align:center;justify-content:center;font-size:14px}.cloudActions .secondary{margin-top:2px}}.workbookCall{background:#d8c6ff;border-radius:26px;justify-content:space-between;align-items:center;gap:20px;padding:32px 38px;display:flex}.workbookCall h2{margin:0;font-size:32px}.workbookCall p:not(.eyebrow){color:#5f5672;margin:8px 0 0}.workbookCall .primary{white-space:nowrap;margin:0}.workbookPage,.exercisePage{max-width:900px;margin:auto}.subHeader{align-items:start;gap:26px;margin:30px 0;display:flex}.subHeader>button{cursor:pointer;background:#fff;border:0;border-radius:12px;align-items:center;gap:7px;padding:11px 15px;display:flex}.subHeader svg{width:17px}.subHeader h1{letter-spacing:-.04em;margin:0;font-size:42px;line-height:1.05}.unitTabs{gap:8px;padding:4px 2px 14px;display:flex;overflow-x:auto}.unitTabs button{white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #ded9ce;border-radius:99px;padding:9px 13px;font-weight:800}.unitTabs button.active{color:#fff;background:#24251f}.unitTabs small{opacity:.6;margin-left:7px}.exerciseGrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.exerciseGrid>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #ded9ce;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;display:grid}.exerciseGrid>button:hover{border-color:#9e82dd;transform:translateY(-2px)}.exerciseGrid>button>span:nth-child(2)>*{display:block}.exerciseGrid small{color:#877f92;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.exerciseGrid b{margin:5px 0;font-size:17px}.exerciseGrid em{color:#8a867e;font-size:12px;font-style:normal}.exNum{color:#7557b8;background:#eee7ff;border-radius:13px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.exNum.done{color:#288258;background:#c9f4dd}.exNum svg{width:19px}.exerciseLabel{color:#847e73;letter-spacing:.12em;justify-content:space-between;margin:32px 8px 10px;font-size:11px;font-weight:800;display:flex}.exerciseCard{background:#fff;border:1px solid #ded9ce;border-radius:28px;padding:38px;box-shadow:0 14px 30px #493c1d12}.exerciseCard>h1{margin:0 0 30px;font-size:30px}.taskPrompt{background:#f6f2e9;border-radius:18px;padding:24px;font-size:22px;font-weight:800;line-height:1.5}.workAnswers{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.workAnswers button{cursor:pointer;background:#fff;border:2px solid #e1dcd2;border-radius:14px;padding:16px;font-weight:800}.workAnswers button.correct{background:#d8f7e6;border-color:#45bd7b}.workAnswers button.dim{opacity:.42}.writeTask{margin-top:18px}.writeTask textarea{resize:vertical;width:100%;font:inherit;border:2px solid #ded9ce;border-radius:14px;padding:15px}.writeTask button,.checkBtn,.speakPractice>button:first-child{color:#fff;cursor:pointer;background:#24251f;border:0;border-radius:12px;align-items:center;gap:7px;margin-top:10px;padding:12px 16px;font-weight:800;display:inline-flex}.writeTask svg,.checkBtn svg,.speakPractice svg{width:17px}.writeTask button:disabled,.checkBtn:disabled{opacity:.35}.feedback{background:#fff0c7;border-radius:14px;flex-direction:column;margin-top:18px;padding:16px;display:flex}.feedback.good{background:#d8f7e6}.feedback span{margin-top:5px;font-size:18px}.feedback small{color:#706b61;margin-top:5px}.orderTask{margin-top:18px}.sentenceLine{border:2px dashed #cfc7ba;border-radius:14px;flex-wrap:wrap;align-items:center;gap:7px;min-height:68px;padding:10px;display:flex}.sentenceLine>span{color:#969087}.sentenceLine button,.wordBank button{cursor:pointer;background:#d8c6ff;border:0;border-radius:9px;padding:9px 11px;font-weight:800}.wordBank{background:#f5f1e9;border-radius:14px;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px;display:flex}.wordBank button{background:#fff;border:1px solid #ded9ce}.speakPractice{text-align:center;margin-top:22px}.speakPractice .mic{margin:20px auto;display:grid}.speakPractice p{color:#77736b}@media (width<=720px){.workbookCall{padding:25px;display:block}.workbookCall .primary{margin-top:16px}.subHeader{display:block}.subHeader>button{margin-bottom:22px}.subHeader h1{font-size:32px}.exerciseGrid{grid-template-columns:1fr}.exerciseCard{padding:26px 18px}.taskPrompt{padding:18px;font-size:18px}.workAnswers{grid-template-columns:1fr}.exerciseCard>h1{font-size:25px}.unitTabs{margin-right:-16px}.exercisePage{padding-top:12px}.workbookPage{min-width:0}.unitTabs{max-width:100%;margin-right:0}}.unitPage{max-width:980px;margin:auto}.subHeader>div>p:last-child{color:#77736b;margin:10px 0 0}.unitSummary{color:#fff;background:#24251f;border-radius:20px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;margin-bottom:18px;padding:18px 22px;display:grid}.unitSummary>div:first-child b,.unitSummary>div:first-child small{display:block}.unitSummary>div:first-child b{font-size:22px}.unitSummary>div:first-child small{color:#aaa99f}.summaryBar{background:#484940;border-radius:99px;height:8px;overflow:hidden}.summaryBar i{background:#63d49b;border-radius:99px;height:100%;display:block}.unitSummary button{cursor:pointer;border:0;border-radius:11px;align-items:center;gap:6px;padding:10px 13px;font-weight:800;display:flex}.unitSummary button:last-child{background:#d8c6ff}.unitSummary svg{width:17px}.taskOverview{gap:8px;display:grid}.taskOverview article{background:#fff;border:1px solid #e0dbd0;border-radius:15px;grid-template-columns:auto minmax(180px,1fr) auto auto auto auto;align-items:center;gap:13px;padding:13px 15px;display:grid}.taskIndex{color:#817b70;background:#f0ebe1;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.taskWords b,.taskWords span,.taskWords small{display:block}.taskWords b{font:800 20px Noto Sans SC}.taskWords span{color:#7155ad;margin-top:2px;font-size:13px;font-weight:700}.taskWords small{color:#7d7970;margin-top:2px}.taskKind{text-transform:uppercase;letter-spacing:.1em;color:#858078;background:#f3efe7;border-radius:99px;padding:5px 8px;font-size:10px}.masteryDots{gap:3px;display:flex}.masteryDots i{background:#ded9ce;border-radius:50%;width:7px;height:7px}.masteryDots i.on{background:#63d49b}.audioMini,.practiceMini{cursor:pointer;border:0;border-radius:10px}.audioMini{background:#ffd85f;place-items:center;width:39px;height:39px;display:grid}.audioMini svg{width:18px}.practiceMini{color:#fff;background:#fe5b49;align-items:center;gap:5px;padding:10px 13px;font-weight:800;display:flex}.practiceMini svg{fill:currentColor;width:15px}@media (width<=720px){.unitSummary{grid-template-columns:auto 1fr}.unitSummary button{justify-content:center}.taskOverview article{grid-template-columns:auto 1fr auto}.taskKind,.masteryDots{display:none}.audioMini{grid-column:3}.practiceMini{grid-column:2/4;justify-content:center}.taskWords b{font-size:18px}}.modes{grid-template-columns:repeat(4,1fr)}.mode.mintMode{background:#bcebd4}.typeRecall{margin-top:22px}.typeRecall input{width:100%;font:inherit;border:2px solid #ded9ce;border-radius:14px;padding:16px;font-size:18px}.typeRecall>button{color:#fff;cursor:pointer;background:#24251f;border:0;border-radius:12px;align-items:center;gap:7px;margin-top:10px;padding:12px 18px;font-weight:800;display:inline-flex}.typeRecall>button:disabled{opacity:.4}.typeRecall>button svg{width:18px}.typeRecall .reveal{text-align:left;gap:4px;margin-top:16px}.typeRecall .typeGood{background:#d8f7e6}.typeRecall .typeWrong{background:#ffe0dc}.typeRecall .reveal small{color:#6f6a62}@media (width<=980px){.modes{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.modes{grid-template-columns:1fr}}.contextPrompt{min-height:150px}.contextPrompt h1{font-size:34px;line-height:1.45}.contextPrompt mark{color:#24251f;background:#ffd85f;border-radius:8px;padding:2px 5px}.contextPrompt>span{color:#7155ad;font-weight:700}.contextPrompt p{margin-top:12px}.englishPrompt{font-family:DM Sans,system-ui,sans-serif!important;font-size:38px!important}.pinyinPrompt{color:#7155ad;font-family:DM Sans,system-ui,sans-serif!important;font-size:42px!important}.audioDock{justify-content:center;gap:10px;margin:14px auto 26px;display:flex}.audioButton{text-align:left;cursor:pointer;background:#ffd85f;border:0;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:64px;padding:11px 18px;display:flex;box-shadow:0 5px #d5a92d}.audioButton.sentenceAudio{background:#d8c6ff;box-shadow:0 5px #a98bdd}.audioButton svg{flex:none;width:25px;height:25px}.audioButton span>*{display:block}.audioButton b{font-size:14px}.audioButton small{opacity:.7;margin-top:2px;font-size:11px}.sentenceMeaning{text-align:left;background:#d8f7e6;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-top:16px;padding:15px;display:grid}.sentenceMeaning>svg{color:#288258}.sentenceMeaning div>*{display:block}.sentenceMeaning span{margin-top:3px;font:800 18px Noto Sans SC}.sentenceMeaning small{color:#466a57;margin-top:3px}.sentenceMeaning button{cursor:pointer;background:#fff;border:0;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.sentenceMeaning button svg{width:20px}@media (width<=720px){.contextPrompt{min-height:0}.contextPrompt h1{font-size:30px;line-height:1.35}.englishPrompt,.pinyinPrompt{font-size:32px!important}.audioDock{top:max(8px,env(safe-area-inset-top));z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #e7e1d7;border-radius:17px;margin:0 -8px 18px;padding:8px;position:sticky;box-shadow:0 8px 20px #33291318}.audioButton{min-width:0;min-height:56px;box-shadow:none;flex:1;padding:8px 10px}.audioButton svg{width:21px}.audioButton b{font-size:12px}.audioButton small{text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.answers{gap:9px;margin-top:18px}.answers button{min-height:58px;padding:10px}.card>.eyebrow{margin-bottom:10px}.sentenceMeaning span{font-size:16px}}@media (width<=380px){.contextPrompt h1{font-size:27px}.audioButton{gap:6px}.audioButton small{max-width:72px}}.speakPractice .revealModel{color:#fff;cursor:pointer;background:#fe5b49;border:0;border-radius:12px;align-items:center;gap:7px;margin:12px auto;padding:12px 16px;font-weight:800;display:flex}.speakPractice .revealModel svg{width:18px}.toneGuide{background:#fff;border:1px solid #ded9ce;border-radius:20px;margin-top:28px;overflow:hidden}.toneGuide summary{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:17px 20px;list-style:none;display:grid}.toneGuide summary::-webkit-details-marker{display:none}.toneGuide summary b,.toneGuide summary small{display:block}.toneGuide summary small{color:#827d74;margin-top:2px}.toneGuide summary>svg{width:18px;transition:all .2s}.toneGuide[open] summary>svg{transform:rotate(90deg)}.toneBadge{background:#ffd85f;border-radius:13px;place-items:center;width:42px;height:42px;font:800 20px Noto Sans SC;display:grid}.toneGuideBody{padding:0 20px 20px}.toneCards{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.toneCards>span{background:#f6f2e9;border-radius:12px;padding:12px;position:relative}.toneCards b,.toneCards i{display:block}.toneCards b{font-size:16px}.toneCards i{color:#78736a;margin-top:3px;font-size:11px;font-style:normal}.toneCards em{color:#fe5b49;font-size:22px;font-style:normal;position:absolute;top:8px;right:10px}.toneGuideBody p{color:#69655d;margin:14px 2px 0;font-size:13px;line-height:1.55}.toneGuide.compact{text-align:left;background:#f8f4eb;max-width:570px;margin:0 auto 18px}.toneGuide.compact summary{padding:12px 14px}.toneGuide.compact .toneBadge{border-radius:10px;width:34px;height:34px;font-size:16px}.toneGuide.compact .toneGuideBody{padding:0 14px 14px}.toneGuide.compact .toneCards>span{padding:9px}.toneGuide.compact .toneCards em{display:none}@media (width<=720px){.toneCards{grid-template-columns:repeat(2,1fr)}.toneCards>span:last-child{grid-column:1/3}.toneGuide.compact .toneCards{grid-template-columns:1fr 1fr}.toneGuide summary{padding:14px}.toneGuideBody{padding:0 14px 16px}}.unitModePicker{grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 18px;display:grid}.unitModePicker>button,.unitModePicker>div>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #ded9ce;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;min-height:78px;padding:13px;display:grid}.unitModePicker>div{padding-top:16px;position:relative}.unitModePicker>div>small{color:#e55242;letter-spacing:.1em;font-size:9px;font-weight:900;position:absolute;top:0;left:10px}.unitModePicker>div>button{background:#fff3c9;border-color:#e8c751}.unitModePicker svg{width:20px}.unitModePicker span>*{display:block}.unitModePicker b{font-size:15px}.unitModePicker em{color:#7b766e;margin-top:3px;font-size:11px;font-style:normal}.unitModePicker button:hover{transform:translateY(-2px)}@media (width<=720px){.unitModePicker{grid-template-columns:1fr}.unitModePicker>div{padding-top:16px}}
