
:root{--bg:#f4f7fb;--card:#fff;--text:#182033;--muted:#69748b;--primary:#5448d7;--primary2:#7c3aed;--green:#149a82;--red:#b42318;--line:#e4e9f2;--code:#111827;--shadow:0 14px 36px rgba(28,38,64,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}a{color:var(--primary)}.container{width:min(1080px,calc(100% - 30px));margin:auto}
.hero{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;padding:48px 0}.hero h1{font-size:clamp(2.4rem,6vw,4.3rem);margin:0 0 8px;letter-spacing:-.04em}.hero p{margin:0;opacity:.94}
.topbar{background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar .container{min-height:58px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.right{margin-left:auto}
main{padding:30px 0 70px}.card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:24px;margin-bottom:20px}.auth-card{max-width:540px;margin:55px auto}
input[type=text],input[type=password]{width:100%;padding:13px;border:1px solid #ccd4e1;border-radius:10px;font-size:1rem;margin:5px 0 14px}
button,.btn{border:0;border-radius:10px;background:var(--primary);color:#fff;padding:11px 15px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}.btn.secondary{background:#eceafa;color:#463dbb}.btn.danger{background:var(--red)}
.lesson{border-left:6px solid transparent}.lesson.done{border-left-color:var(--green);opacity:.84}.lesson-head{display:flex;gap:14px;align-items:center}.no{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#eceafa;color:#493fc4;font-weight:900}.lesson h2{margin:0}.muted{color:var(--muted)}
pre{background:var(--code);color:#e8edf6;padding:17px;border-radius:13px;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.tasks{background:#effaf7;border:1px solid #cdece4;border-radius:12px;padding:13px 16px;margin:16px 0}.done-btn.active{background:var(--green)}.progress{font-weight:900;color:var(--green)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{background:#f8fafc}.quiz label{display:block;padding:5px 0}.notice{background:#fff8e8;border:1px solid #f2dda7;padding:12px 14px;border-radius:11px}.error{background:#fff0f0;border:1px solid #efc1c1;color:#8a1717;padding:12px 14px;border-radius:11px}.actions{display:flex;gap:10px;flex-wrap:wrap}.inline{display:inline}.small{font-size:.9rem}
@media(max-width:700px){.grid2{grid-template-columns:1fr}.card{padding:18px}table{font-size:.88rem}.topbar .right{margin-left:0}}
