*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0b0b;--surface:#141414;--surface2:#1a1a1a;--surface3:#222;--border:#262626;--border2:#333;--text:#efefed;--text-muted:#888;--text-dim:#4a4a4a;--accent:#d4ff00;--accent-dim:rgba(212,255,0,.1);--accent-border:rgba(212,255,0,.3);--red:#f44;--red-dim:rgba(255,68,68,.08);--green:#0c6;--green-dim:rgba(0,204,102,.08);--blue:#48f;--blue-dim:rgba(68,136,255,.08);--orange:#f84;--orange-dim:rgba(255,136,68,.08);--purple:#a6f;--sidebar-w:220px}body,html{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer}button,input,select,textarea{border:none;background:none;color:inherit;font:inherit}input,select,textarea{outline:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2)}::selection{background:var(--accent);color:#000}.tag{display:inline-flex;align-items:center;padding:2px 7px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border2);color:var(--text-muted);white-space:nowrap}.tag.tofu{border-color:rgba(68,136,255,.3);color:var(--blue);background:var(--blue-dim)}.tag.mofu{border-color:rgba(255,136,68,.3);color:var(--orange);background:var(--orange-dim)}.tag.bofu{border-color:rgba(0,204,102,.3);color:var(--green);background:var(--green-dim)}.tag.accent{border-color:var(--accent-border);color:var(--accent);background:var(--accent-dim)}.tag.live{border-color:rgba(0,204,102,.3);color:var(--green);background:var(--green-dim)}.tag.testing{border-color:rgba(68,136,255,.3);color:var(--blue);background:var(--blue-dim)}.tag.drafting{border-color:rgba(255,136,68,.3);color:var(--orange);background:var(--orange-dim)}.tag.idea{border-color:var(--border2);color:var(--text-muted)}.tag.killed{border-color:var(--border);color:var(--text-dim)}.rec-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-dim)}.lesson-html{font-size:14px;line-height:1.85;color:var(--text)}.lesson-html p{margin-bottom:12px}.lesson-html h1,.lesson-html h2,.lesson-html h3,.lesson-html h4{margin:20px 0 8px;font-weight:700;color:var(--text)}.lesson-html h1{font-size:20px}.lesson-html h2{font-size:17px}.lesson-html h3{font-size:15px}.lesson-html ol,.lesson-html ul{padding-left:24px;margin-bottom:12px}.lesson-html li{margin-bottom:4px}.lesson-html img{max-width:100%;border-radius:4px;margin:12px 0;display:block;cursor:zoom-in;border:1px solid var(--border)}.lesson-html table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:13px}.lesson-html td,.lesson-html th{border:1px solid var(--border2);padding:8px 12px;text-align:left}.lesson-html th{background:var(--surface2);font-weight:700}.lesson-html tr:nth-child(2n) td{background:var(--surface)}.lesson-html a{color:var(--accent);text-decoration:underline}.lesson-html b,.lesson-html strong{font-weight:700}.lesson-html em,.lesson-html i{font-style:italic}.lesson-html blockquote{border-left:3px solid var(--border2);padding-left:16px;color:var(--text-muted);margin:12px 0}.lesson-html code,.lesson-html pre{font-family:SF Mono,Fira Code,monospace;font-size:12px;background:var(--surface2);padding:2px 6px;border-radius:3px}.lesson-html pre{padding:12px 16px;overflow-x:auto;margin-bottom:12px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:SF Mono,Fira Code,monospace}.inp{width:100%;padding:8px 12px;background:var(--surface);border:1px solid var(--border2);color:var(--text);font-size:13px;transition:border-color .1s}.inp:focus{border-color:var(--accent)}.inp::placeholder{color:var(--text-dim)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:all .1s;border:none}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover{background:#c8f000}.btn-ghost{background:none;color:var(--text-muted);border:1px solid var(--border2)}.btn-ghost:hover{border-color:var(--border2);color:var(--text);background:var(--surface2)}.btn:disabled{opacity:.35;cursor:not-allowed}