:root{--bg:#0a0a0a;--surface:#151515;--surface-2:#1e1e1e;--border:#2c2c2c;--text:#f5f5f0;--muted:#a8a59a;--gold:#f8e038;--gold-deep:#e0a800;--gold-gradient:linear-gradient(180deg,#fff27a,#f8e038 45%,#e0a800);--rainbow:linear-gradient(90deg,#ff3b3b,#ff8a00,#f8e038,#2ecc71,#2e9bff,#8e44ff,#ff4fa3);--green:#2ecc71;--red:#ff5a5a;--blue:#2e9bff;--radius:14px;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.2;margin:0 0 .5em}h1{font-size:1.8rem}h2{font-size:1.3rem;margin-top:1.5em}.rainbow-bar{height:4px;background:var(--rainbow)}.topbar{gap:16px;justify-content:space-between;padding:10px 24px;border-bottom:1px solid var(--border);background:#000;flex-wrap:wrap}.topbar,.topbar .brand{display:flex;align-items:center}.topbar .brand{gap:10px}.topbar .brand img{width:48px;height:48px;border-radius:10px}.topbar nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.topbar nav a{color:var(--text);font-weight:600}.topbar nav a:hover{color:var(--gold);text-decoration:none}.who{color:var(--muted);font-size:.9rem}main.container{max-width:1120px;margin:0 auto;padding:28px 16px 64px}.gold-text{background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.muted{color:var(--muted)}.small{font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.stats{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:16px 0 8px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat .value{font-size:1.9rem;font-weight:800;color:var(--gold)}.stat .label{color:var(--muted);font-size:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold-gradient);color:#111;font-weight:800;border:0;border-radius:999px;padding:10px 20px;cursor:pointer;font-size:1rem;font-family:inherit}.btn:hover{filter:brightness(1.05);text-decoration:none}.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.small{padding:6px 14px;font-size:.85rem}.linklike{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;padding:0}.linklike:hover{color:var(--gold)}form.stack{display:grid;grid-gap:12px;gap:12px}form.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:end}label{display:grid;grid-gap:4px;gap:4px;font-size:.9rem;color:var(--muted)}input,select,textarea{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.error{color:var(--red)}.ok{color:var(--green)}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.table-wrap{overflow-x:auto}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--surface-2);border:1px solid var(--border)}.badge.done{background:rgba(46,204,113,.15);border-color:rgba(46,204,113,.5);color:var(--green)}.badge.going{background:rgba(248,224,56,.12);border-color:rgba(248,224,56,.5);color:var(--gold)}.progress{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--gold-gradient)}.player video{width:100%;max-height:70vh;background:#000;border-radius:var(--radius);display:block}.heatmap{display:flex;align-items:flex-end;gap:1px;height:120px;padding:8px 0}.heatmap>div{flex:1 1;min-width:2px;background:var(--gold);border-radius:2px 2px 0 0;opacity:.9}.heatmap-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem}.lesson-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.lesson-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;flex-wrap:wrap}.lesson-list li.active{border-color:var(--gold)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:400px;text-align:center}.login-card img{width:220px;max-width:70%;margin:0 auto 8px;display:block}.login-card form{text-align:left;margin-top:16px}details.card summary{cursor:pointer;font-weight:700}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spacer{flex:1 1}@media (max-width:640px){.topbar{padding:8px 16px}h1{font-size:1.5rem}}