@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}img,video{max-width:100%;display:block}button,input,textarea,select{font-family:inherit}:root{--brand: #5046E5;--brand-hover: #4338CA;--brand-light: #818CF8;--brand-soft: rgba(80, 70, 229, .08);--brand-gradient: linear-gradient(135deg, #5046E5 0%, #9333EA 100%);--brand-gradient-soft: linear-gradient(135deg, rgba(80,70,229,.1) 0%, rgba(147,51,234,.08) 100%);--bg: #F0F2F8;--surface: #FFFFFF;--surface-2: #F8FAFC;--surface-3: #F1F5F9;--border-strong:rgba(0, 0, 0, .13);--text-1: #111827;--text-2: #6B7280;--text-3: #9CA3AF;--success: #059669;--success-bg: #ECFDF5;--success-border: #D1FAE5;--warning: #D97706;--warning-bg: #FFFBEB;--warning-border: #FEF3C7;--error: #DC2626;--error-bg: #FEF2F2;--error-border: #FEE2E2;--info: #2563EB;--info-bg: #EFF6FF;--info-border: #DBEAFE;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 8px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .1), 0 8px 16px rgba(0, 0, 0, .06);--shadow-brand: 0 4px 16px rgba(80, 70, 229, .28);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-2xl: 24px;--sidebar-width: 244px;--topbar-height: 62px;--bottom-nav-height: 62px;--primary: var(--brand);--primary-light: var(--brand-light);--primary-dark: var(--brand-hover);--accent: #F59E0B;--accent-light: #FDE68A;--accent-dark: #D97706;--bg-card: var(--surface);--text: var(--text-1);--text-secondary: var(--text-2);--border: rgba(0, 0, 0, .07);--radius: var(--r-md);--shadow: var(--shadow-sm);--shadow-card: var(--shadow-md);--danger: var(--error);color-scheme:light}[data-theme=dark]{--bg: #0D1117;--surface: #161B22;--surface-2: #1C2128;--surface-3: #21262D;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text-1: #E6EDF3;--text-2: #8B949E;--text-3: #6E7781;--brand: #818CF8;--brand-hover: #6366F1;--brand-light: #A5B4FC;--brand-soft: rgba(129, 140, 248, .1);--success-bg: rgba(5, 150, 105, .12);--success-border: rgba(5, 150, 105, .22);--warning-bg: rgba(217, 119, 6, .12);--warning-border: rgba(217, 119, 6, .22);--error-bg: rgba(220, 38, 38, .12);--error-border: rgba(220, 38, 38, .22);--info-bg: rgba(37, 99, 235, .12);--info-border: rgba(37, 99, 235, .22);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .5), 0 4px 8px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .6), 0 8px 16px rgba(0, 0, 0, .4);--primary: var(--brand);--primary-light: var(--brand-light);--primary-dark: var(--brand-hover);--bg-card: var(--surface);--text: var(--text-1);--text-secondary: var(--text-2);--danger: #F87171;color-scheme:dark}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text-1);line-height:1.6;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .25s ease,color .25s ease}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes typing{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes countUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.app-layout{display:flex;min-height:100vh}.topbar{display:none;position:fixed;top:0;left:0;right:0;height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--border);z-index:80;padding:0 16px;align-items:center;gap:12px;box-shadow:var(--shadow-xs)}.topbar-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-1);cursor:pointer;flex-shrink:0;transition:background .15s}.topbar-menu-btn:hover{background:var(--surface-3)}.topbar-logo{font-size:1.1rem;font-weight:800;background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1}.topbar-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:95;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.open{opacity:1;visibility:visible}.sidebar-wrapper{position:fixed;top:0;left:0;height:100vh;z-index:100;transition:transform .28s cubic-bezier(.4,0,.2,1)}.sidebar{width:var(--sidebar-width);height:100%;background:#111827;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:20px 12px 16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}[data-theme=dark] .sidebar{background:#0d1117;border-right:1px solid rgba(255,255,255,.06)}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar-close{display:none;position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;border-radius:var(--r-sm);background:#ffffff1a;color:#e5e7eb;cursor:pointer;align-items:center;justify-content:center;transition:background .15s}.sidebar-close:hover{background:#ffffff2e}.sidebar-header{padding:4px 8px 20px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:16px}.sidebar-logo{display:flex;align-items:center;gap:10px;margin-bottom:2px}.sidebar-logo-icon{width:36px;height:36px;background:var(--brand-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;box-shadow:var(--shadow-brand)}.sidebar-logo-text{font-size:1.15rem;font-weight:800;color:#f9fafb;letter-spacing:-.3px}.sidebar-user{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px;border-radius:var(--r-sm);background:#ffffff0d}.sidebar-user-avatar{width:34px;height:34px;background:var(--brand-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-name{font-size:.82rem;font-weight:600;color:#f3f4f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.sidebar-user-role{font-size:.7rem;color:#9ca3af;text-transform:capitalize}.sidebar-controls{display:flex;gap:8px;align-items:center;margin-top:12px}.sidebar-section-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4b5563;padding:0 10px;margin:8px 0 4px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);color:#9ca3af;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .15s ease;cursor:pointer;border:none;background:none;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-link:hover{background:#ffffff12;color:#e5e7eb;text-decoration:none}.sidebar-link.active{background:#5046e533;color:#a5b4fc}[data-theme=dark] .sidebar-link.active{background:#818cf826;color:#c7d2fe}.sidebar-link svg{font-size:1rem;flex-shrink:0}.sidebar-link-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0;font-size:1rem;transition:background .15s}.sidebar-link.active .sidebar-link-icon{background:#a5b4fc26}.sidebar-footer{border-top:1px solid rgba(255,255,255,.07);padding-top:12px;margin-top:auto;padding-left:0;padding-right:0}.sidebar-badge-kz{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;margin-bottom:8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.2);border-radius:99px;font-size:.68rem;color:#fcd34d;font-weight:600;width:100%;justify-content:center}.theme-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#9ca3af;cursor:pointer;font-size:.95rem;transition:all .15s}.theme-toggle:hover{background:#ffffff1f;color:#e5e7eb}.sidebar .lang-select{background:#ffffff0f;border-color:#ffffff1a;color:#9ca3af;font-size:.75rem;padding:5px 8px;border-radius:6px}.main-wrapper{margin-left:var(--sidebar-width);flex:1;display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:32px 36px;max-width:1280px;width:100%;animation:fadeSlideUp .3s ease}.page-heading{margin-bottom:28px}.page-heading h1{font-size:1.6rem;font-weight:700;color:var(--text-1);letter-spacing:-.3px;line-height:1.2}.page-heading p{font-size:.9rem;color:var(--text-2);margin-top:6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,border-color .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-header{font-size:1rem;font-weight:600;color:var(--text-1);margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.card-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:all .2s ease;animation:countUp .4s ease both}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand-gradient);border-radius:var(--r-lg) var(--r-lg) 0 0}.stat-card .label{font-size:.72rem;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.stat-card .value{font-size:1.9rem;font-weight:800;color:var(--text-1);letter-spacing:-.5px;line-height:1;margin-bottom:6px}.stat-card .sub{font-size:.78rem;color:var(--text-2);display:flex;align-items:center;gap:4px}.stat-card .stat-icon{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:var(--brand-soft);color:var(--brand)}.stat-card.success:after{background:linear-gradient(90deg,#059669,#34d399)}.stat-card.warning:after{background:linear-gradient(90deg,#d97706,#fbbf24)}.stat-card.error:after{background:linear-gradient(90deg,#dc2626,#f87171)}.stat-card.purple:after{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.stat-card.success .stat-icon{background:#05966914;color:var(--success)}.stat-card.warning .stat-icon{background:#d9770614;color:var(--warning)}.stat-card.error .stat-icon{background:#dc262614;color:var(--error)}.stat-card.purple .stat-icon{background:#7c3aed14;color:#7c3aed}.dashboard-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-card{cursor:pointer;display:block;text-decoration:none;color:inherit;transition:all .2s ease}.dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);text-decoration:none}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--r-sm);font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap;line-height:1.4}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:0 2px 8px #5046e538}.btn-primary:hover{box-shadow:var(--shadow-brand);filter:brightness(1.05)}.btn-secondary{background:var(--surface);color:var(--text-1);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn-success{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}.btn-accent{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--text-1)}.btn-sm{padding:6px 12px;font-size:.78rem}.btn-lg{padding:12px 24px;font-size:.95rem}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--r-sm);justify-content:center}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--text-1);margin-bottom:7px}.form-input{width:100%;padding:10px 14px;border:1.5px solid var(--border-strong);border-radius:var(--r-sm);font-size:.9rem;background:var(--surface);color:var(--text-1);transition:border-color .15s,box-shadow .15s;outline:none}.form-input::placeholder{color:var(--text-3)}.form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%236B7280'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}textarea.form-input{resize:vertical;min-height:100px;line-height:1.6}.table-wrap{overflow-x:auto;border-radius:var(--r-md)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);font-size:.85rem}th{background:var(--surface-2);font-weight:700;color:var(--text-3);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;position:sticky;top:0;z-index:1}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-2)}[data-theme=dark] tr:hover td{background:var(--surface-3)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:.72rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-danger{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.badge-primary{background:var(--brand-soft);color:var(--brand);border:1px solid rgba(80,70,229,.18)}.badge-accent{background:#f59e0b1a;color:var(--warning);border:1px solid rgba(245,158,11,.2)}.badge-neutral,.badge-secondary{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border-strong)}.progress-bar{width:100%;height:8px;background:var(--surface-3);border-radius:99px;overflow:hidden}.progress-bar .fill{height:100%;background:var(--brand-gradient);border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-bar.thin{height:5px}.progress-bar.thick{height:12px}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--surface);border-radius:var(--r-xl);padding:32px;max-width:580px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--border);animation:scaleIn .2s cubic-bezier(.4,0,.2,1)}.modal h2{font-size:1.2rem;font-weight:700;margin-bottom:20px;color:var(--text-1)}.empty-state{text-align:center;padding:56px 24px;color:var(--text-2)}.empty-state .icon{font-size:2.8rem;margin-bottom:14px;opacity:.6}.empty-state p{font-size:.9rem}.loading{display:flex;align-items:center;justify-content:center;padding:64px}.spinner{width:32px;height:32px;border:3px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .65s linear infinite}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:600px 100%;animation:shimmer 1.4s infinite linear;border-radius:var(--r-sm)}.skeleton-text{height:14px;border-radius:4px}.skeleton-title{height:22px;border-radius:6px}.skeleton-card{height:110px;border-radius:var(--r-lg)}.skeleton-circle{border-radius:50%}.auth-page{display:flex;min-height:100vh;background:var(--bg)}.auth-left{flex:1;background:#111827;background-image:var(--brand-gradient);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 48px;position:relative;overflow:hidden}.auth-left:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(129,140,248,.25) 0%,transparent 60%)}.auth-left-content{position:relative;z-index:1;color:#fff;max-width:420px}.auth-left h2{font-size:2rem;font-weight:800;line-height:1.2;margin-top:24px;margin-bottom:16px}.auth-left p{font-size:1rem;opacity:.8;line-height:1.7}.auth-left-logo{display:flex;align-items:center;gap:12px}.auth-left-logo-icon{width:52px;height:52px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem}.auth-left-logo-text{font-size:1.5rem;font-weight:800;color:#fff}.auth-features{display:flex;flex-direction:column;gap:14px;margin-top:40px}.auth-feature-item{display:flex;align-items:center;gap:12px;font-size:.9rem;opacity:.9}.auth-feature-icon{width:32px;height:32px;background:#ffffff26;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.auth-right{width:480px;display:flex;align-items:center;justify-content:center;padding:40px 48px;background:var(--surface)}.auth-card{width:100%;max-width:400px;animation:fadeIn .4s ease}.auth-card-header{margin-bottom:32px}.auth-card h1{font-size:1.65rem;font-weight:800;color:var(--text-1);letter-spacing:-.4px;margin-bottom:6px}.auth-card .subtitle{color:var(--text-2);font-size:.9rem;line-height:1.5}.auth-logo,.auth-logo-icon,.auth-logo-text{display:none}.auth-kz-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#f59e0b14;border:1px solid rgba(245,158,11,.18);border-radius:99px;font-size:.7rem;font-weight:600;color:var(--warning);margin-bottom:20px}.grades-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px;margin-top:16px}.grade-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.grade-card:hover:not(.locked){transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--brand)}.grade-card.current{border-color:var(--brand);background:var(--brand-gradient-soft)}.grade-card.unlocked{border-color:#05966959}.grade-card.locked{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.grade-card.final{border-color:#f59e0b66;background:linear-gradient(135deg,#f59e0b0f,#d977060a)}.grade-card .grade-number{font-size:2.2rem;font-weight:900;color:var(--brand);letter-spacing:-1px}.grade-card.locked .grade-number{color:var(--text-3)}.grade-card.final .grade-number{color:var(--warning)}.grade-card .grade-label{font-size:.78rem;color:var(--text-2);font-weight:500}.grade-card .grade-icon{font-size:1.4rem}.topics-section{margin-bottom:28px}.topic-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-2);border-radius:var(--r-sm);margin-bottom:8px;font-weight:600;color:var(--text-1);font-size:.9rem;border-left:3px solid var(--brand)}.topic-final-badge{margin-left:auto;background:#f59e0b1a;color:var(--warning);font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:99px;border:1px solid rgba(245,158,11,.2)}.grade-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px}.grade-tab{padding:7px 16px;border-radius:99px;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text-2);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.grade-tab:hover{border-color:var(--brand);color:var(--brand)}.grade-tab.active{background:var(--brand-gradient);color:#fff;border-color:transparent;box-shadow:var(--shadow-brand)}.lesson-content{line-height:1.85}.lesson-content h1{font-size:1.5rem;font-weight:700;margin:28px 0 12px;letter-spacing:-.3px}.lesson-content h2{font-size:1.2rem;font-weight:600;margin:22px 0 10px;color:var(--brand)}.lesson-content h3{font-size:1.05rem;font-weight:600;margin:16px 0 8px}.lesson-content pre{background:#0d1117;color:#e6edf3;border-radius:var(--r-md);padding:18px 20px;overflow-x:auto;margin:14px 0;font-family:Fira Code,JetBrains Mono,Consolas,monospace;font-size:.85rem;line-height:1.7;border:1px solid rgba(255,255,255,.06)}.lesson-content code{background:var(--surface-2);padding:2px 6px;border-radius:4px;font-size:.85em;font-family:Fira Code,JetBrains Mono,Consolas,monospace;color:var(--brand);border:1px solid var(--border)}.lesson-content pre code{background:none;padding:0;color:inherit;border:none}.lesson-content table{margin:14px 0;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.lesson-content ul,.lesson-content ol{padding-left:24px;margin:10px 0}.lesson-content li{margin:5px 0}.lesson-content blockquote{border-left:3px solid var(--brand);padding:12px 18px;margin:14px 0;background:var(--brand-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--text-1)}[data-theme=dark] .lesson-content code{background:var(--surface-3);color:#a5b4fc}[data-theme=dark] .lesson-content blockquote{background:#5046e514}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 120px);border-radius:var(--r-lg);overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:14px;background:var(--surface)}.chat-bubble{max-width:72%;padding:12px 16px;border-radius:18px;font-size:.88rem;line-height:1.6;word-break:break-word;animation:slideInRight .2s ease}.chat-bubble.user{align-self:flex-end;background:var(--brand-gradient);color:#fff;border-bottom-right-radius:5px;box-shadow:0 2px 8px #5046e533}.chat-bubble.assistant{align-self:flex-start;background:var(--surface-2);color:var(--text-1);border-bottom-left-radius:5px;border:1px solid var(--border)}.chat-bubble pre{background:#0d1117;color:#e6edf3;border-radius:var(--r-sm);padding:10px 12px;margin:8px 0;overflow-x:auto;font-size:.8rem;border:1px solid rgba(255,255,255,.06)}.chat-input-area{display:flex;gap:8px;padding:14px 16px;border-top:1px solid var(--border);background:var(--surface)}.chat-input-area input{flex:1}.typing-indicator{display:flex;gap:4px;padding:12px 16px;align-self:flex-start}.typing-indicator span{width:7px;height:7px;background:var(--text-3);border-radius:50%;animation:typing 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}[data-theme=dark] .chat-bubble.assistant{background:var(--surface-3)}.messenger-layout{display:grid;grid-template-columns:300px 1fr;gap:16px;height:calc(100vh - 140px)}.mobile-menu-btn{display:none}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--surface);border-top:1px solid var(--border);z-index:80;padding:0 8px;align-items:center;justify-content:space-around;box-shadow:0 -4px 16px #00000014}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 12px;border-radius:var(--r-sm);color:var(--text-3);font-size:.6rem;font-weight:600;text-decoration:none;transition:all .15s;cursor:pointer;border:none;background:none;min-width:56px}.bottom-nav-item svg{font-size:1.25rem}.bottom-nav-item.active,.bottom-nav-item:hover{color:var(--brand)}.students-layout{display:flex;gap:20px;align-items:flex-start}@media(max-width:1024px){.main-content{padding:24px}}@media(max-width:768px){.topbar,.bottom-nav{display:flex}.sidebar-overlay{display:block}.sidebar-close{display:flex}.sidebar-wrapper{transform:translate(-100%)}.sidebar-wrapper.open{transform:translate(0)}.main-wrapper{margin-left:0;padding-top:var(--topbar-height)}.main-content{padding:20px 16px;padding-bottom:calc(var(--bottom-nav-height) + 16px);max-width:100%;animation:none}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:16px}.stat-card .value{font-size:1.6rem}.stat-card .stat-icon{width:34px;height:34px;top:14px;right:14px}.dashboard-cards-grid{grid-template-columns:1fr}.card{padding:16px}.card-header{font-size:.95rem}h1{font-size:1.3rem!important}h2{font-size:1.1rem!important}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:480px}th,td{padding:10px 12px;font-size:.8rem}.btn{min-height:44px;padding:10px 16px;font-size:.85rem}.btn-sm{min-height:36px}.form-input{padding:12px 14px;font-size:16px}.modal-overlay{padding:0;align-items:flex-end}.modal{margin:0;max-height:90vh;padding:24px 20px;border-radius:var(--r-xl) var(--r-xl) 0 0}.lesson-content pre{padding:12px;font-size:.78rem}.lesson-content h1{font-size:1.2rem!important}.lesson-content h2{font-size:1.05rem!important}.chat-container{height:calc(100vh - var(--topbar-height) - var(--bottom-nav-height) - 32px)}.chat-messages{padding:14px}.chat-bubble{max-width:88%;padding:10px 14px}.chat-input-area{padding:10px 12px}.messenger-layout{grid-template-columns:1fr!important;height:auto!important}.students-layout{flex-direction:column!important}.students-layout>div:last-child{width:100%!important;max-width:100%}.grade-tabs{gap:5px}.grade-tab{padding:6px 12px;font-size:.78rem}.grades-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.grade-card{padding:18px 12px}.auth-left{display:none}.auth-right{width:100%;padding:32px 24px}.auth-logo{display:flex!important;align-items:center;gap:10px;margin-bottom:24px}.auth-logo-icon{display:flex!important}.auth-logo-text{display:block!important}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.main-content{padding:14px 12px;padding-bottom:calc(var(--bottom-nav-height) + 12px)}.grades-grid{grid-template-columns:1fr 1fr}.grade-card .grade-number{font-size:1.8rem}}
