.index-module__7EFJYW__page{max-width:1200px;margin:0 auto;padding:24px 16px 48px}.index-module__7EFJYW__pageHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.index-module__7EFJYW__headerBlock{flex:300px}.index-module__7EFJYW__headerTitle{align-items:baseline;gap:10px;display:flex}.index-module__7EFJYW__headerTitle h2{margin:0}.index-module__7EFJYW__courseCount{color:var(--fgColor-muted);font-size:14px}.index-module__7EFJYW__pageSubtitle{color:var(--fgColor-muted);margin:4px 0 16px;font-size:15px}.index-module__7EFJYW__searchWrapper{max-width:420px;margin-bottom:12px}.index-module__7EFJYW__searchInput{width:100%}.index-module__7EFJYW__tagFilters{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.index-module__7EFJYW__tagBtn{border:1px solid var(--borderColor-default);background:var(--bgColor-default);color:var(--fgColor-muted);cursor:pointer;border-radius:20px;padding:4px 12px;font-size:13px;transition:all .15s}.index-module__7EFJYW__tagBtn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.index-module__7EFJYW__tagBtnActive{background:rgba(var(--brand-rgb-primary),.12);border-color:var(--brand-primary);color:var(--brand-primary)}.index-module__7EFJYW__headerRight{flex-shrink:0;align-items:center;gap:12px;display:flex}.index-module__7EFJYW__btnPrimary{background:var(--brand-primary);color:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.index-module__7EFJYW__btnPrimary:hover{opacity:.85}.index-module__7EFJYW__loadingState{color:var(--fgColor-muted);flex-direction:column;align-items:center;gap:12px;padding:60px 0;display:flex}.index-module__7EFJYW__emptyState{color:var(--fgColor-muted);text-align:center;flex-direction:column;align-items:center;padding:60px 0;display:flex}.index-module__7EFJYW__emptyIcon{opacity:.4;margin-bottom:12px}.index-module__7EFJYW__emptyTitle{color:var(--fgColor-default);margin:0 0 4px;font-size:18px;font-weight:600}.index-module__7EFJYW__emptyDescription{margin:0;font-size:14px}.index-module__7EFJYW__courseGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.index-module__7EFJYW__courseCard{border:1px solid var(--borderColor-default);background:var(--bgColor-default);border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.index-module__7EFJYW__courseCard:hover{box-shadow:0 4px 20px rgba(var(--brand-rgb-primary),.1)}.index-module__7EFJYW__cardLink{color:inherit;text-decoration:none;display:block}.index-module__7EFJYW__cardCover{background:var(--bgColor-inset);width:100%;height:160px;overflow:hidden}.index-module__7EFJYW__coverImg{object-fit:cover}.index-module__7EFJYW__coverPlaceholder{width:100%;height:100%;color:var(--fgColor-muted);background:var(--bgColor-inset);justify-content:center;align-items:center;display:flex}.index-module__7EFJYW__cardBody{padding:14px 16px 18px}.index-module__7EFJYW__courseName{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px;font-size:16px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.index-module__7EFJYW__courseDesc{color:var(--fgColor-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:13px;display:-webkit-box;overflow:hidden}.index-module__7EFJYW__cardMeta{color:var(--fgColor-muted);align-items:center;gap:14px;margin-bottom:6px;font-size:13px;display:flex}.index-module__7EFJYW__metaItem{align-items:center;gap:4px;display:inline-flex}.index-module__7EFJYW__cardAuthor{color:var(--fgColor-muted);font-size:12px}.index-module__7EFJYW__loadMore{justify-content:center;padding:32px 0 16px;display:flex}.index-module__7EFJYW__btnOutline{border:1px solid var(--borderColor-default);color:var(--fgColor-default);cursor:pointer;background:0 0;border-radius:8px;padding:8px 24px;font-size:14px;transition:border-color .15s}.index-module__7EFJYW__btnOutline:hover{border-color:var(--brand-primary)}@media (max-width:640px){.index-module__7EFJYW__page{padding:16px 12px 32px}.index-module__7EFJYW__courseGrid{grid-template-columns:1fr;gap:16px}.index-module__7EFJYW__pageHeader{flex-direction:column}}
