@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-cyrillic-ext-wght-normal.10yjhutwdm9hx.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-cyrillic-wght-normal.3iik4h93_86zh.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-vietnamese-wght-normal.43reimf7x86lj.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-latin-ext-wght-normal.19c5fcu0u1_l8.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-latin-wght-normal.43ritpld78jne.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#fbf7f0;--panel:#fff;--ink:#1f2430;--ink-soft:#5b6170;--line:#ebe4d8;--line-strong:#cfc5b4;--accent:#2563eb;--accent-soft:#e6eefe;--ok:#16a34a;--ok-soft:#e7f6ec;--bad:#dc2626;--bad-soft:#fdecec;--why:#fdf3e1;--why-line:#e9b35f;--star:#f5b301;--subject:#c2410c;--radius:18px;--shadow:0 1px 2px #1f24300d, 0 6px 20px #1f24300f}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Nunito Variable,Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-size:18px;line-height:1.55}a{color:inherit}h1,h2,h3{margin:0 0 .4em;line-height:1.2}h1{font-size:clamp(1.7rem,4vw,2.2rem);font-weight:850}h2{font-size:1.35rem;font-weight:800}h3{font-size:1.15rem;font-weight:800}p{margin:0 0 .8em}strong{font-weight:800}button{font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.topbar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fbf7f0eb;position:sticky;top:0}.logo{align-items:center;gap:10px;padding:12px 20px;font-size:1.15rem;font-weight:900;text-decoration:none;display:inline-flex}.logo-mark{background:var(--ink);color:#fff;border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.container{max-width:760px;margin:0 auto;padding:24px 18px 80px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:24px}.center,.center-text{text-align:center}.muted{color:var(--ink-soft)}.small-text{font-size:.85rem}.lead{font-size:1.1rem}.section-title{margin:32px 0 14px}.section-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pill{background:color-mix(in srgb, var(--subject) 12%, white);color:color-mix(in srgb, var(--subject) 85%, black);letter-spacing:.02em;border-radius:999px;margin-bottom:10px;padding:3px 12px;font-size:.8rem;font-weight:800;display:inline-block}.pill.accent{background:var(--accent-soft);color:var(--accent)}.stars{vertical-align:middle;gap:2px;display:inline-flex}.btn-primary,.btn-ghost,.btn-soft{cursor:pointer;border:2px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 22px;font-weight:800;text-decoration:none;transition:transform 80ms,background .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 3px #1d4ed8}.btn-primary:hover{background:#1f57d6}.btn-primary:active{transform:translateY(2px);box-shadow:0 1px #1d4ed8}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:0 0}.btn-ghost:hover{background:#fff}.btn-soft{color:var(--ink);background:#f1ece3}.btn-ghost.small{min-height:36px;color:var(--ink-soft);border-width:1.5px;border-radius:10px;padding:4px 12px;font-size:.85rem}.big{min-height:56px;padding:12px 30px;font-size:1.1rem}.link-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600;text-decoration:underline}.row-buttons{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}.row-buttons.wide>*{flex:140px}.greeting{margin:8px 0 18px}.greeting .link-button{vertical-align:middle;font-size:.85rem}.name-form{gap:8px;margin-bottom:20px;display:grid}.name-form label{font-size:1.5rem;font-weight:850}.name-row{gap:10px;display:flex}.name-row input{min-width:0;font:inherit;border:2px solid var(--line-strong);background:#fff;border-radius:14px;flex:1;padding:10px 14px}.mission{background:linear-gradient(135deg,#fff 0%,#eef3ff 100%);border-color:#d9e3fb}.mission h2{font-size:1.5rem}.mission.placeholder{min-height:180px}.subject{margin-bottom:24px}.subject-title{align-items:center;gap:10px;display:flex}.subject-icon{background:var(--subject);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.topic-card{border-radius:var(--radius);border:1px solid var(--line);border-top:5px solid var(--subject);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:6px;padding:18px;text-decoration:none;transition:transform .12s;display:flex}.topic-card:hover{transform:translateY(-2px)}.topic-grade{color:var(--ink-soft);font-size:.8rem;font-weight:800}.topic-title{font-size:1.25rem}.topic-teaser{color:var(--ink-soft);flex:1;font-size:.95rem}.crumbs{color:var(--ink-soft);gap:8px;margin-bottom:14px;font-size:.9rem;display:flex}.crumbs a{font-weight:700;text-decoration:none}.crumbs a:hover{text-decoration:underline}.hero{border-top:6px solid var(--subject)}.hero-foot{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.path{gap:12px;margin:0 0 20px;padding:0;list-style:none;display:grid}.path-step{border-radius:var(--radius);border:2px solid var(--line);background:#fff;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;transition:transform .12s;display:flex}.path-step:hover{transform:translate(3px)}.path-step.next{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.path-dot{background:#f1ece3;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.path-step.done .path-dot{background:var(--ok);color:#fff}.path-step.next .path-dot{background:var(--accent);color:#fff}.path-text{flex-direction:column;flex:1;display:flex}.path-text .muted{font-size:.9rem}.reading .intro h1{margin-bottom:12px}.chapter{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:14px;padding:20px 22px}.chapter-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.chapter-head h3{margin:0}.chapter-num{text-transform:uppercase;letter-spacing:.08em;color:var(--subject);font-size:.75rem;font-weight:900;display:block}.chapter-when{color:var(--ink-soft);margin-top:4px;font-size:.85rem;font-weight:800;display:inline-block}.chapter ul{margin:0 0 .8em;padding-left:1.2em}.chapter li{margin-bottom:6px}.callout{border-radius:14px;margin:10px 0;padding:12px 16px}.callout p{margin:6px 0 0}.callout.main{background:var(--accent-soft);border-left:5px solid var(--accent)}.callout.key{border-left:5px solid var(--subject);background:#f1ece3}.callout.why{background:var(--why);border-left:5px solid var(--why-line)}.callout.why summary{cursor:pointer;color:#8a5a12;font-weight:900}.finish{margin-top:24px}.callout.task{background:#eef6f1;border-left:5px solid #3f9d68}.callout.more{background:#f3f0fb;border-left:5px solid #8b7bd8}.callout.more summary{cursor:pointer;color:#5b4bb0;font-weight:900}.more-body{margin-top:8px}.more-body .callout{background:#fff9}.legend{margin:12px 0 0;font-size:.9rem}.legend-more{color:#5b4bb0;background:#f3f0fb;border-radius:6px;padding:0 8px;font-weight:800;display:inline-block}.section-title.flush{margin-top:0}.review ol{gap:8px;margin:0;padding-left:1.4em;display:grid}.review summary{cursor:pointer;font-weight:700}.review details p{background:var(--ok-soft);border-radius:12px;margin:6px 0 0;padding:10px 14px}.english ul{margin:0}.source{text-align:center;font-size:.85rem}.extra-toggle{text-align:left;cursor:pointer;background:#f3f0fb;border-radius:12px;align-items:center;gap:10px;width:fit-content;margin:0 auto 16px;padding:8px 14px;font-weight:700;display:flex}.extra-toggle input{accent-color:#8b7bd8;width:20px;height:20px}.extra-badge{color:#5b4bb0;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;background:#ece8fb;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.7rem;font-weight:900;display:inline-block}.start h1{font-size:2rem}.exercise{gap:16px;display:grid}.exercise-head{gap:8px;font-size:.9rem;font-weight:700;display:grid}.progress{background:#ece5d8;border-radius:999px;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;height:100%;transition:width .3s}.flashcard{perspective:1200px;cursor:pointer;background:0 0;border:none;width:100%;min-height:300px;padding:0;display:block}.flashcard-inner{width:100%;min-height:300px;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.3,.7,.3,1);display:block;position:relative}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{border:2px solid var(--line);box-shadow:var(--shadow);backface-visibility:hidden;text-align:center;background:#fff;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:28px;display:flex;position:absolute;inset:0}.flashcard-face.back{border-color:var(--why-line);background:#fffdf8;transform:rotateY(180deg)}.flashcard-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--subject);font-size:.8rem;font-weight:900}.flashcard-term{font-size:clamp(1.8rem,6vw,2.4rem);font-weight:900;line-height:1.15}.flashcard-hint{color:var(--ink-soft);font-size:.9rem}.flashcard-text{font-size:1.25rem;font-weight:650;line-height:1.45}.axis{border-left:4px solid var(--line-strong);gap:10px;margin:0;padding:0 0 0 22px;list-style:none;display:grid}.axis li{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:112px 1fr;align-items:baseline;gap:12px;padding:10px 14px;display:grid;position:relative}.axis li:before{content:"";background:var(--subject);border:3px solid var(--bg);border-radius:50%;width:14px;height:14px;margin-top:-7px;position:absolute;top:50%;left:-33px}.axis li.key{border-color:color-mix(in srgb, var(--subject) 45%, white);background:color-mix(in srgb, var(--subject) 6%, white)}.axis li.key .axis-label{font-weight:800}.axis-date{color:var(--subject);white-space:nowrap;font-weight:900}.axis-next{background:0 0!important;border-style:dashed!important}.axis-next:before{background:var(--line-strong)!important}.axis.compact{text-align:left;margin:16px 0 4px}.axis.compact li{padding:6px 12px;font-size:.95rem}.pop{animation:.35s pop}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.feedback{text-align:center;min-height:1.6em;margin:0;font-weight:800}.bad{color:var(--bad)}.choices{gap:10px;display:grid}.choice{text-align:left;border:2px solid var(--line-strong);cursor:pointer;min-height:56px;box-shadow:0 3px 0 var(--line);background:#fff;border-radius:14px;padding:14px 18px;font-weight:700}.choice:hover{border-color:var(--accent)}.shake{border-color:var(--bad);background:var(--bad-soft);animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.question{margin:6px 0 0;font-size:clamp(1.4rem,4vw,1.75rem)}.options{gap:10px;display:grid}.option{text-align:left;border:2px solid var(--line-strong);cursor:pointer;min-height:60px;box-shadow:0 3px 0 var(--line);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;font-weight:700;display:flex}.option:hover:not(:disabled){border-color:var(--accent)}.option:disabled{opacity:.45;cursor:default}.option-letter{background:#f1ece3;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.option.right{border-color:var(--ok);background:var(--ok-soft)}.option.right .option-letter{background:var(--ok);color:#fff}.option.wrong{border-color:var(--bad);background:var(--bad-soft);animation:.4s shake}.option.wrong .option-letter{background:var(--bad);color:#fff}.explain{border-radius:14px;padding:16px 18px;animation:.3s pop}.explain.ok{background:var(--ok-soft)}.explain.no{background:var(--why)}.explain .row-buttons{justify-content:flex-end;margin-top:12px}.badge-big{border-radius:50%;place-items:center;width:84px;height:84px;margin-bottom:12px;animation:.4s pop;display:inline-grid}.badge-big.ok{background:var(--ok);color:#fff;box-shadow:0 0 0 10px var(--ok-soft)}.badge-big.try{background:var(--why-line);color:#fff;box-shadow:0 0 0 10px var(--why)}.missed{text-align:left;margin-top:16px}.missed h2{font-size:1.1rem}.missed ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.missed li{background:var(--why);border-radius:12px;gap:2px;padding:12px 14px;font-size:.95rem;display:grid}@media (max-width:520px){body{font-size:17px}.panel{padding:20px 18px}.axis li{grid-template-columns:1fr;gap:0}.chapter-head{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
