:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;display:block}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #f6f8fc;--panel: #ffffff;--panel2: #f1f5ff;--text: #0f172a;--muted: #52607a;--border: #e3e8f5;--link: #2563eb;--accent: #4f46e5;--accent2: #14b8a6;--danger: #dc2626;--codebg: #0b1020;--shadow: 0 10px 30px rgba(15, 23, 42, .08);--shadow2: 0 6px 18px rgba(15, 23, 42, .1)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}.appShell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.appBody{display:grid;grid-template-columns:280px 1fr;min-height:0}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:18px 14px;overflow:auto}.sidebar__brand{padding:10px 10px 16px;border-bottom:1px solid var(--border);margin-bottom:14px}.sidebar__title{font-weight:900;font-size:18px;letter-spacing:.2px}.sidebar__subtitle{color:var(--muted);font-size:12px;margin-top:2px}.sidebar__section{margin:14px 0}.sidebar__sectionTitle{color:var(--muted);font-size:11px;margin:6px 10px;text-transform:uppercase;letter-spacing:.08em}.sidebar__links{display:grid;gap:6px;padding:0 6px}.sidebar__link{display:block;padding:10px;border-radius:12px;text-decoration:none;color:var(--text);border:1px solid transparent;background:transparent means}.sidebar__link:hover{border-color:var(--border);background:var(--panel2)}.sidebar__link.active{border-color:#4f46e538;background:#4f46e514}.main{padding:22px;overflow:visible;min-width:0}.page__header{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:18px}.page__title{margin:0;font-size:28px;letter-spacing:-.02em}.page__meta{color:var(--muted);font-size:13px}.md{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.md h1,.md h2,.md h3{margin-top:18px;margin-bottom:10px;letter-spacing:-.01em}.md p,.md li{color:var(--text);line-height:1.65}.md a{color:var(--link);text-decoration:none;font-weight:600}.md a:hover{text-decoration:underline}.md ul{padding-left:18px}.md pre{background:var(--codebg);color:#fff;font-weight:700;border:1px solid rgba(227,232,245,.35);border-radius:14px;padding:14px;overflow:auto;box-shadow:var(--shadow2)}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px}.md :not(pre)>code{background:#2563eb1a;border:1px solid rgba(37,99,235,.18);padding:2px 6px;border-radius:8px}.authPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,rgba(79,70,229,.06),rgba(20,184,166,.05),transparent)}.authCard{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.authForm{display:grid;gap:12px;margin-top:12px}.authForm label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.authForm input,.authForm select{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--text);outline:none}.authForm input:focus,.authForm select:focus{border-color:#4f46e573;box-shadow:0 0 0 4px #4f46e524}.authForm button{margin-top:6px;padding:10px 12px;border-radius:12px;border:1px solid rgba(79,70,229,.35);background:linear-gradient(135deg,#4f46e5,#2563eb);color:#fff;cursor:pointer;font-weight:700;letter-spacing:.2px}.authForm button:hover{filter:brightness(.98)}.authForm button:disabled{opacity:.6;cursor:not-allowed}.authError{border:1px solid rgba(220,38,38,.25);background:#dc262614;padding:10px 12px;border-radius:12px;color:var(--danger)}.muted{color:var(--muted)}.topnav{position:sticky;top:0;z-index:999;width:100vw;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--border);box-shadow:0 1px 2px #0f172a0f}.topnav__left{display:flex;align-items:center;gap:12px}.topnav__brand{font-weight:900;letter-spacing:.2px}.topnav__link{text-decoration:none;color:var(--text);border:1px solid var(--border);background:var(--panel2);padding:8px 10px;border-radius:12px}.topnav__link:hover{border-color:#4f46e538;background:#4f46e514}.topnav__right{display:flex;align-items:center;gap:12px}.topnav__user{text-align:right;line-height:1.2}.topnav__userLabel{font-size:11px;color:var(--muted)}.topnav__userValue{font-size:13px;font-weight:700}.topnav__btn{padding:8px 10px;border-radius:12px;border:1px solid rgba(79,70,229,.28);background:#4f46e51a;color:var(--text);cursor:pointer;font-weight:700}.topnav__btn:hover{background:#4f46e524}@media(max-width:900px){.appBody{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.main{padding:16px}.topnav__user{display:none}}.lesson h2{margin:0 0 6px;font-size:20px}.lesson__card{margin-top:14px}.lesson__card pre{margin:10px 0 0}.teacher{max-width:1100px}.teacher__header{margin-bottom:14px}.teacher__title{margin:0;font-size:28px;letter-spacing:-.02em}.teacher__subtitle{color:var(--muted);margin-top:4px;font-size:13px}.teacher__shell{display:grid;grid-template-columns:220px 1fr;gap:14px}.teacher__menu{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:10px;box-shadow:var(--shadow);height:fit-content}.teacher__tab{width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--text);font-weight:700}.teacher__tab:hover{background:var(--panel2);border-color:var(--border)}.teacher__tab.active{background:#4f46e51a;border-color:#4f46e538}.teacher__content{min-width:0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.panel__title{margin:0 0 6px;font-size:18px}.panel__muted{color:var(--muted);margin:0 0 14px;font-size:13px}.panel__result{margin-top:14px;background:var(--panel2);border:1px solid var(--border);border-radius:14px;padding:12px}.panel__resultTitle{font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:700}.panel__resultValue{font-size:13px;word-break:break-all;color:var(--text)}.form{display:grid;gap:12px}.form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.form input,.form select,.form textarea{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--text);outline:none;font:inherit}.form textarea{resize:vertical}.form input:focus,.form select:focus,.form textarea:focus{border-color:#4f46e573;box-shadow:0 0 0 4px #4f46e524}.form button{padding:10px 12px;border-radius:12px;border:1px solid rgba(79,70,229,.35);background:linear-gradient(135deg,#4f46e5,#2563eb);color:#fff;cursor:pointer;font-weight:800}.form button:disabled{opacity:.6;cursor:not-allowed}.form__grid{display:grid;grid-template-columns:1fr 1fr 160px;gap:12px}.panel__split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel__col{min-width:0}.list{display:grid;gap:8px}.list__item{text-align:left;width:100%;background:var(--panel2);border:1px solid var(--border);border-radius:14px;padding:10px 12px;cursor:pointer}.list__item:hover{border-color:#4f46e538;background:#4f46e514}.list__item.active{border-color:#4f46e559;background:#4f46e51f}.list__primary{font-weight:800;color:var(--text)}.list__secondary{margin-top:3px;font-size:12px;color:var(--muted)}.details__row{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.details__row:last-child{border-bottom:none}.details__label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.details__value{color:var(--text);font-weight:700}.alert{border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700}.alert--danger{border:1px solid rgba(220,38,38,.25);background:#dc262614;color:var(--danger)}.alert--ok{border:1px solid rgba(20,184,166,.25);background:#14b8a61a;color:#0f766e}@media(max-width:900px){.teacher__shell,.form__grid,.panel__split{grid-template-columns:1fr}}.lesson__preview{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.lesson__preview img{max-width:100%;height:auto;max-height:420px;object-fit:contain;display:block}.lessonContent{display:grid;gap:28px}.lessonSection{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.lessonSection h2{margin-top:0}.lessonSection code{background:var(--panel2);padding:2px 6px;border-radius:6px}
