:root{--bg:#0e0d0b;--panel:#171512;--panel2:#1f1c17;--gold:#d4a94e;--gold2:#f0cd82;--text:#f2ede3;--muted:#b8ae9c;--line:#332e25;--ok:#7fc97f;--bad:#e08a8a;--radius:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55}
button{font:inherit;cursor:pointer}.topbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:#12100d;border-bottom:1px solid var(--line);padding:10px 16px}
.brand{display:flex;gap:10px;align-items:center}.brand .mark{width:40px;height:40px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-weight:800;font-size:20px}
.brand small{display:block;color:var(--muted)}nav#mainnav{display:flex;flex-wrap:wrap;gap:6px}
nav#mainnav button,.btn{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.btn.gold{background:var(--gold);color:#171307;border-color:var(--gold);font-weight:700}.btn:disabled{opacity:.5}
main{max-width:1080px;margin:0 auto;padding:24px 16px 48px}footer{max-width:1080px;margin:0 auto;padding:16px;color:var(--muted);font-size:14px;border-top:1px solid var(--line)}
.hero{padding:32px 0 8px}.hero h1{font-size:clamp(30px,5vw,46px);line-height:1.12;margin:0 0 12px}.hero h1 em{color:var(--gold);font-style:normal}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.tag{display:inline-block;border:1px solid var(--gold);color:var(--gold2);border-radius:999px;padding:2px 10px;font-size:12px;margin:2px 4px 2px 0}
.bar{height:10px;background:#2a261e;border-radius:99px;overflow:hidden}.bar>div{height:100%;background:var(--gold)}
input,select,textarea{width:100%;background:#100e0b;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px;margin:4px 0 12px}
label{font-weight:600;display:block;margin-top:8px}.checks label{font-weight:400;display:flex;gap:8px;align-items:center}.checks input{width:auto;margin:0}
.muted{color:var(--muted)}.ok{color:var(--ok)}.bad{color:var(--bad)}.xp{color:var(--gold2);font-weight:700}
.lessonbody{white-space:pre-wrap}.quizq{margin:16px 0}.quizq label{font-weight:400;display:block}
table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.linklike{background:none;border:none;color:var(--gold2);text-decoration:underline;padding:0}
.chatlog{display:flex;flex-direction:column;gap:10px}.msg{border:1px solid var(--line);border-radius:12px;padding:12px}.msg.mentor{background:var(--panel2)}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media(max-width:640px){main{padding:16px 12px 40px}}
