:root{--bg:#f3f6f8;--paper:#fff;--ink:#182f41;--muted:#516b7c;--line:#cbd8e0;--accent:#126a66;--soft:#e4f1ed;--gold:#98602d;--gold-bg:#fcf0df;--nav:#152e40;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);color-scheme:light;--shadow:0 6px 24px #18334706}*{box-sizing:border-box}body{margin:0;font-size:17px;line-height:1.75}body.dark{--bg:#142531;--paper:#1d3342;--ink:#e2edf3;--muted:#b2c6d2;--line:#466070;--accent:#9ddbc9;--soft:#244b43;--gold:#efbe8b;--gold-bg:#493b2d;color-scheme:dark}a{color:var(--accent);text-underline-offset:3px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:9px 14px;min-height:44px;font-size:14px;font-weight:600;transition:background .16s cubic-bezier(.2,0,.2,1),border-color .16s}button:hover{background:var(--soft);border-color:var(--accent)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}body.dark button.primary{color:#142531}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:10px}.topbar{position:sticky;top:0;z-index:20;background:var(--nav);color:#e6eef3;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 24px;border-bottom:1px solid #345166}.brand{display:flex;align-items:center;gap:12px;font-weight:650;white-space:nowrap}.brand-icon{display:grid;place-items:center;width:38px;height:38px;color:#c5e8dc;background:#284b5b;border-radius:9px;font:27px Georgia,serif}.brand small{display:block;font-size:10px;letter-spacing:1.4px;font-weight:400;color:#bfd0db}.topbar button{color:#e6eef3;border-color:#476170;background:transparent;font-size:12px}.topbar button:hover,.topbar button.active{background:#315767}.topbar nav,.settings{display:flex;gap:5px;align-items:center}.topbar nav button{border-color:transparent}.settings{flex-shrink:0}#menu{display:none}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:1750px;margin:auto}aside{position:sticky;top:90px;height:calc(100dvh - 90px);overflow:auto;border-right:1px solid var(--line);padding:28px 18px}.search-label{font-size:12px;display:block;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}input[type=search],input[type=text],input[type=number],select,textarea{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:11px;width:100%;min-height:44px}#topics{display:grid;gap:5px;margin-top:22px}.topic{border:0;background:transparent;display:flex;align-items:start;text-align:left;gap:12px;line-height:1.45;padding:13px 10px}.topic.active{background:var(--soft);color:var(--accent)}.topic .num{font:13px Consolas,monospace;padding-top:3px;color:var(--muted)}.topic strong{font-size:14px;font-weight:600}.topic small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}.aside-note{font-size:13px;line-height:1.7;color:var(--muted);padding:24px 10px;border-top:1px solid var(--line);margin-top:20px}.aside-note button{width:100%}.import-label{display:block;text-align:center;font-size:12px;margin-top:12px;cursor:pointer}.import-label input{display:block;width:100%;font-size:11px;margin-top:7px}main{padding:42px 48px 90px;min-width:0;max-width:1100px}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:650}h1{font:400 clamp(30px,3vw,43px)/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.5px;max-width:850px;margin:14px 0 20px}h2{font-size:24px;line-height:1.35;margin:42px 0 18px}h3{font-size:18px;line-height:1.5;margin:10px 0}.lead{font-size:19px;line-height:1.65;max-width:780px;color:var(--muted)}p{margin:12px 0 18px}.path{display:flex;gap:7px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:24px 0}.path span{background:var(--soft);border-radius:5px;padding:4px 9px}.card,.quiz,.writing,.figure,.source-card{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:24px;margin:22px 0;box-shadow:var(--shadow)}.card.example{border-top:3px solid var(--accent)}.kz{font-size:18px;line-height:1.85}.ru{color:var(--muted);border-left:2px solid var(--line);padding-left:15px;font-size:15px;line-height:1.75;margin:13px 0 18px}body.no-translation .ru{display:none!important}.word{display:inline;border:0;border-bottom:1px dotted var(--accent);background:transparent;color:inherit;border-radius:0;font:inherit;line-height:inherit;min-height:0;padding:0;cursor:help}.word:hover{color:var(--accent)}.muted,.caption{color:var(--muted);font-size:13px}.warning{background:var(--gold-bg);border-left:3px solid var(--gold);padding:18px 22px;margin:22px 0;border-radius:0 9px 9px 0;font-size:15px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.spread{justify-content:space-between}.steps{counter-reset:step;padding:0;list-style:none}.steps li{padding:0 0 20px 46px;position:relative;margin:15px 0}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;text-align:center;font-size:13px;line-height:28px;color:var(--accent)}details{margin:18px 0}summary{cursor:pointer;padding:12px 0;font-weight:650;color:var(--accent)}details.lesson-theory{border-top:1px solid var(--line);margin-top:30px}details.lesson-theory>summary{font-size:21px}details[open]>summary{margin-bottom:14px}.pieces{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;margin:24px 0}.piece{background:var(--soft);border:1px solid var(--line);border-radius:9px;min-width:100px;flex:1;text-align:center;padding:17px 12px;font-size:22px;font-weight:650}.piece small{display:block;font-size:12px;line-height:1.5;font-weight:400;margin-top:8px;color:var(--muted)}.figure button{font-weight:400}.figure .caption{padding-top:12px;border-top:1px solid var(--line)}.selected-piece{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.options{border:0;padding:0;margin:18px 0;display:grid;gap:10px;min-width:0}.option{display:block;border:1px solid var(--line);border-radius:9px;padding:13px 16px;cursor:pointer;background:var(--bg);font-size:16px;line-height:1.65}.option:hover{border-color:var(--accent)}.option input{margin:5px 10px 0 0;accent-color:var(--accent)}.option .ru{display:block;margin:7px 0 0 26px;font-size:14px}.option.correct{border-color:var(--accent);background:var(--soft)}.option.wrong{border-color:var(--gold);background:var(--gold-bg)}.feedback{border-left:3px solid var(--accent);padding:14px 18px;margin-top:18px;background:var(--soft);border-radius:0 8px 8px 0;font-size:15px}.feedback.wrong{background:var(--gold-bg);border-color:var(--gold)}.answer-why{font-size:14px;margin:12px 0;padding-left:15px;border-left:2px solid var(--line)}.hint{font-size:14px;color:var(--muted)}textarea{min-height:145px;resize:vertical;line-height:1.75}.field-label{display:block;font-size:14px;font-weight:600;margin:14px 0 8px}.writing small{display:block;margin:8px 0;color:var(--muted)}.lesson-bottom{border-top:1px solid var(--line);padding-top:25px;margin-top:35px;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.vocab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vocab-card{background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:9px;min-width:0;overflow-wrap:anywhere}.vocab-card strong{font-size:18px}.vocab-card p{font-size:15px;margin:7px 0}.vocab-card button{font-size:12px;padding:5px 10px}.checklist{padding:0;list-style:none}.checklist li{border-bottom:1px solid var(--line);padding:12px 0}.checklist input{margin-right:10px;accent-color:var(--accent)}.checklist label{cursor:pointer}.source-card{font-size:14px}.source-card h3{overflow-wrap:anywhere}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;margin:20px 0}table{width:100%;border-collapse:collapse;background:var(--paper);font-size:14px}th,td{border-bottom:1px solid var(--line);padding:12px 15px;text-align:left;vertical-align:top}th{background:var(--soft)}.stats{display:flex;gap:14px;flex-wrap:wrap;margin:25px 0}.stat{flex:1;min-width:120px;border:1px solid var(--line);border-radius:10px;padding:18px;background:var(--paper);font-size:13px;color:var(--muted)}.stat strong{display:block;font-size:30px;line-height:1.4;color:var(--ink)}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;max-width:900px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;padding:30px}dialog h2{margin-top:0;padding-right:40px}#word-dialog{max-width:460px}dialog::backdrop{background:#102b3b88}.dialog-close{float:right;font-size:22px;min-width:44px}#notice{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);background:var(--nav);color:white;padding:10px 18px;border-radius:8px;z-index:90;font-size:14px;max-width:90vw;pointer-events:none}#notice:empty{display:none}footer{border-top:1px solid var(--line);padding-top:18px;margin-top:40px;font-size:12px;color:var(--muted)}main{animation:enter .25s cubic-bezier(.16,1,.3,1)}@keyframes enter{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.badge{font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;color:var(--muted)}.text-link{background:none;border:0;padding:0;text-decoration:underline;color:var(--accent);min-height:44px}.empty{padding:30px;border:1px dashed var(--line);border-radius:10px} [hidden]{display:none!important}
@media(max-width:1250px){.topbar{flex-wrap:wrap;gap:9px}.topbar nav{order:3;width:100%;justify-content:center}.layout{grid-template-columns:250px minmax(0,1fr)}aside{top:135px;height:calc(100dvh - 135px)}main{padding:32px}.settings{margin-left:auto}}
@media(max-width:800px){#menu{display:block}.topbar{padding:10px 12px}.brand{font-size:15px;gap:8px}.brand-icon{width:30px;height:30px;font-size:23px}.brand small{font-size:8px;letter-spacing:1px}.settings{gap:4px}.settings button{padding:7px;font-size:10px}.topbar nav{overflow-x:auto;justify-content:flex-start;gap:2px}.topbar nav button{white-space:nowrap;flex-shrink:0;padding:8px 10px}.layout{grid-template-columns:1fr}aside{display:none;position:fixed;top:var(--header-height,120px);bottom:0;left:0;width:290px;height:calc(100dvh - var(--header-height,120px));z-index:30;background:var(--bg);box-shadow:15px 0 45px #102b3b44}.layout.menu-open aside{display:block}main{padding:28px 19px 65px}h1{font-size:32px}h2{font-size:23px}.card,.quiz,.figure,.writing{padding:18px;margin:20px 0}.kz{font-size:17px}.lead{font-size:17px}.vocab-grid{grid-template-columns:1fr}.piece{min-width:95px;font-size:19px}.pieces{gap:7px}.steps li{padding-left:39px}.option{padding:12px}.stat{padding:14px}.row>*{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{header,aside,button,footer,#notice{display:none!important}.layout{display:block}main{max-width:none;padding:0}body{background:white;color:black}.card,.figure{break-inside:avoid}}

.coverage-status{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:12px;margin:0 0 25px}.scope-select{max-width:260px}section[id]{scroll-margin-top:155px}
body{color:var(--ink);background:var(--bg);min-height:100vh}
.source-guide{border-top:1px solid var(--line);padding-top:12px;margin-top:35px}.source-guide .card{box-shadow:none}.media-evidence{border-left:2px solid var(--line);padding-left:14px}#reading,#grammar,#writing,[id^=extra-],[id^=listen-block-]{scroll-margin-top:calc(var(--header-height,155px) + 20px)}
.kz,.ru{white-space:pre-line}section[id]{scroll-margin-top:calc(var(--header-height,155px) + 20px)}

.color-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.color-card{text-align:center;font-size:14px;line-height:1.5}.color-card .ru{font-size:12px;border:0;padding:0;margin:6px 0}.swatch{height:64px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px}.swatch-0{background:#222831}.swatch-1{background:#fff}.swatch-2{background:#f3cc37}.swatch-3{background:#258653}.swatch-4{background:#8b5d3d}.swatch-5{background:#be3d3d}.swatch-6{background:#e9a0bb}.swatch-7{background:#858d96}.swatch-8{background:#246bba}.swatch-9{background:#8553a0}@media(max-width:600px){.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.swatch{height:55px}}
