:root{--bg:#f4f7fb;--surface:rgba(255,255,255,.88);--surface-solid:#ffffff;--text:#142033;--muted:#6b7280;--border:#e6eaf0;--brand:#182235;--brand-2:#2b3a55;--success:#0f9f6e;--danger:#d64545;--shadow:0 10px 30px rgba(21,32,51,.08);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0;min-height:100%}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 10% 0,rgba(60,80,120,.09),transparent 34rem),radial-gradient(circle at 100% 20%,rgba(60,80,120,.07),transparent 28rem),var(--bg)}a{color:inherit;text-decoration:none}.container{max-width:1220px;margin:0 auto;padding:34px 28px}.card{background:var(--surface);border:1px solid rgba(230,234,240,.95);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(21,32,51,.13);border-color:#d6dde9}.grid{display:grid;grid-gap:20px;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.button,button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:white;padding:11px 17px;border-radius:11px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;box-shadow:0 7px 16px rgba(24,34,53,.18);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,opacity .18s ease}.button:hover,button:hover{transform:translateY(-2px) scale(1.015);box-shadow:0 12px 24px rgba(24,34,53,.22);filter:brightness(1.07)}.button:active,button:active{transform:translateY(0) scale(.98)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button-secondary{background:#eef2f7;color:var(--text);box-shadow:none}.button-danger{background:linear-gradient(135deg,#cf3f3f,#a92323)}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cfd6e1;border-radius:11px;margin-top:7px;background:rgba(255,255,255,.96);color:var(--text);outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}input:focus,select:focus,textarea:focus{border-color:#7484a3;box-shadow:0 0 0 4px rgba(72,91,126,.1)}label{display:block;margin:15px 0;font-weight:600;font-size:14px}h1{margin-top:0;letter-spacing:-.035em;font-size:clamp(30px,4vw,44px)}h2{letter-spacing:-.02em}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef2f7;font-size:12px;font-weight:700}.badge-success{background:#e5f7f0;color:#087b55}.progress-track{height:9px;background:#e8ecf2;border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#1a263d,#526888);border-radius:inherit;transition:width .45s ease}.page-enter{animation:pageEnter .35s ease both}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pulse-soft{animation:pulseSoft 2.4s ease-in-out infinite}@keyframes pulseSoft{0%,to{box-shadow:0 7px 16px rgba(24,34,53,.18)}50%{box-shadow:0 12px 28px rgba(24,34,53,.3)}}.sidebar-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;transition:background .18s ease,transform .18s ease}.sidebar-link:hover{background:rgba(255,255,255,.08);transform:translateX(3px)}.lesson-shell{display:grid;grid-template-columns:minmax(250px,310px) minmax(0,1fr);grid-gap:24px;gap:24px}.lesson-sidebar{position:-webkit-sticky;position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow:auto}.lesson-nav-item{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:10px;transition:background .18s ease,transform .18s ease}.lesson-nav-item:hover{background:#f2f5f9;transform:translateX(3px)}.lesson-nav-item.active{background:#e9eef6;font-weight:700}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.stat{font-size:31px;font-weight:800;letter-spacing:-.04em}@media (max-width:900px){.grid-2,.grid-3,.lesson-shell{grid-template-columns:1fr}.lesson-sidebar{position:static;max-height:none}.container{padding:24px 16px}}