:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#10242d;background:#f6f9fb;--ink: #10242d;--muted: #667884;--soft: #eef5f7;--line: #dbe6ea;--teal: #007784;--teal-2: #005f6b;--blue: #1f74d1;--amber: #f5a400;--red: #ef4c4c;--green: #20b77a;--panel: #ffffff;--shadow: 0 16px 42px rgba(15, 46, 60, .08);--radius: 8px}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:#f6f9fb}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-flag{width:30px;height:20px;border-radius:4px;object-fit:cover;box-shadow:0 1px 3px #10242d2e}.brand strong{display:block;color:var(--ink);max-width:164px;font-size:14px;line-height:1.25;overflow-wrap:anywhere}.brand span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1fr) 480px;background:linear-gradient(90deg,rgba(0,119,132,.08),transparent 42%),#f6f9fb}.auth-left{padding:56px 68px;display:flex;flex-direction:column;justify-content:space-between}.auth-copy{max-width:680px}.eyebrow{display:inline-flex;align-items:center;color:var(--teal);font-weight:750;font-size:13px;line-height:18px}.auth-copy h1{margin:18px 0;max-width:780px;font-size:52px;line-height:1.08;font-weight:850;color:var(--ink)}.auth-copy p,.onboarding-content p,.today-panel p{color:var(--muted);font-size:16px;line-height:1.75}.auth-preview{max-width:640px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffbf;padding:24px;box-shadow:var(--shadow)}.preview-row,.preview-metrics{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px}.preview-row strong{color:var(--ink);font-size:18px}.preview-progress,.tiny-progress{height:8px;background:#dfe9ed;border-radius:99px;overflow:hidden;margin:18px 0}.preview-progress span,.tiny-progress span{display:block;height:100%;background:var(--teal)}.auth-panel{margin:auto 64px auto 0;width:420px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:28px;box-shadow:var(--shadow)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:#f3f7f9}.segmented button,.provider-row button{border:0;border-radius:6px;min-height:38px;background:transparent;color:var(--muted);font-weight:700}.segmented .active,.provider-row .active{background:var(--panel);color:var(--teal);box-shadow:0 2px 8px #10242d14}.auth-panel h2{margin:28px 0 8px;font-size:30px;line-height:1.2}.auth-panel p{margin:0 0 24px;color:var(--muted)}.auth-panel label{display:grid;gap:8px;color:#40515a;font-size:14px;font-weight:700;margin-bottom:16px}.auth-panel input,.search-box input,.tutor-input input{width:100%;border:1px solid var(--line);border-radius:var(--radius);min-height:46px;padding:0 14px;background:#fff;color:var(--ink);outline:none}.auth-panel input:focus,.search-box input:focus,.tutor-input input:focus{border-color:#0077848c;box-shadow:0 0 0 3px #0077841f}.primary-action,.secondary-action,.outline-action,.ghost-button,.danger-action{border-radius:var(--radius);min-height:46px;padding:0 18px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;text-decoration:none}.primary-action{background:var(--teal);color:#fff;box-shadow:0 10px 20px #0077842e}.primary-action:hover{background:var(--teal-2)}.secondary-action,.outline-action,.ghost-button{background:#fff;border-color:var(--line);color:var(--teal)}.danger-action{background:#fff0f0;border-color:#f1aaaa;color:#b43131}.secondary-action{width:100%;margin-top:10px}.primary-action.full{width:100%;margin-top:18px}.primary-action.compact{min-height:42px;min-width:142px}.onboarding-shell{min-height:100vh;display:grid;place-items:center;padding:42px;background:linear-gradient(180deg,rgba(0,0,0,.03) 0 6px,transparent 6px),linear-gradient(90deg,#111 0,#111 33%,#e92020 33%,#e92020 66%,#f6c40f 66%,#f6c40f) top / 100% 6px no-repeat,#f6f9fb}.onboarding-card{width:min(980px,100%);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.stepper{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:12px;margin:30px 0}.step{min-height:48px;display:flex;align-items:center;gap:10px;color:var(--muted);position:relative}.step:not(:last-child):after{content:"";position:absolute;left:46px;right:-4px;height:2px;top:24px;background:var(--line)}.step.active:not(:last-child):after{background:#00778459}.step span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);font-weight:850;z-index:1}.step.active span{border-color:var(--teal);background:var(--teal);color:#fff}.step strong{font-size:14px}.onboarding-content{min-height:360px;padding:10px 4px}.onboarding-content h1{margin:10px 0 8px;font-size:36px;line-height:1.2}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.choice,.chip{border:1px solid var(--line);background:#fff;border-radius:var(--radius);color:var(--ink);min-height:118px;padding:18px;display:grid;place-items:center;gap:10px;font-weight:800}.choice.selected,.chip.selected{border-color:var(--teal);background:#eaf7f8;color:var(--teal)}.split-options{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px}.split-options h3{margin:0 0 14px}.chip-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.chip{min-height:68px;font-size:17px}.profile-result{margin-top:26px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.profile-line{display:grid;grid-template-columns:128px 1fr;gap:20px;padding:16px 18px;border-bottom:1px solid var(--line)}.profile-line:last-child{border-bottom:0}.profile-line span{color:var(--muted)}.profile-line strong{color:var(--ink);font-weight:750}.onboarding-footer{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:22px}.onboarding-footer .secondary-action,.onboarding-footer .primary-action{width:auto;margin:0;min-width:136px}.app-shell{min-height:100vh;display:grid;grid-template-columns:222px 1fr;background:#f7fafb}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:24px 14px 18px;display:flex;flex-direction:column;gap:24px}.sidebar nav{display:grid;gap:8px}.nav-item{min-height:46px;display:flex;align-items:center;gap:12px;padding:0 14px;border:0;border-radius:var(--radius);background:transparent;color:#445862;font-weight:750;text-align:left}.nav-item:hover,.nav-item.active{background:var(--teal);color:#fff}.nav-item.locked{color:#8a9aa2}.nav-item.locked:hover{background:#f1f6f8;color:var(--teal)}.streak-box,.level-box{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff}.streak-box{margin-top:auto}.streak-heading,.level-box{display:flex;align-items:center;gap:10px}.streak-heading{color:#51626b;font-size:13px;font-weight:750}.streak-box strong{display:block;margin-top:14px;font-size:30px}.streak-box p,.level-box p{margin:4px 0 0;color:var(--muted);font-size:13px}.level-box>span{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius);color:#fff;background:var(--teal);font-weight:850}.workspace,.dashboard,.dashboard-main,.panel,.task-grid,.task-card,.right-rail{min-width:0}.topbar{height:70px;display:flex;align-items:center;gap:14px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.mobile-bottom-nav,.icon-button.mobile-menu{display:none}.search-box{flex:1;max-width:540px;display:flex;align-items:center;gap:8px;color:var(--muted);position:relative}.search-box input{padding-left:42px}.search-box>svg{position:absolute;left:14px;z-index:1;pointer-events:none}.level-pill,.profile-button,.icon-button{border:1px solid var(--line);background:#fff;border-radius:var(--radius);min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--ink);font-weight:800}.level-pill{min-width:116px;color:var(--teal)}.level-pill span{color:#54717a}.level-pill.locked,.profile-button.locked{background:#f7fbfc;color:#54717a}.icon-button{width:42px;position:relative}.notify span{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:11px}.profile-button{padding:0 10px}.profile-button>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 322px;gap:18px;padding:18px}.dashboard-main{min-width:0;display:grid;gap:16px}.overview-dashboard,.placeholder-dashboard{grid-template-columns:1fr}.overview-hero-panel,.placeholder-hero-panel{padding:22px;overflow:hidden}.overview-hero-panel h1,.placeholder-hero-panel h1{margin:6px 0 8px;font-size:30px;line-height:1.2}.overview-hero-panel p,.placeholder-hero-panel p,.module-note{margin:0;color:var(--muted);line-height:1.65}.access-badge{min-height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:99px;padding:0 12px;background:#fff2d4;color:#a86e00;font-size:13px;font-weight:850;white-space:nowrap}.access-badge.unlocked{background:#e8f8f1;color:#08724a}.module-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:18px}.module-overview-card{min-height:268px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:16px;display:flex;flex-direction:column;gap:10px}.module-overview-card.locked{background:linear-gradient(180deg,#fff,#f7fbfc)}.module-overview-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.module-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius);background:#e9f7f5;color:var(--teal);flex:0 0 auto}.module-overview-card.blue .module-icon{background:#e7f0ff;color:var(--blue)}.module-overview-card.amber .module-icon{background:#fff2d4;color:#d18800}.module-overview-card.red .module-icon{background:#ffe5e5;color:var(--red)}.module-overview-card.green .module-icon{background:#e8f8f1;color:var(--green)}.module-overview-card h3{margin:4px 0 0;color:var(--teal);font-size:15px;line-height:1.25}.module-overview-card strong{display:block;color:var(--ink);font-size:19px;line-height:1.25}.module-overview-card p{margin:0;color:var(--muted);line-height:1.58}.module-overview-card button{min-height:40px;margin-top:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--teal);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:850}.module-overview-card.teal button{background:var(--teal);border-color:var(--teal);color:#fff}.overview-dashboard .access-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.overview-dashboard .access-panel,.overview-dashboard .locked-scope-panel{height:100%}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 8px 22px #0f2e3c0a}.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-title-row h2,.ability-panel h2,.next-lesson h2,.tutor-heading h2{margin:0;font-size:20px;line-height:1.25}.panel-title-row button{border:0;background:transparent;color:var(--teal);font-weight:800;min-height:30px}.today-panel{padding:20px}.today-panel h1{margin:6px 0 0;font-size:28px;line-height:1.2}.task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.task-card{min-height:278px;border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:#fff}.task-card.locked{background:linear-gradient(180deg,#fff,#f7fbfc)}.task-card.locked .task-icon{opacity:.72}.task-tag{border-radius:6px;min-height:26px;padding:4px 10px;font-size:12px;font-weight:850}.task-card.teal .task-tag,.task-card.teal .task-icon{background:#dff5f1;color:var(--teal)}.task-card.blue .task-tag,.task-card.blue .task-icon{background:#e7f0ff;color:var(--blue)}.task-card.amber .task-tag,.task-card.amber .task-icon{background:#fff2d4;color:var(--amber)}.task-card.red .task-tag,.task-card.red .task-icon{background:#ffe5e5;color:var(--red)}.task-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;margin:8px auto 4px;align-self:center}.task-card h3{margin:0;width:100%;text-align:center;min-height:46px;font-size:17px;line-height:1.35}.task-card p{width:100%;margin:0;text-align:center;color:var(--muted);font-size:14px;line-height:1.45}.task-progress{width:100%;margin-top:auto;color:var(--muted);font-size:12px}.task-progress strong{float:right;color:var(--ink)}.task-progress div{clear:both;height:6px;margin-top:8px;border-radius:99px;background:#dfe8ec;overflow:hidden}.task-progress div span{display:block;height:100%;background:var(--teal)}.task-time{margin-top:auto!important}.task-card button{width:100%;min-height:40px;border-radius:var(--radius);border:1px solid currentColor;background:#fff;color:var(--teal);font-weight:850}.task-card.locked button{background:#f7fbfc;border-color:#cfdce1;color:var(--teal)}.access-rail{align-self:start}.access-panel{padding:22px}.access-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius);background:#e9f7f5;color:var(--teal);margin-bottom:16px}.access-panel h2,.locked-scope-panel h2{margin:8px 0 10px;font-size:22px;line-height:1.25}.access-panel p{margin:0;color:var(--muted);line-height:1.65}.access-form{display:grid;gap:12px;margin-top:18px}.access-form label{display:grid;gap:8px;color:#40515a;font-size:14px;font-weight:800}.access-form input{width:100%;border:1px solid var(--line);border-radius:var(--radius);min-height:46px;padding:0 14px;color:var(--ink);outline:none}.access-form input:focus{border-color:#0077848c;box-shadow:0 0 0 3px #0077841f}.access-error{color:#b43131;font-size:13px;font-weight:750}.locked-scope-panel{padding:18px}.task-card.teal button{background:var(--teal);color:#fff;border-color:var(--teal)}.task-card.amber button{color:#d18800}.task-card.red button{color:var(--red)}.insight-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:16px}.ability-panel,.activity-panel,.next-lesson{padding:18px}.radar-wrap{height:242px;display:grid;place-items:center}.radar-legend{display:flex;gap:18px;justify-content:center;color:var(--muted);font-size:13px}.radar-legend i{display:inline-block;width:22px;height:3px;background:var(--teal);border-radius:99px;margin-right:6px;vertical-align:middle}.radar-legend .muted{background:#bacbd2}.activity-list{margin-top:14px;border-top:1px solid var(--line)}.activity-row{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;min-height:58px;border-bottom:1px solid var(--line)}.activity-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e9f7f5;color:var(--teal)}.activity-row strong{font-size:14px}.activity-row p{margin:3px 0 0;color:var(--muted);font-size:13px}.activity-row time{color:var(--muted);font-size:13px}.next-lesson{min-height:150px}.lesson-row{display:grid;grid-template-columns:192px 1fr auto;gap:18px;align-items:center;margin-top:14px}.lesson-row img{width:192px;height:92px;object-fit:cover;border-radius:var(--radius)}.lesson-row strong{display:block;font-size:17px;margin-bottom:6px}.lesson-row p{margin:2px 0;color:#566a74;font-size:14px}.lesson-row span{display:block;margin-top:8px;color:var(--muted);font-size:13px}.lesson-actions{display:grid;gap:8px;min-width:150px}.right-rail{display:grid;gap:16px;align-content:start}.tutor-panel{padding:18px}.tutor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.tutor-heading>div{display:flex;align-items:center;gap:9px}.tutor-heading svg{color:#315ee7}.online-dot{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:13px;font-weight:800}.online-dot:before{content:"";width:8px;height:8px;background:currentColor;border-radius:50%}.provider-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;margin:16px 0;border:1px solid var(--line);border-radius:var(--radius);background:#f6f9fb}.chat-window{display:grid;gap:10px;max-height:186px;overflow:auto;padding-right:4px}.chat-bubble{border-radius:var(--radius);padding:11px 12px;font-size:14px;line-height:1.55}.chat-bubble.assistant{background:#f1f7f9;color:#294550}.chat-bubble.user{background:var(--teal);color:#fff;margin-left:22px}.prompt-list{display:grid;gap:8px;margin-top:16px}.prompt-list button{min-height:64px;width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px 12px;display:grid;grid-template-columns:24px 1fr 18px;gap:10px;align-items:center;text-align:left;color:#354b55}.prompt-list button>svg:first-child{color:var(--teal)}.prompt-list strong,.prompt-list small{display:block}.prompt-list small{margin-top:3px;color:var(--muted);line-height:1.35}.tutor-input{display:grid;grid-template-columns:1fr 42px;gap:8px;margin-top:16px}.tutor-input button{border:0;border-radius:var(--radius);background:var(--teal);color:#fff}.profile-panel{padding:18px}.profile-panel .profile-line{grid-template-columns:112px 1fr;padding:13px 0}.course-dashboard{align-items:start}.course-main{min-width:0;display:grid;gap:16px}.course-main h1,.course-main h2,.course-main h3,.course-main p,.course-main span,.course-main strong,.course-main em,.course-main button{overflow-wrap:anywhere}.course-side{display:grid;gap:16px;align-content:start;min-width:0}.placeholder-main{min-width:0;display:grid;gap:16px}.placeholder-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.placeholder-topic-card{min-height:210px;padding:18px;display:grid;align-content:start;gap:14px}.placeholder-topic-card h3{margin:10px 0 8px;font-size:18px;line-height:1.28}.placeholder-topic-card p{margin:0;color:var(--muted);line-height:1.58}.course-side .right-rail{display:grid;grid-template-columns:1fr}.course-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:14px}.course-breadcrumb button{border:0;background:transparent;color:var(--teal);font-weight:850;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0}.course-video-panel,.explanation-panel,.vocabulary-panel,.practice-panel,.sentence-panel,.pronunciation-panel,.homework-panel,.lesson-progress-panel{padding:20px}.course-video-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.course-video-header>div{min-width:0;width:100%;max-width:100%}.course-video-header h1{margin:6px 0 8px;font-size:30px;line-height:1.2}.course-video-header p{margin:0;color:var(--muted);line-height:1.65}.course-copy-break{display:none}.video-frame{position:relative;min-height:420px;overflow:hidden;border-radius:var(--radius);background:#0e2932;color:#fff}.embedded-video-frame{min-height:auto;aspect-ratio:16 / 9;background:#08151a}.embedded-video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.video-frame img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(.92)}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:24px}.video-overlay>div{margin-top:92px}.video-overlay strong,.video-overlay span{display:block}.video-overlay strong{font-size:24px}.video-overlay span{margin-top:8px;color:#ffffffc7}.play-button{width:76px;height:76px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#fffffff0;color:var(--teal);box-shadow:0 18px 38px #00000042}.video-controls{position:absolute;left:18px;right:18px;bottom:18px;min-height:48px;display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--radius);background:#09181eb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.video-controls span{font-size:13px;color:#ffffffd9}.video-timeline{height:6px;overflow:hidden;border-radius:99px;background:#ffffff38}.video-timeline span{display:block;height:100%;background:#fff}.video-controls button{border:0;background:#ffffff1f;color:#fff;min-height:30px;padding:0 10px;border-radius:6px;display:inline-flex;align-items:center;gap:6px}.video-buttons{display:inline-flex;align-items:center;gap:12px}.video-lesson-meta{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#f7fbfc;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.video-lesson-meta>div{display:grid;gap:6px}.video-lesson-meta strong{font-size:18px}.video-lesson-meta p{margin:0;color:var(--muted)}.video-lesson-meta>span{color:var(--teal);font-weight:850;white-space:nowrap}.video-playlist{margin-top:14px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.video-playlist button{min-height:126px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);padding:12px;text-align:left;display:grid;gap:7px;align-content:start}.video-playlist button.active{border-color:var(--teal);background:#eefafa;box-shadow:0 12px 28px #0077841f}.video-playlist span{width:fit-content;min-height:24px;padding:0 8px;border-radius:99px;background:#e9f7f5;color:var(--teal);display:inline-flex;align-items:center;font-size:12px;font-weight:850}.video-playlist strong{line-height:1.25}.video-playlist small{color:var(--muted);line-height:1.45}.explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.explain-grid article{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff}.explain-grid svg{color:var(--teal)}.explain-grid h3{margin:14px 0 8px;font-size:17px}.explain-grid p{margin:0;min-height:92px;color:#51626b;line-height:1.6}.explain-grid span{display:block;margin-top:12px;padding:10px;border-radius:6px;background:#f1f7f9;color:var(--ink);font-weight:750}.vocab-table{margin-top:16px;border-top:1px solid var(--line)}.vocab-row{display:grid;grid-template-columns:150px 150px minmax(220px,1fr) 126px;gap:14px;align-items:center;min-height:76px;border-bottom:1px solid var(--line)}.vocab-row strong,.vocab-row span{display:block}.vocab-row strong{font-size:18px}.vocab-row span,.vocab-row p,.vocab-row em{color:var(--muted);font-size:14px}.vocab-row p,.vocab-row em{margin:0}.vocab-row em{font-style:normal;color:#314650}.vocab-row button{border:1px solid var(--line);background:#fff;color:var(--teal);border-radius:var(--radius);min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800}.vocab-row button.saved{background:#e9f7f5;border-color:#bfe2df}.practice-score,.status-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:99px;background:#e9f7f5;color:var(--teal);font-weight:850;font-size:13px}.question-list{display:grid;gap:12px;margin-top:16px}.question-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff}.question-card h3{margin:0 0 12px;font-size:16px}.answer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.answer-grid button{min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);font-weight:750}.answer-grid button:hover,.answer-grid button.selected{border-color:var(--teal);background:#f1fafa}.answer-grid button.correct{border-color:#7bd2af;background:#e8f8f1;color:#08724a}.answer-grid button.wrong{border-color:#f1aaaa;background:#fff0f0;color:#b43131}.feedback{margin:12px 0 0;font-size:14px;font-weight:750}.feedback.correct{color:#08724a}.feedback.wrong{color:#b43131}.sentence-grid{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sentence-grid article,.pronunciation-grid article{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.sentence-grid article{padding:16px;display:grid;gap:10px}.sentence-grid article.done,.pronunciation-grid article.done{border-color:#bfe2df;background:#effafa}.sentence-grid span,.sentence-grid p,.sentence-grid em{color:var(--muted)}.sentence-grid strong{font-size:19px}.sentence-grid p,.sentence-grid em{margin:0}.sentence-grid em{color:#314650;font-style:normal;font-weight:750}.sentence-grid button,.pronunciation-grid button{border:1px solid var(--line);background:#fff;color:var(--teal);border-radius:var(--radius);min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:850}.pronunciation-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pronunciation-grid article{min-height:132px;padding:16px;display:grid;grid-template-columns:42px 1fr 112px;gap:12px;align-items:center}.pronunciation-grid article>svg{color:var(--teal)}.pronunciation-grid strong,.pronunciation-grid span{display:block}.pronunciation-grid span{margin-top:5px;color:#314650;font-weight:800}.pronunciation-grid p{margin:8px 0 0;color:var(--muted);line-height:1.5}.homework-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.homework-list label{min-height:56px;border:1px solid var(--line);border-radius:var(--radius);padding:0 14px;display:flex;align-items:center;gap:10px;background:#fff}.homework-list label.checked{border-color:#bfe2df;background:#effafa}.homework-list input{width:18px;height:18px;accent-color:var(--teal)}.homework-list span{display:inline-flex;align-items:center;gap:8px;color:#314650;font-weight:750}.lesson-progress-panel{display:grid;gap:16px}.lesson-progress-meter strong,.lesson-progress-meter span{display:block}.lesson-progress-meter strong{font-size:32px}.lesson-progress-meter span{color:var(--muted);margin-top:2px}.lesson-progress-meter div{height:8px;overflow:hidden;border-radius:99px;background:#dfe8ec;margin-top:12px}.lesson-progress-meter div span{height:100%;background:var(--teal)}.lesson-outline{border-top:1px solid var(--line)}.lesson-outline a{min-height:46px;display:grid;grid-template-columns:24px 1fr 18px;gap:8px;align-items:center;border-bottom:1px solid var(--line);color:#40515a;text-decoration:none;font-weight:750}.lesson-outline svg{color:var(--teal)}.compact-outline{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}.compact-outline button{min-height:52px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#40515a;padding:9px 10px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;text-align:left}.compact-outline button.active{border-color:var(--teal);background:#eefafa;color:var(--teal)}.compact-outline button span,.compact-outline button strong,.compact-outline button small{min-width:0}.compact-outline button span{font-weight:850}.compact-outline button small{color:var(--muted)}.video-course-info-panel .stats-list{grid-template-columns:repeat(2,minmax(0,1fr))}.done-mark{color:var(--green)!important}.homework-mini{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted)}.homework-mini strong{color:var(--ink)}.practice-dashboard{align-items:start}.practice-course-dashboard{grid-template-columns:1fr}.practice-course-main,.practice-course-grid,.pronunciation-workshop-card,.practice-word-grid{min-width:0}.practice-course-main{display:grid;gap:16px}.practice-course-hero{padding:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:18px;align-items:start}.practice-course-hero h1{margin:6px 0 10px;font-size:30px;line-height:1.2}.practice-course-hero p,.workshop-copy{margin:0;color:var(--muted);line-height:1.65}.practice-course-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.practice-course-metrics div{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#f7fbfc;padding:14px}.practice-course-metrics strong,.practice-course-metrics span{display:block}.practice-course-metrics strong{font-size:28px;line-height:1.1}.practice-course-metrics span{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.35}.practice-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.pronunciation-workshop-card{padding:20px;display:grid;gap:16px}.focus-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.focus-selector button{min-width:0;min-height:92px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#40515a;padding:12px;display:grid;gap:5px;text-align:left}.focus-selector button.active{border-color:var(--teal);background:#e9f7f5;color:var(--teal)}.focus-selector span,.focus-selector small{color:var(--muted);font-size:12px;line-height:1.25}.focus-selector strong{font-size:16px;line-height:1.25}.workshop-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.workshop-actions .primary-action,.workshop-actions .outline-action,.workshop-actions .ghost-button,.workshop-actions .danger-action{width:auto;margin:0}.playback-status{min-height:50px;border:1px solid #bfe2df;border-radius:var(--radius);background:#eefafa;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#36515b}.playback-status span,.playback-status strong{min-width:0}.playback-status strong{color:var(--teal)}.word-practice-empty,.analysis-empty{min-height:150px;border:1px dashed #cad9de;border-radius:var(--radius);background:#f7fbfc;color:var(--muted);display:grid;place-items:center;gap:7px;padding:22px;text-align:center}.word-practice-empty svg,.analysis-empty svg{color:var(--teal)}.word-practice-empty strong,.analysis-empty strong{color:var(--ink)}.practice-word-grid{display:grid;gap:8px;max-height:560px;overflow:auto;padding-right:4px}.practice-word-grid article{min-height:70px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px;display:grid;grid-template-columns:30px minmax(0,1fr) 36px;gap:10px;align-items:center}.practice-word-grid article.active{border-color:var(--teal);background:#eefafa;box-shadow:0 10px 22px #00778414}.practice-word-grid article>span{width:28px;height:28px;border-radius:50%;background:#e9f7f5;color:var(--teal);display:grid;place-items:center;font-size:12px;font-weight:850}.practice-word-grid strong,.practice-word-grid small,.practice-word-grid em{display:block}.practice-word-grid strong{color:var(--ink);font-size:18px;line-height:1.2}.practice-word-grid small{margin-top:3px;color:#40515a}.practice-word-grid em{margin-top:4px;color:var(--muted);font-style:normal;font-size:13px;line-height:1.35}.practice-word-grid button{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--teal);display:grid;place-items:center}.recording-preview{width:100%}.analysis-result{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:12px}.analysis-score{border:1px solid #bfe2df;border-radius:var(--radius);background:linear-gradient(135deg,rgba(0,119,132,.08),transparent 62%),#fff;padding:16px}.analysis-score span,.analysis-score strong{display:block}.analysis-score span{color:var(--muted);font-size:13px;font-weight:800}.analysis-score strong{margin-top:4px;color:var(--teal);font-size:46px;line-height:1}.analysis-score p{margin:8px 0 0;color:#40515a;line-height:1.55}.weak-word-row{display:grid;gap:8px}.weak-word-row>span{color:var(--muted);font-size:13px;font-weight:850}.weak-word-row div{display:flex;flex-wrap:wrap;gap:8px}.weak-word-row strong{min-height:30px;display:inline-flex;align-items:center;border-radius:99px;padding:0 10px;background:#fff2d4;color:#a86e00;font-size:13px}.analysis-word-list{display:grid;gap:8px}.analysis-word-list article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px}.analysis-word-list article.good{border-color:#bfe2df}.analysis-word-list article.weak{border-color:#f1c274;background:#fffaf0}.analysis-word-list article>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e9f7f5;color:var(--teal);font-weight:850}.analysis-word-list article.weak>span{background:#fff2d4;color:#a86e00}.analysis-word-list strong{display:block;font-size:16px}.analysis-word-list p{margin:4px 0 0;color:var(--muted);line-height:1.45}.next-step-list{display:grid;gap:8px}.next-step-list span{min-height:36px;border:1px solid var(--line);border-radius:var(--radius);background:#f7fbfc;padding:0 10px;color:#40515a;display:inline-flex;align-items:center;gap:7px;font-weight:750}.practice-main,.practice-side,.practice-workspace,.type-center-grid{min-width:0}.practice-main{display:grid;gap:16px}.practice-main h1,.practice-main h2,.practice-main h3,.practice-main p,.practice-main span,.practice-main strong,.practice-main button{min-width:0;overflow-wrap:anywhere}.practice-side{display:grid;gap:16px;align-content:start}.practice-hero-panel{padding:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:18px;overflow:hidden}.practice-hero-copy,.practice-hero-metrics,.practice-hero-metrics div{min-width:0}.practice-hero-copy h1{margin:6px 0 10px;font-size:30px;line-height:1.2}.practice-hero-copy p,.practice-stats-panel p{margin:0;color:var(--muted);line-height:1.65;overflow-wrap:anywhere}.practice-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.practice-hero-metrics div{border:1px solid var(--line);border-radius:var(--radius);background:#f7fbfc;padding:14px}.practice-hero-metrics strong,.practice-hero-metrics span{display:block}.practice-hero-metrics strong{font-size:28px;line-height:1.1}.practice-hero-metrics span{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.cefr-filter{grid-column:1 / -1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.cefr-filter button,.type-filter button{min-width:0;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#40515a;font-weight:800}.cefr-filter button.active,.type-filter button.active{border-color:var(--teal);background:#e9f7f5;color:var(--teal)}.exercise-filter-panel{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.exercise-filter-panel h2{margin:3px 0 0;font-size:20px;line-height:1.25}.type-filter{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.type-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.exercise-type-card{min-height:236px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 22px #0f2e3c0a}.exercise-type-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.exercise-type-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius);background:#e9f7f5;color:var(--teal)}.exercise-type-card.blue .exercise-type-icon{background:#e7f0ff;color:var(--blue)}.exercise-type-card.amber .exercise-type-icon{background:#fff2d4;color:#d18800}.exercise-type-card.red .exercise-type-icon{background:#ffe5e5;color:var(--red)}.exercise-type-card h3{margin:0;font-size:18px}.exercise-type-card p{margin:0;min-height:44px;color:var(--muted);line-height:1.55}.exercise-card-meta{display:grid;gap:6px;color:#51626b;font-size:13px;margin-top:auto}.exercise-type-card button{min-height:40px;border:1px solid var(--teal);border-radius:var(--radius);background:#fff;color:var(--teal);font-weight:850}.empty-exercise-panel{grid-column:1 / -1;min-height:160px;display:grid;place-items:center;gap:8px;color:var(--muted);padding:22px;text-align:center}.empty-exercise-panel svg{color:var(--teal)}.empty-exercise-panel strong{color:var(--ink)}.practice-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:16px;align-items:start}.live-practice-panel,.ai-generator-panel,.practice-stats-panel,.wrong-archive-panel{padding:20px}.exercise-question-card h3{line-height:1.45}.exercise-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.exercise-question-head strong{color:#40515a;font-size:14px}.feedback span{display:block;margin-top:5px;color:var(--muted);font-weight:650;line-height:1.5}.generator-form{display:grid;grid-template-columns:.7fr .9fr 1.4fr .7fr;gap:10px}.generator-form label{display:grid;gap:7px;color:#40515a;font-size:13px;font-weight:800}.generator-form input,.generator-form select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);padding:0 12px;outline:none}.generator-form input:focus,.generator-form select:focus{border-color:#0077848c;box-shadow:0 0 0 3px #0077841f}.generated-list{display:grid;gap:10px;margin-top:16px}.generated-row{border:1px solid var(--line);border-radius:var(--radius);background:#f7fbfc;padding:12px;display:grid;grid-template-columns:24px 1fr;gap:10px;color:#314650}.generated-row>svg{color:var(--teal);margin-top:2px}.generated-row strong,.generated-row span{display:block}.generated-row p{margin:4px 0;color:var(--muted);line-height:1.45}.generated-row span{color:var(--teal);font-size:13px;font-weight:800}.stats-list{display:grid;gap:10px}.stats-list div{min-height:68px;border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#fff}.stats-list span,.stats-list strong{display:block}.stats-list span{color:var(--muted);font-size:13px}.stats-list strong{margin-top:6px;font-size:26px;line-height:1.05}.wrong-list{display:grid;gap:10px;margin-top:16px}.wrong-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px;display:grid;grid-template-columns:30px 1fr;gap:10px}.wrong-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff2d4;color:#d18800}.wrong-row strong,.wrong-row small{display:block}.wrong-row p{margin:4px 0;color:#40515a;line-height:1.45}.wrong-row small{color:var(--muted);line-height:1.45}.wrong-row button{grid-column:2;justify-self:start;min-height:32px;margin-top:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--teal);font-weight:800;padding:0 10px}.book-dashboard{align-items:start}.book-main,.book-side,.word-table,.mistake-main-list{min-width:0}.book-main{display:grid;gap:16px}.book-main h1,.book-main h2,.book-main h3,.book-main p,.book-main span,.book-main strong,.book-main em,.book-main button{min-width:0;overflow-wrap:anywhere}.book-side{display:grid;gap:16px;align-content:start}.library-hero-panel{padding:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:18px;overflow:hidden}.library-hero-copy,.book-kpi-grid,.library-toolbar-panel,.library-search{min-width:0}.library-hero-copy h1{margin:6px 0 10px;font-size:30px;line-height:1.2}.library-hero-copy p{margin:0;color:var(--muted);line-height:1.65}.book-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.book-kpi-grid div{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#f7fbfc;padding:14px}.book-kpi-grid strong,.book-kpi-grid span{display:block}.book-kpi-grid strong{font-size:28px;line-height:1.1}.book-kpi-grid span{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.35}.mistake-hero-panel .book-kpi-grid div:nth-child(3){background:#fff8e8}.library-toolbar-panel{padding:18px 20px;display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:16px}.library-toolbar-panel h2{margin:3px 0 0;font-size:20px;line-height:1.25}.library-search{position:relative;display:flex;align-items:center;color:var(--muted)}.library-search svg{position:absolute;left:13px;pointer-events:none}.library-search input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);padding:0 13px 0 38px;outline:none}.library-search input:focus{border-color:#0077848c;box-shadow:0 0 0 3px #0077841f}.library-status-filter{flex-wrap:nowrap}.library-list-panel{padding:20px}.library-empty-panel{min-height:190px;display:grid;place-items:center;gap:8px;padding:24px;color:var(--muted);text-align:center}.library-empty-panel svg{color:var(--teal)}.library-empty-panel strong{color:var(--ink)}.word-table{display:grid;gap:12px;margin-top:16px}.word-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:14px;display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(116px,.55fr) minmax(128px,.45fr) 86px minmax(138px,.55fr);gap:14px;align-items:center}.word-main{min-width:0;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}.round-icon-button{width:32px;height:32px;border:1px solid #bfe2df;border-radius:50%;background:#e9f7f5;color:var(--teal);display:grid;place-items:center}.word-title-line{min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.word-title-line strong{font-size:20px;line-height:1.15}.word-title-line span{color:var(--muted);font-size:13px}.word-main p,.word-main em{display:block;margin:5px 0 0;color:#40515a;line-height:1.45}.word-main em{color:var(--muted);font-style:normal}.word-tags{display:grid;gap:6px;color:#40515a;font-size:13px}.word-tags small{color:var(--muted);line-height:1.35}.word-progress span,.word-progress strong,.word-due span,.word-due strong{display:block}.word-progress span,.word-due span{color:var(--muted);font-size:13px}.word-progress strong,.word-due strong{margin-top:5px;color:var(--ink)}.word-progress div{height:6px;margin-top:8px;border-radius:99px;background:#dfe8ec;overflow:hidden}.word-progress div span{height:100%;background:var(--teal)}.word-actions{display:grid;gap:8px}.word-actions button,.mistake-actions button{min-height:36px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--teal);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800;padding:0 10px}.word-actions button.saved{border-color:#bfe2df;background:#e9f7f5}.review-panel{padding:20px;display:grid;gap:14px}.review-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#f7fbfc;padding:16px}.review-card.featured{background:linear-gradient(135deg,rgba(0,119,132,.08),transparent 62%),#fff}.review-card>svg{color:var(--green)}.review-card span,.review-card strong,.review-card em{display:block}.review-card span{color:var(--teal);font-size:13px;font-weight:850}.review-card strong{margin-top:8px;font-size:24px;line-height:1.2}.review-card p{margin:8px 0 0;color:#40515a;line-height:1.55}.review-card em{margin-top:8px;color:var(--muted);font-style:normal;line-height:1.45}.review-stack{display:grid;gap:8px}.review-stack button{min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#40515a;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;font-weight:800}.review-stack small{color:var(--muted);font-weight:700}.mistake-main-list{display:grid;gap:12px}.mistake-card{padding:18px}.mistake-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.mistake-card-head h3{margin:10px 0 0;font-size:18px;line-height:1.42}.mistake-state{flex:0 0 auto;min-height:30px;display:inline-flex;align-items:center;border-radius:99px;padding:0 10px;background:#edf5ef;color:#08724a;font-size:13px;font-weight:850}.mistake-state.pending{background:#fff2d4;color:#b57400}.mistake-fix{margin-top:14px;border:1px solid #d8e8e8;border-radius:var(--radius);background:#f7fbfc;padding:13px 14px}.mistake-fix span{display:block;color:var(--teal);font-size:12px;font-weight:850}.mistake-fix strong{display:block;margin-top:5px;color:var(--ink);font-size:17px}.mistake-fix p{margin:6px 0 0;color:#40515a;line-height:1.55}.mistake-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:12px;color:var(--muted);font-size:13px}.mistake-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.test-dashboard{align-items:start}.test-main,.test-side,.test-package-grid,.test-section-map{min-width:0}.test-main{display:grid;gap:16px}.test-main h1,.test-main h2,.test-main h3,.test-main p,.test-main span,.test-main strong,.test-main button{min-width:0;overflow-wrap:anywhere}.test-side{display:grid;gap:16px;align-content:start}.test-hero-panel{padding:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:18px;overflow:hidden}.test-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.test-package-card{min-height:206px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:16px;display:flex;flex-direction:column;gap:12px;text-align:left;color:var(--ink);box-shadow:0 8px 22px #0f2e3c0a}.test-package-card.active{border-color:var(--teal);background:#f1fbfa;box-shadow:0 12px 28px #00778414}.test-package-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.test-package-top>span:last-child{color:var(--teal);font-size:13px;font-weight:850}.test-package-card strong{font-size:19px;line-height:1.25}.test-package-card p{margin:0;color:var(--muted);line-height:1.55}.test-package-meta{display:grid;grid-template-columns:1fr;gap:5px;margin-top:auto;color:#40515a;font-size:13px}.test-section-panel{align-items:center}.test-question-panel,.test-timer-panel,.test-report-panel,.test-map-panel{padding:20px}.test-question-card h3{line-height:1.45}.test-question-card .status-chip{gap:5px}.timer-display{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#f7fbfc}.timer-display span,.timer-display strong{display:block}.timer-display span{color:var(--muted);font-size:13px;font-weight:750}.timer-display strong{margin-top:4px;font-size:32px;line-height:1.1}.timer-display div,.section-score-list div div{height:7px;border-radius:99px;background:#dfe8ec;overflow:hidden;margin-top:12px}.timer-display div span,.section-score-list div div span{display:block;height:100%;background:var(--teal)}.test-stats-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.test-score-card strong{font-size:34px}.section-score-list{display:grid;gap:10px;margin-top:14px}.section-score-list>div{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px}.section-score-list span,.section-score-list strong{display:block}.section-score-list span{color:var(--muted);font-size:13px}.section-score-list strong{margin-top:5px}.test-report-actions{display:grid;gap:8px;margin-top:14px}.test-report-actions button{min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--teal);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800}.test-section-map{display:grid;gap:8px;margin-top:14px}.test-section-map button{min-height:44px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#40515a;padding:0 12px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;font-weight:800;text-align:left}.test-section-map button.active{border-color:var(--teal);background:#e9f7f5;color:var(--teal)}.test-section-map svg{color:var(--teal)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius);background:#10242d;color:#fff;box-shadow:var(--shadow);z-index:50}@media(max-width:1180px){.app-shell{grid-template-columns:74px 1fr}.sidebar{padding:18px 10px}.sidebar .brand div,.nav-item span,.streak-box,.level-box div,.level-box svg{display:none}.nav-item{justify-content:center;padding:0}.brand{justify-content:center}.dashboard{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr 1fr}.course-side{grid-template-columns:1fr}.placeholder-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-side .right-rail,.practice-side{grid-template-columns:1fr 1fr}.practice-course-grid{grid-template-columns:1fr}.book-side{grid-template-columns:1fr 1fr}.test-side{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-left{padding:32px 24px;gap:34px}.auth-copy h1{font-size:38px}.auth-panel{margin:0 24px 32px;width:auto}.choice-grid,.task-grid,.insight-grid,.right-rail,.split-options,.lesson-row{grid-template-columns:1fr}.lesson-row img{width:100%;height:150px}.course-video-header,.course-breadcrumb{flex-direction:column}.course-video-header{align-items:stretch}.course-breadcrumb{align-items:flex-start}.explain-grid,.answer-grid,.homework-list,.course-side .right-rail,.practice-workspace,.practice-side,.book-side,.placeholder-topic-grid{grid-template-columns:1fr}.vocab-row{grid-template-columns:1fr;gap:8px;padding:14px 0}.vocab-row button{width:fit-content}.practice-hero-panel,.practice-course-hero{grid-template-columns:1fr}.library-hero-panel,.library-toolbar-panel,.test-hero-panel{grid-template-columns:1fr;align-items:start}.book-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.library-status-filter{justify-content:flex-start;flex-wrap:wrap}.word-row{grid-template-columns:1fr 160px;align-items:start}.word-main,.word-actions{grid-column:1 / -1}.word-actions,.type-center-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.test-package-grid,.test-side{grid-template-columns:1fr}.exercise-filter-panel{align-items:flex-start;flex-direction:column}.type-filter{justify-content:flex-start}.generator-form{grid-template-columns:1fr 1fr}.focus-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-field{grid-column:1 / -1}}@media(max-width:720px){body{overflow-x:hidden}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.icon-button.mobile-menu{display:inline-flex}.topbar{display:grid;grid-template-columns:42px minmax(0,1fr);padding:0 12px;gap:8px;max-width:100vw;overflow:hidden}.search-box{max-width:none;min-width:0;width:100%;overflow:hidden}.search-box input{min-width:0;max-width:100%}.level-pill span,.profile-button,.level-pill,.notify{display:none}.dashboard{padding:12px;padding-bottom:calc(96px + env(safe-area-inset-bottom));max-width:100vw;overflow:hidden}.course-dashboard,.practice-dashboard{gap:12px}.practice-main,.practice-course-main,.placeholder-main,.practice-hero-panel,.practice-course-hero,.practice-course-grid,.pronunciation-workshop-card,.placeholder-hero-panel,.placeholder-topic-grid,.exercise-filter-panel,.type-center-grid,.practice-workspace,.practice-side,.book-main,.book-side,.test-main,.test-side,.library-hero-panel,.test-hero-panel,.test-package-grid,.test-section-panel,.test-question-panel,.library-toolbar-panel,.library-list-panel,.mistake-main-list{width:100%;max-width:calc(100vw - 24px);inline-size:calc(100vw - 24px)}.practice-hero-copy,.practice-hero-metrics,.cefr-filter,.type-filter,.library-hero-copy,.test-hero-panel .library-hero-copy,.book-kpi-grid,.library-search,.library-status-filter{width:100%;max-width:min(310px,100%);inline-size:min(310px,100%)}.panel-title-row{flex-wrap:wrap}.course-main .panel-title-row,.practice-main .panel-title-row{display:grid;grid-template-columns:1fr;align-items:start}.course-main .panel-title-row>button,.course-main .panel-title-row>.practice-score,.practice-main .panel-title-row>button,.practice-main .panel-title-row>.practice-score{justify-self:start}.today-panel .panel-title-row{display:grid;grid-template-columns:1fr}.today-panel{padding:16px;overflow:hidden}.overview-hero-panel,.placeholder-hero-panel{padding:16px}.overview-hero-panel h1,.placeholder-hero-panel h1{font-size:25px}.module-overview-grid{grid-template-columns:1fr}.module-overview-card{min-height:auto}.practice-course-hero,.pronunciation-workshop-card{padding:16px}.practice-course-hero h1{font-size:25px}.practice-course-metrics,.focus-selector{grid-template-columns:1fr}.workshop-actions{display:grid;grid-template-columns:1fr}.workshop-actions .primary-action,.workshop-actions .outline-action,.workshop-actions .ghost-button,.workshop-actions .danger-action{width:100%}.playback-status{display:grid}.practice-word-grid{max-height:none}.overview-dashboard .access-rail{grid-template-columns:1fr}.task-card{max-width:100%}.course-video-panel,.explanation-panel,.vocabulary-panel,.practice-panel,.homework-panel,.lesson-progress-panel,.practice-hero-panel,.exercise-filter-panel,.live-practice-panel,.ai-generator-panel,.practice-stats-panel,.wrong-archive-panel,.library-hero-panel,.test-hero-panel,.test-package-card,.test-question-panel,.test-timer-panel,.test-report-panel,.test-map-panel,.library-toolbar-panel,.library-list-panel,.review-panel,.mistake-card,.library-empty-panel{padding:16px}.practice-hero-copy h1,.library-hero-copy h1{font-size:24px;word-break:break-all}.practice-hero-copy p,.library-hero-copy p{font-size:15px;word-break:break-all}.practice-hero-metrics{display:flex;flex-wrap:wrap;gap:10px}.practice-hero-metrics div:last-child{flex-basis:100%}.practice-hero-metrics div{flex:1 1 calc(50% - 5px);padding:10px}.practice-hero-metrics strong{font-size:22px}.book-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.book-kpi-grid div{padding:10px}.book-kpi-grid strong{font-size:22px}.cefr-filter{display:flex;flex-wrap:wrap;gap:8px}.cefr-filter button{flex:1 1 calc(50% - 8px)}.type-filter{display:flex;flex-wrap:wrap;gap:8px}.type-filter button{flex:1 1 calc(50% - 8px)}.type-center-grid,.generator-form,.test-package-grid,.test-stats-list{grid-template-columns:1fr}.test-package-card{min-height:auto}.test-section-panel{align-items:flex-start;flex-direction:column}.timer-display strong,.test-score-card strong{font-size:26px}.word-row{grid-template-columns:1fr;gap:12px}.word-main,.word-tags,.word-progress,.word-due,.word-actions{grid-column:1}.word-actions,.mistake-actions{display:grid;grid-template-columns:1fr}.word-title-line strong{font-size:18px}.mistake-card-head{flex-direction:column}.mistake-state{align-self:flex-start}.mistake-meta{display:grid;gap:6px}.review-card strong{font-size:21px}.exercise-type-card{min-height:auto}.exercise-question-head{align-items:flex-start;flex-direction:column}.wrong-row{grid-template-columns:1fr}.wrong-row button{grid-column:1}.course-video-header h1{font-size:24px}.course-video-header p{font-size:15px;line-height:1.6;word-break:break-word}.course-copy-break{display:block}.video-frame{min-height:300px}.embedded-video-frame{min-height:auto;aspect-ratio:16 / 9}.video-lesson-meta{display:grid}.video-playlist{grid-template-columns:1fr}.video-playlist button{min-height:94px}.video-overlay strong{font-size:19px}.video-controls{grid-template-columns:1fr;align-items:stretch}.video-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.video-controls button{justify-content:center}.sentence-grid,.pronunciation-grid{grid-template-columns:1fr}.pronunciation-grid article{grid-template-columns:34px 1fr}.pronunciation-grid button{grid-column:1 / -1}.explain-grid p{min-height:auto}.outline-action{width:fit-content;min-height:38px;padding:0 12px}.stepper{grid-template-columns:1fr 1fr;margin:16px 0}.step:not(:last-child):after{display:none}.onboarding-shell{padding:16px}.onboarding-card{padding:18px}.onboarding-content h1{font-size:28px}.choice-grid,.chip-row{grid-template-columns:1fr}.onboarding-footer{flex-direction:column}.onboarding-footer .secondary-action,.onboarding-footer .primary-action{width:100%}.mobile-bottom-nav{position:fixed;left:0;right:auto;bottom:0;z-index:40;width:min(100vw,390px);max-width:min(100vw,390px);min-height:calc(70px + env(safe-area-inset-bottom));padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.mobile-bottom-nav button{min-width:0;min-height:52px;border:0;border-radius:var(--radius);background:transparent;color:#5c717b;display:grid;place-items:center;align-content:center;gap:3px;font-size:10px;font-weight:850}.mobile-bottom-nav button.active{background:#e9f7f5;color:var(--teal)}.mobile-bottom-nav button.locked{color:#96a7ae}.mobile-bottom-nav svg{width:19px;height:19px}.toast{bottom:calc(86px + env(safe-area-inset-bottom))}}
