.library-page.svelte-gj2f41{flex-direction:column;max-width:1000px;margin:0 auto;padding:60px 20px;animation:.4s svelte-gj2f41-fadeIn;display:flex}.library-header.svelte-gj2f41{text-align:center;margin-bottom:50px}.page-title.svelte-gj2f41{color:var(--text-color);letter-spacing:-.5px;margin-bottom:15px;font-size:2.5rem}.page-subtitle.svelte-gj2f41{color:var(--text-muted);margin:0;font-size:1.1rem}.controls-bar.svelte-gj2f41{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-bottom:40px;display:flex}.filter-tabs.svelte-gj2f41{background:var(--card-bg,#111);border:1px solid var(--border-color,#333);border-radius:30px;padding:4px;display:flex}.tab-btn.svelte-gj2f41{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:20px;padding:8px 20px;font-family:inherit;font-size:.95rem;transition:all .2s}.tab-btn.svelte-gj2f41:hover{color:var(--text-color)}.tab-btn.active.svelte-gj2f41{background:var(--text-color);color:var(--bg-color);font-weight:500}.search-box.svelte-gj2f41{background:var(--card-bg,#111);border:1px solid var(--border-color,#333);border-radius:30px;align-items:center;width:250px;padding:0 15px;transition:border-color .2s;display:flex}.search-box.svelte-gj2f41:focus-within{border-color:var(--text-muted)}.search-icon.svelte-gj2f41{color:var(--text-muted);margin-right:8px}.search-input.svelte-gj2f41{color:var(--text-color);background:0 0;border:none;outline:none;width:100%;padding:10px 0;font-family:inherit;font-size:.95rem}.search-input.svelte-gj2f41::placeholder{color:var(--text-muted);opacity:.6}.courses-grid.svelte-gj2f41{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px;display:grid}.course-card.svelte-gj2f41{background:var(--card-bg,#111);border:1px solid var(--border-color,#333);border-radius:12px;flex-direction:column;justify-content:space-between;padding:30px;transition:transform .2s,border-color .2s;display:flex}.course-card.svelte-gj2f41:hover{border-color:var(--text-muted);transform:translateY(-2px)}.course-title.svelte-gj2f41{color:var(--text-color);margin:0 0 10px;font-size:1.3rem;line-height:1.4}.course-desc.svelte-gj2f41{color:var(--text-muted);margin:0 0 30px;font-size:.95rem;line-height:1.5}.empty-state.svelte-gj2f41{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:50px;font-style:italic}.action-group.svelte-gj2f41{gap:10px;width:100%;display:flex}.action-btn.svelte-gj2f41{cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:12px;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.action-btn.full.svelte-gj2f41{width:100%}.action-btn.primary.svelte-gj2f41{background:var(--text-color);color:var(--bg-color);border:1px solid var(--text-color)}.action-btn.primary.svelte-gj2f41:hover{opacity:.9}.action-btn.outline.svelte-gj2f41{color:var(--text-color);border:1px solid var(--border-color);background:0 0}.action-btn.outline.svelte-gj2f41:hover{background:var(--element-bg);border-color:var(--text-muted)}.modal-overlay.svelte-gj2f41{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content.svelte-gj2f41{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;width:100%;max-width:600px;max-height:85vh;padding:30px;display:flex;position:relative}.scroll-hidden.svelte-gj2f41{-ms-overflow-style:none;scrollbar-width:none;overflow-y:auto}.scroll-hidden.svelte-gj2f41::-webkit-scrollbar{display:none}.preview-header.svelte-gj2f41{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding-bottom:20px;display:flex}.preview-header.svelte-gj2f41 h2:where(.svelte-gj2f41){color:var(--text-color);margin:0;font-size:1.5rem}.close-btn.svelte-gj2f41{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px;transition:all .2s}.close-btn.svelte-gj2f41:hover{color:var(--text-color);background:var(--card-bg)}.preview-desc.svelte-gj2f41{color:var(--text-muted);margin-bottom:30px;font-size:.95rem;line-height:1.6}.preview-syllabus.svelte-gj2f41{flex-direction:column;gap:20px;margin-bottom:30px;display:flex}.preview-module.svelte-gj2f41{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.preview-module.svelte-gj2f41 h4:where(.svelte-gj2f41){color:var(--text-color);background:var(--bg-color);border-bottom:1px solid var(--border-color);margin:0;padding:15px 20px;font-size:1rem}.preview-lessons.svelte-gj2f41{flex-direction:column;display:flex}.preview-lesson-item.svelte-gj2f41{border-bottom:1px solid var(--border-color);color:var(--text-muted);align-items:center;gap:12px;padding:12px 20px;font-size:.95rem;display:flex}.preview-lesson-item.svelte-gj2f41:last-child{border-bottom:none}.preview-lesson-item.empty.svelte-gj2f41{opacity:.5;font-style:italic}.lesson-icon.svelte-gj2f41{opacity:.5;align-items:center;display:flex}.preview-footer.svelte-gj2f41{margin-top:auto;padding-top:20px}.auth-modal.svelte-gj2f41{text-align:center;align-items:center;max-width:400px;padding:40px 30px}.auth-icon.svelte-gj2f41{color:var(--text-muted);margin-bottom:20px}.auth-modal.svelte-gj2f41 h2:where(.svelte-gj2f41){margin:0 0 10px;font-size:1.4rem}.auth-modal.svelte-gj2f41 p:where(.svelte-gj2f41){color:var(--text-muted);margin-bottom:30px;font-size:.95rem;line-height:1.5}.google-auth-btn.svelte-gj2f41{color:#000;cursor:pointer;background:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:15px;padding:12px;font-family:inherit;font-size:1rem;font-weight:500;transition:opacity .2s;display:flex}.google-auth-btn.svelte-gj2f41:hover{opacity:.9}.cancel-auth-btn.svelte-gj2f41{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.9rem;text-decoration:underline;transition:color .2s}.cancel-auth-btn.svelte-gj2f41:hover{color:var(--text-color)}@keyframes svelte-gj2f41-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
