:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--purple: #7c3aed;--purple-light: #f5f3ff;--green: #059669;--green-light: #ecfdf5;--blue: #0284c7;--blue-light: #f0f9ff;--danger: #dc2626;--danger-light: #fef2f2;--warning: #d97706;--warning-light: #fffbeb;--bg: #ffffff;--bg-alt: #f8fafc;--bg-sidebar: #0f1923;--bg-sidebar-hover: rgba(255,255,255,.06);--bg-sidebar-active: rgba(255,255,255,.12);--ink: #0f172a;--ink-muted: #64748b;--ink-faint: #94a3b8;--ink-sidebar: #cbd5e1;--ink-sidebar-active: #ffffff;--border: #e2e8f0;--border-focus: var(--primary);--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--sidebar-w: 240px;--topbar-h: 60px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f172a;--bg-alt: #1e293b;--ink: #f1f5f9;--ink-muted: #94a3b8;--ink-faint: #64748b;--border: #334155;--primary-light: #1e3a8a22;--green-light: #05966920;--danger-light: #dc262620}}:root[data-theme=dark]{--bg: #0f172a;--bg-alt: #1e293b;--ink: #f1f5f9;--ink-muted: #94a3b8;--ink-faint: #64748b;--border: #334155}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.75rem;font-weight:700;line-height:1.2}h2{font-size:1.375rem;font-weight:600}h3{font-size:1.125rem;font-weight:600}h4{font-size:1rem;font-weight:600}img{max-width:100%;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:var(--radius);font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:background .15s,color .15s,opacity .15s;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);text-decoration:none;color:#fff}.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg-alt)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-block{width:100%}.btn-sm{padding:6px 12px;font-size:.8125rem}.alert{padding:10px 14px;border-radius:var(--radius);font-size:.875rem;margin-bottom:16px}.alert-danger{background:var(--danger-light);color:var(--danger);border:1px solid #fca5a5}.alert-success{background:var(--green-light);color:var(--green);border:1px solid #6ee7b7}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:99px;font-size:.75rem;font-weight:600;background:var(--bg-alt);color:var(--ink-muted);border:1px solid var(--border)}.badge-green{background:var(--green-light);color:var(--green);border-color:#a7f3d0}.badge-blue{background:var(--blue-light);color:var(--blue);border-color:#bae6fd}.badge-purple{background:var(--purple-light);color:var(--purple);border-color:#ddd6fe}.badge-danger{background:var(--danger-light);color:var(--danger);border-color:#fca5a5}.badge-muted{background:var(--bg-alt);color:var(--ink-muted)}.badge-role{background:var(--primary-light);color:var(--primary);border-color:#bfdbfe}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:5px;color:var(--ink)}.form-control{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.9375rem;font-family:var(--font);color:var(--ink);background:var(--bg);transition:border-color .15s;outline:none}.form-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1f}textarea.form-control{resize:vertical;min-height:80px}select.form-control{cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.data-table{width:100%;border-collapse:collapse;font-size:.875rem;margin-top:16px}.data-table th,.data-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}.data-table th{background:var(--bg-alt);font-weight:600;color:var(--ink-muted);font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em}.data-table tr:hover td{background:var(--bg-alt)}@media (max-width: 768px){.data-table{display:none}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:16px}.course-card{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}.course-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.course-card-thumb{height:140px;background:linear-gradient(135deg,#2563eb22,#7c3aed22);overflow:hidden}.course-card-thumb img{width:100%;height:100%;object-fit:cover}.course-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem}.course-card-body{padding:16px;flex:1;display:flex;flex-direction:column}.course-card-title{font-size:1rem;font-weight:600;margin-bottom:4px;line-height:1.4}.course-card-meta{font-size:.8125rem;color:var(--ink-muted);margin-bottom:4px}.course-card-desc{font-size:.8125rem;color:var(--ink-muted);flex:1}.course-price{font-size:1rem;color:var(--primary)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-sub{color:var(--ink-muted);font-size:.9375rem;margin-top:2px}.page-card{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.stat-tile-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:24px}.stat-tile{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.stat-tile-value{font-size:2rem;font-weight:700;color:var(--primary);line-height:1;margin-bottom:4px}.stat-tile-label{font-size:.8125rem;color:var(--ink-muted);font-weight:500}.progress-bar{width:100%;height:7px;background:var(--border);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--purple));border-radius:99px;transition:width .4s ease}.empty-state{padding:60px 20px;text-align:center;color:var(--ink-muted);font-size:.9375rem;display:flex;flex-direction:column;align-items:center;gap:16px}.loading-screen{display:flex;align-items:center;justify-content:center;height:200px;color:var(--ink-muted);font-size:1rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--purple) 100%);padding:20px}.auth-card{background:var(--bg);border-radius:var(--radius-lg);padding:40px 36px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-logo{font-size:1.5rem;font-weight:800;margin-bottom:20px;color:var(--primary)}.auth-logo-img{height:52px;max-width:200px;object-fit:contain;margin-bottom:20px;display:block}.auth-title{font-size:1.5rem;font-weight:700;margin-bottom:4px}.auth-sub{color:var(--ink-muted);margin-bottom:24px;font-size:.9375rem}.auth-footer{margin-top:20px;font-size:.875rem;color:var(--ink-muted);text-align:center}.al-bg{min-height:100vh;background:linear-gradient(145deg,#1e1560,#4338ca 45%,#7c3aed 80%,#a21caf);display:flex;align-items:center;justify-content:center;padding:32px 16px;position:relative;overflow:hidden}.al-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 60% at 15% 85%,rgba(255,255,255,.06) 0%,transparent 55%),radial-gradient(ellipse 50% 50% at 85% 15%,rgba(255,255,255,.05) 0%,transparent 50%);pointer-events:none}.al-card{position:relative;background:#fff;border-radius:24px;box-shadow:0 32px 80px #00000047,0 8px 24px #0000002e;padding:40px 40px 32px;width:100%;max-width:460px}.al-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:28px;padding-bottom:24px;border-bottom:1.5px solid #f1f1f4}.al-logo{height:48px;object-fit:contain;display:block;margin-bottom:10px}.al-tagline{font-size:.78rem;font-weight:600;color:#7c3aed;letter-spacing:.04em;text-transform:uppercase;margin:0;text-align:center}.al-title{font-size:1.55rem;font-weight:800;color:#111827;margin:0 0 4px;letter-spacing:-.02em}.al-sub{color:#6b7280;font-size:.9rem;margin:0 0 24px}.al-error{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c;border-radius:10px;padding:10px 14px;font-size:.85rem;margin-bottom:18px;display:flex;align-items:center;gap:8px}.al-form{display:flex;flex-direction:column;gap:16px}.al-field{display:flex;flex-direction:column;gap:5px}.al-label{font-size:.82rem;font-weight:600;color:#374151;letter-spacing:.01em}.al-input{width:100%;padding:11px 14px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:.95rem;color:#111827;background:#fafafa;outline:none;box-sizing:border-box;transition:border-color .18s,box-shadow .18s,background .18s}.al-input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f121}.al-pw-wrap{position:relative}.al-pw-wrap .al-input{padding-right:44px}.al-pw-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;padding:4px;line-height:1;opacity:.55;transition:opacity .15s}.al-pw-eye:hover{opacity:1}.al-btn{margin-top:6px;width:100%;padding:13px;background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:48px;transition:opacity .18s,transform .12s,box-shadow .18s;box-shadow:0 4px 16px #6366f159}.al-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 8px 24px #6366f166}.al-btn:disabled{opacity:.55;cursor:not-allowed}.al-spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:al-spin .7s linear infinite}@keyframes al-spin{to{transform:rotate(360deg)}}.al-switch{text-align:center;margin-top:20px;font-size:.87rem;color:#6b7280}.al-link{color:#6366f1;font-weight:700;text-decoration:none}.al-link:hover{text-decoration:underline}.al-journey{display:flex;align-items:center;justify-content:center;gap:0;margin-top:24px;padding-top:20px;border-top:1.5px solid #f1f1f4}.al-journey-item{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.al-j-icon{width:34px;height:34px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:.95rem;transition:background .18s}.al-j-icon--active{background:linear-gradient(135deg,#6366f1,#7c3aed);box-shadow:0 3px 10px #6366f159}.al-j-label{font-size:.68rem;font-weight:600;color:#9ca3af;white-space:nowrap}.al-j-label--active{color:#6366f1}.al-j-arrow{font-size:1.1rem;color:#d1d5db;line-height:1;margin:9px 4px 0;align-self:flex-start}.al-card--wide{max-width:640px}.al-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.al-req{color:#ef4444;margin-left:2px}.al-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.al-type-toggle{display:flex;gap:10px}.al-type-btn{flex:1;padding:11px 10px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fafafa;color:#6b7280;font-size:.92rem;font-weight:600;cursor:pointer;transition:border-color .18s,background .18s,color .18s,box-shadow .18s}.al-type-btn:hover{border-color:#a5b4fc;background:#f5f3ff;color:#4f46e5}.al-type-btn--active{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#f5f3ff);color:#4f46e5;box-shadow:0 0 0 3px #6366f11a}.al-conditional{animation:al-fade .2s ease}@keyframes al-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width: 520px){.al-bg{padding:0;align-items:flex-start;background:#fff}.al-bg:before{display:none}.al-card{border-radius:0;box-shadow:none;padding:0;max-width:100%;min-height:100vh;display:flex;flex-direction:column}.al-brand{background:linear-gradient(145deg,#1e1560,#4338ca,#7c3aed);border-radius:0;border-bottom:none;padding:36px 24px 28px;margin-bottom:0}.al-logo{margin-bottom:8px}.al-tagline{color:#ffffffbf}.al-title{margin-top:28px}.al-card>.al-title,.al-card>.al-sub,.al-card>.al-error,.al-card>.al-form,.al-card>.al-switch,.al-card>.al-journey{padding-left:24px;padding-right:24px}.al-card>.al-journey{padding-bottom:32px}.al-btn{box-shadow:none}.al-row{grid-template-columns:1fr;gap:16px}.al-type-toggle{gap:8px}.al-card--wide{max-width:100%}}.sidebar{width:var(--sidebar-w);height:100vh;position:fixed;top:0;left:0;background:linear-gradient(180deg,#1a1040,#0f0a2e 55%,#0a0718);display:flex;flex-direction:column;z-index:200;overflow-y:auto;transition:transform .25s ease;box-shadow:4px 0 24px #00000059}.snav-header{padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden}.snav-header-glow{position:absolute;top:-20px;right:-20px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.3) 0%,transparent 70%);pointer-events:none}.snav-logo-img{height:34px;max-width:140px;object-fit:contain;display:block;background:#ffffffeb;border-radius:8px;padding:4px 10px;position:relative}.snav-profile{display:flex;align-items:flex-start;gap:11px;padding:14px 16px 16px;border-bottom:1px solid rgba(255,255,255,.07);background:#ffffff0a}.snav-avatar-wrap{position:relative;flex-shrink:0}.snav-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.95rem;position:relative;z-index:1}.snav-avatar-ring{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#ec4899);z-index:0;opacity:.6}.snav-profile-info{flex:1;min-width:0}.snav-name{font-size:.875rem;font-weight:700;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snav-role-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-top:5px}.snav-xp-bar-wrap{margin-top:7px}.snav-xp-bar-track{height:4px;border-radius:99px;background:#ffffff1f;overflow:hidden}.snav-xp-bar-fill{height:100%;border-radius:99px;transition:width .5s ease}.snav-xp-label{display:block;font-size:.6rem;color:#ffffff73;margin-top:3px;font-weight:600;letter-spacing:.04em}.snav-body{flex:1;padding:10px 8px;overflow-y:auto}.snav-section{margin-bottom:2px}.snav-section-title{padding:8px 10px 4px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffff47}.snav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:#fff9;text-decoration:none;font-size:.855rem;font-weight:500;transition:background .15s,color .15s;position:relative;margin-bottom:1px}.snav-link:hover{background:#ffffff14;color:#fffffff2;text-decoration:none}.snav-link--active{background:linear-gradient(90deg,#6366f159,#a855f733);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #8b5cf659}.snav-link--active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:linear-gradient(180deg,#6366f1,#a855f7);border-radius:0 3px 3px 0}.snav-icon{font-size:1rem;width:20px;text-align:center;flex-shrink:0}.snav-footer{padding:10px 8px 14px;border-top:1px solid rgba(255,255,255,.07)}.snav-logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffff73;font-size:.855rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.snav-logout-btn:hover{background:#dc262626;color:#fca5a5;border-color:#dc26264d}.snav-build{margin-top:10px;padding:0 4px;font-size:.67rem;font-weight:600;color:#ffffff47;letter-spacing:.03em;display:flex;flex-direction:column;gap:1px}.snav-build-hash{font-size:.6rem;font-weight:400;color:#ffffff2e;font-family:ui-monospace,Cascadia Code,monospace}.app-footer{background:#0f172a;color:#ffffffa6;padding:48px 32px 0;margin-top:40px;flex-shrink:0}.app-footer-inner{display:flex;gap:48px;flex-wrap:wrap;max-width:1100px;margin:0 auto;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08)}.af-brand{flex:0 0 200px;display:flex;flex-direction:column;gap:12px}.af-logo{height:32px;width:auto;object-fit:contain;background:#ffffffeb;border-radius:8px;padding:4px 10px;align-self:flex-start}.af-tagline{font-size:.8rem;line-height:1.55;color:#ffffff73;margin:0}.af-socials{display:flex;gap:8px;margin-top:4px}.af-social-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#ffffff12;color:#ffffff8c;font-size:.8rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.af-social-link:hover{background:#6366f1;color:#fff}.af-col{flex:1;min-width:120px}.af-col-heading{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffffe6;margin:0 0 14px}.af-col-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.af-link{font-size:.82rem;color:#ffffff80;text-decoration:none;transition:color .15s}.af-link:hover{color:#a5b4fc}.af-bottom{max-width:1100px;margin:0 auto;padding:16px 0 20px;display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:#ffffff40;gap:12px;flex-wrap:wrap}.af-build{font-family:ui-monospace,Cascadia Code,monospace;font-size:.65rem}@media (max-width: 640px){.app-footer{padding:36px 16px 0}.app-footer-inner{gap:28px}.af-brand{flex:0 0 100%}.af-bottom{flex-direction:column;align-items:flex-start;gap:4px}}.topbar{height:var(--topbar-h);background:linear-gradient(135deg,#6366f1,#a855f7 60%,#ec4899);border-bottom:none;display:flex;align-items:center;padding:0 20px;gap:12px;position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #6366f159}.topbar-hamburger{display:none;flex-direction:column;justify-content:center;gap:4px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:7px 8px;cursor:pointer;width:36px;height:36px;flex-shrink:0}.topbar-hamburger span{display:block;height:2px;background:#fff;border-radius:2px;width:100%;transition:.2s}.topbar-logo-img{height:28px;max-width:120px;object-fit:contain;display:block;background:#ffffffe6;border-radius:7px;padding:3px 8px}.topbar-user{display:flex;align-items:center;gap:10px}.topbar-role-pill{display:flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;background:#ffffff2e;border:1px solid rgba(255,255,255,.28);color:#fff;font-size:.75rem;font-weight:600}.topbar-level-badge{background:#facc154d;border:1px solid rgba(253,230,138,.4);color:#fde68a;padding:1px 7px;border-radius:10px;font-size:.65rem;font-weight:700;margin-left:2px}.topbar-avatar{width:34px;height:34px;border-radius:50%;background:#ffffff40;border:2px solid rgba(255,255,255,.5);color:#fff;font-size:.8rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.topbar-name{font-size:.875rem;font-weight:500;color:#ffffffd9}.main-layout{display:flex;min-height:100vh}.main-content{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-width:0}.page-body{padding:28px 28px 40px;flex:1}.learn-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;min-height:calc(100vh - var(--topbar-h) - 56px)}.learn-sidebar{background:var(--bg-alt);border:1.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - var(--topbar-h) - 56px);position:sticky;top:calc(var(--topbar-h) + 28px)}.learn-sidebar-header{padding:16px;border-bottom:1px solid var(--border);background:var(--bg)}.learn-sidebar-header h3{font-size:.9375rem}.learn-lesson-item{display:flex;align-items:center;gap:8px;padding:10px 14px;width:100%;border:none;background:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s;font-size:.8125rem;color:var(--ink)}.learn-lesson-item--active{background:var(--primary-light);color:var(--primary)}.learn-lesson-item--done .learn-lesson-label{color:var(--ink-muted)}.learn-lesson-check{font-size:.9em;flex-shrink:0}.learn-lesson-dur{color:var(--ink-faint);font-size:.75rem;flex-shrink:0}.learn-main{display:flex;flex-direction:column;gap:20px}.learn-title-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.learn-video{border-radius:var(--radius-lg);overflow:hidden}.learn-content{background:var(--bg-alt);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px;font-size:.9375rem;line-height:1.7;color:var(--ink)}.learn-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0}@media (max-width: 900px){.learn-layout{grid-template-columns:1fr}.learn-sidebar{position:static;max-height:320px}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}@media (max-width: 768px){.sidebar{transform:translate(-100%);box-shadow:var(--shadow-lg)}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block}.topbar-hamburger{display:flex}.main-content{margin-left:0}.page-body{padding:18px 16px 32px}.topbar-name{display:none}.stat-tile-row{grid-template-columns:1fr 1fr}}@media (max-width: 400px){.stat-tile-row{grid-template-columns:1fr}}.pg-gate-page{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.pg-gate-hero{text-align:center;padding:80px 24px 56px;max-width:720px;margin:0 auto}.pg-gate-badge{display:inline-block;background:linear-gradient(135deg,#6366f11f,#a855f71f);color:#6366f1;border:1px solid rgba(99,102,241,.25);border-radius:999px;padding:6px 18px;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:24px}.pg-gate-title{font-size:3.2rem;font-weight:800;line-height:1.1;color:var(--ink);margin:0 0 20px;letter-spacing:-.03em}@media (max-width:640px){.pg-gate-title{font-size:2.2rem}}.pg-gate-sub{font-size:1.15rem;color:var(--ink-muted);line-height:1.7;margin:0 0 36px}.pg-gate-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}.pg-gate-pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.pg-gate-pill{background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;padding:5px 14px;font-size:.8rem;color:var(--ink-muted);font-weight:600}.pg-gate-preview{position:relative;max-width:980px;margin:0 auto 60px;padding:0 24px}.pg-fake-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#1e293b;border-radius:12px 12px 0 0;border-bottom:1px solid rgba(255,255,255,.07)}.pg-fake-dot{width:12px;height:12px;border-radius:50%;display:block}.pg-fake-title{margin-left:12px;font-size:.82rem;color:#fff6;flex:1;text-align:center}.pg-fake-body{display:grid;grid-template-columns:1fr 1fr;background:#0f172a;border-radius:0 0 12px 12px;overflow:hidden;min-height:280px}.pg-fake-editor{padding:20px 0;border-right:1px solid rgba(255,255,255,.06)}.pg-fake-line{display:flex;align-items:baseline}.pg-fake-ln{width:36px;text-align:right;padding-right:16px;font-family:monospace;font-size:.8rem;color:#fff3;-webkit-user-select:none;user-select:none}.pg-fake-code{font-family:Fira Code,Courier New,monospace;font-size:.83rem;color:#94a3b8;white-space:pre}.pg-fake-output{background:#fff;display:flex;align-items:center;justify-content:center;padding:32px}.pg-fake-render{text-align:left}.pg-gate-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(to top,rgba(255,255,255,.96) 0%,rgba(255,255,255,.4) 50%,transparent 100%);border-radius:0 0 12px 12px}@media (prefers-color-scheme:dark){.pg-gate-lock{background:linear-gradient(to top,rgba(15,23,42,.97) 0%,rgba(15,23,42,.5) 50%,transparent 100%)}}.pg-lock-card{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:40px 36px;text-align:center;max-width:380px;box-shadow:0 20px 60px #0000001f}.pg-lock-icon{font-size:40px;display:block;margin-bottom:16px}.pg-lock-card h3{margin:0 0 10px;font-size:1.3rem}.pg-lock-card p{color:var(--ink-muted);font-size:.92rem;margin:0 0 24px;line-height:1.6}.pg-root{display:flex;flex-direction:column;height:100vh;background:#0d1117;color:#e2e8f0;overflow:hidden}.pg-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;height:48px;background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0}.pg-toolbar-left{display:flex;align-items:center;gap:16px;min-width:0;overflow:hidden}.pg-toolbar-title{font-size:.85rem;font-weight:700;color:#58a6ff;letter-spacing:.04em;white-space:nowrap}.pg-template-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.pg-template-tabs::-webkit-scrollbar{display:none}.pg-tmpl-btn{padding:4px 12px;border-radius:6px;background:none;border:1px solid transparent;font:inherit;font-size:.78rem;font-weight:600;color:#8b949e;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s,border-color .15s}.pg-tmpl-btn:hover{color:#c9d1d9;background:#21262d;border-color:#30363d}.pg-tmpl-btn.active{color:#58a6ff;background:#58a6ff1a;border-color:#58a6ff4d}.pg-toolbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.pg-autorun-toggle{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#8b949e;cursor:pointer;white-space:nowrap}.pg-autorun-toggle input{accent-color:#58a6ff;cursor:pointer}.pg-icon-btn{padding:5px 12px;background:none;border:1px solid #30363d;border-radius:6px;font:inherit;font-size:.78rem;font-weight:600;color:#8b949e;cursor:pointer;transition:color .15s,border-color .15s}.pg-icon-btn:hover{color:#c9d1d9;border-color:#58a6ff}.pg-run-btn{display:flex;align-items:center;gap:6px;padding:6px 16px;background:linear-gradient(135deg,#238636,#2ea043);border:none;border-radius:6px;font:inherit;font-size:.82rem;font-weight:700;color:#fff;cursor:pointer;transition:opacity .15s,transform .1s}.pg-run-btn:hover{opacity:.88;transform:translateY(-1px)}.pg-run-btn:active{transform:none}.pg-split{display:grid;grid-template-columns:var(--editor-pct, 50%) 4px 1fr;flex:1;overflow:hidden}.pg-panel{display:flex;flex-direction:column;overflow:hidden}.pg-panel-bar{display:flex;align-items:center;gap:7px;padding:7px 14px;background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0}.pg-panel-dot{width:11px;height:11px;border-radius:50%;display:block}.pg-panel-lang{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#58a6ff;margin-left:8px}.pg-panel-tag{margin-left:auto;font-size:.72rem;color:#8b949e;background:#21262d;border:1px solid #30363d;border-radius:4px;padding:1px 7px}.pg-preview-hint{margin-left:auto;font-size:.73rem;color:#8b949e;font-style:italic}.pg-editor-wrap{flex:1;display:flex;overflow:hidden;position:relative}.pg-line-nums{padding:16px 12px 16px 0;background:#0d1117;min-width:44px;text-align:right;font-family:Fira Code,Courier New,monospace;font-size:.88rem;line-height:1.65;color:#3c4048;-webkit-user-select:none;user-select:none;overflow:hidden;flex-shrink:0}.pg-line-nums span{display:block}.pg-textarea{flex:1;font-family:Fira Code,Courier New,monospace;font-size:.88rem;line-height:1.65;padding:16px;background:#0d1117;color:#e2e8f0;border:none;resize:none;outline:none;overflow:auto;-moz-tab-size:2;tab-size:2}.pg-textarea::selection{background:#388bfd4d}.pg-divider{width:4px;background:#30363d;cursor:col-resize;transition:background .15s;flex-shrink:0}.pg-divider:hover,.pg-divider:active{background:#58a6ff}.pg-iframe{flex:1;border:none;background:#fff;width:100%;height:100%}@media (max-width:700px){.pg-root{height:auto;min-height:100vh}.pg-split{grid-template-columns:1fr;grid-template-rows:50vh 4px 50vh}.pg-divider{width:100%;height:4px;cursor:row-resize}.pg-toolbar{flex-wrap:wrap;height:auto;padding:10px 12px;gap:8px}.pg-template-tabs{max-width:100%}.pg-toolbar-left{flex-wrap:wrap}}.quiz-panel{background:linear-gradient(135deg,#f0f9ff,#eff6ff);border:2px solid #bfdbfe;border-radius:16px;padding:24px;margin-top:32px}.quiz-header{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}.quiz-icon{font-size:32px}.quiz-header h3{margin:0 0 4px;font-size:1.15rem}.quiz-sub{margin:0;font-size:.88rem;color:var(--ink-muted)}.quiz-question{margin-bottom:20px}.q-text{margin:0 0 12px;font-size:.97rem;font-weight:600}.q-options{display:flex;flex-direction:column;gap:8px}.q-option{display:flex;align-items:center;gap:10px;padding:11px 16px;border:1.5px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;font:inherit;font-size:.92rem;text-align:left;transition:border-color .15s,background .15s}.q-option:hover:not(:disabled){border-color:var(--primary);background:#2563eb0d}.q-option.selected{border-color:var(--primary);background:#2563eb14}.q-option.correct{border-color:#059669;background:#dcfce7}.q-option.wrong{border-color:#dc2626;background:#fee2e2}.opt-label{width:24px;height:24px;border-radius:50%;background:var(--border);color:var(--ink-muted);font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.q-explanation{margin-top:8px;padding:10px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:.88rem;color:#92400e}.quiz-result{border-radius:12px;padding:24px;text-align:center;margin-top:16px}.quiz-result.passed{background:#dcfce7;border:2px solid #86efac}.quiz-result.failed{background:#fee2e2;border:2px solid #fca5a5}.result-icon{font-size:40px;margin-bottom:10px}.quiz-result h4{margin:0 0 8px;font-size:1.1rem}.new-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.badge-award{background:#fef9c3;border:1.5px solid #fde047;border-radius:999px;padding:4px 14px;font-size:.88rem;font-weight:700}.iqv2-page{background:var(--bg);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.iqv2-hero{background:linear-gradient(135deg,#0f172a,#1e1b4b,#0f172a);padding:72px 24px 56px;text-align:center}.iqv2-hero-inner{max-width:680px;margin:0 auto}.iqv2-hero-title{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:#fff;margin:12px 0 16px;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.iqv2-hero-accent{background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.iqv2-hero-sub{color:#94a3b8;font-size:1.05rem;line-height:1.7;margin:0 0 28px}.iqv2-hero-stats{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.iqv2-stat{display:flex;flex-direction:column;align-items:center}.iqv2-stat strong{font-size:1.25rem;font-weight:800;color:#fff}.iqv2-stat span{font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.iqv2-body{display:flex;gap:0;flex:1;max-width:1280px;margin:0 auto;width:100%;padding:40px 24px;box-sizing:border-box;align-items:flex-start}.iqv2-sidebar{width:200px;flex-shrink:0;position:sticky;top:80px;display:flex;flex-direction:column;gap:2px}.iqv2-sidebar-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase;padding:0 12px;margin-bottom:6px}.iqv2-topic-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:none;background:none;cursor:pointer;font:inherit;font-size:.9rem;font-weight:500;color:var(--ink-muted);text-align:left;width:100%;transition:all .15s}.iqv2-topic-btn:hover{background:var(--bg-alt);color:var(--ink)}.iqv2-topic-btn.active{background:color-mix(in srgb,var(--t-color) 12%,transparent);color:var(--ink);font-weight:600}.iqv2-topic-icon{font-size:1.1rem;flex-shrink:0}.iqv2-topic-name{flex:1}.iqv2-topic-count{font-size:.75rem;font-weight:700;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;padding:1px 7px;color:var(--ink-muted)}.iqv2-main{flex:1;min-width:0;padding-left:40px}.iqv2-topic-header{margin-bottom:24px}.iqv2-topic-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-size:.83rem;font-weight:700;background:color-mix(in srgb,var(--t-color) 12%,transparent);color:var(--t-color);margin-bottom:10px}.iqv2-topic-title{font-size:1.6rem;font-weight:800;margin:0 0 4px;color:var(--ink)}.iqv2-topic-sub{font-size:.87rem;color:var(--ink-muted);margin:0}.iqv2-controls{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.iqv2-search-wrap{position:relative;flex:1;min-width:200px}.iqv2-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-faint);pointer-events:none}.iqv2-search{width:100%;padding:10px 36px;border:1.5px solid var(--border);border-radius:10px;font:inherit;font-size:.9rem;background:var(--bg);color:var(--ink);transition:border-color .15s;box-sizing:border-box}.iqv2-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.iqv2-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--ink-faint);font-size:.85rem;padding:2px 4px}.iqv2-diff-filters{display:flex;gap:6px;flex-wrap:wrap}.iqv2-diff-btn{display:flex;align-items:center;gap:5px;padding:8px 14px;border-radius:8px;border:1.5px solid var(--border);background:var(--bg);font:inherit;font-size:.83rem;font-weight:600;cursor:pointer;color:var(--ink-muted);transition:all .15s}.iqv2-diff-btn:hover{background:var(--bg-alt)}.iqv2-diff-btn.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.iqv2-diff-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.iqv2-diff-n{font-size:.72rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;padding:0 5px;color:var(--ink-muted);margin-left:2px}.iqv2-loading{display:flex;align-items:center;gap:12px;padding:48px;color:var(--ink-muted);justify-content:center}.iqv2-spinner{width:22px;height:22px;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.iqv2-empty{text-align:center;padding:64px 24px}.iqv2-empty-icon{font-size:2.5rem;margin-bottom:12px}.iqv2-empty p{color:var(--ink-muted);margin-bottom:16px}.iqv2-list{display:flex;flex-direction:column;gap:10px}.iqv2-item{border-radius:12px;border:1.5px solid var(--border);background:var(--bg);overflow:hidden;transition:border-color .15s,box-shadow .15s}.iqv2-item:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.iqv2-item.open{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb12}.iqv2-q-btn{display:flex;align-items:center;gap:12px;width:100%;padding:16px 18px;background:none;border:none;font:inherit;font-size:.93rem;font-weight:600;cursor:pointer;text-align:left;color:var(--ink)}.iqv2-q-btn:hover{background:var(--bg-alt)}.iqv2-item.open .iqv2-q-btn{background:var(--primary-light)}.iqv2-num{font-size:.76rem;font-weight:800;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-variant-numeric:tabular-nums}.iqv2-q-text{flex:1;line-height:1.5}.iqv2-diff-badge{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;flex-shrink:0;white-space:nowrap}.iqv2-answer{border-top:1.5px solid var(--border)}.iqv2-answer-inner{padding:20px 18px 20px 58px}.iqv2-answer-inner p{color:var(--ink-muted);line-height:1.85;margin:0 0 14px;font-size:.93rem}.iqv2-answer-inner p:last-of-type{margin-bottom:0}.iqv2-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.iqv2-tag{font-size:.75rem;padding:3px 10px;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;color:var(--ink-faint);font-weight:600}.iqv2-mobile-topics{display:none;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:16px 0 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.iqv2-mobile-topics::-webkit-scrollbar{display:none}.iqv2-mobile-chip{white-space:nowrap;padding:8px 16px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg);font:inherit;font-size:.83rem;font-weight:600;cursor:pointer;color:var(--ink-muted);transition:all .15s;flex-shrink:0}.iqv2-mobile-chip.active{background:color-mix(in srgb,var(--t-color) 15%,transparent);color:var(--ink);border-color:var(--t-color)}.iqv2-arrow-mobile{display:none;font-size:1.25rem;color:var(--ink-faint);margin-left:auto;flex-shrink:0}.iqv2-chevron-desktop{display:flex}.iqm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;animation:iqm-slide-in .22s cubic-bezier(.22,1,.36,1)}@keyframes iqm-slide-in{0%{transform:translate(100%);opacity:.6}to{transform:translate(0);opacity:1}}.iqm-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 0;flex-shrink:0;background:var(--iqm-hero-bg, var(--bg))}.iqm-back-btn{display:flex;align-items:center;gap:6px;background:#ffffff2e;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 14px 6px 10px;font:inherit;font-size:.82rem;font-weight:700;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.iqm-counter{font-size:.8rem;font-weight:700;color:#ffffffb3;font-variant-numeric:tabular-nums;background:#ffffff26;border-radius:999px;padding:4px 12px}.iqm-counter-of{font-weight:400}.iqm-hero-zone{flex-shrink:0;background:var(--iqm-hero-bg, var(--bg));padding:16px 20px 22px;position:relative;overflow:hidden}.iqm-hero-zone:after{content:"";position:absolute;bottom:0;left:0;right:0;height:28px;background:var(--bg);border-radius:28px 28px 0 0}.iqm-hero-orb{position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:#ffffff1f;pointer-events:none}.iqm-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;position:relative;z-index:1}.iqm-chip-topic{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:900;background:#fff;color:var(--iqm-hero-bg, var(--primary));box-shadow:0 2px 12px #0000002e;letter-spacing:.01em}.iqm-chip-diff{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;font-size:.75rem;font-weight:800}.iqm-chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.iqm-q-block{margin-bottom:4px;position:relative;z-index:1}.iqm-qnum{font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:8px;color:#fff9}.iqm-qtitle{font-size:1.25rem;font-weight:800;line-height:1.45;color:#fff;margin:0;text-wrap:balance;text-shadow:0 1px 8px rgba(0,0,0,.18)}.iqm-prog-track{height:4px;background:var(--border);flex-shrink:0}.iqm-prog-bar{height:100%;transition:width .35s ease;border-radius:999px}.iqm-divider{display:none}.iqm-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 20px 0}.iqm-a-block{background:var(--bg-alt);border:1.5px solid var(--border);border-radius:16px;padding:18px 18px 20px;margin-bottom:16px}.iqm-a-label{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--iqm-accent, var(--primary));margin-bottom:14px}.iqm-a-label svg{color:var(--iqm-accent, var(--primary))}.iqm-atext{font-size:1rem;line-height:1.85;color:var(--ink);margin:0 0 4px}.iqm-tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.iqm-tag{font-size:.75rem;padding:4px 12px;background:var(--iqm-hero-bg, var(--primary));opacity:1;color:#fff;border-radius:999px;font-weight:700;opacity:.85}.iqm-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));gap:10px;border-top:1px solid var(--border);background:var(--bg);flex-shrink:0}.iqm-nav-btn{display:flex;align-items:center;gap:6px;padding:12px 20px;border-radius:12px;border:1.5px solid var(--border);background:var(--bg-alt);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;color:var(--ink);transition:all .15s;min-width:90px;justify-content:center;flex:1}.iqm-nav-btn:disabled{opacity:.3;cursor:not-allowed}.iqm-nav-btn:active:not(:disabled){transform:scale(.97)}.iqm-nav-next{color:#fff;border-color:transparent;background:var(--iqm-hero-bg, var(--primary));box-shadow:0 2px 12px color-mix(in srgb,var(--iqm-hero-bg, var(--primary)) 40%,transparent)}.iqm-nav-next:disabled{background:var(--border)!important;color:var(--ink-faint);box-shadow:none}.iqm-dots{display:flex;gap:5px;align-items:center;flex-wrap:nowrap;flex:0}.iqm-dot{width:6px;height:6px;border-radius:50%;background:var(--border);border:none;padding:0;cursor:pointer;transition:all .2s;flex-shrink:0}.iqm-dot.active{width:18px;border-radius:3px}.iqv2-all-topics-link{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--primary);text-decoration:none;padding:8px 12px;margin-bottom:8px;border-radius:8px;transition:background .15s}.iqv2-all-topics-link:hover{background:var(--bg-alt)}.iqv2-cat-group{margin-bottom:4px}.iqv2-cat-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;font:inherit;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);transition:background .15s}.iqv2-cat-toggle:hover{background:var(--bg-alt)}.iqv2-cat-topics{padding-bottom:4px}.iqv2-topic-btn.soon{opacity:.45;cursor:not-allowed}.iqv2-soon-badge{margin-left:auto;font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--bg-alt);color:var(--ink-faint);border:1px solid var(--border)}.iqv2-hero.iqv2-hero-compact{padding:28px 24px 20px}.iqv2-hero.iqv2-hero-compact .iqv2-hero-title{font-size:2rem}.iqv2-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}.iqv2-bc-link{font-size:.85rem;font-weight:600;color:#a5b4fc;text-decoration:none;transition:color .15s}.iqv2-bc-link:hover{color:#c4b5fd;text-decoration:underline}.iqv2-bc-sep{color:#4b5563;font-size:.85rem}.iqv2-bc-cur{font-size:.85rem;font-weight:700}.iqb-page{min-height:100vh;background:var(--bg)}.iqb-hero{background:var(--bg-alt);padding:60px 0 40px;text-align:center}.iqb-hero-inner{max-width:680px;margin:0 auto;padding:0 24px}.iqb-hero-title{font-size:clamp(2rem,5vw,3rem);font-weight:900;line-height:1.15;color:var(--ink);margin:.5rem 0;text-wrap:balance}.iqb-hero-accent{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.iqb-hero-sub{font-size:1.05rem;color:var(--ink-muted);line-height:1.7;margin:0 0 28px}.iqb-hero-stats{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.iqb-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.iqb-stat strong{font-size:1.3rem;font-weight:900;color:var(--ink)}.iqb-stat span{font-size:.78rem;color:var(--ink-faint);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.iqb-body{max-width:1100px;margin:0 auto;padding:40px 24px 60px;display:flex;flex-direction:column;gap:44px}.iqb-cat-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.iqb-cat-icon{font-size:1.3rem}.iqb-cat-label{font-size:1.05rem;font-weight:800;color:var(--ink);margin:0}.iqb-cat-count{font-size:.78rem;font-weight:700;color:var(--ink-faint);background:var(--bg-alt);border:1px solid var(--border);padding:2px 9px;border-radius:999px;margin-left:auto}.iqb-topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.iqb-topic-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 16px 14px;border-radius:14px;border:1.5px solid var(--border);background:var(--bg);cursor:pointer;transition:all .18s;position:relative;overflow:hidden;text-align:left}.iqb-topic-card.live:hover{border-color:var(--tc);background:var(--tc-bg);transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--tc) 18%,transparent)}.iqb-topic-card.soon{opacity:.5;cursor:not-allowed}.iqb-card-icon{font-size:1.6rem;line-height:1}.iqb-card-name{font-size:.9rem;font-weight:800;color:var(--ink)}.iqb-card-count{font-size:.72rem;font-weight:700;color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,transparent);padding:2px 8px;border-radius:999px}.iqb-card-soon{font-size:.68rem;font-weight:700;color:var(--ink-faint);background:var(--bg-alt);border:1px solid var(--border);padding:2px 8px;border-radius:999px}.iqb-card-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--tc);opacity:0;transition:opacity .15s}.iqb-topic-card.live:hover .iqb-card-arrow{opacity:1}@media (max-width:768px){.iqv2-hero.iqv2-hero-compact{padding:0;background:linear-gradient(135deg,#0f172a,#1e1b4b 60%,#0f172a)}.iqv2-hero.iqv2-hero-compact .iqv2-hero-inner{padding:18px 16px 16px;display:flex;flex-direction:column;gap:6px}.iqv2-hero.iqv2-hero-compact .iqv2-hero-title{font-size:1.5rem;margin:0;color:#fff;font-weight:800;letter-spacing:-.02em}.iqv2-breadcrumb{display:flex;align-items:center;gap:6px}.iqv2-bc-link{color:#ffffff8c;font-size:.8rem;text-decoration:none}.iqv2-bc-sep{color:#ffffff4d;font-size:.8rem}.iqv2-bc-cur{font-size:.8rem;font-weight:700}.iqv2-body{flex-direction:column;padding:0 0 80px;overflow-x:hidden}.iqv2-sidebar{display:none}.iqv2-main{padding:0 12px}.iqv2-mobile-topics{display:flex;padding:10px 12px 8px;width:100vw;margin-left:-12px;box-sizing:border-box;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:56px;z-index:10}.iqv2-mobile-chip{white-space:nowrap;padding:8px 16px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg-alt);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--ink-muted);flex-shrink:0;transition:all .18s}.iqv2-mobile-chip.active{background:var(--t-color);color:#fff;border-color:var(--t-color);box-shadow:0 2px 10px color-mix(in srgb,var(--t-color) 45%,transparent);font-weight:800;transform:scale(1.05)}.iqv2-topic-header{margin-top:14px;margin-bottom:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--t-color, #2563eb) 14%,transparent),color-mix(in srgb,var(--t-color, #2563eb) 4%,transparent));border:1.5px solid color-mix(in srgb,var(--t-color, #2563eb) 30%,transparent);border-radius:16px;padding:16px 16px 14px;position:relative;overflow:hidden}.iqv2-topic-header:before{content:"";position:absolute;top:-30px;left:-30px;width:120px;height:120px;border-radius:50%;background:var(--t-color, #2563eb);opacity:.08;pointer-events:none}.iqv2-topic-pill{display:inline-flex;align-items:center;gap:6px;background:var(--t-color, #2563eb);color:#fff;font-size:.72rem;font-weight:800;padding:4px 12px;border-radius:999px;margin-bottom:10px;box-shadow:0 2px 8px color-mix(in srgb,var(--t-color, #2563eb) 40%,transparent);letter-spacing:.05em;text-transform:uppercase}.iqv2-topic-title{font-size:1.2rem;font-weight:800;margin:0 0 6px;color:var(--ink);line-height:1.3}.iqv2-topic-sub{font-size:.8rem;color:var(--ink-muted);margin:0}.iqv2-controls{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}.iqv2-search-wrap{min-width:unset}.iqv2-search{font-size:.9rem}.iqv2-diff-filters{gap:6px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:2px}.iqv2-diff-filters::-webkit-scrollbar{display:none}.iqv2-diff-btn{flex-shrink:0;padding:7px 12px;font-size:.8rem}.iqv2-list{gap:8px}.iqv2-item{border-radius:14px;border:1.5px solid var(--border);background:var(--bg);overflow:hidden;box-shadow:0 1px 4px #0000000f;transition:transform .12s,box-shadow .12s}.iqv2-item:active{transform:scale(.985)}.iqv2-item[data-diff=Easy]{border-left:4px solid #10b981}.iqv2-item[data-diff=Medium]{border-left:4px solid #f59e0b}.iqv2-item[data-diff=Hard]{border-left:4px solid #ef4444}.iqv2-q-btn{padding:14px 12px 14px 14px;gap:10px;min-height:64px;align-items:center}.iqv2-num{flex-shrink:0;font-size:.7rem;font-weight:800;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;letter-spacing:.01em}.iqv2-q-text{font-size:.88rem;line-height:1.45;flex:1}.iqv2-diff-badge{display:inline-flex;font-size:.68rem;padding:3px 8px;flex-shrink:0}.iqv2-arrow-mobile{display:block;font-size:1.1rem;color:var(--ink-muted);margin-left:2px;flex-shrink:0}.iqv2-chevron-desktop,.iqv2-answer{display:none}.iqb-hero{padding:40px 0 28px}.iqb-hero-stats{gap:20px}.iqb-body{padding:28px 16px 48px;gap:32px}.iqb-topic-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.iqb-topic-card{padding:14px 12px 12px}}.xp-bar-wrap{background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:20px}.xp-bar-label{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;margin-bottom:8px}.xp-level{color:var(--primary)}.xp-bar{height:10px;background:var(--border);border-radius:999px;overflow:hidden}.xp-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--purple));border-radius:999px;transition:width .6s ease}.badges-grid{display:flex;flex-wrap:wrap;gap:10px}.badge-chip{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;font-size:.85rem;font-weight:600}.badge-chip-icon{font-size:16px}.loading-spin{text-align:center;padding:40px;color:var(--ink-muted);font-size:1rem}.alert{padding:12px 16px;border-radius:8px;margin-bottom:12px;font-size:.9rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.public-courses-page{min-height:100vh;background:var(--bg)}.public-nav{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border)}.public-nav-inner{max-width:1100px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;gap:24px}.public-nav-logo{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:800;color:var(--primary);text-decoration:none}.public-nav-logo span{color:var(--ink)}.public-nav-logo-img{height:36px;max-width:140px;object-fit:contain;display:block}.public-footer-logo-img{height:28px;max-width:110px;object-fit:contain;display:inline-block;vertical-align:middle;margin-right:8px}.public-nav-links{display:flex;gap:4px;flex:1}.public-nav-links .nav-link{padding:6px 12px;border-radius:6px;font-size:.88rem;font-weight:500;color:var(--ink-muted);text-decoration:none}.public-nav-links .nav-link:hover,.public-nav-links .nav-link.active{background:var(--bg-alt);color:var(--ink)}.public-nav-actions{display:flex;gap:8px;align-items:center}.public-hero{background:linear-gradient(135deg,#eff6ff,#f5f3ff,#ecfdf5);padding:72px 20px 56px;text-align:center}.public-hero-inner{max-width:700px;margin:0 auto}.hero-badge{display:inline-block;padding:5px 16px;background:#fff;border:1.5px solid var(--border);border-radius:999px;font-size:.8rem;font-weight:600;color:var(--ink-muted);margin-bottom:20px}.hero-title{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.15;margin:0 0 16px;color:var(--ink)}.hero-accent{background:linear-gradient(90deg,var(--primary),var(--purple,#7c3aed));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-size:1.05rem;color:var(--ink-muted);margin:0 0 32px;line-height:1.7}.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}.btn-lg{padding:12px 28px;font-size:1rem}.hero-stats{display:flex;gap:32px;justify-content:center;flex-wrap:wrap}.hero-stat{display:flex;flex-direction:column;align-items:center}.hero-stat strong{font-size:1.5rem;font-weight:800;color:var(--primary)}.hero-stat span{font-size:.78rem;color:var(--ink-muted);font-weight:500}.public-courses-section{padding:48px 20px}.public-inner{max-width:1100px;margin:0 auto}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.section-header h2{margin:0;font-size:1.5rem}.public-filters{display:flex;gap:10px;margin-bottom:32px;flex-wrap:wrap}.public-filters .form-control{flex:1;min-width:160px}.fc-section{padding:40px 20px 0}.fc-section-heading{display:flex;align-items:center;gap:10px}.fc-section-star{font-size:1.3rem}.fc-grid{display:grid;gap:20px;margin-top:20px}.fc-grid--1{grid-template-columns:1fr;max-width:600px}.fc-grid--2{grid-template-columns:repeat(2,1fr)}.fc-grid--3{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.fc-grid--3{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.fc-grid--2,.fc-grid--3{grid-template-columns:1fr}}.fc-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;border:2px solid rgba(0,0,0,.07);background:var(--bg);transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;position:relative}.fc-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0000001f;border-color:var(--fc-accent,#6366f1)}.fc-card:hover .fc-title{color:var(--fc-accent,#6366f1)}.fc-thumb{height:160px;background:linear-gradient(135deg,#6366f11a,#a855f71a);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.fc-thumb img{width:100%;height:100%;object-fit:cover}.fc-thumb-emoji{font-size:64px}.fc-featured-badge{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.04em}.fc-body{padding:18px;flex:1;display:flex;flex-direction:column;gap:8px}.fc-badges{display:flex;gap:6px;flex-wrap:wrap}.fc-title{font-size:1.05rem;font-weight:700;margin:0;line-height:1.35;color:var(--ink);transition:color .15s}.fc-desc{font-size:.84rem;color:var(--ink-muted);line-height:1.55;margin:0;flex:1}.fc-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--ink-muted)}.fc-cta{display:inline-block;font-size:.85rem;font-weight:700;color:var(--fc-accent,#6366f1);margin-top:4px}.pub-card-star{position:absolute;top:8px;right:8px;font-size:1rem;line-height:1}.pub-card-thumb{height:120px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);display:flex;align-items:center;justify-content:center;position:relative}.public-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.pub-course-card{background:var(--bg);border:1.5px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}.pub-course-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001a}.pub-thumb-emoji{font-size:48px}.pub-card-body{padding:16px}.pub-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.badge-orange{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.badge-purple{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.pub-card-title{font-size:1rem;font-weight:700;margin:0 0 6px;color:var(--ink);line-height:1.4}.pub-card-desc{font-size:.83rem;color:var(--ink-muted);line-height:1.55;margin:0 0 10px}.pub-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.pub-tag{font-size:.72rem;padding:2px 8px;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;color:var(--ink-muted)}.pub-card-footer{display:flex;align-items:center;justify-content:space-between}.pub-card-price{font-size:.9rem;font-weight:700;color:var(--primary)}.public-footer-cta{padding:56px 20px;background:linear-gradient(135deg,var(--primary),var(--purple,#7c3aed));color:#fff;margin-top:24px}.public-footer-cta h2{color:#fff;margin:0 0 12px;font-size:1.8rem}.public-footer-cta p{color:#fffc;margin:0 0 24px}.public-footer{padding:20px;border-top:1px solid var(--border);color:var(--ink-muted);font-size:.85rem}.public-footer .public-inner{display:flex;justify-content:center}@media (max-width:640px){.public-nav-links{display:none}.public-course-grid{grid-template-columns:1fr}.hero-stats{gap:20px}.public-filters{flex-direction:column}}.learn-layout{display:grid;grid-template-columns:280px 1fr;height:calc(100vh - 60px);overflow:hidden}.learn-sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.learn-sidebar-header{padding:16px;border-bottom:1px solid var(--border);background:var(--bg-alt)}.learn-sidebar-header h3{margin:0 0 8px;font-size:.95rem;font-weight:700;line-height:1.4}.learn-lesson-list{overflow-y:auto;flex:1}.learn-lesson-item{width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;border:none;background:none;cursor:pointer;text-align:left;border-bottom:1px solid var(--border);transition:background .15s;font:inherit;font-size:.85rem;color:var(--ink)}.learn-lesson-item:hover{background:var(--bg-alt)}.learn-lesson-item--active{background:var(--primary)18!important;color:var(--primary);font-weight:600;border-left:3px solid var(--primary)}.learn-lesson-item--done{color:var(--ink-muted)}.learn-lesson-num{width:22px;height:22px;border-radius:50%;background:var(--border);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.learn-lesson-item--active .learn-lesson-num{background:var(--primary);color:#fff}.learn-lesson-label{flex:1;line-height:1.4}.learn-lesson-dur{font-size:.72rem;color:var(--ink-muted);flex-shrink:0}.learn-main{overflow-y:auto;display:flex;flex-direction:column}.learn-title-bar{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 0;gap:12px}.learn-lesson-breadcrumb{font-size:.75rem;color:var(--ink-muted);font-weight:500;margin-bottom:4px}.learn-lesson-title{margin:0;font-size:1.4rem;font-weight:800}.learn-tab-bar{display:flex;gap:4px;padding:16px 24px 0;border-bottom:1px solid var(--border)}.learn-tab{padding:8px 18px;border:none;background:none;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;color:var(--ink-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.learn-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.learn-content{padding:24px;max-width:860px}.learn-video{padding:0 24px 16px}.learn-actions{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--border);margin-top:auto;gap:12px}.btn-success{background:#059669;color:#fff;border:none}.btn-success:hover{background:#047857}.lesson-md{font-size:.97rem;line-height:1.8;color:var(--ink)}.lesson-h1{font-size:1.6rem;font-weight:800;margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid var(--border)}.lesson-h2{font-size:1.2rem;font-weight:700;margin:28px 0 12px;color:var(--primary)}.lesson-h3{font-size:1rem;font-weight:700;margin:20px 0 8px}.lesson-p{margin:0 0 14px}.lesson-ul,.lesson-ol{padding-left:24px;margin:0 0 14px}.lesson-li{margin-bottom:6px}.lesson-blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid var(--primary);background:var(--bg-alt);border-radius:0 8px 8px 0;color:var(--ink-muted)}.lesson-blockquote p{margin:0}.lesson-hr{border:none;border-top:1px solid var(--border);margin:24px 0}.lesson-inline-code{font-family:Fira Code,Cascadia Code,monospace;font-size:.88em;padding:2px 6px;background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;color:#e83e8c;word-break:break-all}.lesson-code-block{border-radius:10px!important;font-size:.85rem!important;margin:12px 0 20px!important;max-width:100%!important;overflow-x:auto!important}.lesson-code-block>div,.lesson-code-block pre{overflow-x:auto!important;max-width:100%!important}@media (max-width:900px){.lesson-code-block{font-size:.75rem!important;border-radius:8px!important}.lesson-md{font-size:.93rem}.lesson-h1{font-size:1.25rem}.lesson-h2{font-size:1.05rem}}.lesson-table-wrap{overflow-x:auto;margin:12px 0 20px}.lesson-table{width:100%;border-collapse:collapse;font-size:.9rem}.lesson-table th{background:var(--primary);color:#fff;padding:10px 14px;text-align:left}.lesson-table td{padding:9px 14px;border-bottom:1px solid var(--border)}.lesson-table tr:nth-child(2n) td{background:var(--bg-alt)}.tts-bar{display:flex;align-items:center;gap:10px;padding:10px 24px;background:var(--bg-alt);border-bottom:1px solid var(--border);flex-wrap:wrap}.tts-label{font-size:.8rem;font-weight:600;color:var(--ink-muted)}.tts-controls{display:flex;align-items:center;gap:6px}.tts-btn{display:flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s;color:var(--ink)}.tts-btn:hover{border-color:var(--primary);color:var(--primary)}.tts-btn.tts-playing{background:var(--primary);color:#fff;border-color:var(--primary)}.tts-btn.tts-playing:hover{background:#1d4ed8}.tts-speed{padding:5px 8px;border:1.5px solid var(--border);border-radius:6px;font:inherit;font-size:.8rem;background:var(--bg);color:var(--ink);cursor:pointer}.tts-progress-wrap{flex:1;min-width:120px}.tts-progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:999px;background:var(--border);cursor:pointer;accent-color:var(--primary)}@media (max-width:768px){.learn-content{padding:16px}.learn-title-bar{padding:14px 16px 0}.tts-bar{padding:10px 16px}}.public-lesson-page{min-height:100vh;background:var(--bg);color:var(--ink)}.public-breadcrumb{padding:10px 0;font-size:.85rem;color:var(--ink-muted);border-bottom:1px solid var(--border)}.public-breadcrumb .public-inner{max-width:1200px;margin:0 auto;padding:0 24px}.public-breadcrumb a{color:var(--primary);text-decoration:none}.public-breadcrumb a:hover{text-decoration:underline}.public-breadcrumb span{margin:0 4px}.public-lesson-layout{display:grid;grid-template-columns:280px 1fr;max-width:1200px;margin:0 auto;gap:0;min-height:calc(100vh - 130px)}.public-lesson-sidebar{border-right:1px solid var(--border);padding:20px 0;position:sticky;top:60px;max-height:calc(100vh - 60px);overflow-y:auto}.public-lesson-course-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);padding:0 16px 12px;border-bottom:1px solid var(--border);margin-bottom:8px}.public-lesson-nav{display:flex;flex-direction:column}.pub-lesson-link{display:flex;align-items:flex-start;gap:10px;padding:9px 16px;font-size:.875rem;color:var(--ink);text-decoration:none;border-left:3px solid transparent;transition:all .15s}.pub-lesson-link:hover{background:var(--bg-alt);color:var(--primary)}.pub-lesson-link--active{border-left-color:var(--primary);background:var(--bg-alt);color:var(--primary);font-weight:600}.pub-lesson-num{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--border);color:var(--ink-muted);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.pub-lesson-link--active .pub-lesson-num{background:var(--primary);color:#fff}.public-lesson-main{padding:32px 48px;min-width:0}.public-lesson-meta{display:flex;gap:8px;margin-bottom:12px}.public-lesson-title{font-size:2rem;font-weight:800;line-height:1.2;margin:0 0 24px}.public-lesson-cta{margin:40px 0 24px}.lesson-cta-card{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:14px;padding:20px 24px}.lesson-cta-icon{font-size:2rem;flex-shrink:0}.lesson-cta-card strong{display:block;font-size:1rem;margin-bottom:4px}.lesson-cta-card p{margin:0;font-size:.875rem;color:var(--ink-muted)}.lesson-cta-card .btn{flex-shrink:0;white-space:nowrap}.public-lesson-pagination{display:flex;justify-content:space-between;padding:24px 0 40px;border-top:1px solid var(--border);margin-top:32px;gap:12px}@media (max-width:900px){.public-lesson-layout{grid-template-columns:1fr}.public-lesson-sidebar{position:static;max-height:none;border-right:none;border-bottom:1px solid var(--border);padding:12px 0}.public-lesson-main{padding:20px}.public-lesson-title{font-size:1.5rem}.lesson-cta-card{flex-wrap:wrap}}@media (max-width:600px){.public-lesson-pagination{flex-direction:column}}.desk-only{display:block}.mob-progress-strip{display:none;position:sticky;top:0;z-index:200;background:var(--bg);border-bottom:1px solid var(--border);padding:0 12px;height:52px;align-items:center;gap:8px;box-shadow:0 2px 8px #0000000f}.mob-strip-back{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.1rem;color:var(--ink);text-decoration:none;background:var(--bg-alt);border:1px solid var(--border);transition:background .15s}.mob-strip-back:hover{background:var(--border)}.mob-strip-center{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px}.mob-strip-course{font-size:.72rem;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mob-strip-count{font-size:.8rem;font-weight:600;color:var(--primary)}.mob-strip-menu{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--border);background:var(--bg-alt);font-size:1rem;cursor:pointer;color:var(--ink);transition:all .15s}.mob-strip-menu:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.mob-strip-progress-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border)}.mob-strip-progress-fill{height:100%;background:var(--primary);border-radius:0 2px 2px 0;transition:width .4s ease}.mob-drawer-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:299;background:#0000;transition:background .25s ease;pointer-events:none}.mob-drawer-backdrop--open{background:#00000073;pointer-events:all}.mob-lesson-drawer{display:none;position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--bg);border-radius:20px 20px 0 0;box-shadow:0 -4px 32px #0000002e;max-height:88vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.mob-lesson-drawer--open{transform:translateY(0)}.mob-drawer-handle{flex-shrink:0;width:40px;height:4px;border-radius:2px;background:var(--border);margin:10px auto 0}.mob-drawer-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;padding:12px 20px 10px;border-bottom:1px solid var(--border)}.mob-drawer-course-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin:0 0 2px}.mob-drawer-course-title{font-size:.95rem;font-weight:700;color:var(--ink);margin:0}.mob-drawer-close{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border);background:var(--bg-alt);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;color:var(--ink-muted);line-height:1}.mob-drawer-close:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.mob-drawer-progress-row{flex-shrink:0;padding:10px 20px 6px;display:flex;align-items:center;gap:10px}.mob-drawer-progress-track{flex:1;height:6px;background:var(--bg-alt);border-radius:3px;border:1px solid var(--border);overflow:hidden}.mob-drawer-progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .4s ease}.mob-drawer-progress-label{font-size:.78rem;font-weight:600;color:var(--ink-muted);white-space:nowrap}.mob-drawer-nav{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom,16px)}.mob-drawer-nav .pub-lesson-link--active{background:#eff6ff;border-left-color:var(--primary)}.pub-lesson-current-dot{flex-shrink:0;font-size:.5rem;color:var(--primary);margin-left:auto}.pub-lesson-link-title{flex:1}.mob-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--bg);border-top:1px solid var(--border);padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));gap:6px;align-items:center;box-shadow:0 -2px 12px #00000014}.mob-bottom-btn{flex:1;display:flex;align-items:center;gap:4px;padding:8px 10px;border-radius:10px;background:var(--bg-alt);border:1.5px solid var(--border);color:var(--ink);text-decoration:none;font-size:.75rem;font-weight:600;min-width:0;transition:all .15s;max-width:36%}.mob-bottom-btn:hover:not(.mob-bottom-btn--disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.mob-bottom-btn--disabled{opacity:.4;pointer-events:none;cursor:default}.mob-bottom-prev{justify-content:flex-start}.mob-bottom-next{justify-content:flex-end;flex-direction:row-reverse}.mob-bottom-arrow{flex-shrink:0;font-size:.95rem}.mob-bottom-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;direction:ltr}.mob-bottom-next .mob-bottom-label{text-align:right}.mob-bottom-center{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:0;padding:6px 14px;border-radius:999px;border:1.5px solid var(--primary);background:var(--primary);color:#fff;font:inherit;cursor:pointer;line-height:1.25;transition:all .15s}.mob-bottom-center:hover{background:#1d4ed8;border-color:#1d4ed8}.mob-bottom-count{font-size:.85rem;font-weight:800}.mob-bottom-all{font-size:.65rem;font-weight:600;opacity:.85}@media (max-width: 768px){.mob-progress-strip{display:flex}.mob-drawer-backdrop{display:block}.mob-lesson-drawer,.mob-bottom-nav{display:flex}.desk-only{display:none!important}.public-lesson-main{padding:16px 16px 100px!important}.public-lesson-layout{grid-template-columns:1fr!important}.public-lesson-title{font-size:1.4rem}.lesson-cta-card{flex-direction:column;align-items:flex-start}}@media (max-width: 400px){.mob-bottom-label{display:none}.mob-bottom-btn{max-width:52px;justify-content:center}.mob-bottom-btn.mob-bottom-next{flex-direction:row}}.pub-header{position:sticky;top:0;z-index:200;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:0 2px 10px #0000000f}.pub-header-bar{display:flex;align-items:center;height:58px;padding:0 24px;gap:16px;max-width:1400px;margin:0 auto}.pub-header-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.pub-header-back{display:none;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-alt);border:1.5px solid var(--border);color:var(--ink);font-size:1rem;text-decoration:none;flex-shrink:0;transition:all .15s}.pub-header-back:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.pub-header-logo{display:flex;align-items:center;gap:6px;font-size:1.1rem;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.pub-header-logo span{color:var(--primary)}.pub-header-logo-img{height:34px;max-width:130px;object-fit:contain;display:block}.pub-header-links{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.pub-header-link{padding:6px 12px;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--ink-muted);text-decoration:none;transition:all .15s;white-space:nowrap}.pub-header-link:hover{background:var(--bg-alt);color:var(--primary)}.pub-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.pub-header-auth{display:flex;align-items:center;gap:8px}.pub-header-hamburger{display:none;width:38px;height:38px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:8px;border:1.5px solid var(--border);background:var(--bg-alt);cursor:pointer;padding:0;flex-shrink:0}.pub-header-hamburger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transform-origin:center;transition:all .25s ease}.pub-header-hamburger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.pub-header-hamburger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.pub-header-hamburger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.pub-lesson-strip{display:none;align-items:center;padding:6px 14px;gap:10px;border-top:1px solid var(--border);background:var(--bg-alt);position:relative}.pub-lesson-strip-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.pub-lesson-strip-course{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pub-lesson-strip-lesson{font-size:.78rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pub-lesson-strip-btn{flex-shrink:0;padding:5px 12px;border-radius:999px;border:1.5px solid var(--primary);background:transparent;color:var(--primary);font:inherit;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}.pub-lesson-strip-btn:hover{background:var(--primary);color:#fff}.pub-lesson-strip-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border)}.pub-lesson-strip-fill{height:100%;background:var(--primary);border-radius:0 2px 2px 0;transition:width .4s ease}.pub-mobile-menu{display:none;overflow:hidden;max-height:0;transition:max-height .3s cubic-bezier(.4,0,.2,1);border-top:1px solid var(--border);background:var(--bg)}.pub-mobile-menu--open{max-height:500px}.pub-mobile-nav{padding:8px 0}.pub-mobile-link{display:flex;align-items:center;gap:12px;padding:13px 20px;font-size:.95rem;font-weight:500;color:var(--ink);text-decoration:none;border-left:3px solid transparent;transition:all .15s}.pub-mobile-link:hover{background:var(--bg-alt);color:var(--primary);border-left-color:var(--primary)}.pub-mobile-icon{font-size:1.1rem;width:24px;text-align:center}.pub-mobile-auth{display:flex;gap:10px;padding:12px 20px 20px;border-top:1px solid var(--border)}@media (max-width: 768px){.pub-header-back,.pub-header-hamburger,.pub-lesson-strip{display:flex}.pub-mobile-menu{display:block}.pub-header-links,.pub-header-auth{display:none}.pub-header-bar{padding:0 14px;height:52px}.public-lesson-main{padding-top:8px!important}}@media (max-width: 380px){.pub-header-logo span{display:none}.pub-header-bar{padding:0 10px;gap:8px}}.lesson-nav-bar{display:flex;align-items:stretch;gap:10px;margin-bottom:28px}.lesson-nav-bar--bottom{margin-top:36px;margin-bottom:48px;padding-top:24px;border-top:1px solid var(--border)}.lesson-nav-btn{flex:1;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;border:1.5px solid var(--border);background:var(--bg);color:var(--ink);text-decoration:none;transition:all .18s ease;min-width:0}.lesson-nav-btn:not(.lesson-nav-btn--disabled):hover{border-color:var(--primary);background:var(--bg-alt);box-shadow:0 2px 10px #3b82f61f;transform:translateY(-1px)}.lesson-nav-btn--next{justify-content:flex-end;text-align:right}.lesson-nav-btn--disabled{opacity:.38;cursor:default;pointer-events:none}.lesson-nav-arrow{flex-shrink:0;font-size:1.1rem;color:var(--primary);transition:transform .18s ease}.lesson-nav-btn:not(.lesson-nav-btn--disabled):hover .lesson-nav-arrow{transform:translate(-3px)}.lesson-nav-btn--next:not(.lesson-nav-btn--disabled):hover .lesson-nav-arrow{transform:translate(3px)}.lesson-nav-text{display:flex;flex-direction:column;gap:2px;min-width:0}.lesson-nav-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary)}.lesson-nav-title{font-size:.875rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-nav-counter{flex-shrink:0;align-self:center;padding:6px 14px;border-radius:999px;background:var(--bg-alt);border:1.5px solid var(--border);font-size:.8rem;font-weight:700;color:var(--ink-muted);white-space:nowrap}@media (max-width: 768px){.lesson-nav-bar--top{margin-bottom:20px}.lesson-nav-label{font-size:.65rem}.lesson-nav-title{font-size:.8rem}.lesson-nav-btn{padding:10px 12px;gap:8px;border-radius:10px}.lesson-nav-counter{padding:5px 10px;font-size:.75rem}}@media (max-width: 400px){.lesson-nav-text{display:none}.lesson-nav-btn{flex:0 0 48px;justify-content:center;border-radius:50%;padding:0;height:48px}.lesson-nav-counter{font-size:.7rem;padding:4px 8px}}.pub-strip-nav{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.pub-strip-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-size:1rem;font-weight:700;color:var(--primary);background:var(--primary-light);border:1.5px solid var(--primary);text-decoration:none;transition:background .15s,color .15s;cursor:pointer;-webkit-user-select:none;user-select:none}.pub-strip-arrow:hover:not(.pub-strip-arrow--disabled){background:var(--primary);color:#fff}.pub-strip-arrow--disabled{opacity:.3;cursor:default;pointer-events:none}.cert-page{min-height:100vh;background:var(--bg-alt);display:flex;flex-direction:column;align-items:center;padding:32px 16px 64px;box-sizing:border-box}.cert-actions{display:flex;gap:12px;align-items:center;margin-bottom:28px;width:100%;max-width:860px}.cert-wrap{width:100%;max-width:860px}.cert-card{background:#fff;border-radius:16px;box-shadow:0 8px 48px #0000001f,0 2px 8px #0000000f;padding:0;overflow:hidden;position:relative;color:#1e1b4b;font-family:Georgia,Times New Roman,serif}.cert-bar{height:12px;background:linear-gradient(90deg,#4f46e5,#7c3aed,#c026d3,#4f46e5);background-size:200% 100%}.cert-bar--bottom{margin-top:40px}.cert-platform{display:flex;align-items:center;justify-content:center;gap:10px;margin:32px 0 8px}.cert-platform-logo{font-size:1.6rem;color:#4f46e5}.cert-platform-name{font-size:1.25rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4f46e5;font-family:system-ui,sans-serif}.cert-brand-logo{height:56px;max-width:220px;object-fit:contain;display:block}.cert-seal{display:flex;align-items:center;justify-content:center}.cert-seal-logo{height:48px;max-width:120px;object-fit:contain;opacity:.18;filter:grayscale(30%)}.cert-presents{text-align:center;font-size:.88rem;color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-style:italic}.cert-heading{text-align:center;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;margin:0 0 24px;color:#1e1b4b;letter-spacing:-.01em}.cert-awarded-to{text-align:center;font-size:.9rem;color:#64748b;margin:0 0 8px;font-style:italic}.cert-student{text-align:center;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700;margin:0 0 16px;color:#4f46e5;letter-spacing:-.02em;padding:0 24px;text-wrap:balance}.cert-divider{width:120px;height:2px;background:linear-gradient(90deg,transparent,#7c3aed,transparent);margin:0 auto 20px}.cert-body{text-align:center;font-size:.95rem;color:#475569;margin:0 0 10px}.cert-course{text-align:center;font-size:clamp(1.2rem,3vw,1.75rem);font-weight:700;color:#1e1b4b;margin:0 0 6px;padding:0 24px;text-wrap:balance}.cert-category{text-align:center;font-size:.83rem;color:#7c3aed;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:0 0 32px;font-family:system-ui,sans-serif}.cert-meta-row{display:flex;align-items:center;justify-content:center;gap:32px;margin:0 24px 32px;padding:20px 24px;background:#f8f7ff;border-radius:12px;flex-wrap:wrap}.cert-meta-item{display:flex;flex-direction:column;align-items:center;gap:4px}.cert-meta-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#64748b;font-family:system-ui,sans-serif}.cert-meta-value{font-size:1rem;font-weight:700;color:#1e1b4b;font-family:system-ui,sans-serif}.cert-meta-sub{font-size:.7rem;color:#6366f1;font-family:system-ui,sans-serif;font-style:italic}.cert-seal{font-size:2.5rem;color:#4f46e5;opacity:.3}.cert-sig-row{display:flex;justify-content:center;gap:64px;padding:0 40px 8px;flex-wrap:wrap}.cert-sig{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:160px}.cert-sig-line{width:140px;height:1.5px;background:#cbd5e1}.cert-sig-name{font-size:.9rem;font-weight:700;color:#1e1b4b;font-family:system-ui,sans-serif}.cert-sig-title{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-family:system-ui,sans-serif}.cert-id{text-align:center;font-size:.7rem;color:#94a3b8;font-family:system-ui,sans-serif;letter-spacing:.04em;margin:16px 0 0}@media print{.no-print{display:none!important}.cert-page{background:#fff;padding:0}.cert-wrap{max-width:100%}.cert-card{box-shadow:none;border-radius:0}.cert-brand-logo,.cert-seal-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4 landscape;margin:0}}@media (max-width:600px){.cert-sig-row{gap:32px}.cert-meta-row{gap:16px}.cert-actions{flex-direction:column;align-items:stretch}}.cert-id-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0 0}.cert-copy-btn{font:inherit;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:6px;border:1.5px solid #cbd5e1;background:#f8fafc;color:#4f46e5;cursor:pointer;transition:all .15s}.cert-copy-btn:hover{background:#ede9fe;border-color:#7c3aed}.cert-share-panel{width:100%;max-width:860px;margin-top:32px;display:flex;flex-direction:column;gap:20px}.cert-share-heading{font-size:1.15rem;font-weight:700;color:var(--ink);margin:0 0 4px}.cert-share-row{display:flex;gap:16px;align-items:flex-start;background:var(--bg);border:1.5px solid var(--border);border-radius:14px;padding:18px;flex-wrap:wrap}.cert-share-preview{flex:1;min-width:220px}.cert-share-preview--wa{border-left:4px solid #25D366;padding-left:12px}.cert-share-preview--li{border-left:4px solid #0A66C2;padding-left:12px}.cert-share-preview--em{border-left:4px solid #4f46e5;padding-left:12px}.csp-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.csp-icon{font-size:1.1rem;display:flex;align-items:center}.csp-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.csp-mode-toggle{display:flex;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;margin-left:auto}.csp-mode-btn{padding:4px 12px;font:inherit;font-size:.78rem;font-weight:600;background:none;border:none;cursor:pointer;color:var(--ink-muted);transition:all .15s;white-space:nowrap}.csp-mode-btn.active{background:#0a66c2;color:#fff}.csp-text{font-family:system-ui,sans-serif;font-size:.82rem;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0;background:var(--bg-alt);border-radius:8px;padding:10px 12px;max-height:160px;overflow-y:auto}.csp-profile-info{background:var(--bg-alt);border-radius:8px;padding:10px 14px;font-size:.85rem;color:var(--ink)}.csp-profile-info p{margin:0 0 8px;color:var(--ink-muted)}.csp-profile-info ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.csp-profile-info li{color:var(--ink)}.csp-email-meta{font-size:.82rem;color:var(--ink-muted);margin-bottom:6px}@media (max-width:600px){.cert-share-row{flex-direction:column}.cert-share-row a,.cert-share-row button{width:100%;justify-content:center}.csp-mode-toggle{margin-left:0;margin-top:6px}}.dash-banner{background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:var(--radius-lg);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px;position:relative;overflow:hidden}.dash-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 55% 90% at 95% 50%,rgba(37,99,235,.22) 0%,transparent 65%);pointer-events:none}.dash-banner-left{position:relative;z-index:1}.dash-banner-greeting{font-size:13px;font-weight:500;letter-spacing:.04em;color:#ffffff80;margin-bottom:4px}.dash-banner-name{font-size:clamp(1.3rem,3vw,1.75rem);font-weight:700;color:#fff;margin:0 0 6px;line-height:1.2}.dash-banner-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dash-banner-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:600;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#fffc}.dash-banner-right{position:relative;z-index:1}.dash-kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:28px}.dash-kpi{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.dash-kpi-accent{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:12px 0 0 12px}.dash-kpi-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:6px}.dash-kpi-value{font-size:1.875rem;font-weight:700;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.dash-kpi-sub{font-size:11px;color:var(--ink-faint);margin-top:3px}.dash-cols{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start;margin-bottom:20px}@media (max-width: 900px){.dash-cols{grid-template-columns:1fr}}.dash-section-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dash-section-title{font-size:14px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.07em}.dash-course-list{display:flex;flex-direction:column;gap:1px}.dash-course-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);transition:box-shadow .15s,transform .15s;text-decoration:none;color:inherit}.dash-course-row:first-child{border-radius:var(--radius-lg) var(--radius-lg) var(--radius) var(--radius)}.dash-course-row:last-child{border-radius:var(--radius) var(--radius) var(--radius-lg) var(--radius-lg)}.dash-course-row:only-child{border-radius:var(--radius-lg)}.dash-course-row+.dash-course-row{margin-top:2px}.dash-course-row:hover{box-shadow:var(--shadow);transform:translate(2px)}.dash-course-thumb{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--primary-light),var(--purple-light));display:flex;align-items:center;justify-content:center;font-size:22px}.dash-course-thumb img{width:100%;height:100%;object-fit:cover}.dash-course-info{flex:1;min-width:0}.dash-course-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}.dash-course-progress-wrap{display:flex;align-items:center;gap:8px}.dash-course-pct{font-size:11px;font-weight:700;color:var(--primary);white-space:nowrap}.dash-course-bar{flex:1;height:5px;background:var(--border);border-radius:99px;overflow:hidden}.dash-course-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--purple));border-radius:99px}.dash-course-cta{flex-shrink:0;padding:5px 14px;border-radius:var(--radius);background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;border:1.5px solid transparent;text-decoration:none;transition:background .15s,border-color .15s;white-space:nowrap}.dash-course-cta:hover{background:var(--primary);color:#fff}.dash-panel{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:16px}.dash-xp-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dash-xp-level{font-size:12px;font-weight:700;color:var(--primary);background:var(--primary-light);border-radius:100px;padding:2px 10px}.dash-xp-fraction{font-size:11px;color:var(--ink-faint)}.dash-metric-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.dash-metric-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.dash-metric-key{color:var(--ink-muted);display:flex;align-items:center;gap:6px}.dash-metric-val{font-weight:700;color:var(--ink)}.dash-cert-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.dash-cert-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg-alt);border-radius:var(--radius);text-decoration:none;transition:background .15s}.dash-cert-row:hover{background:var(--green-light)}.dash-cert-dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0}.dash-cert-name{font-size:12px;font-weight:600;color:var(--ink);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-badges-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.dash-badge-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;background:var(--bg-alt);border:1px solid var(--border);border-radius:100px;font-size:12px;font-weight:600;color:var(--ink)}.dash-quick-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}.dash-quick-btn{flex:1;min-width:130px;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);color:var(--ink);font-size:13px;font-weight:600;text-decoration:none;text-align:center;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,color .15s;display:flex;align-items:center;justify-content:center;gap:7px}.dash-quick-btn:hover{border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow)}.cd-hero{background:linear-gradient(135deg,#0d1b4b,#1a237e 40%,#283593,#1565c0);padding:40px 20px 48px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.cd-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 70% 50%,rgba(99,102,241,.25),transparent);pointer-events:none}.cd-hero-inner{max-width:1100px;margin:0 auto;display:flex;gap:40px;align-items:flex-start;position:relative}.cd-hero-thumb{width:220px;min-width:220px;height:160px;background:#ffffff1f;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 20px #00000040;border:1px solid rgba(255,255,255,.2)}.cd-hero-emoji{font-size:56px}.cd-hero-info{flex:1;min-width:0}.cd-hero-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.cd-hero-badges .badge{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff}.cd-hero-title{font-size:2rem;font-weight:800;color:#fff;margin:0 0 12px;line-height:1.2}.cd-hero-desc{font-size:1rem;color:#ffffffbf;line-height:1.65;margin:0 0 16px;max-width:640px}.cd-hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}.cd-meta-item{font-size:.88rem;color:#ffffffa6;font-weight:500}.cd-hero-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}.cd-hero-tags .pub-tag{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff}.cd-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.cd-preview-notice{display:flex;align-items:center;gap:10px;background:#fffbeb;border:1.5px solid #fbbf24;border-radius:10px;padding:12px 16px;font-size:.88rem;color:#92400e;margin-bottom:20px}.cd-preview-notice span:first-child{font-size:1.2rem;flex-shrink:0}.cd-lesson-list{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--border);border-radius:14px;overflow:hidden}.cd-lesson-row{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--border);transition:background .15s}.cd-lesson-row:last-child{border-bottom:none}.cd-lesson-row:hover{background:var(--bg-alt)}.cd-lesson-num{width:28px;height:28px;min-width:28px;border-radius:50%;background:var(--bg-alt);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:var(--ink-muted);margin-top:2px}.cd-lesson-body{flex:1;min-width:0}.cd-lesson-title{font-size:.97rem;font-weight:600;color:var(--ink);margin-bottom:4px}.cd-lesson-preview{font-size:.82rem;color:var(--ink-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cd-lesson-meta{display:flex;align-items:center;gap:8px;margin-top:2px;flex-shrink:0}.cd-lesson-dur{font-size:.78rem;color:var(--ink-muted);white-space:nowrap}.cd-lesson-arrow{color:var(--primary);font-weight:700;font-size:1rem}.cd-enroll-cta{margin-top:32px}.cd-enroll-cta-inner{background:linear-gradient(135deg,var(--primary),#7c3aed);border-radius:16px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#fff}.cd-enroll-cta-inner strong{font-size:1.1rem;display:block;margin-bottom:4px}.cd-enroll-cta-inner p{margin:0;font-size:.9rem;opacity:.85}.cd-enroll-cta-inner .btn-primary{background:#fff;color:var(--primary);font-weight:700;white-space:nowrap}.cd-enroll-cta-inner .btn-primary:hover{background:#f8fafc}@media (max-width: 768px){.cd-hero-inner{flex-direction:column;gap:20px}.cd-hero-thumb{width:100%;min-width:unset;height:140px}.cd-hero-title{font-size:1.5rem}.cd-enroll-cta-inner{flex-direction:column;text-align:center}.cd-enroll-cta-inner .btn{width:100%;justify-content:center}}.me-page{display:flex;flex-direction:column;min-height:100%}.me-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899);border-radius:20px;padding:36px 32px 32px;margin-bottom:28px;color:#fff}.me-blob{position:absolute;border-radius:50%;pointer-events:none;opacity:.18;filter:blur(32px)}.me-blob-1{width:220px;height:220px;background:#fff;top:-60px;right:-60px}.me-blob-2{width:140px;height:140px;background:#e879f9;bottom:-40px;left:10%}.me-blob-3{width:100px;height:100px;background:#818cf8;top:30px;left:38%}.me-hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.me-hero-left{flex:1;min-width:200px}.me-hero-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin-bottom:6px}.me-hero-title{font-size:1.9rem;font-weight:800;line-height:1.2;margin:0 0 8px;text-wrap:balance}.me-hero-sub{margin:0;font-size:.95rem;opacity:.82}.me-hero-stats{display:flex;gap:12px;flex-shrink:0}.me-stat-card{background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:16px 20px;text-align:center;min-width:80px}.me-stat-value{font-size:1.8rem;font-weight:800;line-height:1;color:#fff}.me-stat-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.75;margin-top:4px;color:#fff}.me-body{flex:1}.me-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.me-tabs{display:flex;gap:6px;flex-wrap:wrap}.me-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg);color:var(--ink-muted);font-size:.87rem;font-weight:500;cursor:pointer;transition:all .15s}.me-tab:hover{border-color:#a855f7;color:#7c3aed}.me-tab--active{background:linear-gradient(135deg,#6366f1,#a855f7);border-color:transparent;color:#fff;font-weight:600}.me-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#0000001a;font-size:.75rem;font-weight:700}.me-tab-badge--active{background:#ffffff40;color:#fff}.me-empty{text-align:center;padding:60px 24px;display:flex;flex-direction:column;align-items:center;gap:10px}.me-empty-icon{font-size:3rem;line-height:1}.me-empty-title{font-size:1.1rem;font-weight:700;color:var(--ink)}.me-empty-sub{font-size:.9rem;color:var(--ink-muted);margin:0 0 6px;max-width:320px}.me-list{display:flex;flex-direction:column;gap:10px}.me-card{display:flex;align-items:center;gap:16px;padding:16px 18px;background:var(--bg);border:1.5px solid var(--border);border-radius:14px;transition:box-shadow .15s,border-color .15s}.me-card:hover{box-shadow:0 4px 16px #6366f11a;border-color:#a855f74d}.me-card--done{background:var(--bg-alt)}.me-card-thumb{width:52px;height:52px;border-radius:12px;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,#ede9fe,#f5d0fe);display:flex;align-items:center;justify-content:center;font-size:24px}.me-card--done .me-card-thumb{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.me-card-thumb img{width:100%;height:100%;object-fit:cover}.me-card-info{flex:1;min-width:0}.me-card-title{font-weight:700;font-size:.97rem;color:var(--ink);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-card-title-link{text-decoration:none;display:block;overflow:hidden}.me-card-title-link:hover .me-card-title{color:#6366f1;text-decoration:underline;text-underline-offset:2px}.me-card-instructor{font-size:.8rem;color:var(--ink-muted);margin-top:2px}.me-card-progress{margin-top:8px}.me-progress-bar{height:6px;background:var(--bg-alt);border-radius:999px;overflow:hidden;margin-bottom:4px;border:1px solid var(--border)}.me-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:999px;transition:width .4s}.me-progress-text{font-size:.77rem;color:var(--ink-muted)}.me-card-done-row{margin-top:6px}.me-done-badge{display:inline-flex;align-items:center;gap:4px;font-size:.77rem;font-weight:600;color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:2px 10px}.me-card-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;align-items:flex-end}.me-unenroll-btn{font-size:.78rem;opacity:.7}.me-unenroll-btn:hover{opacity:1;color:var(--danger);border-color:var(--danger)}@media (max-width: 640px){.me-hero{padding:24px 20px 22px;border-radius:14px}.me-hero-title{font-size:1.4rem}.me-hero-inner{flex-direction:column;align-items:flex-start}.me-hero-stats{width:100%}.me-stat-card{flex:1}.me-card{flex-wrap:wrap;gap:12px}.me-card-thumb{width:44px;height:44px;border-radius:10px;font-size:20px}.me-card-actions{flex-direction:row;width:100%;margin-left:56px}.me-card-info{min-width:calc(100% - 68px)}}.cc-page{display:flex;flex-direction:column;min-height:100%}.cc-toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.cc-search-form{display:flex;gap:8px;flex:1;min-width:200px}.cc-search-form input{flex:1}.cc-select{max-width:160px}.cc-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}.cc-price{font-size:.95rem;color:var(--ink)}.cc-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}.cc-pager-info{font-size:.88rem;color:var(--ink-muted)}.cert-hero{background:linear-gradient(135deg,#b45309,#d97706 40%,#f59e0b)}.cert-banner{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;border-radius:14px;padding:14px 20px;margin-bottom:20px}.cert-banner-icon{font-size:2rem;line-height:1}.cert-banner-text{display:flex;flex-direction:column;gap:2px}.cert-banner-text strong{font-size:.95rem;font-weight:700}.cert-banner-text span{font-size:.85rem;opacity:.88}.cert-card{cursor:pointer;border-left:3px solid #c09040}.cert-thumb{background:linear-gradient(135deg,#fef3c7,#fde68a)!important}.cert-meta-row{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;align-items:center}.cert-date{font-size:.78rem;color:var(--ink-muted)}.cert-id{font-family:monospace;font-size:.72rem;color:#b8922a}.learn-page{display:flex;flex-direction:column;flex:1;min-height:0}.lp-header{position:relative;overflow:hidden;background:linear-gradient(135deg,#6366f1,#a855f7 60%,#ec4899);border-radius:16px;padding:20px 24px;margin-bottom:16px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.lp-header:before{content:"";position:absolute;width:200px;height:200px;background:#ffffff1a;border-radius:50%;top:-70px;right:-50px;pointer-events:none}.lp-header-left{flex:1;min-width:0}.lp-breadcrumb{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.72;margin-bottom:4px}.lp-course-title{font-size:1.2rem;font-weight:800;margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.lp-progress-wrap{display:flex;flex-direction:column;gap:4px;min-width:140px}.lp-progress-bar{height:6px;background:#ffffff40;border-radius:999px;overflow:hidden}.lp-progress-fill{height:100%;background:#fff;border-radius:999px;transition:width .4s}.lp-progress-label{font-size:.75rem;opacity:.82;white-space:nowrap}.lp-cert-btn{background:#fff3;border:1.5px solid rgba(255,255,255,.4);color:#fff;white-space:nowrap}.lp-cert-btn:hover{background:#ffffff4d}.learn-page .learn-layout{flex:1;min-height:0}@media (max-width: 640px){.lp-header{padding:16px 18px;border-radius:12px;flex-direction:column;align-items:flex-start}.lp-course-title{font-size:1rem;white-space:normal}.lp-header-right{width:100%}.lp-progress-wrap{flex:1}.cc-select{max-width:100%}.cc-toolbar{flex-direction:column}.cc-search-form{width:100%}}.pwa-install-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:16px;box-shadow:0 -4px 20px #6366f166;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.pwa-install-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.pwa-install-icon{font-size:1.5rem;flex-shrink:0}.pwa-install-text{display:flex;flex-direction:column;gap:1px;min-width:0}.pwa-install-text strong{font-size:.9375rem;font-weight:700}.pwa-install-text span{font-size:.8125rem;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-install-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pwa-install-actions .btn-primary{background:#fff;color:#6366f1;font-weight:700;border:none}.pwa-install-actions .btn-primary:hover{background:#ffffffe6}.pwa-install-actions .btn-ghost{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 10px;font-size:.875rem}.pwa-install-actions .btn-ghost:hover{background:#ffffff40}@media (max-width: 480px){.pwa-install-bar{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.pwa-install-text span{display:none}}body,.mob-bottom-nav{padding-bottom:env(safe-area-inset-bottom,0px)}@media (hover: none) and (pointer: coarse){.btn,.snav-link{min-height:44px}.mob-bottom-btn{min-height:48px}.learn-lesson-item{min-height:44px}.topbar-hamburger{min-width:44px;min-height:44px}}html{scroll-behavior:smooth}body{overflow-x:hidden;max-width:100vw}@media (max-width: 480px){.me-card{padding:16px}.me-stat-card{padding:14px 16px}.me-stat-value{font-size:1.75rem}.cert-card{padding:20px 16px}.page-body{padding:14px 14px 32px}}@media (max-width: 400px){.auth-card{border-radius:0;margin:0;max-width:100%}}.data-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 900px){.lp-sidebar-desk{display:none!important}}@media (max-width: 900px){.lp-desk-actions{display:none!important}}@media (max-width: 900px){.lp-desk-btn{display:none!important}}.lp-mob-hd-toggle{display:none;align-items:center;gap:6px;padding:7px 14px;border-radius:20px;border:none;background:#ffffff2e;color:#fff;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s;flex-shrink:0;white-space:nowrap}.lp-mob-hd-toggle:hover{background:#ffffff47}.lp-mob-hd-icon{font-size:1rem}.lp-mob-hd-pos{font-size:.78rem;opacity:.9}@media (max-width: 900px){.lp-mob-hd-toggle{display:flex}.lp-header{padding:12px 16px;flex-wrap:nowrap;align-items:center;gap:8px}.lp-course-title{font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.lp-progress-label,.lp-breadcrumb{display:none}.learn-layout{grid-template-columns:1fr;height:auto;overflow:visible}.lp-main-scroll{overflow-y:visible}.learn-title-bar{padding:14px 16px 0;gap:8px}.learn-lesson-title{font-size:1.1rem}.learn-content{padding:14px 16px}.learn-video{padding:0 16px 12px}.tts-bar{padding:10px 16px}.learn-tab-bar{padding:12px 16px 0}.learn-tab{padding:7px 16px;font-size:.85rem}}.lp-mob-bar{display:none}@media (max-width: 900px){.lp-mob-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:auto;background:var(--bg);border-top:1.5px solid var(--border);z-index:200;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -4px 24px #0000001a}}.lp-mob-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 4px 8px;border:none;background:none;cursor:pointer;font:inherit;color:var(--ink-muted);transition:color .15s,background .15s;min-height:56px;border-right:1px solid var(--border)}.lp-mob-nav-btn:last-child{border-right:none}.lp-mob-nav-btn:hover:not([disabled]){background:var(--bg-alt);color:var(--primary)}.lp-mob-nav-btn--disabled{opacity:.35;cursor:not-allowed}.lp-mob-nav-icon{font-size:1.2rem;line-height:1;display:block}.lp-mob-nav-label{font-size:.65rem;font-weight:600;letter-spacing:.01em;line-height:1;white-space:nowrap}.lp-mob-nav-btn--center{flex:1.1;color:var(--primary);font-weight:700;border-left:1px solid var(--border)}.lp-mob-nav-btn--center .lp-mob-nav-icon{color:var(--primary)}.lp-mob-nav-btn--action{color:#16a34a;font-weight:700}.lp-mob-nav-btn--action .lp-mob-nav-icon{font-size:1.3rem}.lp-mob-nav-btn--action:hover:not([disabled]){background:#f0fdf4;color:#15803d}.lp-mob-nav-btn--next{color:var(--primary);font-weight:700}.lp-mob-content-spacer{display:none}@media (max-width: 900px){.lp-mob-content-spacer{display:block;height:76px}}.lp-drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;z-index:290;transition:background .25s}@media (max-width: 900px){.lp-drawer-overlay{display:block;pointer-events:none}.lp-drawer-overlay--open{background:#00000073;pointer-events:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.lp-drawer-panel{position:fixed;bottom:0;left:0;right:0;background:var(--bg);border-radius:20px 20px 0 0;z-index:300;transform:translateY(100%);transition:transform .32s cubic-bezier(.32,.72,0,1);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 -8px 40px #0000002e}.lp-drawer-panel--open{transform:translateY(0)}.lp-drawer-handle{width:40px;height:4px;border-radius:999px;background:var(--border);margin:10px auto 0;flex-shrink:0}.lp-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 20px 10px;flex-shrink:0}.lp-drawer-head-info{flex:1;min-width:0}.lp-drawer-sub{font-size:.72rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.lp-drawer-coursetitle{font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.3}.lp-drawer-close{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border);background:var(--bg-alt);color:var(--ink-muted);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font:inherit;transition:all .15s}.lp-drawer-close:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.lp-drawer-prog-row{display:flex;align-items:center;gap:10px;padding:0 20px 12px;flex-shrink:0}.lp-drawer-prog-track{flex:1;height:6px;background:var(--border);border-radius:999px;overflow:hidden}.lp-drawer-prog-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:999px;transition:width .4s ease}.lp-drawer-prog-label{font-size:.75rem;font-weight:700;color:var(--primary);flex-shrink:0}.lp-drawer-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--border)}.lp-dl-item{width:100%;display:flex;align-items:center;gap:12px;padding:13px 20px;border:none;background:none;cursor:pointer;text-align:left;border-bottom:1px solid var(--border);transition:background .15s;font:inherit;color:var(--ink);min-height:56px}.lp-dl-item:active,.lp-dl-item:hover{background:var(--bg-alt)}.lp-dl-item--active{background:var(--primary-light, rgba(99,102,241,.08))}.lp-dl-item--done{color:var(--ink-muted)}.lp-dl-num{flex-shrink:0;width:28px;display:flex;align-items:center;justify-content:center}.lp-dl-circle{width:26px;height:26px;border-radius:50%;background:var(--border);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--ink)}.lp-dl-circle--active{background:var(--primary);color:#fff}.lp-dl-check{font-size:1.1rem}.lp-dl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lp-dl-title{font-size:.9rem;font-weight:500;line-height:1.35;color:inherit}.lp-dl-item--active .lp-dl-title{font-weight:700;color:var(--primary)}.lp-dl-meta{font-size:.72rem;color:var(--ink-faint)}.lp-dl-playing{flex-shrink:0;font-size:.8rem;color:var(--primary);animation:lp-pulse 1.4s ease-in-out infinite}@keyframes lp-pulse{0%,to{opacity:1}50%{opacity:.4}}.lp-drawer-footer{padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.cr-page{min-height:100vh;background:var(--bg);font-family:inherit}.cr-page *,.cr-page *:before,.cr-page *:after{box-sizing:border-box}.cr-section-inner{max-width:1200px;margin:0 auto;padding:0 24px}.cr-section{padding:56px 0}.cr-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:28px;flex-wrap:wrap}.cr-section-title{font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:800;margin:0 0 4px;color:var(--ink);line-height:1.2}.cr-section-sub{font-size:.9rem;color:var(--ink-muted);margin:0}.cr-see-all{font-size:.88rem;font-weight:600;color:var(--primary);text-decoration:none;white-space:nowrap;align-self:center}.cr-see-all:hover{text-decoration:underline}.cr-nav{position:sticky;top:0;z-index:200;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}@media (prefers-color-scheme:dark){.cr-nav{background:#0f172af2}}:root[data-theme=dark] .cr-nav{background:#0f172af2}.cr-nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:20px}.cr-nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.cr-nav-logo-img{height:38px;max-width:140px;object-fit:contain;display:block}.cr-nav-links{display:flex;gap:2px}.cr-nav-link{padding:7px 14px;border-radius:8px;font-size:.88rem;font-weight:500;color:var(--ink-muted);text-decoration:none;transition:background .15s,color .15s}.cr-nav-link:hover{background:var(--bg-alt);color:var(--ink)}.cr-nav-link--active{color:var(--primary);font-weight:600}.cr-nav-search-wrap{flex:1;max-width:380px}.cr-nav-search{display:flex;align-items:center;background:var(--bg-alt);border:1.5px solid var(--border);border-radius:999px;padding:0 14px;height:40px;gap:8px}.cr-nav-search:focus-within{border-color:var(--primary);background:var(--bg);box-shadow:0 0 0 3px #2563eb1a}.cr-search-icon{font-size:14px;opacity:.55;flex-shrink:0}.cr-search-input{flex:1;border:none;background:none;font:inherit;font-size:.9rem;color:var(--ink);outline:none;min-width:0}.cr-nav-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.cr-nav-login{color:var(--ink)!important}.btn-sm{padding:7px 16px;font-size:.85rem}.cr-mobile-menu-btn{display:none;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--ink);padding:4px 8px}.cr-mobile-menu{background:var(--bg);border-top:1px solid var(--border);display:flex;flex-direction:column}.cr-mobile-link{padding:13px 24px;font-size:.95rem;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--border)}.cr-mobile-link--cta{color:var(--primary);font-weight:700}.cr-hero{background:linear-gradient(135deg,#0d1b4b,#1a237e 40%,#283593,#1565c0);padding:80px 24px 72px;overflow:hidden;position:relative}.cr-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 70% 50%,rgba(99,102,241,.25),transparent);pointer-events:none}.cr-hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;z-index:1}.cr-hero-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff9;margin:0 0 12px}.cr-hero-title{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;line-height:1.1;margin:0 0 20px;color:#fff}.cr-hero-accent{background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cr-hero-sub{font-size:1.05rem;color:#ffffffbf;line-height:1.7;margin:0 0 32px}.cr-hero-search{display:flex;align-items:center;background:#fff;border-radius:12px;padding:6px 6px 6px 16px;gap:8px;box-shadow:0 8px 40px #00000040}.cr-hero-search-input{flex:1;border:none;background:none;font:inherit;font-size:1rem;color:#0f172a;outline:none;min-width:0}.cr-hero-search-btn{flex-shrink:0;border-radius:8px}.cr-hero-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px}.cr-hero-tags-label{font-size:.78rem;color:#ffffff8c;font-weight:500}.cr-hero-tag{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s}.cr-hero-tag:hover{background:#ffffff38}.cr-hero-visual{display:flex;align-items:center;justify-content:center}.cr-hero-blob{position:relative;width:360px;height:340px}.cr-hero-big-emoji{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:96px;opacity:.18}.cr-hero-card-float{position:absolute;background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:12px 16px;display:flex;align-items:center;gap:10px;color:#fff;box-shadow:0 8px 32px #0003}.cr-hero-card-float span:first-child{font-size:24px}.cr-hero-card-float div{display:flex;flex-direction:column;gap:2px}.cr-hero-card-float strong{font-size:.88rem;font-weight:700;display:block}.cr-hero-card-float span:last-child{font-size:.73rem;opacity:.7}.cr-hero-card-float--1{top:10%;left:0;animation:floatA 3.5s ease-in-out infinite}.cr-hero-card-float--2{top:40%;right:0;animation:floatB 4s ease-in-out infinite}.cr-hero-card-float--3{bottom:10%;left:10%;animation:floatA 4.5s ease-in-out infinite}@keyframes floatA{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatB{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.cr-stats-strip{background:var(--bg-alt);border-bottom:1px solid var(--border)}.cr-stats-inner{max-width:1200px;margin:0 auto;padding:20px 24px;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap}.cr-stat{display:flex;flex-direction:column;align-items:center;padding:12px 40px}.cr-stat strong{font-size:1.5rem;font-weight:800;color:var(--primary);display:block;line-height:1.2}.cr-stat span{font-size:.8rem;color:var(--ink-muted);font-weight:500}.cr-stat-divider{width:1px;height:40px;background:var(--border);flex-shrink:0}.cr-partners{padding:28px 0;background:var(--bg);border-bottom:1px solid var(--border)}.cr-partners-inner{max-width:1200px;margin:0 auto;padding:0 24px}.cr-partners-label{font-size:.82rem;font-weight:600;color:var(--ink-muted);text-align:center;margin:0 0 16px;letter-spacing:.04em;text-transform:uppercase}.cr-partners-logos{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.cr-partner-logo{font-size:.82rem;font-weight:700;color:var(--ink-muted);background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;padding:8px 18px;letter-spacing:.02em}.cr-categories-section{padding:56px 0;background:var(--bg-alt)}.cr-categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:28px}.cr-cat-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;background:var(--bg);border:1.5px solid var(--border);border-radius:14px;cursor:pointer;text-align:center;transition:transform .18s,box-shadow .18s,border-color .18s}.cr-cat-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001a;border-color:var(--primary)}.cr-cat-card--active{border-color:var(--primary);background:#2563eb0f;box-shadow:0 0 0 3px #2563eb1f}.cr-cat-emoji{font-size:30px}.cr-cat-label{font-size:.82rem;font-weight:700;color:var(--ink);line-height:1.3}.cr-featured-section{background:var(--bg)}.cr-featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.cr-featured-card{display:flex;flex-direction:column;background:var(--bg);border:2px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}.cr-featured-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0000001f;border-color:var(--fc-accent,#6366f1)}.cr-feat-thumb{height:160px;background:linear-gradient(135deg,#6366f11a,#a855f71a);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.cr-feat-thumb img{width:100%;height:100%;object-fit:cover}.cr-feat-emoji{font-size:64px}.cr-feat-badge{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px}.cr-feat-body{padding:18px;flex:1;display:flex;flex-direction:column;gap:8px}.cr-feat-provider{font-size:.75rem;font-weight:600;color:var(--ink-muted);margin:0;text-transform:uppercase;letter-spacing:.06em}.cr-feat-title{font-size:1rem;font-weight:700;margin:0;line-height:1.35;color:var(--ink)}.cr-feat-desc{font-size:.83rem;color:var(--ink-muted);line-height:1.55;margin:0;flex:1}.cr-feat-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.77rem;color:var(--ink-muted)}.cr-feat-price{font-size:.88rem;font-weight:700;margin-top:4px}.cr-price-free{color:#059669}.cr-price-paid{color:var(--ink)}.cr-scroll-row{display:flex;gap:18px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.cr-scroll-row::-webkit-scrollbar{height:5px}.cr-scroll-row::-webkit-scrollbar-track{background:var(--border);border-radius:3px}.cr-scroll-row::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}.cr-scroll-row .cr-course-card{min-width:260px;flex-shrink:0;scroll-snap-align:start}.cr-course-card{background:var(--bg);border:1.5px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column}.cr-course-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001c}.cr-card-thumb{height:130px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.cr-card-thumb img{width:100%;height:100%;object-fit:cover}.cr-thumb-emoji{font-size:52px}.cr-card-star{position:absolute;top:8px;right:8px;font-size:.95rem}.cr-card-body{padding:14px 16px 16px;flex:1;display:flex;flex-direction:column;gap:7px}.cr-card-provider{font-size:.72rem;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;margin:0}.cr-card-title{font-size:.95rem;font-weight:700;margin:0;line-height:1.4;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cr-card-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cr-meta-item{font-size:.73rem;color:var(--ink-muted)}.cr-card-price{font-size:.88rem;font-weight:700;margin-top:auto}.cr-all-section{background:var(--bg-alt)}.cr-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.cr-filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cr-select{padding:8px 14px;border:1.5px solid var(--border);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer}.cr-why-section{background:var(--bg);padding:72px 0}.cr-why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.cr-why-card{padding:28px 24px;background:var(--bg-alt);border:1.5px solid var(--border);border-radius:16px}.cr-why-icon{font-size:32px;margin-bottom:14px}.cr-why-title{font-size:1rem;font-weight:700;margin:0 0 8px;color:var(--ink)}.cr-why-desc{font-size:.87rem;color:var(--ink-muted);line-height:1.65;margin:0}.cr-footer-cta{background:linear-gradient(135deg,var(--primary),#7c3aed);padding:72px 24px}.cr-footer-cta h2{color:#fff;margin:0 0 12px;font-size:clamp(1.4rem,3vw,2rem)}.cr-footer-cta p{color:#fffc;margin:0 0 28px;font-size:1.05rem}.cr-footer{padding:48px 0 32px;background:var(--bg);border-top:1px solid var(--border)}.cr-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}.cr-footer-brand p{font-size:.87rem;color:var(--ink-muted);line-height:1.6;margin:12px 0 16px}.cr-footer-logo{height:34px;max-width:130px;object-fit:contain}.cr-footer-socials{font-size:.8rem;color:var(--ink-muted)}.cr-footer-col h4{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:0 0 14px}.cr-footer-col a,.cr-footer-link{display:block;font-size:.88rem;color:var(--ink-muted);text-decoration:none;margin-bottom:8px;background:none;border:none;cursor:pointer;padding:0;font:inherit;text-align:left}.cr-footer-col a:hover,.cr-footer-link:hover{color:var(--ink)}@media (max-width:1024px){.cr-hero-inner{grid-template-columns:1fr}.cr-hero-visual{display:none}.cr-hero{padding:60px 24px 52px}.cr-footer-grid{grid-template-columns:1fr 1fr;gap:28px}}@media (max-width:768px){.cr-nav-links,.cr-nav-search-wrap{display:none}.cr-mobile-menu-btn{display:block}.cr-nav-actions .cr-nav-login{display:none}.cr-categories-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.cr-stat{padding:10px 20px}.cr-stat-divider{display:none}}@media (max-width:600px){.cr-hero-search{flex-direction:column;border-radius:12px;padding:10px}.cr-hero-search-input,.cr-hero-search-btn{width:100%}.cr-footer-grid,.cr-featured-grid,.cr-why-grid{grid-template-columns:1fr}}.cr-nav-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--ink-muted);text-decoration:none;font-size:1.1rem;transition:background .15s,color .15s;flex-shrink:0}.cr-nav-back:hover{background:var(--bg-alt);color:var(--ink)}
