:root{color-scheme:light;--bg:#f5f7fb;--surface:#fff;--text:#152033;--muted:#5e6b7d;--line:#dce3ed;--accent:#2458a6;--accent2:#163d78;--danger:#a22c2c;--ok:#216e39}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}a{color:var(--accent)}header{background:var(--surface);border-bottom:1px solid var(--line)}nav{max-width:1180px;margin:auto;padding:1rem 1.25rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}nav .brand{font-weight:800;text-decoration:none;color:var(--text);margin-right:auto}nav a,nav button{font:inherit}.nav-link{text-decoration:none}.logout{border:0;background:transparent;color:var(--accent);cursor:pointer;padding:0}main{max-width:980px;margin:0 auto;padding:2.25rem 1.25rem 4rem}.hero,.card,.markdown{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(1.25rem,3vw,2.25rem);box-shadow:0 10px 28px rgba(20,37,63,.06)}.hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;margin:.2rem 0 1rem}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-weight:750;color:var(--accent);font-size:.8rem}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.25rem 0}.card h2,.card h3{margin-top:0}.button{display:inline-block;border:0;border-radius:10px;padding:.75rem 1rem;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.button.secondary{background:#e8eef8;color:var(--accent2)}form{display:grid;gap:.9rem;max-width:520px}label{font-weight:700}input{font:inherit;padding:.75rem;border:1px solid #aeb9c8;border-radius:8px;width:100%}.notice{padding:.85rem 1rem;border-radius:9px;margin:1rem 0;background:#e9f5ec;color:var(--ok)}.error{background:#fbeaea;color:var(--danger)}table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}th,td{border:1px solid var(--line);padding:.6rem;text-align:left;vertical-align:top}pre{overflow:auto;background:#111827;color:#f9fafb;padding:1rem;border-radius:10px}.lesson-list{list-style:none;padding:0;display:grid;gap:.65rem}.lesson-list a{display:block;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:700}.graph-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.graph-columns ul{padding-left:1.2rem}@media(max-width:720px){.graph-columns{grid-template-columns:1fr}nav{align-items:flex-start}.markdown{padding:1rem}}
