:root{font-family:Inter,system-ui,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#091625;color:#edf5ff;line-height:1.6}a{color:#81ceff}header{border-bottom:1px solid #2d465f;padding:18px max(20px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}header strong{font-size:19px}nav{display:flex;gap:17px;flex-wrap:wrap}main{max-width:1120px;margin:auto;padding:42px 20px}h1{font-size:clamp(30px,5vw,46px);line-height:1.15;margin:10px 0}h2{line-height:1.25}.lead{max-width:740px;color:#b9cee1}.eyebrow{color:#69cbfa;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.13em}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:18px;margin-top:28px}.card,.panel{background:#12273d;border:1px solid #34506b;border-radius:16px;padding:23px}.card{display:flex;flex-direction:column;gap:8px}.card h2{font-size:22px;margin:0}.card p{color:#b8cee1;margin:0}.meta{font-size:13px;color:#91b3ce}.icon{font-size:32px}.btn{display:inline-block;background:#1683d9;color:#fff;border:0;border-radius:9px;padding:11px 17px;font-weight:750;text-decoration:none;cursor:pointer;margin-top:auto}.btn:hover{background:#0868b2}.btn.secondary{background:#264967}button:disabled{opacity:.55;cursor:not-allowed}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.toolbar input,.toolbar select{padding:12px;border-radius:9px;background:#12273d;color:#fff;border:1px solid #456685;min-width:200px;font:inherit}.lesson-list{display:grid;gap:10px}.lesson{width:100%;text-align:left;background:#0e2134;color:#eaf5ff;border:1px solid #34506b;border-radius:10px;padding:14px;cursor:pointer;font:inherit}.lesson[aria-current=true]{border-color:#56b8ff;background:#153653}.lesson small{display:block;color:#9abbd4}.lesson-body{margin-top:22px;font-size:17px}.lesson-body p{color:#d2e0ed}.progress{height:10px;border-radius:10px;background:#28435c;overflow:hidden;margin:12px 0}.progress>div{height:100%;background:#48c8a6}.columns{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:24px;margin-top:28px}.notice{color:#b8cee1;font-size:13px}@media(max-width:750px){.columns{grid-template-columns:1fr}}