:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0a0a0a;--surface: rgba(255, 255, 255, .04);--surface-hover: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .1);--text: #fafafa;--text-muted: rgba(255, 255, 255, .55);--accent: #6366f1;--accent-hover: #818cf8;--green: #4ade80}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.app-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.header-content h1{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.25rem}.subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:.75rem}.progress-bar{width:200px;height:6px;background:var(--surface);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.add-btn{background:var(--accent);color:#fff;border:none;padding:.6rem 1.25rem;border-radius:.5rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.add-btn:hover{background:var(--accent-hover)}.filters{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.search-input{width:100%;padding:.65rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;color:var(--text);font-size:.9rem;outline:none;transition:border-color .2s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-muted)}.category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);padding:.35rem .85rem;border-radius:2rem;font-size:.8rem;cursor:pointer;transition:all .2s}.filter-btn:hover{background:var(--surface-hover);color:var(--text)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.lesson-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;cursor:pointer;transition:all .2s}.lesson-card:hover{background:var(--surface-hover);border-color:#ffffff26;transform:translateY(-2px)}.lesson-card.completed{border-color:#4ade8033}.lesson-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.category-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:#6366f126;padding:.2rem .55rem;border-radius:.25rem;font-weight:500}.difficulty-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.lesson-title{font-size:1.05rem;font-weight:600;margin-bottom:.5rem;letter-spacing:-.01em}.lesson-preview{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-bottom:1rem}.lesson-card-footer{display:flex;justify-content:space-between;align-items:center}.lesson-date{font-size:.75rem;color:var(--text-muted)}.toggle-btn{background:none;border:1px solid var(--border);color:var(--text-muted);padding:.3rem .7rem;border-radius:.35rem;font-size:.75rem;cursor:pointer;transition:all .2s}.toggle-btn:hover{border-color:var(--green);color:var(--green)}.toggle-btn.done{background:#4ade801a;border-color:#4ade804d;color:var(--green)}.toggle-btn.large{padding:.6rem 1.25rem;font-size:.9rem;margin-top:2rem}.lesson-detail,.add-lesson{max-width:700px}.back-btn{background:none;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;padding:0;margin-bottom:1.5rem;transition:color .2s}.back-btn:hover{color:var(--text)}.detail-header{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.detail-title{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;margin-bottom:1.5rem}.detail-content{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem}.detail-content p{font-size:.95rem;line-height:1.7;color:#fffc;margin-bottom:.75rem}.detail-content p:last-child{margin-bottom:0}.add-lesson h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;letter-spacing:-.02em}.lesson-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.form-group input,.form-group select,.form-group textarea{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.65rem 1rem;color:var(--text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group select{cursor:pointer}.form-group textarea{resize:vertical;min-height:150px}.submit-btn{background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s;align-self:flex-start}.submit-btn:hover{background:var(--accent-hover)}.empty-state{grid-column:1 / -1;text-align:center;padding:3rem;color:var(--text-muted)}@media(max-width:600px){.app{padding:1.25rem 1rem}.app-header{flex-direction:column}.progress-bar{width:100%}.lessons-grid{grid-template-columns:1fr}.detail-title{font-size:1.35rem}}
