@import "https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap";:root{--bg:#f3f6f2;--surface:#fff;--soft:#f7f9f5;--line:#dfe7dc;--line-strong:#cbd8ca;--ink:#18221d;--muted:#657067;--dim:#97a19a;--blue:#256fcb;--blue-dark:#185aa9;--blue-soft:#e6f0ff;--green:#2f9f62;--green-soft:#e7f7ec;--orange:#d78b24;--orange-soft:#fff3dd;--red:#d84a42;--red-soft:#feeeee;--violet:#7657c7;--violet-soft:#eeeafa;--pink:#c84d84;--pink-soft:#fdebf3;--teal:#168f92;--teal-soft:#e4f5f4;--shadow:0 18px 44px #27362d1a;--shadow-soft:0 8px 22px #27362d0f;--font:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color:var(--ink);background:var(--bg);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:radial-gradient(circle at 14% 8%, #256fcb1a, transparent 28rem), radial-gradient(circle at 86% 14%, #2f9f621a, transparent 24rem), linear-gradient(180deg, #f8faf5 0%, var(--bg) 42%, #eef3ef 100%);margin:0}button,input,select,textarea{font:inherit}button{border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2f7de13d}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{background:var(--bg);width:min(430px,100%);min-height:100dvh;margin:0 auto;padding:12px 12px 88px}@media (width>=900px){.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 20px 60px #10182814}}.depth{display:none}.topbar{justify-content:space-between;align-items:center;min-height:44px;margin:0 0 10px;padding:6px 2px;display:flex}.brand{color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:34px auto;align-items:center;gap:9px;display:grid}.brand>svg{color:#fff;background:var(--blue);border-radius:10px;grid-row:1/3;width:34px;height:34px;padding:7px}.brand span{font-size:17px;font-weight:800;line-height:1;display:block}.brand small{color:var(--muted);font-size:11px;font-weight:700}.nav{z-index:40;border-top:1px solid var(--line);width:min(430px,100%);min-height:58px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -6px 20px #1018280f}.nav:empty{display:none}.nav button{color:#8a95a5;cursor:pointer;background:0 0;border-radius:10px;place-items:center;gap:3px;min-width:50px;min-height:46px;padding:4px 3px;font-size:9px;font-weight:800;display:grid}.nav button svg{width:18px;height:18px}.nav button.active,.nav button:hover{color:var(--blue)}.nav button.danger{display:none}.toast,.celebration{z-index:60;border:1px solid var(--line);width:min(390px,100vw - 24px);color:var(--ink);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;padding:12px 14px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.toast{border-color:#ef44443d}.celebration{cursor:pointer;border-color:#36b24a3d}.panel,.hero-copy,.hero-cockpit{border:1px solid var(--line);background:var(--surface);width:100%;box-shadow:var(--shadow);border-radius:16px;padding:16px}.hero{display:block}.hero-copy{align-content:center;min-height:calc(100dvh - 126px);display:grid}.hero-cockpit,.hero-proof{display:none}.panel,.home-page,.wide-panel,.onboarding-panel,.lesson-panel,.study-panel,.progress-panel,.profile-panel{margin:0}.hero-copy h1,.panel h2,.section-head h2{color:var(--ink);margin:8px 0;font-size:24px;line-height:1.12}.hero-copy h1{font-size:28px}.hero-copy p,.panel p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.eyebrow,.section-mini-head span,.next-step>span,.review-summary span,.analytics-grid span,.route-summary span,.dialogue-task>span,.dialogue-result>span,.exercise-type,.methodology-intro strong,.teacher-metrics span,.teacher-card .section-mini-head span{color:var(--muted);font-size:11px;font-weight:800}.primary,.secondary,.text-button,.select-card,.answer,.word-bank button,.review-actions button,.path-node,.home-actions button,.dialogue-option,.match-token,.segmented button,.placement-options button,.focus-chip{cursor:pointer;border-radius:12px;font-weight:800;transition:transform .14s,background .14s,border-color .14s,color .14s}.primary,.secondary,.text-button{min-height:44px;padding:11px 14px;font-size:14px}.primary{color:#fff;background:var(--blue)}.primary:hover{background:var(--blue-dark)}.secondary{color:var(--ink);border:1px solid var(--line);background:var(--surface)}.secondary:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.text-button{width:fit-content;color:var(--blue);background:0 0}.primary:active,.secondary:active,.text-button:active,.select-card:active,.answer:active,.home-actions button:active,.path-node:active{transform:translateY(1px)scale(.99)}.icon-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.form,.form label,.placement-list,.plan-grid,.first-sprint,.route-summary,.admin-list,.student-table,.attempt-list,.skill-bars,.admin-form{gap:12px;display:grid}.form{margin-top:14px}.form label>span{color:var(--muted);font-size:12px;font-weight:800}.form input,.dictation-input,.custom-answer input,.vocab-toolbar input,.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--soft);border-radius:12px;padding:11px 12px}.admin-form textarea{resize:vertical;min-height:96px}.home-page,.home-main{width:100%}.home-greeting,.section-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.home-greeting h2{margin:2px 0 0;font-size:20px;line-height:1.15}.home-greeting .secondary,.section-head .secondary{width:auto;min-height:36px;margin-left:auto;padding:8px 10px;font-size:12px}.student-command{gap:10px;display:grid}.next-step{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:10px;padding:14px;display:grid}.next-step>span{color:var(--green)}.next-step h3{color:var(--ink);margin:0;font-size:20px;line-height:1.18}.next-step .primary{background:var(--green);width:100%}.today-snapshot{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.today-snapshot div,.simple-progress div,.route-summary div,.progress-strip div,.focus-list article,.last-attempt,.profile-hero{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px}.today-snapshot div:first-child{grid-column:1/-1}.today-snapshot strong,.simple-progress strong,.review-summary strong,.analytics-grid strong,.teacher-metrics strong,.progress-strip strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:28px;line-height:1;display:block}.today-snapshot small,.review-summary small,.analytics-grid small,.review-item small,.word-card small,.achievement p,.chat-bubble small,.dialogue-option small,.progress-strip span,.focus-list span,.profile-hero span,.last-attempt small{color:var(--muted);font-size:12px}.skill-rings{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;margin-top:12px;display:grid}.skill-rings-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:14px;gap:12px;margin-top:16px;padding:14px;display:grid}.skill-rings-head{gap:4px;display:grid}.skill-rings-head strong{color:var(--ink);font-size:18px;line-height:1.15}.skill-rings-head p{max-width:62ch}.skill-rings article{justify-items:center;gap:7px;display:grid}.skill-rings i{width:58px;height:58px;color:var(--ink);background:radial-gradient(circle, #fff 52%, transparent 54%), conic-gradient(var(--blue) 0 var(--value), #e8edf4 var(--value));border-radius:50%;place-items:center;font-size:12px;font-style:normal;font-weight:800;display:grid}.skill-rings article:first-child i{background:radial-gradient(circle, #fff 52%, transparent 54%), conic-gradient(var(--green) 0 var(--value), #e8edf4 var(--value))}.skill-rings article:nth-child(2) i{background:radial-gradient(circle, #fff 52%, transparent 54%), conic-gradient(var(--blue) 0 var(--value), #e8edf4 var(--value))}.skill-rings article:nth-child(3) i{background:radial-gradient(circle, #fff 52%, transparent 54%), conic-gradient(var(--orange) 0 var(--value), #e8edf4 var(--value))}.skill-rings article:nth-child(4) i{background:radial-gradient(circle, #fff 52%, transparent 54%), conic-gradient(var(--violet) 0 var(--value), #e8edf4 var(--value))}.skill-rings article:nth-child(5) i{background:radial-gradient(circle, #fff 52%, transparent 54%), conic-gradient(var(--teal) 0 var(--value), #e8edf4 var(--value))}.skill-rings article:nth-child(6) i{background:radial-gradient(circle, #fff 52%, transparent 54%), conic-gradient(var(--pink) 0 var(--value), #e8edf4 var(--value))}.skill-rings span{color:var(--muted);text-align:center;font-size:11px;font-weight:700}.home-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.home-actions button{border:1px solid var(--line);min-height:58px;color:var(--ink);background:var(--surface);text-align:center;place-items:center;gap:4px;padding:9px 6px;font-size:12px;display:grid}.home-actions button svg{color:var(--blue)}.path-map{gap:10px;display:grid}.path-module{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:34px 1fr;gap:10px;padding:12px;display:grid}.module-marker{color:#fff;background:var(--violet);border-radius:10px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:grid}.path-module h3{color:var(--ink);margin:5px 0 10px;font-size:15px}.path-module p{display:none}.path-lessons{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.path-node{aspect-ratio:1;background:#eef2f7;border:0;border-radius:50%;place-items:center;min-height:44px;padding:0;display:grid}.path-node span{display:none}.path-node strong{color:var(--muted);font-size:13px}.path-node.done{color:#fff;background:var(--green)}.path-node.current{color:#fff;background:var(--blue);outline:4px solid var(--blue-soft)}.path-node.done strong,.path-node.current strong{color:#fff}.path-node.locked{opacity:.76}.path-node.locked:disabled{color:var(--muted);opacity:.82;background:#f2f5f7}.lesson-top{gap:4px;margin-top:8px;display:grid}.lesson-progress,.mastery{background:#dce6f2;border-radius:999px;height:6px;overflow:hidden}.lesson-progress{margin:12px 0}.lesson-progress i,.mastery i,.skill-row i{border-radius:inherit;background:var(--blue);height:100%;display:block}.exercise-card{gap:12px;display:grid}.exercise-card h2{color:var(--ink);margin:0;font-size:15px;line-height:1.35}.prompt-card,.passage,.built-line{border:1px solid var(--line);color:var(--ink);background:var(--soft);border-radius:12px;padding:14px;font-size:17px;font-weight:800}.answers-grid,.word-bank,.matching-grid,.dialogue-options{gap:10px;display:grid}.answer,.word-bank button,.match-token,.dialogue-option,.select-card,.segmented button,.placement-options button,.focus-chip{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:var(--surface);padding:12px}.answer.selected,.dialogue-option.selected,.match-token.selected,.segmented button.active,.placement-options button.selected,.focus-chip.selected,.select-card.selected{border-color:var(--blue);background:var(--blue-soft)}.flashcard-box,.builder,.match-column{gap:10px;display:grid}.word-bank{grid-template-columns:repeat(auto-fit,minmax(86px,1fr))}.matching-grid{grid-template-columns:1fr}.feedback,.dialogue-feedback{border-radius:12px;gap:10px;padding:12px;display:grid}.feedback.good{background:var(--green-soft);border:1px solid #36b24a3d}.feedback.bad{background:var(--red-soft);border:1px solid #ef44443d}.study-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;align-content:center;gap:18px;min-height:360px;padding:22px;display:grid}.study-card>span,.progress-hero>span,.last-attempt>span{color:var(--muted);font-size:11px;font-weight:800}.study-card h3{color:var(--ink);margin:0;font-size:44px;line-height:1}.study-card p{color:var(--muted);margin:0;font-size:14px}.study-answer{border-top:1px solid var(--line);gap:8px;padding-top:16px;display:grid}.study-answer strong{color:var(--ink);font-size:24px}.study-answer small{color:var(--muted);font-size:14px;line-height:1.45}.study-card-actions,.honest-actions,.review-actions,.result-actions{gap:10px;display:grid}.honest-actions button:first-child,.review-actions button:first-child{color:#fff;background:var(--red)}.honest-actions button:nth-child(2),.review-actions button:nth-child(2){color:#fff;background:var(--orange)}.honest-actions button:nth-child(3),.review-actions button:nth-child(3){color:#fff;background:var(--green)}.vocab-toolbar,.custom-answer,.admin-form-row{gap:10px;display:grid}.segmented,.placement-options,.focus-grid{flex-wrap:wrap;gap:8px;display:flex}.choice-grid,.review-grid,.word-grid,.achievement-grid,.methodology-grid,.review-summary,.analytics-grid,.teacher-metrics{grid-template-columns:1fr;gap:10px;display:grid}.choice-grid.four,.choice-grid.three,.choice-grid.two,.plan-grid,.first-sprint{grid-template-columns:1fr}.select-card{align-content:start;gap:7px;min-width:0;display:grid}.select-card strong,.select-card span,.select-card small,.focus-chip span,.focus-chip small{overflow-wrap:anywhere;min-width:0;line-height:1.28;display:block}.select-card em{width:fit-content;color:var(--muted);background:var(--soft);border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal}.select-card.unavailable,.select-card.unavailable:disabled{opacity:.68}.language-flag,.select-card b,.first-sprint span,.methodology-grid article span{color:#fff;background:var(--blue);width:34px;height:34px;font-family:var(--mono);border-radius:10px;place-items:center;font-size:12px;font-weight:800;display:grid}.onboarding-hero{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:10px;padding:12px;display:grid}.onboarding-panel,.onboarding-step{gap:18px;display:grid}.onboarding-step .section-head{margin-bottom:0}.onboarding-score{display:none}.onboarding-progress{grid-template-columns:repeat(7,1fr);gap:6px;margin:12px 0;display:grid}.onboarding-progress span{color:#0000;background:#dce6f2;border-radius:999px;height:6px;overflow:hidden}.onboarding-progress span.active{background:var(--blue)}.placement-question,.plan-card,.first-sprint article,.methodology-grid article,.review-summary article,.analytics-grid article,.teacher-metrics article,.review-item,.word-card,.achievement,.empty-state{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:8px;padding:12px;display:grid}.diagnostic-result,.recommendation-card,.onboarding-block,.methodology-intro,.coach-panel,.dialogue-task,.dialogue-result{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px}.onboarding-block{gap:12px;display:grid}.focus-chip{gap:6px;min-height:74px;display:grid}.focus-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.onboarding-actions{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px;padding-top:18px;display:grid}.onboarding-actions .primary:only-child,.onboarding-actions .primary:last-child:nth-child(3){grid-column:span 1}.vocabulary-panel{gap:14px;display:grid}.vocabulary-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.vocabulary-summary article,.vocabulary-row{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:12px;padding:14px}.vocabulary-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:26px;line-height:1;display:block}.vocabulary-summary span,.vocabulary-row span,.vocabulary-row small,.word-progress small{color:var(--muted);font-size:12px}.vocabulary-list{gap:10px;display:grid}.vocabulary-row{gap:12px;display:grid}.vocabulary-row>div:first-child{gap:5px;min-width:0;display:grid}.vocabulary-row strong{color:var(--ink);font-size:19px;line-height:1.1}.word-progress{gap:6px;min-width:150px;display:grid}.word-progress b{color:var(--blue);font-variant-numeric:tabular-nums;font-size:15px}.word-progress i{background:#dce6f2;border-radius:999px;height:7px;display:block;overflow:hidden}.word-progress em{border-radius:inherit;background:var(--green);height:100%;display:block}.progress-hero{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:8px;padding:16px;display:grid}.progress-hero h3{color:var(--ink);margin:0;font-size:22px;line-height:1.1}.progress-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.progress-strip strong{font-size:24px}.focus-list,.last-attempt{gap:8px;margin-top:10px;display:grid}.focus-list article{justify-content:space-between;align-items:center;display:flex}.profile-hero{color:var(--blue);background:var(--blue-soft);align-items:center;gap:12px;margin-bottom:10px;display:flex}.profile-hero strong{color:var(--ink);font-size:18px;display:block}.achievement{grid-template-columns:34px 1fr;align-items:center}.achievement div{color:var(--blue);grid-row:1/3}.achievement h3{margin:0;font-size:15px}.achievement p{margin:0;font-size:12px}.achievement:not(.unlocked){opacity:.54;filter:grayscale(.8)}.dialogue-layout,.analytics-columns,.teacher-grid,.teacher-hero{grid-template-columns:1fr;gap:12px;display:grid}.dialogue-panel{background:linear-gradient(140deg, #256fcb14, transparent 42%), linear-gradient(320deg, #2f9f621a, transparent 48%), var(--surface);padding:14px;overflow:visible}.dialogue-brief{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffd1;border-radius:16px;gap:12px;padding:16px;display:grid}.dialogue-brief h2{text-wrap:balance;margin:0;font-size:26px;line-height:1.05}.dialogue-brief p{max-width:72ch}.weak-strip{flex-wrap:wrap;gap:7px;display:flex}.weak-strip b{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.dialogue-workspace{gap:14px;min-width:0;display:grid}.chat-window{border:1px solid var(--line);background:linear-gradient(180deg, #f7f9f5eb, #fffffff5), var(--surface);min-height:320px;box-shadow:var(--shadow-soft);border-radius:16px;align-content:start;gap:10px;padding:14px;display:grid}.chat-bubble{background:var(--surface);border:1px solid #dfe7dcf5;border-radius:16px 16px 16px 6px;gap:6px;width:fit-content;max-width:min(100%,620px);padding:12px 14px;display:grid}.chat-bubble.student{background:var(--blue-soft);border-color:#256fcb2e;border-radius:16px 16px 6px;justify-self:end}.chat-bubble div{justify-content:space-between;align-items:center;gap:10px;display:flex}.chat-bubble p{color:var(--ink);margin:0;font-size:17px;line-height:1.42}.chat-bubble button{border:1px solid var(--line);color:var(--blue);background:var(--surface);border-radius:999px;padding:5px 8px}.dialogue-task,.dialogue-result{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:16px;gap:14px;margin:0;padding:16px;display:grid}.dialogue-task>strong{color:var(--ink);text-wrap:balance;font-size:20px;line-height:1.2}.dialogue-options{gap:9px}.dialogue-option{border-radius:12px;gap:6px;padding:13px;display:grid}.dialogue-option span{color:var(--ink);font-size:15px;line-height:1.32}.dialogue-option small{line-height:1.35}.custom-answer{border-top:1px solid var(--line);padding-top:12px}.dialogue-feedback{background:var(--green-soft);border:1px solid #2f9f6238}.dialogue-feedback p{color:var(--ink)}.dialogue-result strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:42px;line-height:1}.teacher-hero{color:#fff;background:var(--blue);border-radius:14px;padding:14px}.teacher-hero .eyebrow,.teacher-hero h2,.teacher-hero p{color:#fff}.teacher-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px}.student-row,.admin-list article{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:7px;padding:10px;display:grid}.student-row i{width:fit-content;color:var(--blue);background:var(--blue-soft);border-radius:999px;padding:5px 8px;font-style:normal;font-weight:800}.skip-link{z-index:100;color:#fff;background:var(--ink);border-radius:10px;padding:10px 12px;font-weight:800;transition:transform .16s;position:fixed;top:12px;left:16px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.app-shell{isolation:isolate;background:0 0;width:min(1180px,100%);padding:14px 14px 92px;position:relative}.app-shell.no-nav{padding-bottom:28px}.app-shell:before{content:"";z-index:-1;pointer-events:none;opacity:.18;background-image:linear-gradient(#18221d14 1px,#0000 1px),linear-gradient(90deg,#18221d14 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.topbar{z-index:45;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #dfe7dcb8;border-radius:18px;padding:10px;position:sticky;top:0}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-link{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800;transition:border-color .16s,background .16s,color .16s,transform .16s}.topbar-link:hover{border-color:var(--line);color:var(--ink);background:var(--surface)}.topbar-link:active{transform:translateY(1px)}.danger-link{color:var(--red)}.brand{min-width:0}.brand span,.brand small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel,.hero-copy,.hero-cockpit{box-shadow:var(--shadow);border-color:#dfe7dceb}.hero{gap:14px;display:grid}.hero-copy{align-content:start;min-height:auto;padding:clamp(22px,7vw,58px)}.hero-copy h1{text-wrap:balance;max-width:760px;margin:10px 0 12px;font-size:34px;line-height:1.04}.hero-copy p{max-width:56ch;font-size:17px;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.primary.xl,.secondary.xl{min-height:52px;padding:14px 18px;font-size:15px}.hero-trust{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.hero-trust span,.auth-benefits span{border:1px solid var(--line);color:var(--muted);background:#ffffffbd;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.hero-cockpit{background:linear-gradient(140deg, #256fcb1f, transparent 42%), linear-gradient(320deg, #2f9f622e, transparent 38%), var(--surface);min-height:420px;display:grid;position:relative;overflow:hidden}.cockpit-orbit{border:1px dashed #256fcb3d;border-radius:999px;position:absolute;inset:42px;transform:rotate(-12deg)}.cockpit-card{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #ffffffc7;border-radius:18px;gap:6px;padding:16px;display:grid;position:absolute}.cockpit-card strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:34px;line-height:1}.cockpit-card span,.cockpit-card p{color:var(--muted);font-size:13px;font-weight:800}.cockpit-card p{margin:0;font-weight:600}.main-card{width:min(270px,100% - 56px);top:34px;left:28px}.path-card{top:128px;right:34px}.skill-card{bottom:74px;left:74px}.review-card{bottom:42px;right:48px}.auth-layout{gap:18px;display:grid}.auth-copy{background:linear-gradient(135deg, #256fcb1a, transparent 52%), var(--soft);border-radius:16px;gap:12px;padding:18px;display:grid}.auth-copy h2{text-wrap:balance;max-width:12ch;margin:0;font-size:32px;line-height:1}.auth-copy p{max-width:54ch}.auth-benefits{flex-wrap:wrap;gap:8px;display:flex}.auth-tabs{border:1px solid var(--line);background:var(--soft);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;display:grid}.auth-tabs button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;font-weight:800}.auth-tabs button.active{color:#fff;background:var(--ink)}.auth-form{border:1px solid var(--line);background:var(--surface);border-radius:16px;align-content:start;padding:14px}.primary,.secondary,.text-button,.select-card,.answer,.word-bank button,.review-actions button,.path-node,.home-actions button,.dialogue-option,.match-token,.segmented button,.placement-options button,.focus-chip,.topbar-link{transition:transform .16s,background .16s,border-color .16s,color .16s,box-shadow .16s}.primary:hover,.home-actions button:hover,.select-card:hover,.answer:hover,.dialogue-option:hover,.path-node:hover{box-shadow:var(--shadow-soft)}.home-greeting,.section-head{align-items:flex-start}.student-command,.path-map,.teacher-grid,.analytics-columns{min-width:0}.next-step{background:linear-gradient(135deg, #2f9f6224, transparent 58%), var(--surface);border-color:#2f9f6247;position:relative;overflow:hidden}.next-step:after{content:"";border:22px solid #2f9f6214;border-radius:50%;width:118px;height:118px;position:absolute;top:-34px;right:-34px}.next-step h3,.progress-hero h3,.study-card h3{text-wrap:balance}.today-snapshot div,.simple-progress div,.route-summary div,.progress-strip div,.focus-list article,.last-attempt,.profile-hero,.placement-question,.plan-card,.first-sprint article,.methodology-grid article,.review-summary article,.analytics-grid article,.teacher-metrics article,.review-item,.word-card,.achievement,.empty-state,.teacher-card,.student-row,.admin-list article{box-shadow:var(--shadow-soft)}.path-module{position:relative;overflow:hidden}.path-module:after{content:"";background:#256fcb0f;border-radius:50%;width:68px;height:68px;position:absolute;top:12px;right:12px}.path-module>*{z-index:1;position:relative}.path-node:disabled{box-shadow:none}.exercise-card{max-width:780px;margin:0 auto}.exercise-type{background:var(--soft);border-radius:999px;width:fit-content;padding:6px 9px}.prompt-card,.passage,.built-line{box-shadow:inset 0 1px #fffc}.feedback{grid-template-columns:1fr}.study-panel{max-width:720px;margin-inline:auto}.study-card{background:linear-gradient(145deg, #256fcb14, transparent 46%), var(--surface);min-height:420px}.teacher-hero{background:linear-gradient(135deg, #18221d1f, transparent 46%), var(--blue);overflow:hidden}.teacher-actions{flex-wrap:wrap;gap:8px;display:flex}.teacher-actions .secondary{background:#fffffff5}.student-row,.admin-list article{min-width:0}.section-mini-head{gap:4px;margin-bottom:12px;display:grid}.section-mini-head strong{color:var(--ink);font-size:18px;line-height:1.15}.student-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:center}.student-row>div{gap:4px;min-width:0;display:grid}.student-row b{width:28px;height:28px;color:var(--blue);background:var(--blue-soft);border-radius:9px;place-items:center;display:grid}.student-row strong,.student-row span,.student-row small,.admin-list strong,.admin-list small,.admin-list span{overflow-wrap:anywhere}.methodology-flow{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:12px;display:flex}.methodology-flow strong,.methodology-flow span{background:var(--soft);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.methodology-flow i{background:var(--line-strong);width:14px;height:1px}.route-contract,.why-next-lesson,.lesson-brief,.route-overview,.result-hero,.learning-impact article,.unlocked-strip{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:14px;gap:10px;padding:14px;display:grid}.route-contract{background:linear-gradient(135deg, #256fcb1a, transparent 62%), var(--surface);border-color:#256fcb38;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:12px}.route-contract h3,.why-next-lesson strong,.result-hero h2{color:var(--ink);text-wrap:balance;margin:0;line-height:1.12}.route-contract h3{font-size:18px}.route-contract-meter{color:#fff;background:var(--ink);border-radius:18px;place-items:center;min-width:72px;min-height:72px;display:grid}.route-contract-meter strong{font-variant-numeric:tabular-nums;font-size:22px;line-height:1}.route-contract-meter span,.lesson-brief span,.learning-impact span,.result-metrics span,.route-overview span{color:var(--muted);font-size:11px;font-weight:800}.mission-steps{counter-reset:mission;gap:8px;margin:0;padding:0;list-style:none;display:grid}.mission-steps li{min-height:34px;color:var(--ink);background:#ffffffb8;border-radius:10px;padding:8px 10px 8px 38px;font-size:13px;font-weight:700;position:relative}.mission-steps li:before{counter-increment:mission;content:counter(mission);color:#fff;background:var(--green);border-radius:7px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:900;display:grid;position:absolute;top:7px;left:8px}.why-next-lesson{background:linear-gradient(135deg, #d78b241f, transparent 64%), var(--surface);border-color:#d78b2442;margin-top:12px}.checkpoint-strip article,.new-words-strip article{color:var(--ink);background:var(--soft);border-radius:10px;padding:7px 9px;font-size:12px;font-weight:800}.checkpoint-strip{grid-template-columns:1fr;gap:8px;margin-top:12px;display:grid}.checkpoint-strip article{border:1px solid var(--line);background:var(--surface);min-height:44px;box-shadow:var(--shadow-soft);grid-template-columns:30px 1fr;align-items:center;gap:8px;display:grid}.checkpoint-strip b{width:26px;height:26px;color:var(--muted);background:var(--soft);border-radius:8px;place-items:center;display:grid}.checkpoint-strip article.done b,.checkpoint-strip article.current b{color:#fff;background:var(--green)}.checkpoint-strip article.current{border-color:#2f9f6257}.route-overview{background:linear-gradient(135deg, #256fcb14, transparent 54%), var(--surface);grid-template-columns:1fr;margin-bottom:12px}.route-overview div{gap:4px;display:grid}.route-overview strong{color:var(--ink);line-height:1.2}.path-module p{margin:-4px 0 10px;font-size:13px;display:block}.path-lessons{grid-template-columns:1fr}.path-node{aspect-ratio:auto;text-align:left;border-radius:14px;grid-template-columns:34px minmax(0,1fr);place-items:center start;gap:10px;min-height:58px;padding:10px}.path-node span,.path-node small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.path-node span{color:inherit;font-size:13px;font-weight:900}.path-node small{color:#ffffffd1;grid-column:2;font-size:11px;font-weight:700}.path-node.locked small{color:var(--muted)}.path-node strong{background:#ffffffa3;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.lesson-brief{background:var(--soft);margin-top:12px}.lesson-brief p{margin-top:4px}.result-panel{gap:14px;max-width:860px;margin-inline:auto;display:grid}.result-hero{background:linear-gradient(135deg, #2f9f6229, transparent 58%), var(--surface);border-color:#2f9f6247;align-content:center;min-height:180px}.result-hero h2{font-size:28px}.result-metrics,.learning-impact,.new-words-strip{grid-template-columns:1fr;gap:10px;display:grid}.result-metrics article{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:14px;gap:6px;padding:14px;display:grid}.result-metrics strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:28px;line-height:1}.learning-impact ul{color:var(--ink);gap:7px;margin:0;padding-left:18px;font-size:14px;line-height:1.35;display:grid}.mistake-list{gap:7px;display:grid}.mistake-list b{color:var(--red);background:var(--red-soft);border-radius:10px;padding:9px 10px;font-size:13px;line-height:1.25}.new-words-strip article{border:1px solid var(--line);box-shadow:var(--shadow-soft);gap:3px;display:grid}.new-words-strip strong{color:var(--ink)}.new-words-strip span{color:var(--muted);font-size:12px}.unlocked-strip{background:var(--orange-soft);border-color:#d78b2447;grid-template-columns:auto 1fr;align-items:center}@media (width>=700px){.hero-copy h1{font-size:46px}.auth-copy h2{font-size:42px}.hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);align-items:stretch}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start}.choice-grid.two,.choice-grid.three,.choice-grid.four,.plan-grid,.first-sprint,.review-summary,.analytics-grid,.teacher-metrics,.achievement-grid,.methodology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}.today-snapshot div:first-child{grid-column:auto}.study-card-actions,.honest-actions,.review-actions,.result-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.honest-actions,.review-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.vocabulary-row{grid-template-columns:minmax(0,1fr) 180px;align-items:center}}@media (width>=900px){.app-shell{box-shadow:none;border:0;padding:20px 24px 34px}.app-shell.has-nav{padding-left:116px}.topbar{margin-bottom:18px}.nav{width:76px;min-height:auto;box-shadow:var(--shadow-soft);background:#ffffffd1;border:1px solid #dfe7dce6;border-radius:18px;flex-direction:column;align-items:stretch;gap:6px;padding:8px;top:104px;bottom:auto;left:max(24px,50vw - 566px);transform:none}.nav button{border-radius:12px;min-width:0;min-height:58px}.nav button.active{color:#fff;background:var(--blue)}.nav button.active svg{color:#fff}.panel,.hero-copy,.hero-cockpit{border-radius:22px;padding:24px}.hero-copy h1{font-size:52px}.auth-copy h2{font-size:48px}.screen-dashboard .home-main{padding:24px}.student-command{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:stretch}.next-step{align-content:center;min-height:190px;padding:22px}.next-step h3{font-size:34px}.today-snapshot{height:100%}.today-snapshot div{align-content:center}.skill-rings{grid-template-columns:repeat(6,minmax(0,1fr))}.skill-rings i{width:76px;height:76px;font-size:14px}.home-actions{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}.home-actions button{min-height:82px}.path-map{grid-template-columns:repeat(2,minmax(0,1fr))}.path-module{grid-template-columns:44px 1fr;padding:16px}.module-marker{width:44px;height:44px}.path-lessons{grid-template-columns:1fr}.path-node{aspect-ratio:auto;text-align:left;border-radius:14px;grid-template-columns:34px 1fr;gap:10px;min-height:50px;padding:8px 10px}.path-node span{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.path-node strong{background:#ffffffa3;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.dialogue-layout{grid-template-columns:1fr;gap:16px;min-height:0}.dialogue-brief{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:20px}.dialogue-brief .text-button{grid-area:1/2/3;justify-self:end}.dialogue-brief .eyebrow,.dialogue-brief h2,.dialogue-brief p,.dialogue-brief .lesson-progress{grid-column:1}.dialogue-workspace{grid-template-columns:minmax(0,1fr) minmax(330px,420px);align-items:start}.chat-window{min-height:520px;max-height:620px;overflow:auto}.dialogue-task,.dialogue-result{margin:0;position:sticky;top:92px}.custom-answer{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.teacher-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:24px}.teacher-hero h2{max-width:760px;font-size:32px;line-height:1.05}.teacher-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.teacher-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}.teacher-grid.lower{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.admin-form-row{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-columns{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}.progress-strip,.focus-list{max-width:860px}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.onboarding-hero{grid-template-columns:1fr auto;align-items:center;padding:18px}.onboarding-score{background:radial-gradient(circle, var(--surface) 54%, transparent 56%), conic-gradient(var(--green) 0 var(--value), #e3eadf var(--value));border-radius:50%;grid-template-rows:auto auto;align-content:center;justify-items:center;gap:2px;width:86px;height:86px;display:grid}.onboarding-score strong{text-align:center;font-size:18px;line-height:1}.onboarding-score span{color:var(--muted);text-align:center;font-size:11px;font-weight:800;line-height:1}.methodology-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.topbar-actions{gap:4px}.topbar-link{padding-inline:8px}.danger-link{width:38px;color:var(--red);gap:0;font-size:0;overflow:hidden}.danger-link svg{flex:none;width:17px;height:17px}.hero-copy{min-height:calc(100dvh - 142px)}.hero-cockpit{min-height:300px}.cockpit-card{padding:12px}.cockpit-card strong{font-size:26px}.main-card{top:20px;left:16px}.path-card{top:114px;right:18px}.skill-card{bottom:54px;left:28px}.review-card{bottom:24px;right:24px}}@media (width<=420px){.app-shell{padding-inline:10px}.nav button{min-width:48px}.skill-rings{gap:12px 6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
