*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa}.app{height:100%;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:.75rem}.header h1{font-size:2rem;font-weight:700}.back-btn{background:#fff3;border:none;color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:600}.back-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.main{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.categories-grid h2,.subcategories h2,.lessons h2{font-size:1.75rem;margin-bottom:1.5rem;color:#2d3748}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #00000012;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026;border-color:#667eea}.card h3{font-size:1.25rem;margin-bottom:.75rem;color:#2d3748}.card p{color:#718096;font-size:.95rem}.card-icon{font-size:2.5rem;margin-bottom:.75rem;line-height:1;text-align:center}.card-description{color:#4a5568;font-size:.9rem;line-height:1.5;margin-bottom:.75rem}.card-meta{color:#a0aec0;font-size:.85rem;font-weight:500}.lessons-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.lesson-item{background:#fff;padding:1.25rem 1.5rem;border-radius:10px;box-shadow:0 2px 4px #0000000d;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1rem;border-left:4px solid transparent}.lesson-item:hover{transform:translate(8px);box-shadow:0 4px 12px #0000001a;border-left-color:#667eea}.lesson-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.lesson-title{color:#2d3748;font-size:1rem;font-weight:500}.lesson-viewer{width:100%}.lesson-viewer h2{font-size:1.75rem;margin-bottom:1.5rem;color:#2d3748}.iframe-container{width:100%;height:calc(100vh - 200px);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 16px #0000001a}.iframe-container iframe{width:100%;height:100%;border:none}.main--course{padding:0;max-width:100%;flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.course-layout{display:flex;flex:1;overflow:hidden;min-height:0}.course-sidebar{width:260px;flex-shrink:0;background:#2d3748;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:1.25rem 1rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-course-name{color:#fff;font-size:.95rem;font-weight:700;line-height:1.4}.sidebar-topic-name{color:#a0aec0;font-weight:400}.sidebar-progress{color:#718096;font-size:.8rem;margin-top:.35rem}.sidebar-lessons{flex:1;overflow-y:auto;padding:.5rem 0}.sidebar-lessons::-webkit-scrollbar{width:4px}.sidebar-lessons::-webkit-scrollbar-track{background:transparent}.sidebar-lessons::-webkit-scrollbar-thumb{background:#4a5568;border-radius:2px}.sidebar-lesson-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s ease;border-left:3px solid transparent}.sidebar-lesson-item:hover{background:#ffffff0f}.sidebar-lesson-item.active{background:#667eea2e;border-left-color:#667eea}.sidebar-topic-group{border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-topic-header{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none}.sidebar-topic-header:hover{background:#ffffff0f}.sidebar-topic-num{color:#718096;font-size:.78rem;font-weight:700;width:22px;flex-shrink:0;font-variant-numeric:tabular-nums}.sidebar-topic-title{color:#e2e8f0;font-size:.9rem;font-weight:600;flex:1}.sidebar-topic-arrow{color:#718096;font-size:.75rem;transition:transform .2s ease;display:inline-block;transform:rotate(180deg)}.sidebar-topic-arrow.open{transform:rotate(0)}.sidebar-topic-lessons{padding-bottom:.25rem}.sidebar-topic-lessons .sidebar-lesson-item{padding-left:2.5rem;border-left:3px solid transparent}.sidebar-lesson-num{color:#718096;font-size:.78rem;font-weight:600;width:22px;flex-shrink:0;font-variant-numeric:tabular-nums}.sidebar-lesson-item.active .sidebar-lesson-num{color:#667eea}.sidebar-lesson-title{color:#cbd5e0;font-size:.88rem;line-height:1.4;flex:1}.sidebar-lesson-item.active .sidebar-lesson-title{color:#fff;font-weight:500}.sidebar-chevron{color:#4a5568;font-size:1.1rem;flex-shrink:0;transition:color .15s}.sidebar-lesson-item.active .sidebar-chevron,.sidebar-lesson-item:hover .sidebar-chevron{color:#a0aec0}.course-content{flex:1;overflow:hidden;background:#fff}.course-content iframe{width:100%;height:100%;border:none;display:block}.course-content-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#a0aec0;font-size:1.1rem}@media (max-width: 1024px){.course-sidebar{width:220px}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (max-width: 768px){.header{padding:.75rem 1rem}.header h1{font-size:1.2rem}.header-left{display:flex;align-items:center;gap:.6rem}.hamburger-btn{display:flex;background:#fff3;border:none;color:#fff;width:38px;height:38px;border-radius:8px;font-size:1.1rem;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.back-btn{padding:.5rem 1rem;font-size:.9rem}.main{padding:1rem}.main--course{padding:0}.categories-grid h2{font-size:1.4rem}.grid{grid-template-columns:1fr;gap:1rem}.card{padding:1.25rem}.course-layout{position:relative;flex:1;overflow:hidden}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10}.course-sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;z-index:11;transform:translate(-100%);transition:transform .28s ease;box-shadow:4px 0 20px #0000004d}.course-sidebar.sidebar-open{transform:translate(0)}.course-content{width:100%;height:100%;overflow:hidden}.course-content iframe{width:100%;height:100%;border:none;display:block}}@media (min-width: 769px){.hamburger-btn,.sidebar-overlay{display:none}.course-sidebar{transform:none!important}}
