/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-slate-950:oklch(12.9% .042 264.695);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.max-w-sm{max-width:var(--container-sm)}.grow{flex-grow:1}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-slate-950{--tw-gradient-from:var(--color-slate-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-black{--tw-gradient-to:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-3{padding:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-8{padding-top:calc(var(--spacing) * 8)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:text-white:hover{color:var(--color-white)}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--color-primary:#6f2de2;--color-primary-dark:#5a23ba;--color-primary-light:#f3eefb;--color-ink:#15131c;--color-body:#4b4b55;--color-muted:#767685;--color-border:#e6e3ee;--color-bg:#fff;--color-bg-subtle:#faf9fc;--color-success:#15803d;--color-success-bg:#ecfdf3;--color-danger:#b91c1c;--color-danger-bg:#fef2f2;--color-warning:#b45309;--color-warning-bg:#fffbeb;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #14101e0f;--shadow-md:0 4px 16px #14101e14;--font-display:"Poppins", sans-serif;--font-body:"Inter", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-body);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h4,h5{font-family:var(--font-display);color:var(--color-ink);margin:0;line-height:1.25}p{margin:0}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}button{cursor:pointer;font-family:inherit}img{max-width:100%;display:block}input,textarea,select{font-family:inherit;font-size:14px}.container{width:100%;max-width:1180px;margin:0 auto;padding:24px}.section{padding:64px 0}.section-sm{padding:20px}.text-muted{color:var(--color-muted)}.text-center{text-align:center}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-outline{color:var(--color-ink);border-color:var(--color-border);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-ghost{color:var(--color-body);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-bg-subtle)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#fde2e2}.btn-block{width:100%}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:14px 26px;font-size:15px}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.input-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.input-label{color:var(--color-ink);font-size:13px;font-weight:600}.input-field{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-bg);width:100%;padding:10px 12px;font-size:14px}.input-field:focus{border-color:var(--color-primary);outline:none}.input-field::placeholder{color:var(--color-muted)}.input-with-icon{position:relative}.input-with-icon .input-field{padding-left:38px}.input-with-icon svg{color:var(--color-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-error{color:var(--color-danger);font-size:12.5px}.badge{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-purple{background:var(--color-primary-light);color:var(--color-primary)}.badge-green{background:var(--color-success-bg);color:var(--color-success)}.badge-red{background:var(--color-danger-bg);color:var(--color-danger)}.badge-amber{background:var(--color-warning-bg);color:var(--color-warning)}.badge-gray{background:var(--color-bg-subtle);color:var(--color-muted)}.alert{border-radius:var(--radius-sm);border:1px solid #0000;margin-bottom:16px;padding:12px 14px;font-size:13.5px}.alert-error{background:var(--color-danger-bg);color:var(--color-danger);border-color:#fbd5d5}.alert-success{background:var(--color-success-bg);color:var(--color-success);border-color:#c8f0d9}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.spinner-dark{border:2px solid var(--color-border);border-top-color:var(--color-primary)}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{justify-content:center;align-items:center;min-height:60vh;display:flex}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f1f0f4 25%,#e9e7ee 37%,#f1f0f4 63%) 0 0/400% 100%;animation:1.4s infinite skeleton}@keyframes skeleton{0%{background-position:100%}to{background-position:0}}.navbar{z-index:1000;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);background:#ffffffd1;transition:all .3s;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.navbar-links{align-items:center;gap:2rem;display:flex}.navbar-links a{color:var(--color-body);font-size:15px;font-weight:500;text-decoration:none;transition:color .25s;position:relative}.navbar-links a:after{content:"";background:var(--color-primary);border-radius:50px;width:0;height:2px;transition:width .3s;position:absolute;bottom:-9px;left:0}.navbar-links a:hover,.navbar-links a.active{color:var(--color-primary)}.navbar-links a:hover:after,.navbar-links a.active:after{width:100%}.navbar-actions{align-items:center;gap:.8rem;display:flex}.navbar-mobile-toggle{cursor:pointer;color:var(--color-ink);background:0 0;border:none;transition:all .25s;display:none}.navbar-mobile-toggle:hover{color:var(--color-primary)}.navbar-user{position:relative}.navbar-user-trigger{cursor:pointer;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:.7rem;padding:5px 12px 5px 5px;transition:all .25s;display:flex}.navbar-user-trigger:hover{border-color:var(--color-primary)}.navbar-avatar{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:600;display:grid}.navbar-user-info{text-align:left;flex-direction:column;display:flex}.navbar-user-info span{color:var(--color-ink);font-size:14px;font-weight:600}.rotate{transition:all .3s;transform:rotate(180deg)}.navbar-dropdown{border-radius:var(--radius-md);border:1px solid var(--color-border);opacity:0;visibility:hidden;background:#fff;min-width:230px;padding:.5rem;transition:all .25s;position:absolute;top:calc(100% + 12px);right:0;transform:translateY(10px);box-shadow:0 20px 50px #00000014}.navbar-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.navbar-dropdown a,.navbar-dropdown button{border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--color-body);background:0 0;border:none;align-items:center;gap:.8rem;padding:.8rem;font-size:14px;transition:all .2s;display:flex}.navbar-dropdown a:hover,.navbar-dropdown button:hover{background:var(--color-bg-subtle);color:var(--color-primary)}.navbar-overlay{z-index:998;opacity:1;visibility:hidden;-webkit-backdrop-filter:blur(14px);background:#07132b8c;transition:all .35s;position:fixed;top:72px;right:0;bottom:0;left:0}.navbar-overlay.show{opacity:1;visibility:visible}.navbar-mobile-menu{border-top:1px solid var(--color-border);opacity:0;z-index:999;background:#fff;width:100%;max-height:0;transition:max-height .35s,opacity .25s;position:absolute;top:100%;left:0;overflow:hidden}.navbar-mobile-menu.open{opacity:1;max-height:600px}.navbar-mobile-menu .container{flex-direction:column;padding:1rem;display:flex}.navbar-mobile-menu a,.navbar-mobile-menu button{text-align:left;width:100%;color:var(--color-body);cursor:pointer;background:0 0;border:none;padding:14px 0;font-size:15px;transition:all .2s}.navbar-mobile-menu a:hover,.navbar-mobile-menu button:hover{color:var(--color-primary);padding-left:.5rem}.navbar-mobile-menu .active{color:var(--color-primary);font-weight:600}.mobile-register{margin-top:.8rem;font-weight:600;color:var(--color-primary)!important}@media (max-width:860px){.navbar-links,.navbar-actions .btn{display:none}.navbar-mobile-toggle{display:block}.navbar-user-info{display:none}.navbar-user-trigger{padding-right:.5rem}}@media (max-width:500px){.navbar-inner{height:68px}.navbar-logo img{height:100px}.navbar-overlay{top:68px;right:0;bottom:0;left:0}}.footer{background:radial-gradient(circle at top right,#3b82f614,transparent 35%),var(--color-ink);color:#d4d4d8;border-top:1px solid #ffffff14;padding:5rem 0 2rem;position:relative;overflow:hidden}.footer:before{content:"";background:var(--color-primary);width:100%;height:2px;box-shadow:0 0 30px var(--color-primary);position:absolute;top:0;left:0}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.5fr;align-items:flex-start;gap:3rem;display:grid}.footer-logo{color:var(--color-primary);align-items:center;gap:.55rem;margin-bottom:1.25rem;font-size:1.7rem;font-weight:800;display:inline-flex}.footer-logo svg{width:28px;height:28px}.footer-desc{color:#a1a1aa;max-width:360px;margin-bottom:1.8rem;line-height:1.8}.footer-heading{color:#fff;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.3rem;font-size:.85rem;font-weight:700}.footer-links{flex-direction:column;gap:.9rem;display:flex}.footer-links a{color:#a1a1aa;width:fit-content;transition:all .25s}.footer-links a:hover{color:#fff;transform:translate(6px)}.footer-contact-item{color:#a1a1aa;word-break:break-word;align-items:flex-start;gap:.8rem;margin-bottom:1rem;line-height:1.6;text-decoration:none;transition:all .25s;display:flex}.footer-social{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.footer-bottom{color:#8b8b95;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:1rem;margin-top:4rem;padding-top:1.5rem;font-size:.9rem;display:flex}.footer-bottom-links{flex-wrap:wrap;gap:1.5rem;display:flex}@media (max-width:992px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}.footer-desc{max-width:100%}}@media (max-width:768px){.footer{padding:4rem 0 2rem}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-bottom{text-align:center;flex-direction:column}.footer-bottom-links{justify-content:center}}@media (max-width:576px){.footer{text-align:center}.footer-logo{justify-content:center}.footer-desc{margin-inline:auto}.footer-links{align-items:center}.footer-links a{width:auto}.footer-links a:hover{transform:none}.footer-contact-item{text-align:left;justify-content:center;max-width:300px;margin-inline:auto}.footer-social{justify-content:center}.footer-bottom{font-size:.85rem}.footer-bottom-links{gap:1rem}}.footer-contact-item{color:#a1a1aa;align-items:flex-start;gap:.75rem;margin-bottom:1rem;transition:all .25s;display:flex}.footer-contact-item:hover{color:#fff}.footer-contact-item svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.footer-social{gap:.8rem;margin-top:1.5rem;display:flex}.footer-social a{color:#fff;background:#ffffff0f;border:1px solid #ffffff14;border-radius:50%;place-items:center;width:42px;height:42px;transition:all .3s;display:grid}.footer-social a:hover{background:var(--color-primary);transform:translateY(-4px);box-shadow:0 10px 25px #3b82f659}.footer-bottom{color:#8b8b95;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-top:4rem;padding-top:1.5rem;font-size:.9rem;display:flex}.footer-bottom-links{gap:1.5rem;display:flex}.footer-bottom-links a{color:#8b8b95;transition:all .25s}.footer-bottom-links a:hover{color:#fff}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.footer{text-align:center}.footer-grid{grid-template-columns:1fr}.footer-desc{margin-inline:auto}.footer-social,.footer-contact-item{justify-content:center}.footer-bottom{flex-direction:column;gap:1rem}}.course-card{flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}.course-card:hover{border-color:var(--color-primary)}.course-card-thumb{object-fit:cover;background:var(--color-bg-subtle);width:100%;height:168px}.course-card-body{flex-direction:column;flex:1;gap:8px;padding:16px 18px 18px;display:flex}.course-card-category{color:var(--color-primary);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:600}.course-card-title{color:var(--color-ink);font-size:16px;font-weight:600;line-height:1.35}.course-card-meta{color:var(--color-muted);align-items:center;gap:14px;font-size:12.5px;display:flex}.course-card-meta-item{align-items:center;gap:5px;display:flex}.course-card-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;display:flex}.course-card-price{align-items:baseline;gap:8px;display:flex}.price-current{color:var(--color-ink);font-size:17px;font-weight:700}.price-original{color:var(--color-muted);font-size:13px;text-decoration:line-through}.rating-row{color:var(--color-ink);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.rating-row .text-muted{font-weight:400}.star-row{gap:2px;display:flex}.courses-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (max-width:980px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.courses-grid{grid-template-columns:1fr}}.empty-state{text-align:center;color:var(--color-muted);padding:60px 20px}.empty-state svg{color:var(--color-border);margin-bottom:14px}.hero-wapper{max-width:1200px;margin:0 auto}.hero{background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);justify-content:center;padding:50px;display:flex}.hero-inner{grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;padding:72px 0;display:grid}.hero-eyebrow{background:var(--color-primary-light);color:var(--color-primary);border-radius:999px;align-items:center;gap:6px;margin-bottom:18px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.hero-title{letter-spacing:-.01em;max-width:400px;margin-bottom:18px;font-size:44px;font-weight:700}.hero-title span{color:var(--color-primary)}.hero-subtitle{color:var(--color-body);max-width:480px;margin-bottom:28px;font-size:16px;line-height:1.65}.hero-actions{gap:12px;display:flex}.hero-stats{gap:32px;margin-top:36px;display:flex}.hero-stat-num{color:var(--color-ink);font-size:22px;font-weight:700;font-family:var(--font-display)}.hero-stat-label{color:var(--color-muted);font-size:12.5px}.hero-media{border-radius:var(--radius-lg);position:relative;overflow:hidden}.hero-media img{object-fit:cover;width:100%;height:420px}.hero-media-badge{border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:#fff;align-items:center;gap:10px;padding:12px 16px;display:flex;position:absolute;bottom:18px;left:18px}.hero-media-badge-icon{background:var(--color-primary-light);width:36px;height:36px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}@media (max-width:920px){.hero-inner{grid-template-columns:1fr}.hero-title{font-size:32px}.hero-media img{height:280px}.hero{padding:20px}}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.section-heading h2{font-size:28px;font-weight:700}.section-heading p{color:var(--color-muted);margin-top:6px;font-size:14.5px}.category-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.category-card{text-align:left;padding:26px 20px;transition:border-color .15s}.category-card:hover{border-color:var(--color-primary)}.category-icon{border-radius:var(--radius-sm);background:var(--color-primary-light);width:44px;height:44px;color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:14px;display:flex}.category-name{color:var(--color-ink);margin-bottom:4px;font-size:15px;font-weight:600}.category-count{color:var(--color-muted);font-size:13px}@media (max-width:860px){.category-grid{grid-template-columns:repeat(2,1fr)}}.testimonial-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.testimonial-card{padding:26px}.testimonial-quote{color:var(--color-body);margin:14px 0 18px;font-size:14.5px;line-height:1.7}.testimonial-person{align-items:center;gap:12px;display:flex}.testimonial-avatar{object-fit:cover;border-radius:50%;width:42px;height:42px}.testimonial-name{color:var(--color-ink);font-size:14px;font-weight:600}.testimonial-role{color:var(--color-muted);font-size:12.5px}@media (max-width:860px){.testimonial-grid{grid-template-columns:1fr}}.cta-banner{background:var(--color-primary);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:24px;padding:48px;display:flex}.cta-banner h2{color:#fff;margin-bottom:8px;font-size:26px}.cta-banner p{color:#ffffffd9;font-size:14.5px}.cta-banner .btn-primary{color:var(--color-primary);background:#fff}.cta-banner .btn-primary:hover{background:#f1ecfb}@media (max-width:700px){.cta-banner{text-align:center;flex-direction:column}}.page-header{background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);padding:40px 0}.page-header h1{margin-bottom:8px;font-size:30px}.page-header p{color:var(--color-muted);font-size:14.5px}.courses-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.search-box{flex:1;min-width:240px;position:relative}.search-box input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:11px 14px 11px 38px;font-size:14px}.search-box input:focus{border-color:var(--color-primary);outline:none}.search-box svg{color:var(--color-muted);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.filter-select{border:1px solid var(--color-border);width:150px;color:var(--color-ink);background:var(--color-bg);border-radius:3px;padding:11px 14px;font-size:14px}.filter-select:focus{border-color:var(--color-primary);outline:none}.course-hero{background:var(--color-ink);color:#fff;padding:44px 0}.course-hero-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:40px;display:grid}.course-hero-category{color:#c9aef5;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:12.5px;font-weight:600}.course-hero h1{color:#fff;margin-bottom:12px;font-size:30px}.course-hero-sub{color:#cbc7d8;max-width:560px;margin-bottom:18px;font-size:15px;line-height:1.6}.course-hero-meta{color:#cbc7d8;flex-wrap:wrap;gap:18px;font-size:13.5px;display:flex}.course-hero-meta span{align-items:center;gap:6px;display:flex}.purchase-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;overflow:hidden}.purchase-card img{object-fit:cover;width:100%;height:190px}.purchase-card-body{padding:22px}.purchase-price-row{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.purchase-price-current{color:var(--color-ink);font-size:28px;font-weight:700}.purchase-price-original{color:var(--color-muted);font-size:15px;text-decoration:line-through}.purchase-discount-badge{color:var(--color-success);background:var(--color-success-bg);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.purchase-list{flex-direction:column;gap:10px;margin:18px 0;display:flex}.purchase-list-item{color:var(--color-body);align-items:center;gap:10px;font-size:13.5px;display:flex}.course-body{grid-template-columns:1.5fr 1fr;gap:40px;padding:44px 0;display:grid}.course-section-title{margin-bottom:16px;font-size:20px}.outcomes-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:40px;display:grid}.outcome-item{color:var(--color-body);align-items:flex-start;gap:10px;font-size:14px;display:flex}.outcome-item svg{color:var(--color-success);flex-shrink:0;margin-top:2px}.curriculum-section{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:10px;overflow:hidden}.curriculum-section-header{background:var(--color-bg-subtle);cursor:pointer;color:var(--color-ink);justify-content:space-between;align-items:center;padding:14px 18px;font-size:14.5px;font-weight:600;display:flex}.curriculum-section-meta{color:var(--color-muted);font-size:12.5px;font-weight:400}.curriculum-lesson{border-top:1px solid var(--color-border);color:var(--color-body);justify-content:space-between;align-items:center;padding:12px 18px;font-size:13.5px;display:flex}.curriculum-lesson-left{align-items:center;gap:10px;display:flex}.curriculum-lesson-left svg{color:var(--color-muted)}.reviews-summary{align-items:center;gap:16px;margin-bottom:24px;display:flex}.reviews-score{color:var(--color-ink);font-size:36px;font-weight:700}.review-item{border-top:1px solid var(--color-border);padding:16px 0}.review-item:first-child{border-top:none}.review-person{align-items:center;gap:10px;margin-bottom:8px;display:flex}.review-avatar{background:var(--color-primary-light);width:34px;height:34px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}@media (max-width:900px){.course-hero-grid,.course-body,.outcomes-grid{grid-template-columns:1fr}}.about-hero{grid-template-columns:1fr 1fr;align-items:center;gap:44px;padding:56px 0;display:grid}.about-hero img{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:360px}.value-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.value-card{padding:26px}.founder-card{align-items:center;gap:18px;padding:24px;display:flex}.founder-avatar{object-fit:cover;border-radius:50%;width:64px;height:64px}@media (max-width:880px){.about-hero{grid-template-columns:1fr;padding:20px}.value-grid{grid-template-columns:1fr}.founder-card{text-align:center;flex-direction:column}.founder-avatar{object-fit:cover;width:50px;height:50px}}.contact-grid{grid-template-columns:1fr 1.2fr;gap:40px;padding:50px 0;display:grid}.contact-info-item{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.contact-info-icon{border-radius:var(--radius-sm);background:var(--color-primary-light);width:40px;height:40px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-form-card{padding:30px}@media (max-width:880px){.contact-grid{grid-template-columns:1fr;padding:20px}}.auth-wrapper{background:var(--color-bg-subtle);justify-content:center;align-items:center;min-height:calc(100vh - 348px);padding:56px 20px;display:flex}.auth-card{width:100%;max-width:400px;padding:34px}.auth-logo{justify-content:center;margin-bottom:22px;display:flex}.auth-logo img{height:32px}.auth-title{text-align:center;margin-bottom:6px;font-size:22px}.auth-subtitle{text-align:center;color:var(--color-muted);margin-bottom:26px;font-size:13.5px}.auth-footer-text{text-align:center;color:var(--color-muted);margin-top:18px;font-size:13.5px}.auth-footer-text a{color:var(--color-primary);font-weight:600}.auth-forgot{text-align:right;margin-top:-8px;margin-bottom:16px}.auth-forgot a{color:var(--color-primary);font-size:13px;font-weight:500}.notfound-wrapper{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:60px 20px;display:flex}.notfound-code{color:var(--color-primary-light);font-size:80px;font-weight:700;font-family:var(--font-display)}.profile-tabs{border-bottom:1px solid var(--color-border);gap:8px;margin-bottom:24px;display:flex}.profile-tab{color:var(--color-muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-right:20px;padding:10px 4px;font-size:14px;font-weight:500}.profile-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.profile-avatar-row{align-items:center;gap:16px;margin-bottom:24px;display:flex}.profile-avatar-lg{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:600;display:flex}.form-card{max-width:520px;padding:28px}.enrolled-card{gap:18px;padding:18px;display:flex}.enrolled-thumb{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:160px;height:100px}.enrolled-body{flex-direction:column;flex:1;gap:8px;display:flex}.progress-bar-track{background:var(--color-border);border-radius:999px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{background:var(--color-primary);border-radius:999px;height:100%}.enrolled-actions{gap:10px;margin-top:4px;display:flex}@media (max-width:640px){.enrolled-card{flex-direction:column}.enrolled-thumb{width:100%;height:160px}}.checkout-grid{grid-template-columns:1fr 1fr;gap:32px;padding:50px 0;display:grid}.checkout-summary{padding:24px}.checkout-summary img{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:160px;margin-bottom:16px}.checkout-row{justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.checkout-row.total{border-top:1px solid var(--color-border);color:var(--color-ink);margin-top:8px;font-size:16px;font-weight:700}.checkout-form-card{padding:28px}.mpesa-logo-badge{background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:18px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}@media (max-width:880px){.checkout-grid{grid-template-columns:1fr}}.certificate-card{align-items:center;gap:16px;padding:18px;display:flex}.certificate-icon{border-radius:var(--radius-sm);background:var(--color-primary-light);width:48px;height:48px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.learn-header{border-bottom:1px solid var(--color-border);background:var(--color-bg);justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex}.learn-header-left{align-items:center;gap:14px;min-width:0;display:flex}.learn-header-title{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:14.5px;font-weight:600;overflow:hidden}.learn-header-progress{align-items:center;gap:10px;display:flex}.learn-header-progress .progress-bar-track{width:120px}.learn-layout{grid-template-columns:1fr 340px;min-height:calc(100vh - 60px);display:grid}.learn-main{padding:28px 36px;overflow-y:auto}.video-wrapper{border-radius:var(--radius-md);background:#000;width:100%;margin-bottom:22px;padding-top:56.25%;position:relative;overflow:hidden}.video-wrapper iframe{border:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.lesson-nav-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;display:flex}.resource-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 14px;font-size:13.5px;display:flex}.resource-item-left{color:var(--color-ink);align-items:center;gap:10px;display:flex}.learn-sidebar{border-left:1px solid var(--color-border);background:var(--color-bg-subtle);overflow-y:auto}.learn-sidebar-header{border-bottom:1px solid var(--color-border);color:var(--color-ink);padding:16px 18px;font-size:13.5px;font-weight:600}.learn-sidebar-section-title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;padding:12px 18px 6px;font-size:12.5px;font-weight:700}.learn-lesson-item{color:var(--color-body);cursor:pointer;border-left:3px solid #0000;align-items:flex-start;gap:10px;padding:11px 18px;font-size:13.5px;display:flex}.learn-lesson-item:hover{background:#6f2de20f}.learn-lesson-item.active{border-left-color:var(--color-primary);color:var(--color-ink);background:#6f2de214;font-weight:600}.learn-lesson-check{flex-shrink:0;margin-top:1px}@media (max-width:980px){.learn-layout{grid-template-columns:1fr}.learn-sidebar{border-left:none;border-top:1px solid var(--color-border)}.learn-main{padding:20px}}.admin-layout{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--color-ink);color:#d7d4e0;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.admin-sidebar-logo{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:20px 22px;display:flex}.admin-sidebar-logo img{filter:brightness(0)invert();height:26px}.admin-nav{flex-direction:column;flex:1;gap:2px;padding:14px 10px;display:flex;overflow-y:auto}.admin-nav a{border-radius:var(--radius-sm);color:#b8b4c6;align-items:center;gap:11px;padding:10px 12px;font-size:13.5px;display:flex}.admin-nav a:hover{color:#fff;background:#ffffff0f}.admin-nav a.active{background:var(--color-primary);color:#fff}.admin-sidebar-footer{border-top:1px solid #ffffff14;padding:14px 10px}.admin-sidebar-footer button{border-radius:var(--radius-sm);color:#b8b4c6;text-align:left;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:10px 12px;font-size:13.5px;display:flex}.admin-sidebar-footer button:hover{color:#fff;background:#ffffff0f}.admin-content{background:var(--color-bg-subtle);min-height:100vh;padding:30px 36px}.admin-topbar{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.admin-topbar h1{font-size:22px}.sidebar-toggle{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);z-index:110;justify-content:center;align-items:center;width:36px;height:36px;display:none;position:fixed;top:16px;left:16px}.admin-sidebar-backdrop{z-index:90;opacity:0;background:#0f0c1680;transition:opacity .2s;display:none;position:fixed;top:0;right:0;bottom:0;left:0}.admin-sidebar-backdrop.open{opacity:1;display:block}.stat-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px;display:grid}.stat-card{justify-content:space-between;align-items:flex-start;padding:20px;display:flex}.stat-card-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:38px;height:38px;display:flex}.stat-card-value{color:var(--color-ink);margin-top:12px;font-size:24px;font-weight:700}.stat-card-label{color:var(--color-muted);margin-top:4px;font-size:12.5px}.admin-grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.admin-panel{padding:20px}.admin-panel-title{margin-bottom:14px;font-size:15px;font-weight:600}.data-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table th{text-align:left;color:var(--color-muted);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);color:var(--color-body);padding:12px 14px}.data-table tr:last-child td{border-bottom:none}.data-table-card{padding:0;overflow:hidden}.table-wrap{overflow-x:auto}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);width:32px;height:32px;color:var(--color-body);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.modal-overlay{z-index:100;background:#0f0c1680;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal-card{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:480px;max-height:90vh;padding:26px;overflow-y:auto}.modal-title{margin-bottom:18px;font-size:17px}.thumb-preview{object-fit:cover;border-radius:var(--radius-sm);background:var(--color-bg-subtle);width:100%;height:140px;margin-bottom:10px}@media (max-width:1080px){.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-grid-2{grid-template-columns:1fr}}@media (max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-topbar{margin-top:50px}.sidebar-toggle{display:inline-flex}.admin-sidebar{width:260px;position:fixed;top:0;left:0}.admin-sidebar .admin-layout{grid-template-columns:1fr}.admin-sidebar .sidebar-toggle{display:inline-flex}.admin-sidebar .admin-sidebar{z-index:100;width:260px;height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.admin-sidebar .admin-sidebar.open{transform:translate(0)}.admin-sidebar .admin-content{padding:20px}.admin-sidebar{z-index:100;transition:transform .25s;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-content{padding:20px}}.bar-chart{align-items:flex-end;gap:10px;height:180px;padding-top:10px;display:flex}.bar-chart-col{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.bar-chart-bar{background:var(--color-primary);border-radius:4px 4px 0 0;width:100%;max-width:36px}.bar-chart-label{color:var(--color-muted);font-size:11px}.report-tabs{gap:8px;margin-bottom:20px;display:flex}.legal{background:radial-gradient(circle at top,#3b82f60f,transparent 45%),var(--color-bg-subtle);padding-block:clamp(4rem,8vw,7rem)}.legal-container{background:var(--color-bg);border:1px solid #0000000f;border-radius:24px;max-width:900px;margin-inline:auto;padding:clamp(2rem,5vw,4rem);box-shadow:0 4px 10px #00000008,0 18px 50px #00000014}.legal-header{text-align:center;margin-bottom:4rem}.legal-badge{color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;background:#3b82f614;border-radius:999px;justify-content:center;align-items:center;margin-bottom:1.25rem;padding:.45rem 1rem;font-size:.85rem;font-weight:700;display:inline-flex}.legal-header h1{letter-spacing:-.04em;color:var(--color-ink);margin-bottom:1rem;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;line-height:1.05}.legal-header p{color:var(--color-body);font-size:1rem}.legal section{border-bottom:1px solid #00000012;margin-bottom:2rem;padding-bottom:2rem}.legal section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.legal h2{color:var(--color-ink);align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.45rem;font-weight:700;line-height:1.3;display:flex}.legal h2:before{content:"";background:var(--color-primary);border-radius:999px;width:6px;height:24px}.legal p{color:var(--color-body);font-size:1rem;line-height:1.9}.legal ul{gap:.9rem;margin-top:1rem;padding-left:1.5rem;display:grid}.legal li{color:var(--color-body);line-height:1.8}.legal li::marker{color:var(--color-primary)}.legal a{color:var(--color-primary);font-weight:600;text-decoration:none}.legal a:hover{text-decoration:underline}.legal ::selection{background:#3b82f633}@media (max-width:768px){.legal{padding-block:3rem}.legal-container{border-radius:18px;padding:1.5rem}.legal-header{margin-bottom:3rem}.legal-header h1{font-size:2.2rem}.legal h2{font-size:1.25rem}.legal p,.legal li{font-size:.95rem;line-height:1.8}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
