:root{--brand-50:#f5f3ff;--brand-100:#ede9fe;--brand-200:#ddd6fe;--brand-300:#c4b5fd;--brand-400:#a78bfa;--brand-500:#8b5cf6;--brand-600:#7c3aed;--brand-700:#6d28d9;--brand-800:#5b21b6;--brand-900:#4c1d95;--brand-gradient:linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);--dark-gradient:linear-gradient(135deg, #130a2b 0%, #2e1065 55%, #4c1d95 100%);--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success:#059669;--success-light:#d1fae5;--warning:#b45309;--warning-light:#fef3c7;--danger:#dc2626;--danger-light:#fee2e2;--star:#f59e0b;--text:var(--gray-800);--muted:var(--gray-500);--border:var(--gray-200);--background:#fff;--background-soft:#faf9fe;--radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 1px 2px #0f172a0f;--shadow:0 4px 16px #0f172a14;--shadow-lg:0 16px 40px #2e106529;--shadow-brand:0 8px 24px #7c3aed59;--font:"Plus Jakarta Sans", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);background:var(--background);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}h1,h2,h3,h4{color:var(--gray-900);letter-spacing:-.02em;line-height:1.25}h1{font-size:2.1rem;font-weight:800}h2{font-size:1.45rem;font-weight:700}h3{font-size:1.1rem;font-weight:700}a{color:var(--brand-700);text-decoration:none;transition:color .2s}a:hover{color:var(--brand-900)}img,video{max-width:100%}::selection{background:var(--brand-200)}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}.page{padding-top:36px;padding-bottom:64px}.narrow{max-width:760px}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:Consolas,Courier New,monospace}.pre-line{white-space:pre-line}.success-text{color:var(--success);align-items:center;gap:8px;font-weight:700;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,-20px)scale(1.08)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes popIn{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes ring{0%{box-shadow:0 0 #05966973}to{box-shadow:0 0 0 22px #05966900}}.page-transition{animation:.35s both fadeIn}.animate-in{animation:fadeUp .6s var(--ease) both}.stagger-item{animation:fadeUp .55s var(--ease) both;animation-delay:calc(var(--i,0) * 60ms)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:transform .2s var(--ease), box-shadow .2s, background .2s, border-color .2s, color .2s;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:.93rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn:focus-visible,.link-button:focus-visible,.icon-button:focus-visible{outline:3px solid var(--brand-300);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:0 4px 14px #7c3aed40}.btn-primary:hover:not(:disabled){color:#fff;box-shadow:var(--shadow-brand)}.btn-dark{background:var(--gray-900);color:#fff}.btn-dark:hover:not(:disabled){background:var(--gray-800);color:#fff;box-shadow:var(--shadow)}.btn-outline{color:var(--gray-800);border-color:var(--gray-300);background:#fff}.btn-outline:hover:not(:disabled){border-color:var(--brand-500);color:var(--brand-700);background:var(--brand-50)}.btn-outline-light{color:#fff;background:#ffffff14;border-color:#fff6}.btn-outline-light:hover:not(:disabled){color:#fff;background:#ffffff29}.btn-white{color:var(--brand-800);box-shadow:var(--shadow);background:#fff}.btn-white:hover:not(:disabled){color:var(--brand-900);box-shadow:var(--shadow-lg)}.btn-ghost{color:var(--gray-700);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){color:#fff;box-shadow:0 8px 20px #dc26264d}.btn-small{padding:7px 13px;font-size:.84rem}.btn-large{padding:13px 24px;font-size:1rem}.btn-block{width:100%;margin-bottom:10px;display:flex}.btn-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin}.btn-spinner-dark{border-color:var(--brand-200);border-top-color:var(--brand-600)}.link-button{color:var(--brand-700);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-weight:700;display:inline-flex}.link-button:hover{color:var(--brand-900);text-decoration:underline}.icon-button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--gray-600);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .2s,color .2s;display:inline-flex}.icon-button:hover{background:var(--gray-100);color:var(--gray-900)}.icon-button.danger:hover{background:var(--danger-light);color:var(--danger)}.icon-button-light{color:#fff}.icon-button-light:hover{color:#fff;background:#ffffff24}.chip{border:1.5px solid var(--gray-200);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.chip:hover{border-color:var(--brand-400);color:var(--brand-700);background:var(--brand-50)}.back-link{align-items:center;gap:6px;font-weight:600;display:inline-flex}.back-link-light{color:#ffffffd9}.back-link-light:hover{color:#fff}.form-field{margin-bottom:18px}label{color:var(--gray-700);margin-bottom:7px;font-size:.88rem;font-weight:700;display:block}.label-row{justify-content:space-between;align-items:baseline;display:flex}.small-link{font-size:.85rem;font-weight:600}.field-hint{color:var(--muted);margin:6px 0 0;font-size:.8rem}input[type=text],input[type=email],input[type=password],input[type=number],input:not([type]),select,textarea{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);width:100%;color:var(--gray-900);background:#fff;padding:11px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input:hover,select:hover,textarea:hover{border-color:var(--gray-300)}input:focus,select:focus,textarea:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 4px #8b5cf626}input::placeholder,textarea::placeholder{color:var(--gray-400)}textarea{resize:vertical}select{cursor:pointer}input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--brand-600);cursor:pointer;flex-shrink:0}.select-small{width:auto;padding:6px 10px;font-size:.85rem}.input-with-button{position:relative}.input-with-button input{padding-right:46px}.input-button{color:var(--gray-500);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.input-button:hover{color:var(--brand-700);background:var(--brand-50)}.input-icon{flex:1;max-width:360px;position:relative}.input-icon svg{color:var(--gray-400);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input-icon input{padding-left:40px}.checkbox-label,.radio-row{color:var(--gray-700);cursor:pointer;align-items:center;gap:10px;font-weight:500;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-row-3{grid-template-columns:2fr 1fr 1fr}.form-row-4{grid-template-columns:repeat(4,1fr)}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:8px;padding-top:20px;display:flex}.add-row{align-items:center;gap:10px;display:flex}.add-row input:not([type=checkbox]){flex:1}.alert{border-radius:var(--radius-sm);animation:fadeUp .35s var(--ease) both;align-items:flex-start;gap:10px;margin:14px 0;padding:12px 16px;font-size:.92rem;font-weight:500;display:flex}.alert svg{flex-shrink:0;margin-top:2px}.alert-error{background:var(--danger-light);color:#991b1b}.alert-success{background:var(--success-light);color:#065f46}.alert-warning{background:var(--warning-light);color:#92400e}.alert-info{background:var(--brand-50);color:var(--brand-900)}.badge{background:var(--gray-100);color:var(--gray-700);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.badge-success{background:var(--success-light);color:#047857}.badge-warning{background:var(--warning-light);color:#92400e}.badge-brand{background:var(--brand-100);color:var(--brand-800)}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff}.card-padded{padding:28px}.card-padded>h2:first-child,.card-padded>h3:first-child{margin-top:0}.card-title{align-items:center;gap:10px;margin:0 0 6px;font-size:1.2rem;display:flex}.card-title svg{color:var(--brand-600)}.card-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.center-actions{justify-content:center}.status-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--gray-50);animation:fadeUp .5s var(--ease) both;align-items:flex-start;gap:14px;margin-bottom:28px;padding:18px 22px;display:flex}.status-card svg{color:var(--gray-500);flex-shrink:0;margin-top:2px}.status-card p{color:var(--muted);margin:2px 0 0;font-size:.9rem}.status-active{background:#ecfdf5;border-color:#a7f3d0}.status-active svg{color:var(--success)}.empty-state{text-align:center;animation:fadeUp .5s var(--ease) both;padding:56px 16px}.empty-state-icon{background:var(--brand-50);width:76px;height:76px;color:var(--brand-600);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.empty-state h2{margin:0 0 8px;font-size:1.3rem}.empty-state p{color:var(--muted);max-width:440px;margin:0 auto}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--gray-100) 0%, var(--gray-200) 40%, var(--gray-100) 80%);background-size:1200px 100%;animation:1.4s linear infinite shimmer}.skeleton-round{border-radius:50%}.skeleton-rows{gap:12px;display:grid}.course-card-skeleton .course-card-body{gap:10px;padding-top:14px;display:grid}.course-card-skeleton:hover{box-shadow:none;transform:none}.spinner-wrapper{text-align:center;color:var(--muted);padding:90px 16px}.spinner{border:4px solid var(--brand-100);border-top-color:var(--brand-600);border-radius:50%;width:42px;height:42px;margin:0 auto 14px;animation:.8s linear infinite spin}.toast-container{z-index:300;flex-direction:column;gap:10px;max-width:calc(100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius);background:var(--gray-900);color:#fff;min-width:280px;max-width:420px;box-shadow:var(--shadow-lg);animation:slideInRight .4s var(--ease) both;align-items:center;gap:12px;padding:14px 14px 14px 16px;font-size:.92rem;font-weight:500;display:flex}.toast span{flex:1}.toast-success svg:first-child{color:#34d399}.toast-error svg:first-child{color:#f87171}.toast-info svg:first-child{color:var(--brand-300)}.toast-close{color:var(--gray-400);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.toast-close:hover{color:#fff;background:#ffffff1a}.navbar{z-index:100;-webkit-backdrop-filter:saturate(180%)blur(14px);background:#ffffffdb;border-bottom:1px solid #0000;transition:box-shadow .3s,border-color .3s;position:sticky;top:0}.navbar.scrolled{border-bottom-color:var(--border);box-shadow:0 6px 24px #0f172a0f}.navbar-inner{align-items:center;gap:20px;max-width:1280px;height:70px;margin:0 auto;padding:0 24px;display:flex}.logo{letter-spacing:-.03em;color:var(--gray-900);white-space:nowrap;align-items:center;gap:6px;font-size:1.45rem;font-weight:800;display:inline-flex}.logo:hover{color:var(--gray-900)}.logo-accent{background:var(--brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.logo-icon{color:var(--brand-600);transition:transform .4s var(--ease)}.logo:hover .logo-icon{transform:rotate(-12deg)scale(1.1)}.logo-light,.logo-light:hover{color:#fff}.logo-light .logo-accent{background:linear-gradient(135deg,#ddd6fe,#f0abfc);-webkit-background-clip:text;background-clip:text}.logo-light .logo-icon{color:var(--brand-300)}.nav-link{color:var(--gray-700);white-space:nowrap;align-items:center;gap:6px;padding:8px 4px;font-size:.9rem;font-weight:600;display:inline-flex;position:relative}.nav-link:after{content:"";background:var(--brand-600);height:2px;transition:transform .3s var(--ease);border-radius:2px;position:absolute;bottom:2px;left:4px;right:4px;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--brand-700)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-search{flex:1;max-width:560px;position:relative}.nav-search svg{color:var(--gray-400);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.nav-search input{background:var(--gray-50);border-radius:999px;padding:11px 18px 11px 44px}.nav-right{align-items:center;gap:18px;margin-left:auto;display:flex}.nav-buttons{gap:8px;display:flex}.user-menu{position:relative}.avatar-button{color:var(--gray-500);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:4px;padding:3px;display:flex}.avatar-button .avatar{transition:box-shadow .2s}.avatar-button:hover .avatar{box-shadow:0 0 0 3px var(--brand-200)}.chevron{transition:transform .25s var(--ease)}.chevron.open{transform:rotate(180deg)}.dropdown{border:1px solid var(--border);border-radius:var(--radius);width:290px;box-shadow:var(--shadow-lg);transform-origin:100% 0;animation:scaleIn .2s var(--ease) both;background:#fff;padding:8px;position:absolute;top:calc(100% + 10px);right:0}.dropdown-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:6px;padding:10px 10px 14px;display:flex}.dropdown-header div{min-width:0}.dropdown-header strong{color:var(--gray-900);display:block}.dropdown-header small{color:var(--muted);text-overflow:ellipsis;display:block;overflow:hidden}.dropdown a,.dropdown button{border-radius:var(--radius-sm);width:100%;color:var(--gray-700);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:9px 10px;font-family:inherit;font-size:.92rem;font-weight:500;transition:background .15s,color .15s;display:flex}.dropdown a svg,.dropdown button svg{color:var(--gray-400);transition:color .15s}.dropdown a:hover,.dropdown button:hover{background:var(--brand-50);color:var(--brand-800)}.dropdown a:hover svg,.dropdown button:hover svg{color:var(--brand-600)}.dropdown-divider{background:var(--border);height:1px;margin:6px 0}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0}.avatar-initials{background:var(--brand-gradient);color:#fff;justify-content:center;align-items:center;font-weight:700;display:flex}.menu-button{color:var(--gray-800);cursor:pointer;background:0 0;border:none;padding:6px;display:none}.show-mobile{display:none!important}.drawer-backdrop{z-index:200;background:#0f172a73;animation:.25s both fadeIn;position:fixed;inset:0}.drawer{width:min(320px,86vw);box-shadow:var(--shadow-lg);animation:slideInRight .35s var(--ease) both;background:#fff;flex-direction:column;gap:4px;padding:18px;display:flex;position:absolute;top:0;bottom:0;right:0}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.drawer .nav-search{flex:none;max-width:none;margin-bottom:10px}.drawer>a{border-radius:var(--radius-sm);color:var(--gray-800);align-items:center;gap:12px;padding:12px;font-weight:600;display:flex}.drawer>a svg{color:var(--brand-600)}.drawer>a:hover{background:var(--brand-50)}.drawer-buttons{margin-top:auto}.footer{color:var(--gray-400);background:#0d0620;margin-top:40px;padding:56px 0 24px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;display:grid}.footer-brand p{max-width:340px;margin-top:14px;font-size:.9rem}.footer-column{flex-direction:column;gap:10px;display:flex}.footer-column h4{color:#fff;margin:0 0 6px;font-size:.95rem}.footer-column a{color:var(--gray-400);font-size:.9rem}.footer-column a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff14;justify-content:space-between;gap:12px;margin-top:44px;padding-top:22px;font-size:.82rem;display:flex}.page-header,.course-header,.hero,.auth-side,.plan-banner{background:var(--dark-gradient);color:#fff;position:relative;overflow:hidden}.header-glow{filter:blur(60px);opacity:.55;pointer-events:none;border-radius:50%;animation:14s ease-in-out infinite drift;position:absolute}.header-glow-1{background:#a855f7;width:380px;height:380px;top:-160px;right:8%}.header-glow-2{background:#6366f1;width:300px;height:300px;animation-delay:-6s;bottom:-180px;left:4%}.page-header{padding:44px 0 40px}.page-header-inner{justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:relative}.page-header-text{animation:fadeUp .6s var(--ease) both}.page-header h1{color:#fff;margin:0;font-size:2.3rem}.page-header p{color:#ffffffbf;max-width:640px;margin:8px 0 0;font-size:1.05rem}.page-header-actions{animation:fadeUp .6s var(--ease) .1s both;gap:10px;display:flex}.page-header-center{text-align:center;padding:60px 0 52px}.page-header-center .page-header-inner{justify-content:center}.page-header-center p{margin-left:auto;margin-right:auto}.hero{padding:84px 0 96px}.hero-blob{filter:blur(70px);opacity:.5;pointer-events:none;border-radius:50%;animation:16s ease-in-out infinite drift;position:absolute}.hero-blob-1{background:#a855f7;width:480px;height:480px;top:-200px;right:-80px}.hero-blob-2{background:#6366f1;width:360px;height:360px;animation-delay:-5s;bottom:-200px;left:30%}.hero-blob-3{opacity:.3;background:#ec4899;width:260px;height:260px;animation-delay:-10s;top:30%;left:-100px}.hero-inner{grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;display:grid;position:relative}.eyebrow{color:var(--brand-200);background:#ffffff14;border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.83rem;font-weight:600;display:inline-flex}.eyebrow-light{color:#fff}.hero h1{color:#fff;margin:20px 0 16px;font-size:3.3rem;line-height:1.1}.gradient-text{background:linear-gradient(135deg,#c4b5fd 0%,#f0abfc 60%,#fda4af 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-text>p{color:#ffffffc7;max-width:540px;margin:0;font-size:1.13rem}.hero-search{background:#fff;border-radius:999px;align-items:center;gap:8px;max-width:560px;margin-top:30px;padding:7px 7px 7px 50px;display:flex;position:relative;box-shadow:0 20px 50px #00000040}.hero-search svg{color:var(--gray-400);position:absolute;left:20px}.hero-search input{background:0 0;border:none;flex:1;padding:10px 4px;font-size:1rem}.hero-search input:focus{box-shadow:none}.hero-search .btn{border-radius:999px;padding:12px 24px}.hero-points{color:#fffc;flex-wrap:wrap;gap:22px;margin-top:22px;font-size:.9rem;display:flex}.hero-points span{align-items:center;gap:7px;display:flex}.hero-points svg{color:#34d399}.hero-art{height:400px;position:relative}.float-card{border-radius:var(--radius-lg);color:var(--gray-800);background:#fffffff7;position:absolute;box-shadow:0 30px 60px #0000004d}.float-card-main{width:300px;padding:14px 14px 18px;animation:7s ease-in-out infinite float;top:40px;left:12%}.float-card-image{border-radius:var(--radius);background:var(--brand-gradient);color:#fff;justify-content:center;align-items:center;height:150px;margin-bottom:14px;display:flex}.float-card-main strong{margin-bottom:10px;display:block}.float-progress{background:var(--gray-100);border-radius:999px;height:7px;overflow:hidden}.float-progress div{background:var(--brand-gradient);width:68%;height:100%}.float-card-main small{color:var(--muted);margin-top:6px;display:block}.float-card-small{align-items:center;gap:12px;padding:14px 18px;display:flex}.float-card-small svg{color:var(--brand-600)}.float-card-small strong{font-size:.9rem;display:block}.float-card-small small{color:var(--muted);font-size:.8rem}.float-card-top{animation:6s ease-in-out -2s infinite float;top:0;right:0}.float-card-bottom{animation:8s ease-in-out -4s infinite float;bottom:20px;right:10%}.home-section{padding-top:64px}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.section-heading h2{margin:0;font-size:1.75rem}.section-heading p{color:var(--muted);margin:6px 0 0}.section-heading-center{text-align:center;justify-content:center}.see-all{white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.see-all svg{transition:transform .25s var(--ease)}.see-all:hover svg{transform:translate(4px)}.category-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.category-tile{border:1px solid var(--border);border-radius:var(--radius);color:var(--gray-800);transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;background:#fff;align-items:center;gap:14px;padding:16px;display:flex}.category-tile:hover{border-color:var(--brand-300);box-shadow:var(--shadow);color:var(--gray-900);transform:translateY(-3px)}.category-icon{border-radius:var(--radius-sm);background:var(--brand-50);width:46px;height:46px;color:var(--brand-700);justify-content:center;align-items:center;transition:background .3s,color .3s;display:flex}.category-tile:hover .category-icon{background:var(--brand-600);color:#fff}.category-tile strong{font-size:.95rem;display:block}.category-tile small{color:var(--muted)}.feature-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.feature-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg, white 0%, var(--background-soft) 100%);transition:transform .3s var(--ease), box-shadow .3s;padding:26px}.feature-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.feature-icon{background:var(--brand-gradient);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex;box-shadow:0 8px 20px #7c3aed4d}.feature-card h3{margin:18px 0 6px}.feature-card p{color:var(--muted);margin:0;font-size:.92rem}.plan-banner{border-radius:var(--radius-xl);justify-content:space-between;align-items:center;gap:28px;margin-top:72px;padding:44px 48px;display:flex}.plan-banner-text{position:relative}.plan-banner h2{color:#fff;margin:14px 0 8px;font-size:2rem}.plan-banner p{color:#fffc;max-width:560px;margin:0}.plan-banner .btn{position:relative}.teach-banner{border-radius:var(--radius-xl);background:var(--brand-50);align-items:center;gap:32px;margin-top:64px;padding:40px 44px;display:flex}.teach-banner h2{margin:0 0 8px}.teach-banner p{color:var(--gray-600);margin:0 0 18px}.teach-icon{background:var(--brand-gradient);color:#fff;width:96px;height:96px;box-shadow:var(--shadow-brand);border-radius:28px;flex-shrink:0;justify-content:center;align-items:center;animation:6s ease-in-out infinite float;display:flex}.course-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;display:grid}.course-grid-3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.course-card{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);transition:transform .35s var(--ease), box-shadow .35s, border-color .35s;background:#fff;flex-direction:column;display:flex;overflow:hidden}.course-card:hover{border-color:var(--brand-200);box-shadow:var(--shadow-lg);color:var(--text);transform:translateY(-6px)}.course-card-image{aspect-ratio:16/9;background:var(--gray-100);position:relative;overflow:hidden}.course-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.course-card:hover .course-card-image img{transform:scale(1.07)}.card-tag{color:var(--brand-800);box-shadow:var(--shadow-sm);background:#fffffff0;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px}.card-tag-success{background:var(--success);color:#fff;left:auto;right:10px}.course-card-body{flex-direction:column;flex:1;gap:5px;padding:14px 16px 16px;display:flex}.course-card-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1rem;transition:color .2s;display:-webkit-box;overflow:hidden}.course-card:hover h3{color:var(--brand-700)}.course-card-instructor{color:var(--muted);margin:0;font-size:.84rem}.course-card-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:.78rem;display:flex}.course-card-meta span{align-items:center;gap:4px;display:inline-flex}.course-card-footer{margin-top:auto;padding-top:8px}.price{color:var(--gray-900);font-size:1.1rem;font-weight:800}.price-free{color:var(--success)}.no-image{background:linear-gradient(135deg, var(--brand-100), var(--brand-50));width:100%;height:100%;color:var(--brand-400);justify-content:center;align-items:center;display:flex}.my-course .course-card-body{gap:6px}.my-course h3{min-height:2.5em}.my-course .card-actions{margin-top:auto;padding-top:8px}.my-course .progress{margin-top:6px}.progress-text{color:var(--muted);margin:0;font-size:.83rem}.progress-text strong{color:var(--gray-800)}.my-course .badge{align-self:flex-start}.locked-overlay{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f0a1fb8;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex;position:absolute;inset:0}.rating{align-items:center;gap:5px;font-size:.84rem;display:inline-flex}.rating strong{color:#b45309}.stars{gap:1px;display:inline-flex}.star-icon{color:var(--gray-300)}.star-icon.filled{color:var(--star);fill:var(--star)}.rating-count,.rating-empty{color:var(--muted)}.star-picker{align-items:center;gap:4px;margin-bottom:16px;display:flex}.star-button{color:var(--gray-300);cursor:pointer;transition:transform .2s var(--ease), color .2s;background:0 0;border:none;padding:2px;display:flex}.star-button:hover{transform:scale(1.15)}.star-button.filled{color:var(--star)}.star-button.filled svg{fill:var(--star)}.rating-word{color:var(--gray-700);margin-left:10px;font-weight:700}.review-form h3{margin-top:0}.review-form textarea{margin-bottom:14px}.progress{background:var(--gray-100);border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-fill{background:var(--brand-gradient);height:100%;transition:width .8s var(--ease);border-radius:999px}.progress-ring{flex-shrink:0;position:relative}.progress-ring svg{transform:rotate(-90deg)}.progress-ring circle{fill:none}.progress-ring-track{stroke:#ffffff2e}.progress-ring-fill{stroke:#c4b5fd;stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease)}.progress-ring span{justify-content:center;align-items:center;font-size:.7rem;font-weight:800;display:flex;position:absolute;inset:0}.browse-toolbar{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:20px;display:flex}.sort-box{align-items:center;gap:10px;display:flex}.sort-box label{white-space:nowrap;margin:0}.sort-box select{width:auto}.browse-layout{grid-template-columns:250px 1fr;align-items:start;gap:32px;display:grid}.filters{padding:8px 18px 14px;position:sticky;top:90px}.filter-group{border-bottom:1px solid var(--border);padding:14px 0}.filter-group:last-of-type{border-bottom:none}.filter-group h4{margin:0 0 10px;font-size:.9rem}.filter-group .radio-row{margin:0;padding:5px 0;font-size:.9rem}.count{background:var(--gray-100);color:var(--muted);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:.75rem;font-weight:600}.pagination{justify-content:center;align-items:center;gap:18px;margin-top:40px;display:flex}.course-header{padding:44px 0 48px}.course-header-inner{position:relative}.course-header-text{max-width:780px}.course-header h1{color:#fff;margin:10px 0;font-size:2.35rem}.course-header .subtitle{color:#ffffffd1;margin:0 0 16px;font-size:1.15rem}.breadcrumb{color:var(--brand-200);background:#ffffff1a;border-radius:999px;padding:4px 12px;font-size:.82rem;font-weight:700;display:inline-block}.breadcrumb:hover{color:#fff}.course-meta{color:#ffffffd9;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:10px 0;font-size:.9rem;display:flex}.course-meta span{align-items:center;gap:6px;display:inline-flex}.course-header .rating strong{color:#fbbf24}.course-header .rating-count,.course-header .rating-empty{color:var(--brand-200)}.course-header .star-icon{color:#ffffff4d}.course-header .star-icon.filled{color:#fbbf24;fill:#fbbf24}.course-body{grid-template-columns:1fr 370px;align-items:start;gap:48px;display:grid}.course-main{min-width:0;padding:32px 0 48px}.course-section{margin-top:40px}.course-section>h2{margin:0 0 14px}.check-list{margin:0;padding:0;list-style:none}.check-list li{align-items:flex-start;gap:10px;margin:10px 0;display:flex}.check-list svg{color:var(--success);flex-shrink:0;margin-top:3px}.two-columns{grid-template-columns:1fr 1fr;column-gap:28px;display:grid}.bullet-list{padding-left:20px}.bullet-list li{margin:6px 0}.bullet-list li::marker{color:var(--brand-500)}.curriculum-summary{color:var(--gray-600);justify-content:space-between;gap:12px;margin-bottom:10px;font-size:.9rem;display:flex}.accordion{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.accordion-item+.accordion-item{border-top:1px solid var(--border)}.accordion-header{background:var(--gray-50);text-align:left;width:100%;color:var(--gray-900);cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;font-family:inherit;font-size:.97rem;font-weight:700;transition:background .2s;display:flex}.accordion-header:hover{background:var(--brand-50)}.accordion-title{align-items:center;gap:10px;display:flex}.accordion-chevron{color:var(--gray-500);transition:transform .3s var(--ease);flex-shrink:0}.accordion-body{transition:grid-template-rows .35s var(--ease);grid-template-rows:0fr;display:grid}.accordion-body>*{overflow:hidden}.accordion-item.open .accordion-body,.player-section.open .accordion-body{grid-template-rows:1fr}.accordion-item.open .accordion-chevron,.player-section.open .accordion-chevron{transform:rotate(180deg)}.lecture-list{margin:0;padding:6px 20px 10px;list-style:none}.lecture-list li{justify-content:space-between;gap:12px;padding:9px 0;font-size:.92rem;display:flex}.lecture-name{align-items:center;gap:10px;display:flex}.lecture-name svg{color:var(--gray-400);flex-shrink:0}.lecture-right{white-space:nowrap;gap:16px;display:flex}.instructor-block{align-items:flex-start;gap:22px;display:flex}.instructor-block h3{color:var(--brand-700);margin:0 0 2px;font-size:1.2rem}.instructor-block p{margin:6px 0 0}.rating-summary{align-items:center;gap:36px;margin-bottom:24px;display:flex}.rating-big{flex-direction:column;align-items:center;gap:4px;min-width:120px;display:flex}.rating-big>strong{color:#b45309;font-size:3.2rem;line-height:1}.rating-bars{flex:1;gap:8px;display:grid}.rating-bar-row{grid-template-columns:1fr 48px 42px;align-items:center;gap:12px;display:grid}.rating-bar{background:var(--gray-100);border-radius:999px;height:8px;overflow:hidden}.rating-bar div{background:var(--star);height:100%;transition:width 1s var(--ease);border-radius:999px}.rating-bar-label{align-items:center;gap:4px;font-size:.85rem;font-weight:600;display:inline-flex}.review-list{gap:4px;display:grid}.review{border-bottom:1px solid var(--border);gap:14px;padding:18px 0;display:flex}.review-meta{align-items:center;gap:10px;margin-top:2px;display:flex}.review p{margin:8px 0 0}.buy-card{z-index:5;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:fadeUp .7s var(--ease) .15s both;background:#fff;margin-top:-250px;position:sticky;top:90px;overflow:hidden}.buy-card-media{aspect-ratio:16/9;background:#000}.buy-card-media video,.buy-card-media img{object-fit:cover;width:100%;height:100%;display:block}.buy-card-body{padding:24px}.buy-price{color:var(--gray-900);margin-bottom:14px;font-size:2.1rem;font-weight:800}.subscribe-hint{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.subscribe-hint p{margin:0 0 10px;font-size:.9rem}.buy-card-body h4{margin:22px 0 10px;font-size:.95rem}.includes-list{margin:0;padding:0;font-size:.9rem;list-style:none}.includes-list li{color:var(--gray-700);align-items:center;gap:10px;margin:9px 0;display:flex}.includes-list svg{color:var(--brand-600)}.modal-backdrop{z-index:250;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f0a1fb3;justify-content:center;align-items:center;padding:16px;animation:.25s both fadeIn;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-lg);animation:scaleIn .3s var(--ease) both;background:#fff;overflow:hidden}.modal-dark{color:#fff;background:#0d0620;max-width:860px}.modal-header{justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.modal-header small{color:var(--brand-300);font-size:.78rem;display:block}.modal-header-plain{padding:0 0 4px}.modal-header-plain h2{margin:0}.modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.preview-video{background:#000;width:100%;display:block}.auth-page{grid-template-columns:1fr 1fr;min-height:calc(100vh - 70px);display:grid}.auth-side{align-items:center;padding:56px;display:flex}.auth-side-content{max-width:440px;animation:fadeUp .7s var(--ease) both;position:relative}.auth-side h2{color:#fff;margin:36px 0 12px;font-size:2.4rem}.auth-side p{color:#ffffffc7;font-size:1.05rem}.auth-benefits{margin:32px 0 0;padding:0;list-style:none}.auth-benefits li{align-items:center;gap:14px;margin-bottom:16px;font-weight:600;display:flex}.auth-benefits svg{width:40px;height:40px;color:var(--brand-200);background:#ffffff1a;border-radius:12px;flex-shrink:0;padding:8px}.auth-main{background:var(--background-soft);justify-content:center;align-items:center;padding:48px 24px;display:flex}.auth-card{width:100%;max-width:440px}.auth-card h1{margin:0 0 6px;font-size:1.9rem}.auth-subtitle{color:var(--muted);margin:0 0 24px}.auth-switch{text-align:center;color:var(--gray-600);margin:18px 0 0;font-size:.92rem}.auth-switch a{font-weight:700}.demo-accounts{border:1px dashed var(--brand-300);border-radius:var(--radius);background:var(--brand-50);text-align:center;margin-top:28px;padding:16px}.demo-accounts p{color:var(--brand-800);margin:0 0 10px;font-size:.82rem;font-weight:600}.demo-accounts div{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.role-picker{grid-template-columns:1fr 1fr;gap:12px;display:grid}.role-option{border:2px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-600);cursor:pointer;transition:all .25s var(--ease);background:#fff;flex-direction:column;align-items:center;gap:4px;padding:16px;font-family:inherit;display:flex}.role-option strong{color:var(--gray-900);font-size:1rem}.role-option small{color:var(--muted)}.role-option:hover{border-color:var(--brand-300);transform:translateY(-2px)}.role-option.selected{border-color:var(--brand-600);background:var(--brand-50);color:var(--brand-700);box-shadow:0 0 0 4px #8b5cf61f}.email-pill{background:var(--brand-100);color:var(--brand-800);word-break:break-all;border-radius:999px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.otp-input{justify-content:space-between;gap:10px;margin:22px 0;display:flex}.otp-box{text-align:center;width:100%;max-width:58px;height:64px;font-weight:800;color:var(--brand-800)!important;border-radius:var(--radius)!important;transition:border-color .2s, box-shadow .2s, transform .2s var(--ease)!important;padding:0!important;font-size:1.7rem!important}.otp-box:focus{transform:translateY(-2px)}.otp-box.filled{border-color:var(--brand-400);background:var(--brand-50);animation:popIn .25s var(--ease)}.tabs{border-bottom:1px solid var(--border);gap:6px;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:12px 14px;font-family:inherit;font-size:.93rem;font-weight:700;transition:color .2s,border-color .2s;display:inline-flex}.tab:hover{color:var(--gray-900)}.tab.active{color:var(--brand-700);border-bottom-color:var(--brand-600)}.tab-count{background:var(--gray-100);color:var(--gray-600);border-radius:999px;padding:1px 8px;font-size:.75rem}.tab.active .tab-count{background:var(--brand-100);color:var(--brand-800)}.tab-content{padding:26px 0 0;animation:.3s both fadeIn}.player-page{background:#fff;min-height:100vh}.player-topbar{z-index:50;color:#fff;background:#0d0620;align-items:center;gap:16px;height:64px;padding:0 16px;display:flex;position:sticky;top:0}.player-title{text-overflow:ellipsis;white-space:nowrap;color:#fff;flex:1;font-weight:700;overflow:hidden}.player-title:hover{color:var(--brand-200)}.player-progress{align-items:center;gap:10px;display:flex}.player-progress strong{font-size:.85rem;display:block}.player-progress small{color:var(--gray-400);font-size:.78rem}.preview-banner{background:var(--warning-light);color:#92400e;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:.88rem;font-weight:600;display:flex}.player-layout{grid-template-columns:1fr 380px;align-items:start;display:grid}.player-main{min-width:0}.video-box{aspect-ratio:16/9;background:#000;justify-content:center;align-items:center;max-height:calc(100vh - 140px);display:flex}.video-box video{width:100%;height:100%;animation:.4s both fadeIn}.no-video{text-align:center;color:var(--gray-400)}.player-nav{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 28px;display:flex}.player-content{padding:0 28px 48px}.celebrate-banner{border-radius:var(--radius);background:var(--brand-gradient);color:#fff;animation:scaleIn .5s var(--ease) both;align-items:center;gap:16px;margin-top:22px;padding:18px 22px;display:flex}.celebrate-banner>div{flex:1}.celebrate-banner p{opacity:.85;margin:2px 0 0;font-size:.9rem}.player-sidebar{border-left:1px solid var(--border);max-height:calc(100vh - 64px);position:sticky;top:64px;overflow-y:auto}.player-sidebar>h3{border-bottom:1px solid var(--border);margin:0;padding:18px}.player-section{border-bottom:1px solid var(--border)}.player-section-title{background:var(--gray-50);text-align:left;cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:14px 18px;font-family:inherit;display:flex}.player-section-title strong{color:var(--gray-900);font-size:.9rem;display:block}.player-section-title small{color:var(--muted);font-size:.78rem}.player-lecture{cursor:pointer;border-left:3px solid #0000;align-items:flex-start;gap:12px;padding:12px 18px;font-size:.9rem;transition:background .15s;display:flex}.player-lecture:hover{background:var(--gray-50)}.player-lecture.current{border-left-color:var(--brand-600);background:var(--brand-50)}.player-lecture.done .player-lecture-text>span{color:var(--gray-600)}.player-lecture-text small{color:var(--muted);align-items:center;gap:4px;margin-top:2px;font-size:.78rem;display:flex}.check-circle{border:2px solid var(--gray-300);color:#fff;cursor:pointer;width:22px;height:22px;transition:all .25s var(--ease);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;padding:0;display:flex}.check-circle:hover:not(:disabled){border-color:var(--brand-500)}.check-circle:disabled{cursor:default;opacity:.5}.player-lecture.done .check-circle{border-color:var(--success);background:var(--success);animation:popIn .3s var(--ease)}.player-error{padding:80px 16px}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));align-items:stretch;gap:24px;margin:8px 0 40px;display:grid}.plan-card{border:1.5px solid var(--border);border-radius:var(--radius-lg);transition:transform .35s var(--ease), box-shadow .35s, border-color .35s;background:#fff;flex-direction:column;padding:30px;display:flex;position:relative}.plan-card:hover{border-color:var(--brand-300);box-shadow:var(--shadow-lg);transform:translateY(-6px)}.plan-card.best{border:2px solid var(--brand-500);box-shadow:var(--shadow-lg)}.plan-card h2{margin:0}.plan-card .check-list{flex:1;margin:18px 0 26px}.plan-card .btn{margin-bottom:0}.plan-ribbon{background:var(--brand-gradient);color:#fff;white-space:nowrap;box-shadow:var(--shadow-brand);border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:.78rem;font-weight:700;display:inline-flex;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.plan-card.current{border:2px solid var(--success);background:linear-gradient(#f0fdf8 0%,#fff 40%)}.plan-ribbon-current{background:var(--success);box-shadow:0 8px 20px #0596694d}.plan-ribbon-next{background:var(--gray-800);box-shadow:var(--shadow)}.btn-current,.btn-current:disabled{color:#047857;opacity:1;cursor:default;background:#ecfdf5;border-color:#a7f3d0}.plan-note{color:var(--muted);text-align:center;margin:10px 0 0;font-size:.82rem}.upcoming-plan{align-items:center;gap:6px;font-weight:600;display:flex;color:#047857!important;margin-top:6px!important}.plan-price{color:var(--gray-900);letter-spacing:-.03em;margin-top:18px;font-size:2.6rem;font-weight:800}.plan-price span{color:var(--muted);margin-left:4px;font-size:1rem;font-weight:500}.plan-per-day{color:var(--brand-700);margin:0;font-size:.85rem;font-weight:600}.info-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.info-item{border-radius:var(--radius);background:var(--gray-50);gap:14px;padding:20px;display:flex}.info-item svg{color:var(--brand-600);flex-shrink:0}.info-item p{color:var(--muted);margin:4px 0 0;font-size:.88rem}.checkout-layout{grid-template-columns:1fr 360px;align-items:start;gap:40px;display:grid}.step-title{align-items:center;gap:12px;margin:8px 0 14px;font-size:1.15rem;display:flex}.step-title+.card{margin-bottom:28px}.step-number{background:var(--brand-600);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;display:inline-flex}.order-item{align-items:center;gap:16px;padding:14px;display:flex}.order-item>div{flex:1;min-width:0}.order-item p{margin:4px 0 0}.order-item img,.order-icon{aspect-ratio:16/9;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:128px}.order-icon{background:var(--brand-gradient);color:#fff;justify-content:center;align-items:center;display:flex}.order-price{font-size:1.1rem}.payment-option{cursor:default;align-items:flex-start;gap:14px;margin:0;padding:18px;font-weight:400;display:flex}.payment-option.selected{border:2px solid var(--brand-500);background:var(--brand-50)}.payment-option svg{color:var(--brand-600);flex-shrink:0}.payment-option p{margin:4px 0 0}.summary-card{padding:26px;position:sticky;top:90px}.summary-card h3{margin-top:0}.summary-row{color:var(--gray-600);justify-content:space-between;margin:10px 0;display:flex}.summary-row.total{border-top:1px solid var(--border);color:var(--gray-900);margin-bottom:20px;padding-top:14px;font-size:1.25rem;font-weight:800}.secure-note{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin:4px 0 0;font-size:.82rem;display:flex}.success-card{text-align:center;max-width:580px;margin:24px auto}.success-card h1{margin:20px 0 8px}.success-card p{justify-content:center;align-items:center;gap:6px;display:flex}.success-icon{background:var(--success);color:#fff;width:84px;height:84px;animation:popIn .5s var(--ease) both, ring 1.4s ease-out .3s 2;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.receipt{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 12px;display:grid}.receipt div{border-radius:var(--radius-sm);background:var(--gray-50);padding:12px}.receipt span{color:var(--muted);font-size:.8rem;display:block}.receipt strong{word-break:break-all}.table-card{margin-bottom:24px;overflow:hidden}.table-wrapper{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{background:var(--gray-50);border-bottom:1px solid var(--border);color:var(--gray-500);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:12px 18px;font-size:.76rem;font-weight:700}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 18px}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:var(--brand-50)}.table tbody tr:last-child td{border-bottom:none}.table-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-toolbar.add-row{justify-content:flex-start}.table-user{align-items:center;gap:10px;display:flex}.table-actions{justify-content:flex-end;gap:4px;display:flex}.stat-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:32px;display:grid}.stat{transition:transform .3s var(--ease), box-shadow .3s;align-items:center;gap:16px;padding:20px;display:flex}.stat:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.stat-icon{background:var(--brand-50);width:50px;height:50px;color:var(--brand-700);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-label{color:var(--muted);font-size:.83rem;font-weight:600;display:block}.stat-value{color:var(--gray-900);font-size:1.6rem;font-weight:800;line-height:1.2;display:block}.stat-note{color:var(--muted);font-size:.78rem}.settings-card{margin-bottom:24px}.photo-row{align-items:center;gap:20px;margin:20px 0 24px;display:flex}.photo-row p{margin:2px 0}.avatar-upload{cursor:pointer;border-radius:50%;margin:0;position:relative}.avatar-upload-overlay{color:#fff;opacity:0;background:#0f0a1f8c;border-radius:50%;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.avatar-upload:hover .avatar-upload-overlay{opacity:1}.certificate-actions{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.certificate{border-radius:var(--radius-lg);background:var(--brand-gradient);max-width:920px;box-shadow:var(--shadow-lg);margin:0 auto;padding:14px}.certificate-inner{text-align:center;outline:2px solid var(--brand-200);outline-offset:-14px;background:#fffdf8;border-radius:12px;padding:56px 40px}.certificate h1{margin:14px 0 6px;font-size:2.2rem}.certificate-small{color:var(--muted);letter-spacing:.2em;margin-top:26px;font-size:.8rem;font-weight:700}.certificate-name{background:var(--brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;margin:8px 0;font-family:Georgia,Times New Roman,serif;font-size:2.8rem;font-style:italic;font-weight:400}.certificate-seal{background:var(--brand-gradient);color:#fff;width:80px;height:80px;box-shadow:var(--shadow-brand);border-radius:50%;justify-content:center;align-items:center;margin-top:20px;display:inline-flex}.not-found{text-align:center;padding:48px 16px}.not-found-code{letter-spacing:-.05em;background:var(--brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:7rem;font-weight:800;line-height:1;animation:5s ease-in-out infinite float}.instructor-course-list{gap:14px;display:grid}.instructor-course{transition:transform .3s var(--ease), box-shadow .3s;grid-template-columns:150px 1fr auto auto;align-items:center;gap:22px;padding:14px;display:grid}.instructor-course:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.instructor-course-image{aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden}.instructor-course-image img{object-fit:cover;width:100%;height:100%}.instructor-course-info{min-width:0}.instructor-course-info h3{margin:0 0 8px}.instructor-course-info p{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.instructor-course-numbers{text-align:center;gap:26px;display:flex}.instructor-course-numbers strong{color:var(--gray-900);display:block}.instructor-course-numbers small{color:var(--muted)}.instructor-course-actions{gap:8px;display:flex}.editor-topbar{background:var(--dark-gradient);color:#fff}.editor-topbar-inner{align-items:center;gap:16px;height:64px;display:flex}.editor-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1.05rem;overflow:hidden}.editor-layout{grid-template-columns:260px 1fr;align-items:start;gap:28px;padding-top:32px;padding-bottom:64px;display:grid}.editor-steps{flex-direction:column;gap:4px;padding:16px 12px;display:flex;position:sticky;top:90px}.editor-steps-progress{border-bottom:1px solid var(--border);margin-bottom:8px;padding:0 8px 14px}.editor-steps-progress small{color:var(--muted);font-weight:600}.editor-step{border-radius:var(--radius-sm);color:var(--gray-700);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:11px 10px;font-family:inherit;font-size:.93rem;font-weight:600;transition:background .2s,color .2s;display:flex}.editor-step:hover{background:var(--gray-50)}.editor-step.active{background:var(--brand-50);color:var(--brand-800)}.step-check{background:var(--gray-100);width:28px;height:28px;color:var(--gray-500);transition:all .3s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.editor-step.active .step-check{background:var(--brand-100);color:var(--brand-700)}.step-check.done,.editor-step.active .step-check.done{background:var(--success);color:#fff}.editor-content{min-width:0;animation:fadeUp .45s var(--ease) both;padding:32px}.editor-content h2:first-child{margin-top:0}.media-block{border-bottom:1px solid var(--border);grid-template-columns:340px 1fr;gap:28px;padding:24px 0;display:grid}.media-block:last-child{border-bottom:none}.media-block h3{margin-top:0}.media-preview{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius);background:var(--gray-50);overflow:hidden}.media-preview img,.media-preview video{object-fit:cover;background:#000;width:100%;height:100%}.upload-zone{border:2px dashed var(--brand-300);border-radius:var(--radius);background:var(--brand-50);color:var(--brand-800);text-align:center;cursor:pointer;transition:all .25s var(--ease);flex-direction:column;align-items:center;gap:4px;margin:14px 0 0;padding:22px;display:flex}.upload-zone:hover{border-color:var(--brand-600);background:var(--brand-100);transform:translateY(-2px)}.upload-zone small{color:var(--muted);font-weight:500}.upload-zone.disabled{pointer-events:none;opacity:.7}.upload-status{margin-top:12px}.upload-status small{color:var(--brand-700);font-weight:600}.curriculum-empty{border:2px dashed var(--border);border-radius:var(--radius);color:var(--muted);text-align:center;margin:16px 0;padding:32px}.section-editor{border:1px solid var(--brand-200);border-radius:var(--radius);background:var(--background-soft);animation:fadeUp .4s var(--ease) both;margin:18px 0;padding:18px}.section-editor-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-editor-header .add-row{flex:1}.section-editor-title{align-items:center;gap:10px;min-width:0;display:flex}.section-number{background:var(--brand-600);color:#fff;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.icon-buttons{gap:4px;display:flex}.icon-buttons button{border:1px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--gray-600);cursor:pointer;background:#fff;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-buttons button:hover:not(:disabled){border-color:var(--brand-400);color:var(--brand-700)}.icon-buttons button.danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.icon-buttons button:disabled{opacity:.35;cursor:not-allowed}.lecture-editor{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;margin-bottom:10px;padding:14px;transition:box-shadow .2s,border-color .2s}.lecture-editor:hover{border-color:var(--brand-200);box-shadow:var(--shadow-sm)}.lecture-editor.editing{border-color:var(--brand-400);box-shadow:0 0 0 4px #8b5cf61a}.lecture-editor-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.lecture-editor-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.lecture-editor-actions{align-items:center;gap:16px;margin-top:10px;display:flex}.lecture-editor-actions label{margin:0}.lecture-editor-video{border-radius:var(--radius-sm);background:#000;max-height:320px;margin-top:12px;animation:.3s both fadeIn;display:block}.add-lecture{border-top:1px dashed var(--brand-200);margin-top:12px;padding-top:12px}.add-lecture .checkbox-label{white-space:nowrap;margin:0}.add-section{margin-top:20px}.publish-checklist{margin:18px 0 24px;padding:0;list-style:none}.publish-checklist li{color:var(--gray-600);align-items:center;gap:12px;padding:8px 0;display:flex}.checklist-icon{background:var(--danger-light);width:24px;height:24px;color:var(--danger);border-radius:50%;justify-content:center;align-items:center;display:flex}.publish-checklist li.done{color:var(--gray-900)}.publish-checklist li.done .checklist-icon{background:var(--success);color:#fff}.danger-zone{border-radius:var(--radius);background:#fff7f7;border:1px solid #fecaca;margin-top:44px;padding:20px}.danger-zone h3{color:#991b1b;margin:0 0 4px}.plan-form{margin-top:8px}.heart-button{width:36px;height:36px;color:var(--gray-600);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;transition:opacity .25s, transform .25s var(--ease), color .2s;background:#fffffff2;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:10px;transform:scale(.85)}.course-card:hover .heart-button,.heart-button:focus-visible,.heart-button.saved{opacity:1;transform:scale(1)}.heart-button:hover{color:#e11d48;transform:scale(1.1)}.heart-button.saved{color:#e11d48}.heart-button.saved svg,.heart.filled{fill:#e11d48;color:#e11d48;animation:popIn .3s var(--ease)}.wishlist-saved{background:#fff1f2;border-color:#fecdd3}@media (hover:none){.heart-button{opacity:1;transform:none}}.nav-icon.active,.nav-icon:hover{color:var(--brand-700);background:var(--brand-50)}.bell,.bell-button{position:relative}.bell-count{color:#fff;text-align:center;min-width:18px;height:18px;animation:popIn .3s var(--ease);background:#e11d48;border:2px solid #fff;border-radius:999px;padding:0 5px;font-size:.66rem;font-weight:800;line-height:14px;position:absolute;top:2px;right:1px}.bell-dropdown{width:360px;max-width:calc(100vw - 24px);padding:0;overflow:hidden}.bell-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.bell-header .link-button{width:auto;padding:0;font-size:.82rem}.dropdown .bell-header button:hover{background:0 0}.bell-empty{color:var(--muted);text-align:center;margin:0;padding:28px 16px}.bell-list{max-height:420px;overflow-y:auto}.dropdown .bell-item{border-bottom:1px solid var(--gray-100);border-radius:0;align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.bell-dot{background:0 0;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:7px}.bell-item.unread{background:var(--brand-50)}.bell-item.unread .bell-dot{background:var(--brand-600)}.bell-text{flex-direction:column;gap:2px;min-width:0;display:flex}.bell-text strong{color:var(--gray-900);font-size:.88rem}.bell-text span{color:var(--gray-600);white-space:normal;font-size:.85rem}.bell-text small{color:var(--gray-400);font-size:.76rem}.qa-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.qa-toolbar .input-icon{min-width:200px;max-width:none}.ask-form{animation:fadeUp .35s var(--ease) both;margin-bottom:18px}.ask-form p{margin-top:0}.qa-empty{border:2px dashed var(--border);border-radius:var(--radius);color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.qa-empty svg{color:var(--brand-400)}.qa-empty p{margin:0}.question-list{gap:10px;display:grid}.question-row{border:1px solid var(--border);border-radius:var(--radius);text-align:left;cursor:pointer;width:100%;transition:border-color .2s, box-shadow .2s, transform .2s var(--ease);background:#fff;align-items:flex-start;gap:12px;padding:14px;font-family:inherit;display:flex}.question-row:hover{border-color:var(--brand-300);box-shadow:var(--shadow);transform:translateY(-1px)}.question-row-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.question-row-text strong{color:var(--gray-900);font-size:.95rem}.question-row-body{-webkit-line-clamp:2;color:var(--gray-600);-webkit-box-orient:vertical;font-size:.88rem;display:-webkit-box;overflow:hidden}.question-row-text small{color:var(--muted);flex-wrap:wrap;align-items:center;gap:3px;font-size:.78rem;display:flex}.question-row-count{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.question-row-count small{color:var(--muted);font-size:.78rem}.thread{animation:.3s both fadeIn}.thread-question{border-bottom:1px solid var(--border);gap:14px;margin:16px 0 8px;padding-bottom:18px;display:flex}.thread-body{flex:1;min-width:0}.thread-body h3{margin:0 0 4px}.thread-body p{margin:6px 0}.thread-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.83rem;display:flex}.thread-meta strong{color:var(--gray-900)}.thread-lecture{background:var(--gray-100);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.thread-count{color:var(--gray-600);margin:18px 0 8px}.answer-list{gap:10px;display:grid}.answer{border-radius:var(--radius);background:var(--gray-50);animation:fadeUp .35s var(--ease) both;gap:12px;padding:14px;display:flex}.instructor-answer{border-left:3px solid var(--brand-600);background:var(--brand-50)}.reply-form{justify-items:start;gap:10px;margin-top:18px;display:grid}.link-button.small{font-size:.82rem}.note-form{border:1px solid var(--brand-200);border-radius:var(--radius);background:var(--brand-50);grid-template-columns:auto 1fr auto;align-items:start;gap:10px;margin-bottom:20px;padding:14px;display:grid}.note-time{background:var(--brand-600);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700}.note-form .btn{margin-top:0}.note-group{margin-bottom:20px}.note-group h4{color:var(--gray-600);margin:0 0 8px;font-size:.88rem}.note{border-bottom:1px solid var(--gray-100);animation:fadeUp .35s var(--ease) both;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:10px 12px;display:grid}.note p{margin:4px 0 0}.note-jump{border:1px solid var(--brand-200);color:var(--brand-700);font-variant-numeric:tabular-nums;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:.8rem;font-weight:700;transition:background .2s;display:inline-flex}.note-jump:hover{background:var(--brand-100)}.video-box.hidden,.player-nav.hidden{display:none}.quiz-box{background:var(--background-soft);border-bottom:1px solid var(--border);padding:28px;animation:.3s both fadeIn}.quiz{max-width:820px;margin:0 auto}.quiz-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.quiz-header small{color:var(--brand-700);font-weight:700}.quiz-header h2{margin:2px 0}.quiz-header p{margin:0}.quiz-icon{background:var(--brand-gradient);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-brand);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.quiz-result{border-radius:var(--radius);color:#fff;animation:scaleIn .45s var(--ease) both;align-items:center;gap:16px;margin-bottom:20px;padding:18px 20px;display:flex}.quiz-result>div{flex:1}.quiz-result p{opacity:.9;margin:2px 0 0;font-size:.9rem}.quiz-result.passed{background:linear-gradient(135deg,#047857,#10b981)}.quiz-result.failed{background:linear-gradient(135deg,#92400e,#d97706)}.quiz-question{margin-bottom:14px;padding:20px}.quiz-question-text{color:var(--gray-900);gap:12px;margin:0 0 14px;font-weight:700;display:flex}.quiz-number{background:var(--brand-100);width:26px;height:26px;color:var(--brand-800);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;display:inline-flex}.quiz-options{gap:8px;display:grid}.quiz-option{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);width:100%;color:var(--gray-800);text-align:left;cursor:pointer;transition:border-color .2s, background .2s, transform .2s var(--ease);background:#fff;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;font-size:.93rem;display:flex}.quiz-option span:nth-child(2){flex:1}.quiz-option:hover:not(:disabled){border-color:var(--brand-400);transform:translate(3px)}.quiz-option:disabled{cursor:default}.quiz-letter{background:var(--gray-100);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.quiz-option.chosen{border-color:var(--brand-600);background:var(--brand-50)}.quiz-option.chosen .quiz-letter{background:var(--brand-600);color:#fff}.quiz-option.correct{border-color:var(--success);color:#065f46;background:#ecfdf5}.quiz-option.correct .quiz-letter{background:var(--success);color:#fff}.quiz-option.wrong{border-color:var(--danger);background:var(--danger-light);color:#991b1b}.quiz-option.wrong .quiz-letter{background:var(--danger);color:#fff}.quiz-explanation{border-radius:var(--radius-sm);background:var(--gray-50);color:var(--gray-700);margin:12px 0 0;padding:10px 14px;font-size:.88rem}.quiz-submit{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.player-quiz .quiz-badge{background:var(--brand-100);width:22px;height:22px;color:var(--brand-700);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.player-quiz .quiz-badge.passed{background:var(--success);color:#fff}.player-quiz .player-lecture-text>span{color:var(--brand-800);font-weight:600}.quiz-row .lecture-name svg{color:var(--brand-600)}.quiz-row .lecture-name{color:var(--brand-800);font-weight:600}.add-quiz-button{border:1.5px dashed var(--brand-300);border-radius:var(--radius-sm);width:100%;color:var(--brand-700);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:10px;font-family:inherit;font-weight:700;transition:background .2s,border-color .2s;display:flex}.add-quiz-button:hover{border-color:var(--brand-600);background:var(--brand-50)}.quiz-editor{border:1px solid var(--brand-200);border-radius:var(--radius-sm);background:#fff;margin-top:12px}form.quiz-editor{flex-wrap:wrap;padding:12px}.quiz-editor-header{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;font-family:inherit;display:flex}.quiz-editor-header>span{color:var(--brand-800);align-items:center;gap:8px;display:flex}.quiz-editor.open .accordion-chevron{transform:rotate(180deg)}.quiz-editor-body{gap:12px;padding:0 14px 14px;animation:.3s both fadeIn;display:grid}.quiz-editor-body>.add-row{flex-wrap:wrap}.pass-field{white-space:nowrap;align-items:center;gap:6px;margin:0;font-weight:500;display:flex}.pass-field input{width:72px;padding:8px}.danger-text{color:var(--danger)}.quiz-editor-question{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.quiz-editor-options{color:var(--gray-600);gap:4px;margin:8px 0 0;padding:0;font-size:.88rem;list-style:none;display:grid}.quiz-editor-options li.correct{color:var(--success);align-items:center;gap:6px;font-weight:700;display:flex}.question-form{border:1px solid var(--brand-300);border-radius:var(--radius-sm);background:var(--brand-50);animation:fadeUp .3s var(--ease) both;padding:14px}.option-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.option-pick{border:2px solid var(--gray-300);width:32px;height:32px;color:var(--gray-600);cursor:pointer;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-weight:700;transition:all .2s;display:flex}.option-row.correct .option-pick{border-color:var(--success);background:var(--success);color:#fff}.option-row.correct input{border-color:var(--success)}.summary-row.discount{color:var(--success);font-weight:600}.summary-row.discount span:first-child{align-items:center;gap:6px;display:inline-flex}.coupon-form{gap:8px;margin-bottom:14px;display:flex}.coupon-form input{text-transform:uppercase}.coupon-form .btn{margin-top:0}.coupon-applied{border:1px dashed var(--success);border-radius:var(--radius-sm);color:#065f46;animation:popIn .35s var(--ease);background:#ecfdf5;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.coupon-applied span{flex:1}.coupon-error{color:var(--danger);margin:-6px 0 12px;font-size:.85rem;font-weight:600}.saved-text{color:var(--success);font-weight:600;display:block}.coupon-manager .table-toolbar p{margin:0}.coupon-create{animation:fadeUp .3s var(--ease) both;margin-bottom:18px}.coupon-code{border:1px dashed var(--brand-400);background:var(--brand-50);color:var(--brand-800);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-family:Consolas,Courier New,monospace;font-weight:700;display:inline-flex}.switch{cursor:pointer;width:42px;height:24px;margin:0;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-slider{background:var(--gray-300);border-radius:999px;transition:background .25s;position:absolute;inset:0}.switch-slider:before{content:"";width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-slider{background:var(--success)}.switch input:checked+.switch-slider:before{transform:translate(18px)}.switch input:focus-visible+.switch-slider{outline:3px solid var(--brand-300);outline-offset:2px}.section-heading-spaced{margin-top:40px}.analytics-controls{align-items:center;gap:8px;display:flex}.mini-stats{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.mini-stat{border:1px solid var(--border);color:var(--gray-700);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:.9rem;display:flex}.mini-stat svg{color:var(--brand-600)}.mini-stat.attention{background:var(--warning-light);color:#92400e;border-color:#fcd34d}.mini-stat.attention svg{color:#d97706}a.mini-stat:hover{box-shadow:var(--shadow)}.chart-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.chart-card{padding:18px 18px 8px}.chart{margin:0}.chart-title{color:var(--gray-600);justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:.9rem;font-weight:600;display:flex}.chart-title strong{color:var(--gray-900);font-size:1.3rem}.chart-area{position:relative}.chart-area svg{width:100%;height:auto;display:block;overflow:visible}.chart-gridline{stroke:var(--gray-100);stroke-width:1px}.chart-baseline{stroke:var(--gray-300);stroke-width:1px}.chart-axis{fill:var(--gray-500);font-size:12px;font-family:var(--font);font-variant-numeric:tabular-nums}.chart-bar{fill:var(--brand-600);transition:fill .15s}.chart-bar.active{fill:var(--brand-800)}.chart-hit{fill:#0000;cursor:pointer;outline:none}.chart-hit:focus-visible{fill:#7c3aed14}.chart-tooltip{border-radius:var(--radius-sm);background:var(--gray-900);color:#fff;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow);flex-direction:column;align-items:center;padding:6px 10px;font-size:.78rem;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.chart-tooltip strong{font-size:.9rem}.chart-tooltip span{color:var(--gray-300)}.analytics-table{max-height:380px;overflow-y:auto}.certificate-verify{color:var(--gray-400);word-break:break-all;margin:6px 0 0;font-size:.75rem}.share-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:920px;margin:24px auto 0;display:flex}.share-text{align-items:center;gap:12px;display:flex}.share-text svg{color:var(--success)}.share-text p{margin:2px 0 0}.share-card .card-actions{margin-top:0}.btn-linkedin{color:#fff;background:#0a66c2}.btn-linkedin:hover:not(:disabled){color:#fff;background:#004182}.verify-form{margin-bottom:24px}.verify-form .btn{margin-top:0}.verify-result{border-radius:var(--radius-lg);text-align:center;padding:36px 28px}.verify-result h2{margin:14px 0 6px}.verify-result.valid{background:#ecfdf5;border:1px solid #a7f3d0}.verify-result.invalid{background:#fff7f7;border:1px solid #fecaca}.verify-icon{color:#fff;width:80px;height:80px;animation:popIn .5s var(--ease) both;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.valid .verify-icon{background:var(--success);box-shadow:0 0 0 10px #0596691f}.invalid .verify-icon{background:var(--danger);box-shadow:0 0 0 10px #dc26261a}.verify-details{text-align:left;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0 0;display:grid}.verify-details div{border-radius:var(--radius-sm);background:#fff;padding:12px 14px}.verify-details dt{color:var(--muted);font-size:.8rem}.verify-details dd{color:var(--gray-900);margin:2px 0 0;font-weight:700}@media (width<=860px){.chart-grid,.verify-details,.note-form{grid-template-columns:1fr}.quiz-box{padding:16px}.question-row-count{display:none}.bell-dropdown{position:fixed;top:64px;right:12px}}@media (width<=1100px){.hero-inner{grid-template-columns:1fr}.hero-art{display:none}.feature-grid,.stat-grid{grid-template-columns:repeat(2,1fr)}.course-body,.checkout-layout,.player-layout{grid-template-columns:1fr}.buy-card{order:-1;margin-top:24px;position:static}.summary-card{position:static}.player-sidebar{border-left:none;border-top:1px solid var(--border);max-height:none;position:static}.instructor-course{grid-template-columns:120px 1fr}.instructor-course-numbers,.instructor-course-actions{grid-column:1/-1}.form-row-4{grid-template-columns:1fr 1fr}}@media (width<=860px){.hide-mobile{display:none!important}.show-mobile{display:inline-flex!important}.menu-button{display:flex}.navbar-inner{gap:12px;padding:0 16px}.nav-right{gap:8px}.container{padding:0 16px}.hero{padding:56px 0 64px}.hero h1{font-size:2.3rem}.page-header h1,.course-header h1{font-size:1.8rem}.page-header-inner{flex-direction:column;align-items:flex-start}.browse-layout,.editor-layout,.media-block,.two-columns,.form-row,.form-row-3,.footer-grid,.info-grid,.auth-page{grid-template-columns:1fr}.auth-side{display:none}.auth-main{min-height:calc(100vh - 70px)}.browse-toolbar{justify-content:space-between}.filters{display:none;position:static}.filters.open{animation:fadeUp .3s var(--ease) both;display:block}.editor-steps{position:static}.plan-banner,.teach-banner{flex-direction:column;align-items:flex-start;padding:32px 24px}.rating-summary{flex-direction:column;align-items:stretch;gap:20px}.player-topbar .player-progress div{display:none}.player-nav,.player-content{padding-left:16px;padding-right:16px}.editor-content,.card-padded{padding:20px}.add-row,.table-toolbar,.section-editor-header,.lecture-editor-row{flex-wrap:wrap}.footer-bottom{flex-direction:column}}@media (width<=520px){.feature-grid,.stat-grid,.form-row-4{grid-template-columns:1fr}.hero-search{padding-left:44px}.hero-search .btn{padding:11px 16px}.otp-input{gap:6px}.otp-box{height:54px;font-size:1.4rem!important}.order-item{flex-wrap:wrap}.toast{min-width:0}}.text-link{color:var(--brand-700);align-items:center;gap:4px;font-weight:700;display:inline-flex}.text-link:hover{color:var(--brand-900);text-decoration:underline}.header-link{color:var(--brand-200);text-underline-offset:3px;font-weight:700;-webkit-text-decoration:underline #ddd6fe66;text-decoration:underline #ddd6fe66;transition:color .2s,text-decoration-color .2s}.header-link:hover{color:#fff;text-decoration-color:#fff}.btn-glass{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff40}.btn-glass:hover:not(:disabled){color:#fff;background:#ffffff2e;border-color:#ffffff73}.avatar-ring{transition:transform .35s var(--ease);background:conic-gradient(#7c3aed,#c084fc,#f0abfc,#818cf8,#7c3aed);border-radius:50%;flex-shrink:0;padding:4px;display:inline-flex;position:relative}.avatar-ring .avatar{border:3px solid #fff}a.avatar-ring:hover{transform:scale(1.05)rotate(-2deg)}.avatar-ring-large{animation:popIn .6s var(--ease) both;padding:5px;box-shadow:0 18px 50px #7c3aed73}.avatar-ring-large .avatar{border-width:4px;border-color:#1e0b45}.follow-button{min-width:124px}.follow-button.btn-small{min-width:104px}.follow-button .follow-state,.follow-button .follow-hover{align-items:center;gap:6px;display:inline-flex}.follow-button .follow-hover,.follow-button.following:hover:not(:disabled) .follow-state{display:none}.follow-button.following:hover:not(:disabled) .follow-hover{display:inline-flex}.follow-button.btn-outline.following:hover:not(:disabled){border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.follow-button.btn-glass.following:hover:not(:disabled){background:#dc262640;border-color:#fecacab3}.follow-button:not(.following):not(:disabled):active{transform:scale(.96)}.social-links{flex-wrap:wrap;gap:8px;display:flex}.social-link{border:1px solid var(--border);width:40px;height:40px;color:var(--gray-700);animation:popIn .4s var(--ease) both;animation-delay:calc(.2s + var(--i,0) * 70ms);transition:transform .25s var(--ease), background .2s, color .2s, border-color .2s;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.social-link:hover{border-color:var(--brand-400);background:var(--brand-50);color:var(--brand-700);transform:translateY(-3px)}.social-links-light .social-link{color:#fff;background:#ffffff14;border-color:#ffffff38}.social-links-light .social-link:hover{color:var(--brand-800);background:#fff;border-color:#fff}.profile-hero{background:var(--dark-gradient);color:#fff;padding:56px 0 104px;position:relative;overflow:hidden}.profile-hero:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff17 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.profile-hero-inner{align-items:center;gap:40px;display:flex;position:relative}.profile-hero-text{min-width:0;animation:fadeUp .6s var(--ease) .1s both}.profile-hero h1{color:#fff;margin:14px 0 6px;font-size:2.6rem;line-height:1.15}.profile-headline{color:#ffffffd1;margin:0;font-size:1.15rem}.profile-meta{color:#ffffffb8;flex-wrap:wrap;gap:8px 22px;margin-top:16px;font-size:.9rem;display:flex}.profile-meta span{align-items:center;gap:7px;display:inline-flex}.profile-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.profile-actions .social-links{margin-left:6px}.profile-skeleton-avatar{flex-shrink:0;width:158px;height:158px}.skeleton-dark{background:linear-gradient(90deg,#ffffff14 0%,#ffffff29 40%,#ffffff14 80%) 0 0/1200px 100%}.profile-stats{z-index:2;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:-64px;display:grid;position:relative}.profile-stat{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:transform .3s var(--ease), box-shadow .3s;background:#fff;flex-direction:column;align-items:flex-start;gap:6px;padding:20px 22px;display:flex}.profile-stat:hover{transform:translateY(-4px);box-shadow:0 22px 48px #2e106533}.profile-stat-icon{background:var(--brand-50);width:40px;height:40px;color:var(--brand-700);border-radius:12px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.profile-stat strong{color:var(--gray-900);font-variant-numeric:tabular-nums;font-size:1.7rem;line-height:1.1}.profile-stat>span:last-child{color:var(--muted);font-size:.85rem;font-weight:600}.profile-body{padding-top:28px}.profile-tabs{z-index:4;background:var(--background);margin-bottom:4px;position:sticky;top:70px}.profile-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.profile-toolbar h2{margin:0;font-size:1.35rem}.profile-about{grid-template-columns:1fr 340px;align-items:start;gap:24px;display:grid}.profile-bio h2{font-size:1.35rem}.bio-text{color:var(--gray-700);margin:0 0 8px;line-height:1.75}.bio-clamped{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.profile-facts h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:22px 0 12px;font-size:.8rem}.profile-facts h3:first-child{margin-top:0}.profile-facts ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.profile-facts li{color:var(--gray-700);align-items:flex-start;gap:12px;font-size:.93rem;display:flex}.profile-facts li svg{color:var(--brand-600);flex-shrink:0;margin-top:2px}.topic-chips{flex-wrap:wrap;gap:8px;display:flex}.topic-chip{background:var(--brand-50);color:var(--brand-800);border-radius:999px;padding:5px 12px;font-size:.82rem;font-weight:700}.profile-rating-banner{background:linear-gradient(135deg, var(--brand-50), white);align-items:center;gap:18px;margin-bottom:22px;padding:20px 24px;display:flex}.profile-rating-banner>strong{color:var(--gray-900);font-size:2.6rem;line-height:1}.profile-rating-banner>div{gap:4px;display:grid}.profile-review-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.profile-review{transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;flex-direction:column;gap:10px;padding:24px;display:flex;position:relative}.profile-review:hover{border-color:var(--brand-200);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.profile-review-quote{color:var(--brand-100);position:absolute;top:18px;right:18px}.profile-review p{color:var(--gray-700);flex:1;margin:0;line-height:1.65}.profile-review-footer{border-top:1px solid var(--border);align-items:center;gap:12px;padding-top:14px;display:flex}.profile-review-footer>div{min-width:0;display:grid}.profile-review-footer a{color:var(--brand-700);font-weight:600}.profile-review-footer a:hover{text-decoration:underline}.instructor-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;display:grid}.instructor-grid>div{display:flex}.instructor-grid>div>.instructor-card{flex:1}.instructor-card{border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);text-align:center;transition:transform .35s var(--ease), box-shadow .35s, border-color .35s;background:#fff;flex-direction:column;align-items:center;gap:6px;padding:28px 20px 20px;display:flex;position:relative;overflow:hidden}.instructor-card:before{content:"";background:var(--dark-gradient);opacity:.95;height:76px;transition:height .35s var(--ease);position:absolute;top:0;left:0;right:0}.instructor-card:hover{border-color:var(--brand-200);box-shadow:var(--shadow-lg);transform:translateY(-6px)}.instructor-card:hover:before{height:86px}.instructor-card-top{margin-bottom:8px;position:relative}.instructor-card:hover .avatar-ring{transform:scale(1.06)}.instructor-card h3{margin:0;font-size:1.1rem}.instructor-card-headline{-webkit-line-clamp:2;min-height:2.9em;color:var(--muted);-webkit-box-orient:vertical;margin:0;font-size:.87rem;line-height:1.45;display:-webkit-box;overflow:hidden}.instructor-card-stats{color:var(--gray-700);justify-content:center;gap:16px;margin:8px 0 4px;font-size:.85rem;font-weight:700;display:flex}.instructor-card-stats span{align-items:center;gap:5px;display:inline-flex}.instructor-card-stats svg{color:var(--brand-600)}.instructor-card-stats .star-icon.filled{color:var(--star)}.instructor-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:auto;padding-top:14px;display:flex}.instructor-card-skeleton{gap:12px}.instructor-card-skeleton:before{display:none}.instructor-unfollowed .instructor-card{opacity:.6}.instructor-panel{gap:18px;display:grid}.instructor-panel-top{align-items:center;gap:22px;display:flex}.instructor-name-link h3{color:var(--brand-700);margin:0 0 2px;font-size:1.25rem;transition:color .2s;display:inline-block}.instructor-name-link:hover h3{color:var(--brand-900);text-decoration:underline}.instructor-panel-top p{margin:0}.instructor-panel-stats{color:var(--gray-700);flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;padding:0;font-size:.88rem;list-style:none;display:flex}.instructor-panel-stats li{align-items:center;gap:6px;display:inline-flex}.instructor-panel-stats svg{color:var(--brand-600)}.instructor-panel-stats .star-icon.filled{color:var(--star)}.instructor-panel .bio-text{margin:0}.instructor-panel-actions{flex-wrap:wrap;gap:12px;display:flex}.links-fieldset{border:1px dashed var(--brand-200);border-radius:var(--radius);background:var(--background-soft);margin:4px 0 20px;padding:18px 18px 2px}.links-fieldset legend{color:var(--gray-700);padding:0 8px;font-size:.88rem;font-weight:700}@media (width<=1100px){.profile-stats{grid-template-columns:repeat(3,1fr)}}@media (width<=860px){.profile-hero{padding:40px 0 96px}.profile-hero-inner{text-align:center;flex-direction:column;gap:20px}.profile-hero h1{font-size:2rem}.profile-meta,.profile-actions{justify-content:center}.profile-actions .social-links{margin-left:0}.profile-about{grid-template-columns:1fr}.instructor-panel-top{flex-direction:column;align-items:flex-start}}@media (width<=520px){.profile-stats{grid-template-columns:repeat(2,1fr);gap:10px}.profile-stat{padding:14px 16px}.profile-stat strong{font-size:1.35rem}.profile-stat:last-child:nth-child(odd){grid-column:span 2}.profile-toolbar{flex-direction:column;align-items:flex-start}.profile-review-grid{grid-template-columns:1fr}}@media print{.navbar,.footer,.no-print,.toast-container{display:none!important}.certificate{box-shadow:none}.page-transition,.animate-in{animation:none!important}}
