:root{--text:#5c4a32;--text-h:#873800;--bg:#fffbf0;--border:#ffe58f;--accent:#faad14;--sans:system-ui, "Segoe UI", Roboto, "Noto Sans Mongolian", sans-serif;font:17px/145% var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}a{color:inherit}button{font:inherit}.mn{color:#8c6d1f}.topbar{z-index:20;background:linear-gradient(135deg,#fff7d6 0%,#ffe0a3 45%,#ffc978 100%);border-bottom:3px solid #f0a830;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;padding:.85rem 1.25rem;display:flex;position:sticky;top:0;box-shadow:0 4px 16px #f0a83040}.brand{color:#5a3200;align-items:center;gap:.65rem;text-decoration:none;display:flex}.brand-sun{filter:drop-shadow(0 2px 2px #0000001a);font-size:1.85rem}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text strong{font-size:1.15rem}.brand-text small{opacity:.85;font-size:.8rem;font-weight:600}.nav{flex-wrap:wrap;gap:.4rem;display:flex}.nav a{color:#6b3d00;background:#ffffff8c;border:2px solid #0000;border-radius:999px;padding:.45rem .75rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,transform .1s}.nav a:hover{background:#fff;transform:translateY(-1px)}.nav a.active{color:#9a4d00;background:#fff;border-color:#e8911a}.main{flex:1;width:min(960px,100%);margin:0 auto;padding:1.25rem 1rem 2.5rem}.footer{text-align:center;color:#7a5530;background:#fff4dc;border-top:2px dashed #f0c070;padding:1rem;font-size:.8rem}@media (width<=640px){.topbar{padding:.75rem .85rem}.nav a{padding:.4rem .6rem;font-size:.78rem}}.app-shell{background:radial-gradient(circle at top,#fff8e1 0%,#fffbf0 55%,#ffe8b8 100%);flex-direction:column;min-height:100vh;display:flex}.progress-wrap{background:#fff;border:3px solid #ffd27a;border-radius:16px;margin-bottom:1.25rem;padding:.85rem 1rem;box-shadow:0 4px #f0b84a}.progress-labels{color:#6b3d00;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.progress-track{background:#ffe9b8;border-radius:999px;height:14px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#52c41a,#73d13d,#95de64);border-radius:999px;min-width:0;height:100%;transition:width .35s}.hero{text-align:center;background:linear-gradient(160deg,#fffbe6 0%,#fff1b8 40%,#ffe58f 100%);border:3px solid #ffc53d;border-radius:28px;margin-bottom:1.25rem;padding:1.75rem 1.25rem 1.9rem;box-shadow:0 8px #faad14}.hero-badge{color:#ad6800;text-transform:uppercase;letter-spacing:.04em;background:#fff;border:2px solid #ffd666;border-radius:999px;margin-bottom:.75rem;padding:.25rem .75rem;font-size:.75rem;font-weight:800;display:inline-block}.hero h1{color:#873800;margin:0;font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.2}.hero .sun{animation:2.4s ease-in-out infinite bob;display:inline-block}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.mn-title{color:#ad6800;font-size:.72em;font-weight:700}.tagline{color:#5c3a00;max-width:34rem;margin:.85rem auto 0;font-size:1.1rem;font-weight:700}.tagline span,.audience span,.mn{color:#8c6d3f;margin-top:.2rem;font-size:.92em;font-weight:600;display:block}.audience{color:#614700;margin:.75rem auto 0;font-size:.95rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.25rem;display:flex}.features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin-bottom:1.5rem;display:grid}.feature-card{background:#fff;border:3px solid;border-radius:18px;padding:1rem}.feature-card span{font-size:1.6rem}.feature-card h2{margin:.35rem 0 .45rem;font-size:1.05rem}.feature-card p{color:#434343;margin:0;font-size:.9rem}.feature-card.green{border-color:#95de64;box-shadow:0 4px #73d13d}.feature-card.blue{border-color:#69c0ff;box-shadow:0 4px #40a9ff}.feature-card.purple{border-color:#b37feb;box-shadow:0 4px #9254de}.module-preview{background:#fff;border:3px solid #ffd591;border-radius:20px;padding:1.2rem;box-shadow:0 5px #ffc069}.module-preview h2{color:#ad4e00;margin:0}.module-preview>.mn-title{margin:.2rem 0 .65rem;font-size:1rem;display:block}.lesson-chips{gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.lesson-chips a{color:#873800;background:#fff7e6;border:2px solid #ffd591;border-radius:14px;flex-direction:column;padding:.7rem .9rem;font-weight:800;text-decoration:none;transition:transform .1s,background .1s;display:flex}.lesson-chips a:hover{background:#fff1b8;transform:translate(3px)}.lesson-chips small{color:#ad6800;margin-top:.15rem;font-weight:600}.crumb{color:#8c8c8c;margin:0 0 .85rem;font-size:.88rem}.crumb a{color:#d46b08;font-weight:700;text-decoration:none}.module-hero{background:linear-gradient(135deg,#fff7e6,#ffe7ba);border:3px solid #ffc069;border-radius:22px;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;padding:1.15rem;display:flex;box-shadow:0 5px #ffa940}.big-emoji{font-size:2.8rem;line-height:1}.module-hero h1{color:#873800;margin:0;font-size:clamp(1.3rem,4vw,1.75rem)}.mn-h{color:#ad6800;margin:.2rem 0 .55rem;font-weight:700}.module-hero p{color:#595959;margin:.2rem 0}.module-hero .mn{color:#8c8c8c;font-size:.9rem}.celebrate{text-align:center;color:#237804;background:#f6ffed;border:3px solid #95de64;border-radius:14px;margin-bottom:1rem;padding:.75rem;font-weight:800}.lesson-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.lesson-list a{background:#fff;border:3px solid #ffd591;border-radius:16px;align-items:center;gap:.75rem;padding:.85rem 1rem;text-decoration:none;transition:transform .1s;display:flex;box-shadow:0 3px #ffc069}.lesson-list a:hover{transform:translateY(-2px)}.lesson-list .done a{background:#fcffe6;border-color:#95de64;box-shadow:0 3px #73d13d}.lesson-list .num{color:#fff;background:#ffa940;border-radius:50%;flex-shrink:0;place-items:center;width:2.2rem;height:2.2rem;font-weight:900;display:grid}.lesson-list .done .num{background:#52c41a}.lesson-list .info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.lesson-list .info strong{color:#873800}.lesson-list .info small{color:#ad6800}.lesson-list .info em{color:#389e0d;font-size:.8rem;font-style:normal;font-weight:700}.lesson-list .go{color:#d46b08;flex-shrink:0;font-weight:800}.module-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}.vocab-card{background:#fff;border:3px solid #b7eb8f;border-radius:20px;flex-direction:column;gap:.35rem;padding:1rem 1.05rem 1.15rem;transition:transform .12s;display:flex;box-shadow:0 5px #95de64}.vocab-card:hover{transform:translateY(-2px)}.vocab-emoji{font-size:2rem;line-height:1}.vocab-en{color:#135200;margin:0;font-size:1.35rem}.vocab-mn{color:#389e0d;margin:0;font-size:1.05rem;font-weight:700}.vocab-phonetic{color:#8c8c8c;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.vocab-tip,.vocab-example{background:#f6ffed;border-radius:12px;margin-top:.4rem;padding:.55rem .7rem;font-size:.88rem}.vocab-tip strong,.vocab-example strong{color:#237804;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.2rem;font-size:.78rem;display:block}.vocab-tip p,.vocab-example p{color:#434343;margin:.15rem 0}.vocab-tip .mn,.vocab-example .mn{color:#595959;font-size:.85rem}.practice-block{background:#fff;border:3px solid #91d5ff;border-radius:20px;margin:1.5rem 0;padding:1.15rem 1.1rem 1.35rem;box-shadow:0 5px #69c0ff}.practice-block h2{color:#003a8c;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .35rem;font-size:1.25rem;display:flex}.badge{color:#096dd9;text-transform:uppercase;letter-spacing:.04em;background:#e6f7ff;border:1px solid #91d5ff;border-radius:999px;padding:.2rem .55rem;font-size:.7rem;font-weight:800}.practice-sub{color:#595959;margin:0 0 1rem;font-size:.92rem}.practice-list,.match-list{flex-direction:column;gap:.85rem;display:flex}.q-card{background:#f0f9ff;border-radius:14px;padding:.85rem}.q-num{color:#003a8c;margin:0;font-weight:800}.q-mn{color:#595959;margin:.2rem 0 .65rem;font-size:.9rem}.options{flex-direction:column;gap:.4rem;display:flex}.opt{text-align:left;color:#262626;cursor:pointer;background:#fff;border:2px solid #bae7ff;border-radius:12px;padding:.65rem .85rem;font-family:inherit;font-size:1rem;font-weight:700}.opt:hover:not(:disabled){border-color:#40a9ff}.opt.selected{background:#e6f7ff;border-color:#1890ff}.opt.correct{color:#237804;background:#f6ffed;border-color:#52c41a}.opt.wrong{color:#a8071a;background:#fff1f0;border-color:#ff4d4f}.opt:disabled{cursor:default}.match-row{background:#f0f9ff;border:2px solid #0000;border-radius:12px;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:.5rem;padding:.65rem .75rem;display:grid}.match-row.ok{background:#f6ffed;border-color:#52c41a}.match-row.bad{background:#fff1f0;border-color:#ff7875}.match-en{color:#003a8c;font-weight:800}.match-arrow{color:#8c8c8c;font-weight:700}.match-row select{background:#fff;border:2px solid #91d5ff;border-radius:10px;width:100%;padding:.45rem .5rem;font-family:inherit;font-size:.95rem;font-weight:600}.match-feedback{white-space:nowrap;font-size:.85rem;font-weight:800}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.75rem 1.35rem;font-family:inherit;font-size:1rem;font-weight:800;text-decoration:none;transition:transform .1s,box-shadow .1s,opacity .1s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:#fff;background:linear-gradient(135deg,#1890ff,#096dd9);margin-top:1rem;box-shadow:0 4px #0050b3}.btn.primary:hover:not(:disabled){transform:translateY(-1px)}.btn.sunny{color:#fff;background:linear-gradient(135deg,#ffa940,#fa8c16);box-shadow:0 4px #d46b08}.btn.sunny:hover:not(:disabled){transform:translateY(-1px)}.btn.ghost{color:#6b3d00;background:#fff;border:2px solid #ffd591;box-shadow:0 3px #ffc069}.score-banner{color:#237804;text-align:center;background:linear-gradient(135deg,#f6ffed,#d9f7be);border:2px solid #95de64;border-radius:14px;margin-top:1rem;padding:.85rem 1rem;font-weight:800}@media (width<=640px){.match-row{grid-template-columns:1fr;gap:.35rem}.match-arrow{display:none}}.dialogue-block{background:#fff;border:3px solid #d3adf7;border-radius:20px;margin:1.5rem 0;padding:1.15rem 1.1rem 1.35rem;box-shadow:0 5px #b37feb}.dialogue-block h2{color:#531dab;margin:0 0 .5rem;font-size:1.25rem}.dialogue-hint{color:#595959;background:#f9f0ff;border-radius:12px;margin:0 0 1rem;padding:.65rem .8rem;font-size:.92rem}.dialogue-hint span{color:#8c8c8c;font-size:.88rem}.dialogue-lines{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.dialogue-line{align-items:flex-start;gap:.65rem;display:flex}.speaker{color:#fff;border-radius:999px;flex-shrink:0;margin-top:.35rem;padding:.35rem .55rem;font-size:.78rem;font-weight:800}.bubble{background:#fafafa;border:2px solid #efdbff;border-radius:16px 16px 16px 4px;flex:1;padding:.65rem .85rem}.bubble .en{color:#262626;margin:0;font-size:1.05rem;font-weight:800}.bubble .mn{color:#8c8c8c;margin:.2rem 0 0;font-size:.9rem}.lesson-page .crumb{margin:0 0 1rem;font-size:.9rem}.lesson-page .crumb a{color:#ad6800;font-weight:700;text-decoration:none}.lesson-hero{background:#fff7e6;border:3px solid #ffd666;border-radius:24px;margin-bottom:1.25rem;padding:1.25rem 1.1rem}.lesson-hero h1{color:#873800;margin:0 0 .35rem;font-size:clamp(1.35rem,4vw,1.85rem)}.lesson-hero .mn-h{color:#d48806;margin:0 0 .75rem;font-weight:700}.lesson-hero .mn{opacity:.9}.done-pill{color:#389e0d;background:#d9f7be;border:2px solid #73d13d;border-radius:999px;margin-top:.75rem;padding:.25rem .75rem;font-weight:800;display:inline-block}.vocab-section h2{color:#873800;margin:0 0 .75rem}.vocab-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.9rem;margin-bottom:1.5rem;display:grid}.lesson-nav{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:1.5rem 0 .5rem;display:flex}.lesson-nav .btn{border:3px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.1rem;font-weight:800;text-decoration:none;display:inline-flex}.lesson-nav .btn.sunny{color:#873800;background:#ffc53d;border-color:#faad14;box-shadow:0 4px #d48806}.lesson-nav .btn.ghost{color:#ad6800;background:#fff;border-color:#ffd666}.teacher-page .crumb{margin:0 0 1rem;font-size:.9rem}.teacher-page .crumb a{color:#ad6800;font-weight:700;text-decoration:none}.teacher-page h1{color:#873800;margin:0 0 .75rem}.teacher-page .lead{max-width:42rem;margin:0 0 1.25rem}.note-card{background:#fff;border:2px solid #ffe58f;border-radius:18px;margin-bottom:.9rem;padding:1rem 1.1rem;box-shadow:0 3px #ffd666}.note-card h2{color:#ad6800;margin:0 0 .5rem;font-size:1.05rem}.note-card code{background:#fff7e6;border-radius:6px;padding:.1rem .35rem;font-size:.9em}.note-card ul,.note-card ol{margin:.4rem 0 0;padding-left:1.2rem}.teacher-page .foot{opacity:.85;margin-top:1.25rem;font-size:.95rem}
