:root{color:#0f172a;background:#eef4ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}html,body,#root{height:100%;overflow:hidden}button{font:inherit}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{background:#eef4ff;display:flex;flex-direction:column;gap:12px;max-width:520px;min-height:100svh;max-height:100svh;margin:0 auto;padding:env(safe-area-inset-top,0px) 18px 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));overflow:hidden}.app-header{align-items:center;background:#eef4fff0;display:grid;gap:10px;grid-template-columns:88px 1fr 88px;min-height:56px;padding:8px 0;position:sticky;text-align:center;top:0;z-index:10}.app-header strong{font-size:15px}.screen-alerts{display:grid;gap:10px;flex:0 0 auto}.back-button,.link-button{border:0;border-radius:999px;background:#fff;color:#2563eb;cursor:pointer;font-size:13px;font-weight:800;padding:9px 12px}.link-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-study-shell{display:flex;flex-direction:column;flex:1;gap:14px;max-height:calc(100svh - 96px);min-height:calc(100svh - 96px);min-width:0;overflow:hidden}.course-study-body{display:grid;align-content:start;gap:12px;flex:1;min-height:0;overflow:hidden}.course-study-footer{display:grid;gap:10px}.course-study-footer-sticky{background:linear-gradient(180deg,#f8fbff00,#f8fbfff5 28%,#f8fbfffc);box-shadow:0 -12px 24px #0f172a0f;padding-top:12px;position:relative;z-index:4}.course-study-practice-body{align-content:start;grid-auto-rows:max-content}.course-study-practice-body .visual-asset-card,.course-study-practice-body .visual-feedback-card,.course-study-practice-body .sentence-motion-card.reading,.course-study-practice-body .lesson-status-strip{display:none}.course-study-practice-header{display:grid;gap:6px}.course-study-practice-header>p:not(.task-type){display:none}.course-study-practice-header h2{font-size:20px;line-height:1.15;margin:0}.lesson-hero-meta{display:flex;flex-wrap:wrap;gap:8px}.lesson-hero-meta span{border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:12px;font-weight:800;padding:6px 10px}.course-study-practice-stack{display:grid;gap:10px;min-height:0;overflow:hidden}.media-grounded-stage{border:1px solid #dbeafe;border-radius:20px;background:#fff;display:grid;gap:12px;grid-auto-rows:max-content;min-height:min(360px,46svh);overflow:hidden}.lesson-video-frame{align-content:end;background-color:#172033;background-position:center;background-size:cover;color:#fff;display:grid;gap:8px;min-height:190px;padding:18px}.lesson-video-frame span{background:#ffffffeb;border-radius:999px;color:#1d4ed8;font-size:11px;font-weight:900;justify-self:start;padding:5px 9px}.lesson-video-frame h3,.lesson-video-frame p{color:#fff;margin:0;text-shadow:0 2px 10px rgba(15,23,42,.45)}.lottie-player-frame{background:linear-gradient(140deg,#0f172a,#1e3a5f);border-radius:16px 16px 0 0;min-height:168px;overflow:hidden;position:relative;width:100%}.lottie-player-frame svg{display:block;height:100%;width:100%}.lottie-player-frame.lesson-video-lottie{border-radius:0;min-height:180px}.sentence-motion-card .lottie-player-frame{border-radius:0;min-height:168px}.lottie-player-frame.lottie-listening{background:linear-gradient(135deg,#0c1a2e,#1e3a5f)}.lottie-player-frame.lottie-speaking{background:linear-gradient(135deg,#0a1f0f,#1a3a28)}.lottie-player-frame.lottie-reading{background:linear-gradient(135deg,#1a0e2e,#2e1a5f)}.lottie-player-frame.lottie-celebration{background:transparent;min-height:160px}.dialogue-scene-caption{display:grid;gap:6px;padding:10px 14px 4px}.dialogue-scene-caption span{background:#eff6ff;border-radius:999px;color:#1d4ed8;font-size:11px;font-weight:900;justify-self:start;padding:4px 9px}.dialogue-scene-caption h3{color:#0f172a;font-size:14px;font-weight:700;margin:0}.dialogue-scene-caption p{color:#475569;font-size:12px;margin:0}.dialogue-storyboard{display:grid;gap:8px;padding:12px}.dialogue-turn{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;display:grid;gap:4px;padding:10px 12px}.dialogue-turn.confirming{background:#eff6ff;border-color:#bfdbfe}.dialogue-turn span,.dialogue-turn small{color:#64748b;font-size:12px}.dialogue-turn strong{color:#0f172a;overflow-wrap:anywhere}.sentence-motion-card{border:1px solid #b7f0e7;border-radius:20px;background:#fff;display:grid;grid-template-columns:minmax(160px,45%) 1fr;min-height:168px;overflow:hidden}.sentence-motion-card.listening{border-color:#bfdbfe}.sentence-motion-card.reading{border-color:#bbf7d0}.motion-listening-card{background:linear-gradient(135deg,#fff,#eff6ff)}.motion-reading-card{background:linear-gradient(135deg,#fff,#f0fdf4)}.sentence-motion-frame{align-content:end;background-color:#12353d;background-position:center;background-size:cover;display:grid;min-height:168px;overflow:hidden;padding:14px;position:relative}.sentence-motion-video{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:0}.sentence-motion-frame:after{background:linear-gradient(180deg,#0f172a00 20%,#0f172ab8);content:"";inset:0;position:absolute;z-index:1}.motion-character-layer{inset:0;position:absolute;z-index:2}.motion-character{animation:motion-breathe 1.7s ease-in-out infinite;background:#ffffffe0;border:2px solid rgba(20,184,166,.92);border-radius:999px 999px 12px 12px;bottom:42px;box-shadow:0 10px 22px #0f172a40;display:block;height:54px;position:absolute;width:38px}.motion-character.speaker{left:22%}.motion-character.listener{animation-delay:.3s;right:24%}.motion-speech-wave{animation:motion-wave 1.4s ease-in-out infinite;border:2px solid rgba(255,255,255,.76);border-bottom:0;border-left:0;border-radius:0 999px 0 0;display:block;height:42px;left:calc(22% + 48px);position:absolute;top:52px;transform:rotate(18deg);width:54px}.motion-caption{color:#fff;display:grid;gap:6px;position:relative;text-shadow:0 2px 10px rgba(15,23,42,.4);z-index:3}.motion-caption span{background:#ffffffeb;border-radius:999px;color:#0f766e;font-size:11px;font-weight:900;justify-self:start;padding:5px 9px}.motion-caption strong,.motion-caption small{overflow-wrap:anywhere}.motion-reading-panel{align-content:center;display:grid;gap:12px;padding:16px}.motion-reading-panel p{color:#475569;margin:0}.motion-reading-panel strong{color:#14213d;font-size:22px;line-height:1.22;overflow-wrap:anywhere}.motion-timeline{align-items:center;background:#ecfeff;border:1px solid #a7f3d0;border-radius:16px;display:flex;flex-wrap:wrap;gap:8px;min-height:42px;padding:9px 10px}.motion-cue-dot{animation:motion-pulse 1.1s ease-in-out infinite;background:#0f766e;border-radius:999px;display:inline-block;height:9px;width:9px}.motion-timeline em{color:#0f766e;font-style:normal;font-weight:900;overflow-wrap:anywhere}.visual-asset-card{border:1px solid #dbeafe;border-radius:20px;background:#fff;display:grid;gap:0;grid-template-columns:minmax(112px,38%) 1fr;min-height:152px;overflow:hidden}.visual-asset-image{background-color:#dbeafe;background-position:center;background-size:cover;min-height:152px}.visual-asset-copy{align-content:center;display:grid;gap:8px;min-width:0;padding:14px}.visual-asset-copy h3,.visual-asset-copy p{margin:0}.visual-hotspot{border-radius:999px;background:#dcfce7;color:#166534;font-size:12px;font-weight:900;justify-self:start;padding:6px 10px}.visual-feedback-card{align-items:center;border:1px solid #bbf7d0;border-radius:20px;background:linear-gradient(135deg,#f0fdf4,#fff);display:grid;gap:14px;grid-template-columns:86px 1fr;padding:14px}.visual-feedback-illustration{align-items:end;border-radius:18px;background:linear-gradient(145deg,#2563eb,#14b8a6);display:flex;gap:7px;height:86px;justify-content:center;padding:14px}.visual-feedback-illustration span{animation:voice-bar 1.2s ease-in-out infinite;background:#ffffffeb;border-radius:999px;display:block;height:28px;width:9px}.visual-feedback-illustration span:nth-child(2){animation-delay:.16s;height:48px}.visual-feedback-illustration span:nth-child(3){animation-delay:.32s;height:36px}.visual-feedback-card h3,.visual-feedback-card p{margin:0}.visual-word-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.visual-word-row span{border-radius:10px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:900;padding:5px 8px}.visual-word-row .needs-focus{background:#fee2e2;color:#b91c1c}.visual-review-grid{display:grid;gap:10px}.visual-review-card{align-items:center;border:1px solid #e2e8f0;border-radius:18px;background:#fff;display:grid;gap:10px;grid-template-columns:78px 1fr;padding:10px}.visual-review-card strong,.visual-review-card span{grid-column:2}.visual-review-image{background:linear-gradient(145deg,#dbeafe,#dcfce7);background-position:center;background-size:cover;border-radius:14px;grid-row:span 2;height:70px;width:70px}.exercise-media-grid{display:grid;gap:12px}.exercise-visual-card{border:1px solid #bfdbfe;border-radius:20px;background:#fff;display:grid;gap:12px;overflow:hidden;padding:12px}.exercise-visual-stage{border-radius:18px;display:grid;gap:10px;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr);min-height:168px;overflow:hidden}.exercise-lottie-frame{border-radius:16px;min-height:168px}.exercise-image-frame{background:linear-gradient(145deg,#dbeafe,#f0fdf4);background-position:center;background-size:cover;border-radius:16px;min-height:168px}.exercise-card-copy{display:grid;gap:8px}.exercise-card-copy h3,.exercise-card-copy p{margin:0}.exercise-choice-row{display:grid;gap:8px}.exercise-choice-row .mode-button{justify-content:center;min-height:48px;white-space:normal}.exercise-feedback-panel{border:1px solid #bae6fd;border-radius:16px;background:#f8fafc;display:grid;gap:6px;padding:12px}.exercise-feedback-panel.correct{background:#f0fdf4;border-color:#86efac}.exercise-feedback-panel.retry{background:#fff7ed;border-color:#fed7aa}.exercise-feedback-panel p{margin:0}.exercise-reference-answer{color:#0f172a;font-weight:800;overflow-wrap:anywhere}@keyframes voice-bar{0%,to{transform:scaleY(.72)}50%{transform:scaleY(1.08)}}@keyframes motion-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes motion-wave{0%{opacity:.28;transform:scale(.78) rotate(18deg)}55%{opacity:.9}to{opacity:.1;transform:scale(1.18) rotate(18deg)}}@keyframes motion-pulse{0%,to{opacity:.38;transform:scale(.82)}50%{opacity:1;transform:scale(1.18)}}.reward-center-stage{align-items:center;background:radial-gradient(circle at center,#ffffff2e,#0f172a14);display:flex;inset:0;justify-content:center;pointer-events:none;position:fixed;z-index:40}.reward-center-pop{background:#fffffff0;border:1px solid rgba(148,163,184,.26);border-radius:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 60px #0f172a3d;display:grid;gap:6px;max-width:min(84vw,280px);padding:18px 20px;text-align:center;animation:reward-center-pop .92s ease-out forwards}.reward-center-pop.reward{background:linear-gradient(180deg,#fffffffa,#ecfdf5f5);border-color:#14b8a659;color:#0f172a}.reward-center-pop.hint{background:linear-gradient(180deg,#fffffffa,#fff7edfa);border-color:#f973164d;color:#7c2d12}.reward-center-pop strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase}.reward-center-pop span{font-size:15px;line-height:1.45}@keyframes reward-center-pop{0%{opacity:0;transform:translateY(18px) scale(.82)}20%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1;transform:translateY(0) scale(1.02)}to{opacity:0;transform:translateY(-10px) scale(.96)}}.hero-card,.card,.screen-card{border:1px solid rgba(37,99,235,.12);border-radius:clamp(22px,5vw,28px);background:#ffffffeb;box-shadow:0 20px 50px #0f172a14;margin-bottom:18px;padding:clamp(16px,2.5vh,22px)}.screen-card{animation:screen-enter .16s ease-out;margin-bottom:0;min-height:0}.viewport-screen{display:flex;flex:1;flex-direction:column;gap:clamp(10px,1.8vh,14px);min-height:0;overflow:hidden}.viewport-screen-body{display:grid;gap:clamp(10px,1.8vh,14px);flex:1;min-height:0;overflow:hidden}.viewport-screen-footer{display:grid;gap:10px;flex:0 0 auto}.viewport-screen-footer-sticky{background:linear-gradient(180deg,#f8fbff00,#f8fbfff5 28%,#f8fbfffc);box-shadow:0 -12px 24px #0f172a0f;padding-top:12px;position:relative;z-index:4}.wireless-qa-panel{bottom:calc(8px + env(safe-area-inset-bottom,0px));left:8px;margin:0 auto;max-width:520px;pointer-events:none;position:fixed;right:8px;z-index:80}.wireless-qa-card{background:#f8fafcf7;border:1px solid rgba(15,118,110,.32);border-radius:8px;box-shadow:0 14px 32px #0f172a33;color:#0f172a;display:grid;gap:6px;padding:8px;pointer-events:auto}.wireless-qa-head{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.wireless-qa-head div{display:grid;gap:1px;min-width:0}.wireless-qa-head span,.wireless-qa-item span,.wireless-qa-footnote{color:#475569;font-size:10px;font-weight:800;line-height:1.2}.wireless-qa-head strong{color:#0f172a;font-size:12px;line-height:1.2}.wireless-qa-head button{background:#0f766e;border:0;border-radius:8px;color:#fff;cursor:pointer;flex:0 0 auto;font-size:11px;font-weight:900;min-height:30px;padding:6px 10px}.wireless-qa-grid{display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr))}.wireless-qa-item{border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:1px;min-width:0;padding:5px 6px}.wireless-qa-item strong{color:#0f172a;font-size:10px;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wireless-qa-pass{background:#ecfdf5;border-color:#a7f3d0}.wireless-qa-warn{background:#fffbeb;border-color:#fde68a}.wireless-qa-fail{background:#fef2f2;border-color:#fecaca}.wireless-qa-info{background:#eff6ff;border-color:#bfdbfe}.wireless-qa-footnote{margin:0}.learning-plan-panel,.lesson-report-card{background:#f8fbff;border:1px solid rgba(37,99,235,.12);border-radius:16px;display:grid;gap:10px;padding:14px}.learning-plan-panel{grid-template-columns:1fr auto}.hero-card .learning-plan-panel{color:#0f172a}.hero-card .learning-plan-panel .home-primary-label{color:#2563eb}.hero-card .learning-plan-panel p{color:#475569}.hero-card .learning-plan-panel .ghost-action{background:#2563eb;border-color:#2563eb;color:#fff}.learning-plan-panel small{color:#2563eb;font-weight:700;grid-column:1 / -1}.hero-card{background:linear-gradient(135deg,#2563eb,#14b8a6);color:#fff}.hero-card .viewport-screen-footer-sticky{background:linear-gradient(180deg,#2563eb00,#2563eb1f 24%,#fff3);box-shadow:none}.hero-card .ghost-action{border-color:#ffffff4d;background:#ffffff24;color:#fff}.eyebrow,.task-type{margin:0 0 8px;color:inherit;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4.8vw,34px);line-height:1.05}h2{font-size:20px}p{color:#475569;line-height:1.6}.hero-card p{color:#dbeafe}.learner-id{border-radius:999px;background:#ffffff29;color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;margin:12px 0 0;overflow-wrap:anywhere;padding:8px 10px}.notice{border-radius:18px;background:#fff7ed;color:#9a3412;padding:14px 16px}.notice.success{background:#ecfdf5;color:#047857}.track-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid{margin-top:18px}.track-card{border:1px solid #dbeafe;border-radius:18px;background:#fff;color:#0f172a;display:flex;min-height:96px;flex-direction:column;justify-content:space-between;padding:14px;text-align:left}.task-card button,.primary-action{border:0;border-radius:999px;background:#2563eb;color:#fff;cursor:pointer;font-weight:800;padding:10px 14px}.track-card span,.section-title span,.task-card>span{color:#2563eb;font-weight:800}.track-card.active{border-color:#2563eb;background:#eff6ff}.course-status-card{border-radius:20px;background:#ffffff29;margin-bottom:14px;padding:clamp(12px,1.8vh,16px)}.course-status-grid{display:grid;gap:10px}.course-status-grid article{display:grid;gap:4px}.course-status-grid span{color:#dbeafe;font-size:12px;font-weight:800;text-transform:uppercase}.course-status-grid strong{color:#fff}.pill-row,.scene-row{display:flex;flex-wrap:wrap;gap:8px}.pill,.scene-row span{border-radius:999px;background:#f1f5f9;color:#334155;font-size:13px;font-weight:700;padding:8px 10px}.section-title,.task-card{align-items:center;display:flex;justify-content:space-between;gap:16px}.task-list{display:grid;gap:12px;margin-top:clamp(12px,2vh,18px)}.task-card{border:1px solid #e2e8f0;border-radius:20px;background:#f8fafc;padding:clamp(12px,1.8vh,16px)}.course-card{align-items:flex-start}.task-card h3{margin-bottom:6px}.task-card p{margin-bottom:0}.task-type{color:#64748b}.progress-bar{border-radius:999px;background:#e2e8f0;height:10px;margin-bottom:16px;overflow:hidden}.progress-bar span{background:linear-gradient(135deg,#2563eb,#14b8a6);display:block;height:100%}.learning-card{border-color:#14b8a666}.content-list{display:grid;gap:12px;margin-bottom:16px}.content-item{border-radius:18px;background:#ecfeff;padding:16px}.content-item h3{color:#0f766e}.sentence-lesson{display:grid;gap:14px}.sentence-card{border:1px solid #bae6fd;border-radius:24px;background:linear-gradient(180deg,#f0f9ff,#fff);display:grid;gap:8px;min-height:168px;padding:16px}.course-study-practice-body .sentence-card:not(.speaking){min-height:152px}.course-study-practice-body .sentence-card{min-height:0;padding:12px}.course-study-practice-body .sentence-card small{display:none}.sentence-card.speaking{background:linear-gradient(180deg,#f0fdfa,#fff)}.sentence-card p,.sentence-card small{color:#64748b;margin-bottom:0}.sentence-card h2{color:#0f172a;font-size:clamp(20px,4.8vw,26px);line-height:1.25}.sentence-card h1{color:#0f172a;font-size:clamp(22px,5.4vw,28px);line-height:1.2}.sentence-card span{color:#2563eb;font-weight:800}.lesson-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr}.ghost-action{border:1px solid #bfdbfe;border-radius:999px;background:#fff;color:#2563eb;cursor:pointer;font-weight:800;padding:12px 14px}.danger-action{border:0;border-radius:999px;background:#dc2626;color:#fff;cursor:pointer;font-weight:800;padding:12px 14px}.recording-panel{border:1px solid #bfdbfe;border-radius:22px;background:#f8fafc;display:grid;gap:8px;padding:12px}.recording-panel div{display:grid;gap:4px}.course-study-practice-body .recording-panel>div>span{display:none}.recording-panel span{color:#64748b;font-size:13px}.recording-panel audio{width:100%}.recording-panel>span{display:none}.recording-panel textarea{font:inherit;max-height:52px;min-height:44px;resize:none;width:100%}.course-study-practice-body .recording-panel textarea{max-height:42px;min-height:38px}.course-study-practice-body .recording-panel .field-label{gap:4px}.learner-score-card{border:1px solid rgba(20,184,166,.28);border-radius:20px;background:#fff;display:grid;gap:12px;padding:14px}.learner-score-card.retry{border-color:#f59e0b61;background:#fffaf0}.learner-score-header{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.learner-score-header h3{margin:0}.learner-score-header strong{align-items:baseline;color:#0f766e;display:flex;font-size:34px;line-height:1}.learner-score-card.retry .learner-score-header strong{color:#b45309}.learner-score-header small{font-size:14px;margin-left:2px}.learner-score-summary{color:#334155;font-size:14px;line-height:1.5;margin:0}.learner-score-dimensions{display:grid;gap:8px;grid-template-columns:1fr}.learner-score-dimensions article{align-items:start;border-radius:16px;background:#eef6ff;display:grid;gap:4px 10px;grid-template-columns:minmax(72px,auto) minmax(0,1fr);padding:10px}.learner-score-dimensions span,.learner-score-evidence .task-type,.learner-next-step .task-type{color:#2563eb}.learner-score-dimensions span{font-size:12px;white-space:nowrap}.learner-score-dimensions strong{color:#0f172a;font-size:13px}.learner-score-dimensions p,.learner-score-evidence span{color:#475569;font-size:12px;line-height:1.45;margin:0}.learner-score-dimensions p{grid-column:1 / -1}.learner-score-evidence{display:grid;gap:6px}.learner-score-evidence span{border-left:3px solid #60a5fa;padding-left:8px}.learner-next-step{border-radius:16px;background:#e0f2fe;display:grid;gap:4px;padding:12px}.learner-next-step strong{color:#0f172a;font-size:15px;line-height:1.45}.learner-priority-card{border-color:#14b8a638}.preview-card{border:1px solid #dbeafe;border-radius:20px;background:#f8fbff;display:grid;gap:10px;margin-bottom:14px;padding:clamp(12px,1.8vh,16px)}.lesson-action-card{gap:12px}.lesson-status-strip{border:1px solid rgba(37,99,235,.14);border-radius:18px;background:linear-gradient(180deg,#fffffffa,#eff6fff0);display:grid;gap:8px;padding:10px 12px;position:relative}.lesson-status-strip-head{display:grid;gap:4px}.lesson-status-strip-head strong{color:#0f172a;font-size:14px;line-height:1.4}.live-score-event{border-radius:18px;display:grid;gap:4px;margin-bottom:0;padding:8px 10px}.live-score-event strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.live-score-event span{font-size:14px;line-height:1.5}.live-score-event.reward{background:linear-gradient(135deg,#0f766e1f,#14b8a633);color:#0f172a}.live-score-event.hint{background:linear-gradient(135deg,#f59e0b24,#f973162e);color:#7c2d12}.live-score-event.neutral{background:linear-gradient(135deg,#2563eb14,#14b8a61f);color:#0f172a}.lesson-status-chip-row{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-status-chip{border-radius:14px;background:#fff;display:grid;gap:2px;padding:10px}.lesson-status-chip span{color:#64748b;font-size:10px;font-weight:800}.lesson-status-chip strong{color:#0f172a;font-size:14px}.mission-card{gap:12px}.preview-row{display:grid;gap:4px}.preview-row span{color:#475569}.primary-action{width:100%}.hero-card .primary-action{margin-bottom:10px}.lesson-mode-row{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.meaning-choice-row{grid-template-columns:1fr}.mode-button{border:1px solid #bfdbfe;border-radius:16px;background:#fff;color:#2563eb;cursor:pointer;font-weight:800;padding:10px 12px}.meaning-choice-row .mode-button{min-height:52px;overflow-wrap:anywhere;white-space:normal}.mode-button.active{background:#2563eb;border-color:#2563eb;color:#fff}.reward-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-screen-body{align-content:start;min-width:0}.home-intro{margin-bottom:0;overflow-wrap:anywhere}.home-primary-card{border-radius:20px;background:#ffffff29;display:grid;gap:12px;padding:14px}.home-focus-strip{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-focus-strip article{border-radius:16px;background:#ffffff24;display:grid;gap:4px;min-width:0;padding:10px 12px}.home-focus-strip strong,.home-focus-strip span{color:#fff;overflow-wrap:anywhere}.home-focus-strip span{color:#dbeafe;display:-webkit-box;font-size:12px;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-primary-head,.home-primary-main,.home-primary-progress,.home-quick-stats{display:grid;gap:8px}.home-primary-head span,.home-primary-label,.home-primary-progress span,.home-quick-stats span{color:#dbeafe;font-size:11px;font-weight:800;text-transform:uppercase}.home-primary-head strong,.home-primary-progress strong,.home-quick-stats strong{color:#fff}.home-primary-main h2{color:#fff;font-size:clamp(20px,3.8vw,24px);line-height:1.15;margin:0}.home-primary-main p{color:#dbeafe;margin-bottom:0}.home-primary-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.home-primary-progress article,.home-quick-stats article{border-radius:16px;background:#ffffff1f;display:grid;gap:4px;min-width:0;padding:10px 12px}.home-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.home-quick-stats strong,.home-primary-progress strong{font-size:14px;line-height:1.2;overflow-wrap:anywhere}.home-screen-footer .primary-action,.home-screen-footer .ghost-action{font-size:13px;padding-left:8px;padding-right:8px;white-space:nowrap}.home-footer-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-footer-primary{grid-column:1 / -1}.home-screen-compact .home-primary-progress,.home-screen-compact .home-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-compact .viewport-screen-body{gap:8px}.screen-compact h1{font-size:24px;line-height:1.08}.screen-compact>.viewport-screen-body>p:not(.eyebrow){line-height:1.4;margin-bottom:0}.screen-compact .preview-card,.screen-compact .task-card,.screen-compact .track-card,.screen-compact .account-summary{border-radius:16px;padding:12px}.screen-compact .task-list,.screen-compact .page-grid,.screen-compact .home-quick-stats{margin-top:10px}.screen-compact .task-card button,.screen-compact .primary-action,.screen-compact .ghost-action,.screen-compact .mode-button{font-size:12px;padding:9px 10px}.screen-compact .task-type,.screen-compact .eyebrow{font-size:10px;margin-bottom:4px}.screen-compact .pill{font-size:11px;padding:6px 8px}.screen-compact .reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.screen-compact .reward-grid article{padding:10px}.screen-compact .reward-grid span{font-size:10px}.screen-compact .reward-grid strong{font-size:14px}.target-screen-compact .track-grid{grid-template-columns:1fr}.target-screen-compact .track-card{min-height:0;padding:12px}.tasks-screen-compact .lesson-actions{grid-template-columns:1fr}.tasks-screen-compact .viewport-screen-body{gap:6px}.tasks-screen-compact>.viewport-screen-body>p:not(.eyebrow),.tasks-screen-compact .preview-card>p:not(.task-type),.tasks-screen-compact .task-card p{display:none}.tasks-screen-compact .preview-card{gap:5px;margin-bottom:0;padding:10px}.tasks-screen-compact .preview-card h3,.tasks-screen-compact .task-card h3{font-size:15px;line-height:1.2;margin-bottom:2px}.tasks-screen-compact .preview-card .reward-grid{display:none}.tasks-screen-compact .home-summary{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.tasks-screen-compact .home-summary article{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;justify-content:space-between;padding:7px 9px}.tasks-screen-compact .home-summary span,.tasks-screen-compact .home-summary strong{font-size:11px}.tasks-screen-compact .task-list{gap:8px;margin-top:0}.tasks-screen-compact .task-card{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:9px 10px}.tasks-screen-compact .task-card small{font-size:11px}.course-stages-screen-compact .task-card,.course-units-screen-compact .task-card,.course-lessons-screen-compact .task-card{align-items:stretch;grid-template-columns:1fr}.course-stages-screen-compact .task-card,.course-units-screen-compact .task-card,.course-lessons-screen-compact .task-card,.course-stages-screen-compact .preview-card,.course-lesson-screen-compact .preview-card{gap:8px}.course-lessons-screen-compact .lesson-mode-row,.course-lesson-screen-compact .lesson-mode-row,.course-lesson-screen-compact .viewport-screen-footer{grid-template-columns:1fr}.auth-screen-compact .auth-mode-row,.auth-screen-compact .auth-form-card{gap:8px}.auth-screen-compact .field-label input{padding:10px 12px}.reward-grid article{border-radius:16px;background:#fff;display:grid;gap:4px;padding:clamp(10px,1.5vh,12px)}.reward-grid span{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.reward-grid strong{color:#0f172a;font-size:18px}.auth-card{align-content:start}.auth-mode-row{display:grid;gap:10px;grid-template-columns:1fr 1fr}.auth-form-card{display:grid;gap:12px}.account-summary,.field-label{display:grid;gap:8px}.account-summary{border-radius:20px;background:#eff6ff;padding:14px}.account-summary span,.field-label,.helper-text{color:#475569;font-size:13px;font-weight:800}.account-summary small{color:#64748b;overflow-wrap:anywhere}.field-label input{border:1px solid #bfdbfe;border-radius:16px;font:inherit;padding:12px 14px;width:100%}.inline-actions{align-items:end;display:grid;gap:10px;grid-template-columns:1fr auto}.helper-text{margin-bottom:0}.pnvs-tips{align-items:center;display:grid;gap:10px 12px;grid-template-columns:auto 1fr}.pnvs-tips span{align-items:center;background:#dbeafe;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:12px;font-weight:800;height:24px;justify-content:center;width:24px}.pnvs-tips p{margin-bottom:0}@keyframes screen-enter{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes reward-pop{0%{opacity:0;transform:translateY(6px) scale(.92)}18%{opacity:1;transform:translateY(0) scale(1)}82%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes metric-flash{0%{transform:scale(.98)}35%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes score-card-burst{0%{box-shadow:0 14px 32px #14b8a61a}35%{box-shadow:0 24px 56px #14b8a638}to{box-shadow:0 18px 40px #14b8a61f}}@media(max-width:480px){.learning-plan-panel{align-items:center;grid-template-columns:minmax(0,1fr) auto}.learning-plan-panel .ghost-action{min-width:96px}}@media(max-width:420px){.app-shell{gap:8px;padding-left:12px;padding-right:12px}.app-header{grid-template-columns:76px 1fr 76px;min-height:48px;padding:6px 0}.app-header strong{font-size:14px}.back-button,.link-button{font-size:12px;padding:8px 10px}.notice{border-radius:14px;font-size:13px;padding:10px 12px}.viewport-screen-body{gap:8px}.viewport-screen-footer-sticky{padding-top:8px}.course-study-shell{max-height:calc(100svh - 84px);min-height:calc(100svh - 84px);padding-bottom:14px}.course-study-body{padding-right:0}.visual-asset-card,.sentence-motion-card,.visual-feedback-card,.visual-review-card,.exercise-visual-stage{grid-template-columns:1fr}.exercise-lottie-frame,.exercise-image-frame{min-height:142px}.sentence-motion-frame{min-height:144px}.visual-asset-image{min-height:132px}.visual-review-card strong,.visual-review-card span{grid-column:auto}.course-study-footer-sticky{padding-top:10px}.lesson-actions,.lesson-mode-row,.home-summary,.track-grid,.reward-grid{grid-template-columns:1fr}.lesson-status-chip-row{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-compact .reward-grid{grid-template-columns:1fr}.home-quick-stats strong,.home-primary-progress strong,.home-screen-footer .primary-action,.home-screen-footer .ghost-action{font-size:12px}.home-screen h1{font-size:22px;line-height:1.08}.home-screen .home-intro{display:none}.home-primary-card{gap:8px;padding:10px}.home-primary-main h2{display:-webkit-box;font-size:18px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.home-primary-main p,.learning-plan-panel p:not(.home-primary-label){display:-webkit-box;font-size:12px;line-height:1.3;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.learning-plan-panel{gap:6px;padding:10px}.learning-plan-panel h3{font-size:16px;margin:0}.home-focus-strip{gap:6px}.home-focus-strip article{padding:8px 10px}.home-focus-strip span{-webkit-line-clamp:1}.home-quick-stats,.screen-alerts+.home-screen .home-focus-strip{display:none}}@media(max-height:780px){.app-shell{gap:10px;padding:0 14px 14px}.app-header{min-height:58px;padding:8px 0}.screen-card{padding:16px}.viewport-screen-footer,.viewport-screen-footer-sticky,.course-study-footer,.course-study-footer-sticky{gap:8px;padding-top:8px}h1{font-size:28px;line-height:1.08}p{line-height:1.45}.home-screen .viewport-screen-body{gap:8px}.home-screen .task-list,.page-grid,.home-quick-stats{margin-top:12px}.home-screen-footer,.home-footer-grid{gap:8px}.task-card,.reward-grid article,.lesson-status-chip,.home-primary-progress article,.home-quick-stats article,.track-card{border-radius:16px;padding:12px}.task-card button,.primary-action,.ghost-action,.mode-button{padding:10px 12px}.home-quick-stats strong,.home-primary-progress strong,.home-screen-footer .primary-action,.home-screen-footer .ghost-action{font-size:11px;line-height:1.15}.home-screen-footer .primary-action,.home-screen-footer .ghost-action{min-height:40px;padding:8px 6px}}@media(max-width:380px),(max-height:700px){.app-shell{padding:0 12px 12px}.screen-card{padding:12px}.home-screen .eyebrow,.home-screen .task-type{font-size:10px;margin-bottom:4px}.home-screen h1{font-size:24px;line-height:1.08}.home-screen .home-intro{display:-webkit-box;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.home-primary-card{gap:10px;padding:12px}.home-primary-main h2{font-size:20px}.home-primary-progress,.home-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-primary-progress article,.home-quick-stats article{padding:10px}.home-screen-footer,.home-footer-grid{gap:6px}.home-primary-head span,.home-primary-label,.home-primary-progress span,.home-quick-stats span{font-size:9px}.home-primary-progress strong,.home-quick-stats strong{font-size:10px}.home-screen-footer .primary-action,.home-screen-footer .ghost-action{font-size:10px;min-height:34px;padding:6px 4px}.screen-compact .reward-grid,.tasks-screen-compact .home-summary,.lesson-status-chip-row{grid-template-columns:repeat(2,minmax(0,1fr))}.course-stages-screen-compact .reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-screen-compact .auth-mode-row{grid-template-columns:1fr 1fr}}
