:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#142822;--muted:#65756f;--line:#d9e7de;--paper:#fffdf7;--card:#ffffffeb;--cream:#fff5d8;--sand:#f3ead6;--track:#dce8df;--primary:#35c96f;--primary-dark:#178a48;--engine:#ffb238;--reward:#ffcf4f;--speed:#4fa7ff;--bio:#9be66d;--tech:#9ca7ff;--peach:#ffb394;--danger-soft:#ffe0d7;--shadow-card:0 14px 30px #214c3d1f;--shadow-float:0 24px 70px #1f56482e;color:var(--ink);background:#eaf5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 5%,#ffd25a61,#0000 26%),radial-gradient(circle at 86% 18%,#54adff38,#0000 26%),linear-gradient(#e8fff2 0%,#f7fbff 54%,#eef3ff 100%);margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.mobileShell{place-items:start center;min-height:100vh;padding:0;display:grid}.phoneFrame{background:radial-gradient(circle at 85% 0,#58cc7d29,#0000 28%),linear-gradient(#fbfffd 0%,#f3f8ff 100%);width:100%;max-width:440px;min-height:100vh;padding-bottom:96px;position:relative;overflow-x:hidden;box-shadow:0 24px 80px #1f564821}.page{align-content:start;gap:18px;min-height:calc(100vh - 96px);padding:22px 18px 28px;animation:.28s both pageIn;display:grid}.homePage{gap:16px}.heroMission{background:linear-gradient(135deg,#ddf8ed 0%,#fff1bd 62%,#ddecff 100%);border:1px solid #2b9b552e;border-radius:8px;padding:18px;position:relative;overflow:hidden;box-shadow:0 18px 34px #2f9f7426}.heroGlow{background:#ffffff94;border-radius:50%;width:120px;height:120px;animation:4s ease-in-out infinite floatGlow;position:absolute;top:-40px;right:-34px}.appHeader{z-index:1;justify-content:space-between;align-items:center;gap:16px;padding-top:8px;display:flex;position:relative}.appHeader h1,.screenIntro h2,.celebration h2{letter-spacing:0;margin:4px 0;font-size:2rem;line-height:1.05}.appHeader p,.screenIntro p,.lastTopicCard p,.contentCard p,.practiceCard p,.resultCard p,.mascotTip p,.celebration p{color:#63736e;margin:0;line-height:1.55}.miniLabel{color:#2f9f74;text-transform:uppercase;letter-spacing:0;font-size:.78rem;font-weight:900}.tractorTutorWrap{flex:none;justify-items:center;gap:8px;display:grid}.tractorTutorWrap.compact{background:#ffffffbf;border:1px solid #58cc7d40;border-radius:8px;grid-template-columns:auto 1fr;place-items:center start;padding:12px}.tractorTutorWrap.tiny{display:block}.tractorTutorWrap.large .tractorTutor{margin:16px 0;transform:scale(1.24)}.tractorTutor{--tractor-scale:1;--tractor-rotate:0deg;transform-origin:bottom;width:116px;height:82px;animation:2.8s ease-in-out infinite tractorIdle;position:relative}.tractorRoof{background:#17312a;border-radius:8px 8px 4px 4px;width:52px;height:12px;position:absolute;top:2px;left:25px}.tractorBeacon{background:#ffc247;border-radius:50%;width:14px;height:14px;position:absolute;top:-8px;left:50px;box-shadow:0 0 0 5px #ffc24733}.tractorCabin{background:#66d88a;border:4px solid #17312a;border-radius:10px 10px 8px 8px;width:54px;height:42px;position:absolute;top:12px;left:22px;overflow:hidden}.tractorCabin:before{content:"";background:#ddecff;border-radius:6px;position:absolute;inset:6px 7px 14px}.tractorHood{background:#58cc7d;border:4px solid #17312a;border-radius:8px 14px 8px 8px;width:44px;height:28px;position:absolute;top:35px;left:60px}.tractorPipe{background:#17312a;border-radius:8px;width:8px;height:28px;position:absolute;top:13px;right:18px}.tractorWheel{background:#17312a;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:0}.tractorWheel span{background:#ffc247;border:4px solid #fff7d7;border-radius:50%;width:52%;height:52%;display:block}.tractorWheel.rear{width:40px;height:40px;left:14px}.tractorWheel.front{width:28px;height:28px;right:8px}.tractorEyes{z-index:2;gap:8px;display:flex;position:absolute;top:13px;left:14px}.tractorEyes span{background:#17312a;border-radius:50%;width:8px;height:10px;transition:transform .2s,height .2s}.tractorEyes.happy span{border-radius:8px 8px 50% 50%;height:5px;transform:translateY(3px)}.tractorEyes.proud span:first-child{transform:translateY(-2px)}.tractorEyes.thinking span:last-child{transform:translateY(4px)}.tractorEyes.surprised span{width:10px;height:12px}.tractorEyes.worried span{transform:rotate(10deg)}.tractorMouth{border-bottom:3px solid #17312a;border-radius:0 0 20px 20px;width:18px;height:8px;position:absolute;bottom:5px;left:12px}.tractorMouth.bigSmile{width:24px;height:11px}.tractorMouth.flat{border-radius:8px;height:2px}.tractorMouth.open{border:3px solid #17312a;border-radius:50%;width:13px;height:13px}.tractorMouth.soft{transform:rotate(180deg)}.tractorGrill{gap:3px;display:flex;position:absolute;bottom:5px;right:6px}.tractorGrill span{background:#17312a;border-radius:8px;width:3px;height:10px}.tractorTutor.celebrating{animation:.72s ease-in-out infinite tractorCelebrate}.tractorTutor.worried{filter:saturate(.9)}.confettiBits i{background:#ff7a59;border-radius:3px;width:8px;height:12px;animation:1s ease-in-out infinite confettiPop;position:absolute}.confettiBits i:first-child{top:0;left:5px}.confettiBits i:nth-child(2){background:#54adff;animation-delay:.16s;top:-10px;right:14px}.confettiBits i:nth-child(3){background:#ffc247;animation-delay:.28s;top:-18px;left:44px}.confettiBits i:nth-child(4){background:#58cc7d;animation-delay:.38s;top:-16px;left:76px}.confettiBits i:nth-child(5){background:#9b7cff;animation-delay:.48s;top:-24px;left:24px}.tractorSpeech{color:#42544e;background:#fff;border-radius:8px;max-width:230px;margin:0;padding:10px 12px;font-size:.9rem;font-weight:800;line-height:1.35;box-shadow:0 10px 24px #1c4e3f14}.tractorTutorWrap.tiny .tractorTutor{transform-origin:0 0;width:58px;height:42px;transform:scale(.55)}.tractorTutorWrap.tiny .tractorSpeech{display:none}.tractorTutorWrap.small,.tractorTutorWrap.tiny{width:78px;min-width:78px;height:58px;overflow:visible}.tractorTutorWrap.small .tractorTutor,.tractorTutorWrap.tiny .tractorTutor{--tractor-scale:.58;transform-origin:0 0;width:126px;height:88px;margin:0}.tractorTutorWrap.medium .tractorTutor,.tractorTutorWrap.normal .tractorTutor{width:126px;height:88px}.tractorTutorWrap.large{min-height:128px;overflow:visible}.tractorTutorWrap.large .tractorTutor{--tractor-scale:1.18;transform-origin:bottom;width:126px;height:88px;margin:18px 0 22px}.tractorTutorWrap.hero{min-height:150px;overflow:visible}.tractorTutorWrap.hero .tractorTutor{--tractor-scale:1.32;transform-origin:bottom;filter:drop-shadow(0 18px 20px #214c3d33);width:126px;height:88px;margin:24px 0 30px}.startModes{gap:12px;display:grid}.modeButton{text-align:left;color:#17312a;background:#fff;border:0;border-bottom:4px solid #d6e8df;border-radius:8px;grid-template-columns:56px 1fr;align-items:center;gap:12px;min-height:78px;padding:12px;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:0 12px 30px #1c4e3f14}.modeButton.featured{background:linear-gradient(135deg,#58cc7d 0%,#b6f07a 100%);border-bottom-color:#2b9b55;min-height:92px}.modeButton:active{transform:scale(.98)}.modeIcon{background:#ffffffc2;border-radius:8px;place-items:center;width:56px;height:56px;display:grid}.modeButton strong,.modeButton small{display:block}.modeButton small{color:#63736e;margin-top:3px;font-weight:700}.compactStats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.miniStat{background:#fff;border:1px solid #dcece6;border-radius:8px;justify-items:center;gap:4px;min-height:76px;padding:10px;display:grid}.miniStat span,.lastTopicCard span,.studyCard span,.routeProgress span,.nodeText small,.largeInput span,.miniMedal span{color:#6b7d78;font-size:.78rem}.miniStat strong{overflow-wrap:anywhere;text-align:center;max-width:100%;font-size:1rem}.bigPrimaryButton,.softButton,.smallPillButton,.optionButton,.answerButtons button,.bottomNav button,.backButton{color:#17312a;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:52px;font-weight:900;display:inline-flex}.bigPrimaryButton{color:#0f261f;background:#58cc7d;border-bottom:4px solid #2b9b55;width:100%;min-height:58px;padding:0 18px;font-size:1rem;transition:transform .16s,filter .16s}.bigPrimaryButton:active,.softButton:active,.subjectCard:active,.pathNode:active{transform:scale(.98)}.softButton{background:#fff;border:1px solid #dcece6;width:100%;padding:0 18px;transition:transform .16s,border-color .16s;box-shadow:0 8px 24px #1c4e3f0f}.lastTopicCard,.contentCard,.studyCard,.practiceCard,.resultCard,.routeProgress,.mascotTip,.scanResultCard,.correctionMission,.exercisePreview,.chatBubble{background:#fff;border:1px solid #dcece6;border-radius:8px;box-shadow:0 10px 26px #1c4e3f12}.lastTopicCard{gap:8px;padding:18px;transition:transform .18s;display:grid}.lastTopicCard strong{font-size:1.25rem}.progressBar{background:#e5eee9;border-radius:8px;height:14px;overflow:hidden}.progressBar span{border-radius:inherit;background:linear-gradient(90deg,#58cc7d,#ffc247,#ff7a59);height:100%;transition:width .45s;display:block}.backButton{background:#fff;border:1px solid #dcece6;min-height:40px;margin:16px 0 -6px 12px;padding:0 12px}.screenIntro{gap:4px;display:grid}.subjectGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.subjectCard{text-align:left;color:#17312a;background:#fff;border:1px solid #dcece6;border-bottom:4px solid #17312a2e;border-radius:8px;align-content:center;justify-items:start;gap:12px;min-height:128px;padding:14px;transition:transform .18s,box-shadow .18s;display:grid}.subjectCard:hover,.lastTopicCard:hover{transform:translateY(-2px)}.subjectIcon{background:#ffffffbf;border-radius:8px;place-items:center;min-width:46px;height:46px;padding:0 8px;font-size:1.4rem;font-weight:1000;display:grid}.subjectCard.gray{background:#eef2f1}.largeInput{background:#fff;border:1px solid #dcece6;border-radius:8px;gap:8px;padding:16px;display:grid}.largeInput input,.largeInput textarea{color:#17312a;background:#f0f7f4;border:0;border-radius:8px;outline:0;width:100%;min-height:58px;padding:0 14px;font-size:1.08rem;font-weight:800}.largeInput textarea{resize:vertical;min-height:100px;padding:14px}.largeInput.compact{padding:12px}.topicChips{flex-wrap:wrap;gap:10px;display:flex}.topicChips button{color:#17312a;background:#fff;border:1px solid #dcece6;border-radius:8px;min-height:42px;padding:0 12px;font-weight:800}.routeProgress{background:linear-gradient(135deg,#fff,#eaf8ff);gap:12px;padding:16px;display:grid}.routeProgress div{justify-content:space-between;align-items:center;display:flex}.learningPath{gap:16px;padding:4px 0 8px;display:grid;position:relative}.learningPath:before{content:"";background:#dbe9e3;border-radius:8px;width:7px;position:absolute;top:30px;bottom:30px;left:34px}.pathNode{text-align:left;background:0 0;border:0;align-items:center;gap:14px;min-height:82px;padding:0;transition:transform .18s,opacity .18s;display:flex;position:relative}.nodeCircle{color:#17312a;z-index:1;background:#fff;border:4px solid #dbe9e3;border-radius:50%;place-items:center;width:76px;height:76px;display:grid;box-shadow:0 10px 24px #1c4e3f1a}.nodeText{background:#fff;border:1px solid #dcece6;border-radius:8px;flex:1;align-content:center;gap:2px;min-height:64px;padding:12px;display:grid}.pathNode.done .nodeCircle{background:#58cc7d;border-color:#2b9b55;animation:.32s both popDone}.pathNode:not(.done):not(.locked) .nodeCircle{background:#fff8dc;border-color:#ffc247;animation:1.8s ease-in-out infinite availablePulse}.pathNode.locked{opacity:.48}.lessonPage{align-content:start;gap:14px}.contentCard,.studyCard,.practiceCard,.resultCard{gap:12px;padding:16px;display:grid}.contentTitle{justify-content:space-between;align-items:center;gap:10px;display:flex}.contentTitleMain{align-items:center;gap:10px;min-width:0;display:flex}.contentTitleMain strong{min-width:0}.contextHelpButton{color:#0f7f49;white-space:nowrap;background:#f2fff8;border:1px solid #cce8db;border-radius:999px;justify-self:end;min-height:32px;padding:0 11px;font-size:.82rem;font-weight:900;box-shadow:0 5px 12px #1c4e3f0f}.contextHelpButton:active{transform:translateY(1px)scale(.98)}.contentCard ol,.contentCard ul{margin:0;padding-left:20px}.contentCard li{margin:8px 0;line-height:1.5}.ideaStack{gap:10px;display:grid}.ideaBlock{background:#f0f7f4;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.ideaBlock span{color:#17312a;background:#58cc7d;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:1000;display:grid}.guidedExampleStack{gap:12px;display:grid}.guidedExampleCard{background:#f0f7f4;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px 12px;padding:12px;display:grid}.guidedExampleNumber{color:#17312a;background:#58cc7d;border-radius:50%;place-items:center;width:30px;min-width:30px;height:30px;font-weight:1000;line-height:1;display:grid}.guidedExampleTitle,.guidedExampleSteps{overflow-wrap:anywhere;word-break:break-word;min-width:0}.guidedExampleTitle{color:#17312a;align-self:center;font-size:.95rem;line-height:1.35}.guidedExampleSteps{color:#526860;grid-column:1/-1;margin:0;padding-left:22px;line-height:1.45}.guidedExampleCard .contextHelpButton{grid-column:1/-1;justify-self:start}.guidedExampleSteps li{margin:0 0 7px}.guidedExampleSteps li:last-child{margin-bottom:0}@media (width>=760px){.guidedExampleCard{grid-template-columns:auto minmax(140px,1fr) minmax(0,1.6fr);gap:12px}.guidedExampleSteps{grid-column:auto;padding-left:18px}.guidedExampleCard .contextHelpButton{grid-column:2/-1}}.contextHelpOverlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain;background:#0f231d59;place-items:end center;animation:.18s both feedbackIn;display:grid;position:fixed;inset:0}.contextHelpSheet{overscroll-behavior:contain;width:100%;max-width:440px;max-height:85vh;padding:20px 18px max(22px, env(safe-area-inset-bottom));background:linear-gradient(#fff 0%,#f0fbf6 100%);border:1px solid #d7eee3;border-radius:24px 24px 0 0;gap:14px;animation:.22s both contextSheetUp;display:grid;position:relative;overflow-y:auto;box-shadow:0 -18px 42px #1c4e3f33}.contextHelpSheet h3{color:#17312a;margin:2px 0 0;font-size:1.35rem}.contextHelpScope{color:#0f7f49;margin:6px 0 0;font-size:.88rem;font-weight:900}.contextHelpClose{color:#17312a;z-index:1;background:#eaf6f0;border:0;border-radius:999px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:12px;right:12px}.contextHelpBlock{background:#fff;border:1px solid #dcece6;border-radius:14px;gap:6px;padding:13px;display:grid}.contextHelpBlock strong{color:#17312a}.contextHelpBlock p{color:#526860;margin:0;line-height:1.5}.contextHelpActions{gap:10px;display:grid}.compactCta{min-height:50px}@media (width>=700px){.contextHelpOverlay{align-items:center;padding:24px}.contextHelpSheet{border-radius:24px;box-shadow:0 24px 60px #1c4e3f3d}}.lessonActionDock{gap:10px;margin-top:4px;display:grid}.loadingCard{background:linear-gradient(135deg,#fff 0%,#eefbf5 100%);border:1px solid #d8efe4;border-top:4px solid #58cc7d;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:16px;animation:.22s both feedbackIn;display:grid;box-shadow:0 12px 26px #1c4e3f14}.loadingCard strong{color:#17312a;margin-bottom:4px;font-size:1rem;display:block}.loadingCard p{color:#667a74;margin:0;line-height:1.45}.loadingSpinner{color:#0f9f58;background:#dcf8e9;border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:inset 0 -2px #17312a1f}.loadingSpinner svg{animation:.9s linear infinite loaderSpin}.loadingSkeleton{grid-column:1/-1;gap:8px;display:grid}.loadingSkeleton span{background:linear-gradient(90deg,#e1eee9 0%,#f8fffb 48%,#e1eee9 100%) 0 0/180% 100%;border-radius:999px;height:10px;animation:1.2s ease-in-out infinite skeletonSlide}.loadingSkeleton span:nth-child(2){width:82%}.loadingSkeleton span:nth-child(3){width:58%}.mnemonicGrid{gap:10px;display:grid}.mnemonicGrid p{background:#f7fbff;border-radius:8px;padding:10px}.studyCard{text-align:center;background:#fff5cf;align-content:center;min-height:220px}.studyCard strong{font-size:1.8rem}.smallPillButton{background:#fff;border:1px solid #e3d490;justify-self:center;min-height:42px;padding:0 14px}.quickQuestions,.examList,.progressList{gap:12px;display:grid}.answerButtons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.answerButtons button,.optionButton{background:#f0f7f4;border:2px solid #0000;min-height:48px;padding:0 12px}.answerButtons button.selected,.optionButton.selected{background:#ddf8ed;border-color:#58cc7d;animation:.22s both answerPop}.answerButtons button.review{background:#fff1bd;border-color:#ffc247}.instantFeedback{background:#f0f7f4;border-radius:8px;padding:10px;animation:.2s both feedbackIn}.instantFeedback.ok{color:#1d6f43;background:#ddf8ed}.instantFeedback.review{color:#6d5200;background:#fff1bd}.optionButton{text-align:left;justify-content:flex-start;width:100%}.resultCard{background:#e3f7cf;animation:.36s both rewardIn}.rewardToast{color:#6d5200;background:#fff1bd;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 12px;font-weight:900;animation:.3s both answerPop;display:inline-flex}.resultCard strong{font-size:1.5rem}.masteredPage{align-content:center}.celebration{text-align:center;justify-items:center;gap:10px;padding:18px;animation:.38s both rewardIn;display:grid;overflow:visible}.masteredPage .celebration .tractorTutorWrap.hero{margin-bottom:-2px}.masteredPage .mascotTip{align-items:center;gap:14px}.masteredPage .mascotTip .tractorTutorWrap.tiny{width:86px;min-width:86px;height:64px}.masteredPage .mascotTip .tractorTutorWrap.tiny .tractorTutor{--tractor-scale:.64}.rewardGrid{grid-template-columns:1fr;gap:10px;display:grid}.mascotTip{background:#fff;align-items:center;gap:10px;padding:14px;display:flex;overflow:visible}.mascotTip .tractorTutorWrap{flex:0 0 78px;align-self:center}.mascotTip p{min-width:0}.missionStrip{color:#17312a;background:#fff1bd;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 14px;font-weight:800;display:flex}.agentTeamCard,.agentCallout{color:#fff;background:linear-gradient(135deg,#17312a,#245f50);border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 14px 30px #17312a29}.agentTeamCard .miniLabel,.agentCallout .miniLabel{color:#ffc247}.agentTeamCard strong{margin-top:3px;display:block}.agentCallout{color:#17312a;background:linear-gradient(135deg,#fff,#eef6ff);border:1px solid #dcece6;box-shadow:0 12px 28px #1c4e3f14}.agentCallout .miniLabel{color:#2f9f74}.agentCallout p{color:#63736e;margin:0}.agentCallout .agentPills span{color:#1d6f43;background:#e6f7ee}.agentRoster{gap:10px;max-height:360px;padding-right:4px;display:grid;overflow:auto}.agentRoster div{background:linear-gradient(135deg,#f7fbff,#eef8f1);border:1px solid #dcece6;border-radius:8px;padding:10px}.agentRoster strong,.agentRoster span{display:block}.agentRoster strong{color:#17312a}.agentRoster span{color:#63736e;margin-top:3px;font-size:.84rem;line-height:1.35}.agentPills{flex-wrap:wrap;gap:8px;display:flex}.agentPills span{color:#1f5f45;background:#eaf7f1;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:900}.missionConsole .agentPills span,.progressConsole .agentPills span{color:#fff;background:#ffffff1f}.questionCounter{gap:8px;display:grid}.questionCounter span{color:#6b7d78;font-size:.82rem;font-weight:900}.correctPulse{animation:.42s both correctGlow}.reviewChoices{gap:8px;display:grid}.reviewChoices span{color:#63736e;background:#f0f7f4;border-radius:8px;padding:10px;font-weight:900}.reviewChoices span.recommended{color:#1d6f43;background:#ddf8ed;outline:2px solid #58cc7d}.progressRow{gap:8px;display:grid}.progressRow div{justify-content:space-between;align-items:center;gap:12px;display:flex}.progressRow span{color:#63736e;font-weight:800}.medalList{grid-template-columns:1fr 1fr;gap:10px;display:grid}.miniMedal{text-align:center;opacity:.55;background:#fff;border:1px solid #dcece6;border-radius:8px;align-content:center;justify-items:center;gap:6px;min-height:72px;padding:10px;display:grid}.miniMedal.unlocked{opacity:1;background:#fff1bd}.uploadZone{text-align:center;color:#17312a;background:linear-gradient(135deg,#58cc7d29,#ffd25a2e),#fff;border:2px dashed #8bdcaf;border-radius:8px;align-content:center;place-items:center;gap:8px;min-height:172px;display:grid;box-shadow:0 12px 30px #1c4e3f14}.uploadZone input{display:none}.uploadZone strong{font-size:1.15rem}.uploadZone span{color:#63736e;font-weight:800}.uploadZone.exercise{background:linear-gradient(135deg,#ffc24738,#ddecffd9),#fff;border-color:#ffc247}.photoGrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.photoThumb{aspect-ratio:1;background:#dcece6;border-radius:8px;position:relative;overflow:hidden}.photoThumb img,.exercisePreview img{object-fit:cover;width:100%;height:100%;display:block}.photoMeta{color:#14362a;background:#ffffffeb;border-radius:8px;gap:2px;padding:8px;font-size:.68rem;line-height:1.2;display:grid;position:absolute;bottom:8px;left:8px;right:8px}.photoMeta strong,.photoMeta span,.photoMeta em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photoMeta em{color:#537066;font-style:normal;font-weight:800}.photoThumb button{color:#17312a;background:#ffffffe0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:6px;right:6px}.readinessList{gap:8px;display:grid}.readinessItem{background:#fff1bd;border-radius:8px;gap:4px;padding:10px;display:grid}.readinessItem.good{background:#ddf8ed}.readinessItem strong,.readinessItem span{display:block}.readinessItem span{color:#63736e;font-size:.86rem;font-weight:800}.scanResultCard,.correctionMission{background:linear-gradient(#fff,#f0fff7);gap:12px;padding:18px;animation:.34s both rewardIn;display:grid}.scanBadge{background:#ddf8ed;border-radius:8px;place-items:center;width:58px;height:58px;display:grid}.scanResultCard h3{margin:0;font-size:1.5rem}.conceptChips,.quickActionGrid{flex-wrap:wrap;gap:8px;display:flex}.conceptChips span{color:#24507d;background:#eef6ff;border-radius:8px;padding:8px 10px;font-weight:900}.quickActionGrid{grid-template-columns:1fr 1fr;display:grid}.quickActionGrid.vertical{grid-template-columns:1fr}.quickActionGrid button,.listenButton{color:#fff;background:#17312a;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-weight:900;display:inline-flex}.exercisePreview{gap:0;display:grid;overflow:hidden}.exercisePreview img{max-height:260px}.exercisePreview button{color:#17312a;background:#fff;border:0;justify-content:center;align-items:center;gap:8px;min-height:48px;font-weight:900;display:inline-flex}.correctionMission strong{font-size:1.8rem}.stepList{margin:0;padding-left:20px}.voiceAnswerTools{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.voiceAnswerTools .expertButton{align-items:center;gap:6px;margin:0;font-size:.78rem;display:inline-flex}.voiceAnswerTools span{color:#1f6f4a;font-size:.8rem;font-weight:900}.hintBubble{color:#6d5200;background:#fff1bd;border-radius:8px;margin:0;padding:12px;font-weight:800}.voicePage{align-content:start}.voiceOrb{background:radial-gradient(circle,#58cc7d33,#0000 42%),linear-gradient(135deg,#eaf8ff,#fff1bd);border:1px solid #dcece6;border-radius:8px;align-content:center;place-items:center;gap:18px;min-height:230px;display:grid}.voiceOrb button{color:#17312a;background:#58cc7d;border:0;border-radius:50%;place-items:center;width:112px;height:112px;display:grid;box-shadow:0 0 0 12px #58cc7d29}.voiceOrb.listening button{animation:1s ease-in-out infinite micPulse}.voiceOrb.thinking button{background:#ffc247}.waveSet{align-items:center;gap:7px;height:34px;display:flex}.waveSet span{background:#2b9b55;border-radius:8px;width:8px;height:14px;animation:.8s ease-in-out infinite wave}.waveSet span:nth-child(2){animation-delay:.12s}.waveSet span:nth-child(3){animation-delay:.24s}.voiceStatus{color:#63736e;background:#fff;border-radius:8px;place-items:center;min-height:44px;font-weight:900;display:grid}.chatBubble{align-items:flex-start;gap:10px;padding:14px;display:flex}.chatBubble.student{background:#eef6ff}.chatBubble.tutor{background:#ddf8ed}.chatBubble span{color:#63736e;margin-bottom:4px;font-size:.8rem;font-weight:900;display:block}.bottomNav{background:#fffffff5;border-top:1px solid #dcece6;grid-template-columns:repeat(4,1fr);gap:4px;width:100%;max-width:440px;height:78px;padding:8px 10px 10px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 30px #1c4e3f1a}.bottomNav button{color:#7c8b87;background:0 0;flex-direction:column;gap:3px;min-height:58px}.bottomNav button span{font-size:.72rem;font-weight:900}.bottomNav button.active{color:#2b9b55;background:#e6f7ee}.tractorSpeech.happy,.tractorSpeech.celebrating{color:#6d5200;background:#fff1bd}.tractorSpeech.thinking{color:#24507d;background:#eef6ff}.tractorSpeech.encouraging,.tractorSpeech.worriedFriendly{color:#7d3b24;background:#ffe9dc}.flashcardStack{gap:10px;display:grid}.studyCard.mini{text-align:left;background:linear-gradient(135deg,#fff5cf,#fff);align-content:start;min-height:132px}.studyCard.mini strong{font-size:1.25rem}.listenButton.secondary{color:#17312a;background:#fff;border:1px solid #b9d9ce;margin-top:8px}.progressNote{background:linear-gradient(135deg,#fff,#f0f7f4);border:1px solid #dcece6;border-radius:8px;padding:12px}.progressNote strong,.progressNote span{display:block}.progressNote span{color:#63736e;margin-top:4px;font-size:.9rem;line-height:1.4}.expertButton{color:#8a9894;background:0 0;border:0;border-radius:8px;justify-self:center;min-height:38px;padding:0 12px;font-weight:800;text-decoration:underline}.devFlowList{gap:12px;display:grid}.devFlowList article{background:#f7fbff;border:1px solid #dcece6;border-radius:8px;padding:12px}.devFlowList strong{margin-bottom:8px;display:block}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tractorIdle{0%,to{transform:translateY(0) rotate(var(--tractor-rotate,0deg)) scale(var(--tractor-scale,1))}50%{transform:translateY(-3px) rotate(calc(var(--tractor-rotate,0deg) - 1deg)) scale(var(--tractor-scale,1))}}@keyframes tractorCelebrate{0%,to{transform:translateY(0) rotate(var(--tractor-rotate,0deg)) scale(var(--tractor-scale,1))}35%{transform:translateY(-6px) rotate(calc(var(--tractor-rotate,0deg) - 3deg)) scale(var(--tractor-scale,1))}70%{transform:translateY(-2px) rotate(calc(var(--tractor-rotate,0deg) + 3deg)) scale(var(--tractor-scale,1))}}@keyframes confettiPop{0%{opacity:0;transform:translateY(8px)rotate(0)}40%{opacity:1}to{opacity:0;transform:translateY(-20px)rotate(80deg)}}@keyframes floatGlow{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(12px)scale(1.08)}}@keyframes availablePulse{0%,to{box-shadow:0 10px 24px #1c4e3f1a}50%{box-shadow:0 0 0 8px #ffc24738,0 10px 24px #1c4e3f1a}}@keyframes popDone{0%{transform:scale(.9)}70%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes answerPop{0%{transform:scale(.98)}to{transform:scale(1)}}@keyframes feedbackIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes loaderSpin{to{transform:rotate(360deg)}}@keyframes skeletonSlide{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes contextSheetUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes correctGlow{0%{box-shadow:0 10px 26px #1c4e3f12}45%{box-shadow:0 0 0 7px #58cc7d3d,0 10px 26px #1c4e3f12}to{box-shadow:0 10px 26px #1c4e3f12}}@keyframes rewardIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes micPulse{0%,to{box-shadow:0 0 0 12px #58cc7d29}50%{box-shadow:0 0 0 22px #58cc7d14}}@keyframes wave{0%,to{height:12px}50%{height:32px}}@media (width>=700px){.mobileShell{padding:24px 0}.phoneFrame{border-radius:8px;min-height:calc(100vh - 48px)}.page{min-height:calc(100vh - 144px)}.bottomNav{border-radius:0 0 8px 8px;bottom:24px}}.homePage{gap:14px;padding-top:18px}.homePage:before{opacity:.75;background:radial-gradient(circle at 18% 6%,#ffcf4f47,#0000 28%),radial-gradient(circle at 86% 18%,#4fa7ff29,#0000 24%),linear-gradient(130deg,#0000 0 42%,#1428220b 43% 45%,#0000 46%),linear-gradient(42deg,#0000 0 58%,#35c96f14 59% 61%,#0000 62%)}.homePage .heroMission{isolation:isolate;background:linear-gradient(#dff6ff 0%,#ecffdf 52%,#fff2c8 100%);border:0;border-radius:8px;min-height:276px;padding:0;overflow:hidden;box-shadow:0 24px 46px #214c3d38}.homePage .heroMission:before{content:"";z-index:0;background:radial-gradient(circle at 20% 24%,#ffffffc2,#0000 18%),radial-gradient(circle at 78% 16%,#ffcf4f6b,#0000 20%),linear-gradient(115deg,#0000 0 58%,#35c96f1f 59% 64%,#0000 65%);position:absolute;inset:0}.homePage .heroMission:after{content:"";z-index:1;background:linear-gradient(90deg,#0000 0 44%,#ffffffb3 45% 47%,#0000 48% 52%,#ffffffb3 53% 55%,#0000 56%),linear-gradient(#45584f,#26362f);border-radius:50% 50% 0 0;height:92px;position:absolute;bottom:-18px;left:-42px;right:-42px;transform:rotate(-2deg)}.heroSky{z-index:0;background:repeating-linear-gradient(90deg,#0000 0 28px,#ffffff2e 28px 30px),radial-gradient(circle at 12% 78%,#35c96f2e,#0000 20%);position:absolute;inset:0}.heroRoad{opacity:.75;z-index:2;background:repeating-linear-gradient(90deg,#fff 0 16px,#0000 16px 28px);border-radius:99px;height:12px;position:absolute;bottom:31px;left:22px;right:22px;transform:rotate(-2deg)}.heroCheckpoint{background:var(--reward);z-index:2;border:3px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;box-shadow:0 8px 16px #1428222e}.heroCheckpoint.one{bottom:76px;left:34px}.heroCheckpoint.two{background:var(--primary);bottom:93px;right:42px}.homeHeroContent{z-index:3;grid-template-columns:1fr;align-content:space-between;min-height:276px;padding:20px 18px 18px;display:grid;position:relative}.homeHeroCopy{max-width:230px}.homeBadge{min-height:28px;color:var(--primary-dark);text-transform:uppercase;background:#ffffffbd;border-radius:8px;align-items:center;padding:0 10px;font-size:.74rem;font-weight:1000;display:inline-flex;box-shadow:inset 0 -2px #1428220f}.homeHeroCopy h1{color:var(--ink);margin:10px 0 2px;font-size:2.35rem;line-height:.96}.homeHeroCopy p{color:#385249;margin:0;font-size:1.05rem;font-weight:850}.homeTractorStage{place-self:end;margin-bottom:4px;margin-right:6px}.homeTractorStage .tractorTutorWrap{justify-items:end}.homeTractorStage .tractorTutorWrap.large .tractorTutor{filter:drop-shadow(0 16px 16px #1428223d);margin:12px 4px 18px;transform:scale(1.34)rotate(-2deg)}.homeTractorStage .tractorSpeech{color:#30463f;background:#fffffff0;border:1px solid #14282214;max-width:210px}.missionConsole{background:linear-gradient(135deg,#1d332c,#304d42);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:8px;min-height:78px;padding:10px;display:grid;box-shadow:0 16px 30px #14282233}.missionConsole .miniStat{color:#fff;background:#ffffff14;border:1px solid #ffffff1a;min-height:58px;box-shadow:inset 0 -3px #0000001a}.missionConsole .miniStat span{color:#ffffffad}.missionConsole .miniStat svg{color:var(--reward)}.missionConsole .miniStat strong{color:#fff}.homePrimaryMission{text-align:left;width:100%;min-height:82px;color:var(--ink);border:0;border-bottom:6px solid var(--primary-dark);background:radial-gradient(circle at 92% 10%,#ffffffb3,#0000 22%),linear-gradient(135deg,#51e683,#b9f56c 72%,#fff0aa);border-radius:8px;grid-template-columns:58px 1fr;align-items:center;gap:12px;padding:12px 14px;transition:transform .16s,filter .16s;display:grid;box-shadow:0 18px 34px #178a484d}.homePrimaryMission:active{transform:scale(.98)translateY(2px)}.primaryPlay{background:#ffffffe0;border-radius:8px;place-items:center;width:58px;height:58px;display:grid;box-shadow:inset 0 -4px #14282214}.homePrimaryMission strong,.homePrimaryMission small{display:block}.homePrimaryMission strong{font-size:1.25rem}.homePrimaryMission small{color:#315245;margin-top:3px;font-weight:850}.homeMissionGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.homeMissionGrid .modeButton{grid-template-columns:1fr;align-content:space-between;min-height:134px;padding:12px;overflow:hidden}.homeMissionGrid .modeButton:after{content:"";opacity:.36;background:currentColor;border-radius:50%;width:74px;height:74px;position:absolute;top:-18px;right:-18px}.homeMissionGrid .modeButton.scan{color:#157c74;background:linear-gradient(135deg,#e2fff8,#eaf8ff);border-bottom-color:#36aaa0}.homeMissionGrid .modeButton.check{color:#9a4f16;background:linear-gradient(135deg,#fff3df,#ffe4ce);border-bottom-color:#df7b28}.homeMissionGrid .modeButton.voice{color:#245eaa;background:linear-gradient(135deg,#eaf3ff,#e2f8ff);border-bottom-color:#4f8de0}.homeMissionGrid .modeButton.boss{color:#8b382f;background:linear-gradient(135deg,#fff4c9,#ffe0d7);border-bottom-color:#d75f4d}.homeMissionGrid .modeIcon{width:48px;height:48px}.homeMissionGrid .modeButton strong{font-size:.98rem;line-height:1.15}.homeMissionGrid .modeButton small{font-size:.78rem}.lastMissionCard{box-shadow:var(--shadow-card);background:linear-gradient(135deg,#fffffff5,#fff7dff5);border:1px solid #d9e7def2;border-radius:8px;gap:10px;padding:15px;display:grid}.lastMissionCard span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.lastMissionCard strong{color:var(--ink);margin-top:3px;font-size:1.25rem;display:block}.lastMissionCard p{color:var(--muted);margin:2px 0 0}.lastMissionCard button{background:var(--ink);color:#fff;border:0;border-radius:8px;justify-self:start;min-height:38px;padding:0 13px;font-weight:900}.recentTopicsSection{gap:12px;display:grid}.sectionHeader{color:var(--ink);justify-content:space-between;align-items:end;gap:12px;display:flex}.sectionHeader span{color:var(--muted);font-size:.82rem;font-weight:800}.recentTopicList{gap:10px;display:grid}.recentTopicCard{background:#fffffff0;border:1px solid #d9e7def2;border-radius:14px;gap:10px;padding:14px;display:grid;box-shadow:0 10px 24px #1c4e3f14}.recentTopicCard strong{color:var(--ink)}.recentTopicCard p{color:var(--muted);margin:3px 0}.recentTopicCard span{color:#0f7f49;background:#e8fff1;border-radius:999px;width:fit-content;padding:4px 8px;font-size:.78rem;font-weight:900;display:inline-flex}.recentTopicCard button{background:var(--ink);color:#fff;border:0;border-radius:8px;justify-self:start;min-height:38px;padding:0 13px;font-weight:900}.recentTopicActions{flex-wrap:wrap;gap:10px;display:flex}.recentTopicCard .dangerTextButton{color:#b64d3c;background:0 0;border:1px solid #b64d3c38}.recentTopicProgress{color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-weight:900;display:grid}.deleteTopicDialog{background:#fffdf9;border:1px solid #f1d0c9;border-radius:22px;gap:12px;width:min(100% - 28px,420px);margin:auto;padding:20px;display:grid;position:relative;box-shadow:0 24px 60px #1c4e3f3d}.deleteTopicDialog h3{color:var(--ink);margin:0;font-size:1.25rem}.deleteTopicDialog p{color:var(--muted);margin:0;line-height:1.45}.deleteTopicActions{gap:10px;display:grid}.dangerButton{color:#fff;background:#c65340;border:0;border-radius:10px;min-height:48px;font-weight:1000}.homePage .bottomNav{height:74px}body{background:radial-gradient(circle at 12% 8%,#ffcf4f57,#0000 24%),radial-gradient(circle at 88% 14%,#4fa7ff33,#0000 25%),linear-gradient(135deg,#eef8ed 0%,#fff9e8 48%,#eef5ff 100%)}.phoneFrame{box-shadow:var(--shadow-float);background:linear-gradient(90deg,#14282209 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#14282206 1px,#0000 1px) 0 0/28px 28px,radial-gradient(circle at 80% 0,#35c96f33,#0000 30%),linear-gradient(#fffdf7 0%,#f6fbf4 45%,#f1f6ff 100%)}.page{position:relative}.page:before{content:"";pointer-events:none;opacity:.58;background:radial-gradient(circle at 18px 18px,#ffb2381f 0 3px,#0000 4px) 0 0/54px 54px,linear-gradient(135deg,#0000 0 47%,#14282209 48% 52%,#0000 53%) 0 0/120px 120px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 72%);mask-image:linear-gradient(#000 0%,#0000 72%)}.homePage:before{background:radial-gradient(at 15% 10%,#9be66d33,#0000 34%),linear-gradient(115deg,#0000 0 38%,#178a4814 39% 41%,#0000 42%),linear-gradient(65deg,#0000 0 52%,#ffb23829 53% 55%,#0000 56%)}.routePage:before{background:linear-gradient(90deg,#0000 0 48%,#ffb23824 49% 52%,#0000 53%),radial-gradient(circle at 50% 14%,#35c96f2e,#0000 18%)}.photoPage:before,.exercisePage:before{background:linear-gradient(90deg,#14282208 1px,#0000 1px) 0 0/22px 22px,linear-gradient(#14282208 1px,#0000 1px) 0 0/22px 22px,radial-gradient(circle at 84% 10%,#ffb23838,#0000 22%)}.voicePage:before{background:repeating-radial-gradient(circle at 50% 22%,#4fa7ff24 0 2px,#0000 3px 18px)}.progressPage:before{background:radial-gradient(circle at 30% 5%,#ffcf4f33,#0000 26%),linear-gradient(135deg,#1428220a 25%,#0000 25% 50%,#1428220a 50% 75%,#0000 75%) 0 0/46px 46px}.page>*{z-index:1;position:relative}.heroMission{background:radial-gradient(circle at 88% 16%,#ffffffc2,#0000 24%),linear-gradient(135deg,#ddf8ed 0%,#fff3c6 55%,#ddecff 100%);border:1px solid #178a4833;border-radius:8px;padding:20px;box-shadow:0 20px 42px #2f9f7433}.heroMission:after{content:"";opacity:.34;background:repeating-linear-gradient(90deg,#142822 0 18px,#0000 18px 36px);height:26px;position:absolute;bottom:14px;left:-22px;right:-22px;transform:rotate(-2deg);-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}.appHeader h1,.screenIntro h2,.celebration h2{color:var(--ink);text-wrap:balance}.miniLabel{color:var(--primary-dark)}.contentCard,.studyCard,.practiceCard,.resultCard,.routeProgress,.mascotTip,.scanResultCard,.correctionMission,.exercisePreview,.chatBubble,.lastTopicCard,.miniStat{background:var(--card);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #d9e7dee6}.contentCard,.practiceCard,.scanResultCard,.correctionMission{border-top:4px solid #35c96fbf}.modeButton{background:linear-gradient(135deg,#fffffff5,#f6fbf4f5);border:1px solid #d9e7dee6;border-bottom:5px solid #c6ded2;box-shadow:0 13px 26px #214c3d1a}.modeButton.featured{background:linear-gradient(135deg, var(--primary) 0%, #a7ee69 70%, #fff1bd 100%);border-bottom-color:var(--primary-dark)}.modeButton.featured .modeIcon{background:#ffffffe0;box-shadow:inset 0 -4px #14282214}.modeIcon{color:var(--ink);border:1px solid #1428220f}.bigPrimaryButton{background:linear-gradient(180deg, #50e184 0%, var(--primary) 100%);border-bottom:5px solid var(--primary-dark);box-shadow:0 12px 24px #178a483d}.bigPrimaryButton:hover{filter:saturate(1.08)}.subjectCard{border-bottom-width:5px;min-height:138px;box-shadow:0 12px 26px #214c3d1a}.subjectIcon{min-width:52px;height:52px;box-shadow:inset 0 -4px #14282214}.subjectCard.mint{background:linear-gradient(135deg,#e8fff4,#d6f7ff)}.subjectCard.peach{background:linear-gradient(135deg,#fff1e8,#ffe1d0)}.subjectCard.green{background:linear-gradient(135deg,#e8ffd8,#d8f6ea)}.subjectCard.amber{background:linear-gradient(135deg,#fff4c9,#ffe8aa)}.subjectCard.blue{background:linear-gradient(135deg,#e7f2ff,#d7e7ff)}.subjectCard.violet{background:linear-gradient(135deg,#f0e7ff,#e4dcff)}.progressBar{background:repeating-linear-gradient(90deg,#edf5ef 0 12px,#e1ece5 12px 24px);border:2px solid #14282214;height:16px}.progressBar span{background:linear-gradient(90deg, var(--primary), var(--reward), #ff8d58);box-shadow:inset 0 2px #ffffff5c}.learningPath{padding-left:2px}.learningPath:before{background:repeating-linear-gradient(180deg, var(--track) 0 18px, #fff 18px 25px);border:1px solid #1428220d;width:8px;left:35px}.nodeCircle{background:radial-gradient(circle at 32% 28%,#fff,#eef6ff 62%,#dce8df);border-width:5px}.pathNode.done .nodeCircle{background:radial-gradient(circle at 34% 26%, #fff, #6bea98 48%, var(--primary) 100%);border-color:var(--primary-dark)}.pathNode:not(.done):not(.locked) .nodeCircle{border-color:var(--engine);background:radial-gradient(circle at 34% 28%,#fff,#fff4c9 58%,#ffc247 100%)}.nodeText{box-shadow:0 10px 22px #214c3d14}.miniMedal{opacity:.66;background:radial-gradient(circle at 50% 12%,#ffcf4f47,#0000 35%),linear-gradient(#fff,#fff7df);border-bottom:5px solid #e7c04a;min-height:88px;position:relative;overflow:hidden}.miniMedal:before{content:"";background:radial-gradient(circle at 35% 28%, #fff, var(--reward) 45%, #d69a1c 100%);border-radius:50%;width:38px;height:38px;box-shadow:inset 0 -4px #1428221f}.miniMedal.unlocked{opacity:1;transform:translateY(-1px)}.uploadZone{box-shadow:var(--shadow-card);background:radial-gradient(circle at 50% 18%,#ffffffe0,#0000 30%),linear-gradient(135deg,#35c96f2e,#ffcf4f38),#fff;border:2px dashed #178a487a}.uploadZone:before{content:"";background:linear-gradient(90deg,#0000 0 45%,#14282214 45% 55%,#0000 55%),linear-gradient(#fff,#eef6ff);border:2px solid #14282214;border-radius:8px;width:92px;height:50px}.photoThumb{border:3px solid #fff;box-shadow:0 10px 20px #214c3d1f}.voiceOrb{box-shadow:var(--shadow-card);background:repeating-radial-gradient(circle at 50% 48%,#4fa7ff21 0 3px,#0000 4px 22px),linear-gradient(135deg,#eaf8ff,#fff1bd)}.voiceOrb button{background:radial-gradient(circle at 35% 25%, #fff, var(--primary) 38%, var(--primary-dark) 100%);color:#fff}.bottomNav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#ffffffe0,#fffdf7fa)}.bottomNav button.active{color:var(--primary-dark);background:linear-gradient(#e7faef,#d9f4e4);box-shadow:inset 0 -3px #178a4829}.tractorTutor{width:126px;height:88px}.tractorCabin{background:linear-gradient(#7bea9f,#35c96f);width:58px;height:45px;left:24px;box-shadow:inset 0 4px #ffffff57}.tractorCabin:before{background:linear-gradient(135deg,#fffffff2,#cce8ffeb)}.tractorHood{background:linear-gradient(#6bec97,#2fba66);width:48px;left:66px;box-shadow:inset 0 4px #ffffff42}.tractorWheel.rear{width:44px;height:44px}.tractorWheel.front{width:31px;height:31px}.tractorWheel span{background:radial-gradient(circle, #fff7d7 0 28%, var(--reward) 29% 54%, #d99a19 55%)}.tractorTutor.proud .tractorBeacon,.tractorTutor.celebrating .tractorBeacon{animation:.7s ease-in-out infinite beaconBlink}.tractorTutor.thinking .tractorPipe:after{content:"?";color:#24507d;font-weight:1000;animation:.8s ease-in-out infinite alternate feedbackIn;position:absolute;top:-20px;right:-7px}@keyframes beaconBlink{0%,to{box-shadow:0 0 0 4px #ffc2472e}50%{box-shadow:0 0 0 10px #ffc24714}}.homeMissionGrid .modeButton,.modeButton{position:relative}.homePage .heroCheckpoint{background:radial-gradient(circle at 35% 30%, #fff, var(--reward) 48%, #e0a31e);width:16px;height:16px}.homePage .heroCheckpoint.two{background:radial-gradient(circle at 35% 30%, #fff, var(--primary) 48%, var(--primary-dark))}.homePage .heroMission{box-shadow:0 24px 48px #214c3d3d,inset 0 1px #ffffffad}.lastMissionCard{min-height:158px;padding-right:118px;position:relative;overflow:hidden}.lastMissionCard:after{content:"";background:radial-gradient(circle,#aeea72 0 10%,#66d88a 11% 18%,#0000 19%),radial-gradient(circle at 32% 38%,#8ee5ff 0 9%,#0000 10%),radial-gradient(circle at 63% 42%,#ff8fb1 0 9%,#0000 10%),radial-gradient(circle at 45% 66%,#ffd35c 0 8%,#0000 9%),linear-gradient(135deg,#dff7eb,#b9e4d0);border:5px solid #fff;border-radius:50%;width:76px;height:76px;position:absolute;top:34px;right:18px;box-shadow:0 14px 24px #214c3d29}.photoHero,.exerciseHero,.examHero{box-shadow:var(--shadow-card);background:radial-gradient(circle at 88% 18%,#ffffffb8,#0000 22%),linear-gradient(135deg,#eefcf8,#fff8dd 58%,#eaf6ff);border:1px solid #214c3d1a;border-radius:8px;gap:14px;padding:16px;display:grid;position:relative;overflow:hidden}.photoHero:after,.exerciseHero:after,.examHero:after{content:"";opacity:.32;background:repeating-linear-gradient(90deg,#1428221f 0 10px,#0000 10px 20px);border-radius:50%;width:140px;height:100px;position:absolute;bottom:-32px;right:-28px;transform:rotate(-18deg)}.photoHero{background:radial-gradient(circle at 92% 18%,#ffffffb8,#0000 22%),linear-gradient(135deg,#e6fff8,#eaf8ff 68%,#fff9e4)}.exerciseHero{background:radial-gradient(circle at 88% 14%,#ffffffb8,#0000 22%),linear-gradient(135deg,#fff4e8,#fff9df 60%,#eaf6ff)}.examHero{background:radial-gradient(circle at 88% 14%,#ffffffb8,#0000 22%),linear-gradient(135deg,#f2eaff,#fff2c8 62%,#ffe6df)}.heroMiniStrip{color:#157c74;background:#ffffffc7;border-radius:8px;align-items:center;gap:7px;width:fit-content;min-height:32px;margin-top:10px;padding:0 10px;font-size:.82rem;font-weight:950;display:inline-flex;box-shadow:inset 0 -2px #1428220f}.heroMiniStrip.orange{color:#9a4f16}.heroMiniStrip.purple{color:#6a45b8}.photoPage:before{background:linear-gradient(90deg,#157c740e 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#157c740e 1px,#0000 1px) 0 0/24px 24px,radial-gradient(circle at 80% 6%,#4fa7ff2e,#0000 22%)}.exercisePage:before{background:linear-gradient(90deg,#9a4f160d 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#9a4f160d 1px,#0000 1px) 0 0/24px 24px,radial-gradient(circle at 82% 8%,#ffb23838,#0000 24%)}.examPage:before{background:radial-gradient(circle at 84% 7%,#9771ff33,#0000 25%),linear-gradient(130deg,#0000 0 42%,#ffb2381f 43% 45%,#0000 46%)}.photoPage .uploadZone,.exercisePage .uploadZone{border-width:2px;border-radius:8px;min-height:210px;position:relative;box-shadow:0 18px 36px #214c3d24,inset 0 1px #ffffffb8}.photoPage .uploadZone{background:radial-gradient(circle at 50% 20%,#ffffffd1,#0000 24%),linear-gradient(135deg,#dffef7,#eaf8ff);border-color:#157c747a}.exercisePage .uploadZone{background:radial-gradient(circle at 50% 20%,#ffffffd1,#0000 24%),linear-gradient(135deg,#fff0df,#fff9df);border-color:#df7b2885}.photoPage .uploadZone svg,.exercisePage .uploadZone svg{background:#ffffffc7;border-radius:8px;width:44px;height:44px;padding:8px;box-shadow:inset 0 -4px #1428220f}.photoActionsZone{box-shadow:var(--shadow-card);background:#ffffffb3;border-radius:8px;gap:10px;padding:12px;display:grid}.photoWizardSteps{box-shadow:var(--shadow-card);background:#ffffffb8;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;display:grid}.photoWizardSteps span{color:#6a7d76;text-align:center;background:#ebf4f0e6;border-radius:8px;padding:8px 4px;font-size:.68rem;font-weight:1000}.photoWizardSteps span.active{color:#116c3e;background:#ddf8ed;box-shadow:inset 0 -3px #116c3e24}.photoWizardSteps span.done{color:#1f7c50}.photoActionsZone>p{color:#3f5a51;text-align:center;margin:0;font-size:.92rem;font-weight:800}.photoActionButtons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.photoPage .uploadZone.action{cursor:pointer;min-height:154px;padding:14px 10px;transition:transform .16s,box-shadow .16s,border-color .16s}.photoPage .uploadZone.action:active{transform:scale(.98)}.photoPage .uploadZone.cameraAction{background:radial-gradient(circle at 50% 18%,#ffffffdb,#0000 24%),linear-gradient(135deg,#ddfff1,#f3ffe7);border-color:#1e90638a}.photoPage .uploadZone.uploadAction{background:radial-gradient(circle at 50% 18%,#ffffffdb,#0000 24%),linear-gradient(135deg,#e5f7ff,#f0fff8);border-color:#2d7ec980}.photoLimitHint{color:#6a7d76;text-align:center;font-size:.78rem;font-weight:900}.ocrTextBox{gap:8px;display:grid}.ocrTextBox span{color:#24473d;font-size:.86rem;font-weight:900}.ocrTextBox textarea{resize:vertical;color:#14362a;width:100%;min-height:170px;font:inherit;background:#f4fcf8eb;border:1px solid #25624f2e;border-radius:8px;outline:none;padding:12px;line-height:1.45}.ocrTextBox textarea:focus{border-color:#1ca96294;box-shadow:0 0 0 3px #1ca9621f}.photoStatusSummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.photoStatusSummary span{color:#21443a;text-align:center;background:#e8f7f0e6;border-radius:8px;padding:9px 8px;font-size:.78rem;font-weight:900}.photoFlowSection{border-top:1px solid #25624f1f;gap:8px;padding-top:12px;display:grid}.photoFlowSection>span{color:#46695e;text-transform:uppercase;font-size:.78rem;font-weight:1000}.flowButtonRow{grid-template-columns:1fr;gap:8px;display:grid}.flowPrimary,.flowSecondary,.flowWarning,.flowMaterial{text-align:center;border:0;border-radius:8px;align-content:center;gap:3px;min-height:48px;padding:10px 12px;font-weight:1000;display:grid}.flowPrimary small,.flowSecondary small,.flowWarning small{color:inherit;opacity:.78;font-size:.72rem;font-weight:800}.flowPrimary{background:linear-gradient(180deg, #50e184, var(--primary));border-bottom:4px solid var(--primary-dark);color:#10261f}.flowSecondary{color:#17312a;background:#fff;border:1px solid #25624f29;border-bottom:3px solid #25624f2e}.flowWarning{color:#513700;background:linear-gradient(#fff3c9,#ffe199);border-bottom:4px solid #d79b2b}.flowMaterial{color:#153a63;background:linear-gradient(#eef6ff,#e5f0ff);border:1px solid #3a79cf29;border-bottom:3px solid #3a79cf38}.bigPrimaryButton.warning{color:#3b2500;background:linear-gradient(#ffd972,#ffb23a);border-bottom-color:#d47b1d;box-shadow:0 14px 28px #d47b1d38}.photoGrid{box-shadow:var(--shadow-card);background:#ffffffbd;border-radius:8px;padding:10px}.readinessItem{border-left:5px solid var(--engine);background:linear-gradient(135deg,#fff9df,#fff)}.readinessItem.good{border-left-color:var(--primary);background:linear-gradient(135deg,#e8fff4,#fff)}.scanResultCard{background:radial-gradient(circle at 88% 10%,#35c96f29,#0000 22%),linear-gradient(#fff,#effff7)}.scanBadge{background:radial-gradient(circle at 35% 28%,#fff,#dffef7 54%,#93e2d5);box-shadow:inset 0 -5px #157c7424}.quickActionGrid button{min-height:48px;box-shadow:inset 0 -3px #ffffff14}.exercisePreview{border:5px solid #fff;box-shadow:0 18px 34px #214c3d29}.correctionMission{background:radial-gradient(circle at 90% 8%,#ffb23833,#0000 20%),linear-gradient(#fff,#fff8ef);border-top-color:#df7b28}.correctionMission strong{color:#9a4f16}.hintBubble{box-shadow:inset 0 -3px #6d520014}.examPage .examHero{min-height:160px}.examProgressChip{box-shadow:var(--shadow-card);background:linear-gradient(135deg,#fffffff5,#faf2fff5);border-radius:8px;gap:8px;padding:12px;display:grid}.examProgressChip span{color:#6a45b8;font-size:.82rem;font-weight:950}.examPage .practiceCard{background:radial-gradient(circle at 94% 0,#8f6cff24,#0000 20%),#fff;border-top-color:#8f6cff}.examPage .practiceCard>strong{color:var(--ink);font-size:1.03rem;line-height:1.35;display:block}.examPage .optionButton{background:#f7f2ff;border:2px solid #8f6cff1f;border-radius:8px;min-height:54px}.examPage .optionButton.selected{background:#eee6ff;border-color:#8f6cff}.examPage .bigPrimaryButton{color:#fff;background:linear-gradient(#9b7bff,#6f4fd8);border-bottom-color:#5536b6;box-shadow:0 14px 28px #5536b63d}.progressPage .miniMedal:after{content:"✓";background:var(--primary);color:#fff;opacity:0;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.72rem;font-weight:1000;display:grid;position:absolute;top:8px;right:8px}.progressPage .miniMedal.unlocked:after{opacity:1}.tractorTutor{transition:filter .2s,transform .2s}.tractorTutor.neutral .tractorMouth,.tractorTutor.encouraging .tractorMouth{border-bottom-width:4px}.tractorTutor.proud .tractorCabin{transform:translateY(-1px)}.tractorTutor.worriedFriendly .tractorEyes span:first-child{transform:rotate(-12deg)translateY(1px)}.tractorTutor.worriedFriendly .tractorEyes span:last-child{transform:rotate(12deg)translateY(1px)}.tractorTutor.celebrating .tractorWheel.rear,.tractorTutor.celebrating .tractorWheel.front{animation:.55s ease-in-out infinite wheelBounce}@keyframes wheelBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.homePage,.routePage,.voicePage,.progressPage{background:radial-gradient(circle at 15% 8%,#ffffff9e,#0000 20%),linear-gradient(#edfae6ad,#f6fbf433)}.homePage .heroMission{background:radial-gradient(circle at 25% 28%,#ffffffc7,#0000 18%),linear-gradient(#e8fbff 0%,#e8f9db 48%,#e5f2d1 100%);border:1px solid #214c3d1f;min-height:312px}.homePage .heroMission:before{background:linear-gradient(#fff6,#0000 38%),radial-gradient(circle at 78% 16%,#ffd35c6b,#0000 17%),linear-gradient(118deg,#0000 0 56%,#1b77531f 57% 64%,#0000 65%),repeating-linear-gradient(12deg,#0000 0 34px,#214c3d0b 34px 36px)}.homePage .heroMission:after{background:linear-gradient(90deg,#0000 0 44%,#fffc 45% 47%,#0000 48% 52%,#fffc 53% 55%,#0000 56%),radial-gradient(at 50% 0,#5c7066 0%,#293a33 72%);height:118px;bottom:-25px;box-shadow:inset 0 12px #ffffff1f}.homeHeroContent{min-height:312px}.homeHeroCopy h1{font-size:2.55rem}.homeTractorStage .tractorTutorWrap.large .tractorTutor{margin:8px 8px 26px;transform:scale(1.52)rotate(-2deg)}.missionConsole,.progressConsole{background:linear-gradient(135deg,#103127fa,#245445fa);border:1px solid #ffffff2e}.homePrimaryMission{color:#fff;background:radial-gradient(circle at 95% 10%,#ffffffa6,#0000 18%),linear-gradient(135deg,#27c75f 0%,#18a84e 72%,#107d3a 100%);border-radius:8px;min-height:88px}.homePrimaryMission small{color:#ffffffd1}.primaryPlay{color:#118944}.homeMissionGrid .modeButton{border-radius:8px;box-shadow:0 16px 30px #214c3d21}.lastMissionCard{grid-template-columns:1fr auto;align-items:center}.lastMissionCard .progressBar{grid-column:1/-1}.routeHero,.progressHero,.voiceHero{box-shadow:var(--shadow-card);background:radial-gradient(circle at 88% 18%,#ffffffbf,#0000 22%),linear-gradient(135deg,#eefbe8,#fff9dd 58%,#eaf6ff);border:1px solid #214c3d1a;border-radius:8px;gap:14px;padding:16px;display:grid;position:relative;overflow:hidden}.routeHero{grid-template-columns:1fr}.routeHero .tractorTutorWrap.compact,.progressHero .tractorTutorWrap.compact{background:#ffffff9e}.routePage .learningPath{margin-top:4px;padding:12px 0}.routePage .learningPath:before{background:repeating-linear-gradient(#9db7aa 0 24px,#fff4c9 24px 34px);border-radius:99px;width:10px;top:26px;bottom:32px;left:36px;box-shadow:inset 0 0 0 2px #214c3d14}.routeDecor{z-index:2;pointer-events:none;position:absolute}.routeDecor.cone{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(#ffb238,#f06f2b);width:18px;height:22px;top:148px;right:18px}.routeDecor.flag{background:linear-gradient(45deg,#fff 25%,#24362f 25% 50%,#fff 50% 75%,#24362f 75%) 0 0/12px 12px;border-left:4px solid #51675d;width:24px;height:26px;bottom:22px;right:34px}.routePage .pathNode{min-height:92px}.routePage .nodeCircle{width:82px;height:82px;box-shadow:0 14px 26px #214c3d29}.routePage .nodeText{background:#ffffffe6;border:0;min-height:70px;box-shadow:0 14px 26px #214c3d1f}.voiceHero{background:repeating-radial-gradient(circle at 72% 78%,#4fa7ff1f 0 2px,#0000 3px 18px),linear-gradient(145deg,#eaf8ff,#f7fff0 62%,#fff8df);align-content:start;min-height:240px}.voiceHero .tractorTutorWrap.large{justify-items:center}.voiceHero .tractorTutorWrap.large .tractorTutor{margin:16px 0 20px;transform:scale(1.38)}.voiceOrb{background:repeating-radial-gradient(circle at 50% 42%,#4fa7ff29 0 3px,#0000 4px 25px),linear-gradient(#eef8ff,#f8fff4);min-height:256px;position:relative;overflow:hidden}.voiceRings{background:radial-gradient(circle,#0000 0 43%,#35c96f2e 44% 46%,#0000 47% 58%,#4fa7ff29 59% 61%,#0000 62%);border-radius:50%;width:190px;height:190px;animation:1.8s ease-in-out infinite micPulse;position:absolute}.voiceOrb button{z-index:2;width:118px;height:118px}.voiceExamples{box-shadow:var(--shadow-card);background:#ffffffe6;border:1px solid #d9e7dee6;border-radius:8px;gap:8px;padding:14px;display:grid}.voiceExamples span{color:var(--primary-dark);font-size:.8rem;font-weight:1000}.voiceExamples button{text-align:left;color:#244a3d;background:#e9f9f2;border:0;border-radius:8px;min-height:42px;padding:0 12px;font-weight:800}.progressHero{background:radial-gradient(circle at 88% 22%,#ffcf4f52,#0000 28%),linear-gradient(135deg,#f5fff0,#fff6d8 58%,#eef6ff);grid-template-columns:1fr auto;align-items:center;min-height:170px}.progressHero p{color:#51675d;margin:6px 0 0;font-weight:800}.progressConsole{border-radius:8px;grid-template-columns:repeat(3,1fr);gap:8px;min-height:88px;padding:10px;display:grid;box-shadow:0 16px 30px #1428222e}.progressConsole .miniStat{color:#fff;background:#ffffff14;border-color:#ffffff1a;min-height:66px}.progressConsole .miniStat span{color:#ffffffad}.progressConsole .miniStat svg{color:var(--reward)}.progressConsole .miniStat strong{color:#fff}.progressPage .contentCard{border-top-color:#ffb238d1}.progressPage .medalList{box-shadow:var(--shadow-card);background:#ffffffc2;border-radius:8px;padding:12px}.tractorHeadlights{gap:21px;display:flex;position:absolute;top:7px;left:6px}.tractorHeadlights span{background:radial-gradient(circle at 35% 30%,#fff,#ffd35c 62%,#d99616);border-radius:50%;width:9px;height:9px;box-shadow:0 0 10px #ffd35c80}.tractorCheek{z-index:4;background:#ff7e595c;border-radius:50%;width:7px;height:5px;position:absolute;top:47px}.tractorCheek.left{left:34px}.tractorCheek.right{left:56px}.tractorShadow{filter:blur(4px);z-index:-1;background:#1428222e;border-radius:50%;height:10px;position:absolute;bottom:-8px;left:10px;right:6px}.tractorTutor.happy .tractorCheek,.tractorTutor.celebrating .tractorCheek{background:#ff7e599e}.viewAllLink{color:var(--primary-dark,#178a48);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;padding:4px 8px;font-size:.9rem;font-weight:900;transition:all .2s;display:inline-flex}.viewAllLink:hover{color:var(--primary-dark);background:#35c96f14}.searchContainer{margin-bottom:14px}.searchInput input{min-height:48px}.filterChips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filterChips button{color:#17312a;cursor:pointer;background:#fff;border:1px solid #dcece6;border-radius:999px;min-height:36px;padding:0 14px;font-size:.82rem;font-weight:800;transition:all .2s}.filterChips button.active{background:var(--ink,#142822);color:#fff;border-color:var(--ink,#142822)}.sourceBadge{color:#0f7f49;text-transform:uppercase;background:#e8fff1;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:900;display:inline-flex}.duplicateWarning{color:#e65100;text-transform:uppercase;background:#fff3e0;border-radius:999px;align-items:center;padding:4px 10px;font-size:.76rem;font-weight:900;display:inline-flex}.correctionMission.bien{background:radial-gradient(circle at 90% 8%,#10b98126,#0000 25%),linear-gradient(#fff,#ecfdf5)!important}.correctionMission.regular{background:radial-gradient(circle at 90% 8%,#f59e0b26,#0000 25%),linear-gradient(#fff,#fffbeb)!important}.correctionMission.mal{background:radial-gradient(circle at 90% 8%,#ef444426,#0000 25%),linear-gradient(#fff,#fef2f2)!important}.practiceOptionButton{transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #00000005}.practiceOptionButton.hoverable:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000000d;background-color:#f3f4f6!important;border-color:#9ca3af!important}.practiceOptionButton:active{transform:translateY(0)}.practiceOptionButton:disabled{cursor:default}
