.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--color-surface-container-low);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);padding:48px;width:100%;max-width:440px;box-shadow:var(--shadow-xl);animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--color-on-surface-variant);display:flex;padding:4px;border-radius:var(--radius-full);transition:color var(--transition-fast),background var(--transition-fast)}.modal-close:hover{color:var(--color-on-surface);background:var(--color-surface-container)}.modal-header{margin-bottom:32px}.modal-label{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);display:block;margin-bottom:8px}.modal-title{font-family:var(--font-display);font-size:var(--text-headline-md);color:var(--color-on-surface);line-height:1.2}.modal-form{display:flex;flex-direction:column;gap:28px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-variant)}.form-field input{padding:12px 0;border:none;border-bottom:1px solid var(--color-outline);background:transparent;font-size:var(--text-body-md);color:var(--color-on-surface);transition:border-color var(--transition-normal);outline:none}.form-field input::placeholder{color:var(--color-outline-variant);opacity:.6}.form-field input:focus{border-color:var(--color-primary)}.modal-error{padding:10px 14px;background:color-mix(in srgb,var(--color-error) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 30%,transparent);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--text-body-md)}.modal-submit{width:100%;padding:14px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.modal-submit:hover:not(:disabled){opacity:.9}.modal-submit:active:not(:disabled){transform:scale(.98)}.modal-submit:disabled{opacity:.5;cursor:not-allowed}.modal-switch{text-align:center;font-size:var(--text-body-md);color:var(--color-on-surface-variant)}.modal-switch button{background:none;border:none;cursor:pointer;color:var(--color-primary);font-weight:600;text-decoration:underline;font-size:inherit}.navbar{position:fixed;top:0;left:0;width:100%;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-margin-desktop);height:var(--navbar-height);background:var(--nav-bg);backdrop-filter:blur(20px) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(20px) saturate(var(--glass-saturate));border-bottom:1px solid color-mix(in srgb,var(--color-outline) 15%,transparent);transition:box-shadow var(--transition-normal),background var(--transition-normal)}.navbar.scrolled{box-shadow:var(--shadow-md)}.navbar-left{display:flex;align-items:center;gap:48px}.navbar-logo{font-family:var(--font-display);font-size:var(--text-headline-md);font-weight:500;color:var(--color-primary);font-style:italic;letter-spacing:-.02em;white-space:nowrap}.navbar-links{display:flex;gap:32px;align-items:center;list-style:none}.navbar-links a{font-size:var(--text-body-md);font-weight:500;color:var(--color-on-surface-variant);transition:color var(--transition-fast);position:relative}.navbar-links a:hover{color:var(--color-primary)}.navbar-links a.active{color:var(--color-primary);font-weight:700}.navbar-links a.active:after{content:"";position:absolute;bottom:-3px;left:0;width:100%;height:1px;background:var(--color-primary)}.navbar-right{display:flex;align-items:center;gap:20px}.navbar-signin-btn{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-variant);cursor:pointer;background:none;border:none;transition:color var(--transition-fast);white-space:nowrap}.navbar-signin-btn:hover{color:var(--color-primary)}.theme-toggle{background:none;border:none;cursor:pointer;color:var(--color-on-surface-variant);display:flex;align-items:center;padding:6px;border-radius:var(--radius-full);transition:color var(--transition-fast),background var(--transition-fast)}.theme-toggle:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.user-avatar-wrap{position:relative}.navbar-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-label-caps);font-weight:700;cursor:pointer;transition:opacity var(--transition-fast);border:none}.navbar-avatar:hover{opacity:.85}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:var(--color-surface-container-low);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);padding:6px 0;min-width:210px;box-shadow:var(--shadow-lg);animation:fadeInDown .2s cubic-bezier(.4,0,.2,1)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.user-dropdown-header{padding:12px 16px 10px;border-bottom:1px solid var(--color-outline-variant)}.user-dropdown-name{font-weight:600;font-size:var(--text-body-md);color:var(--color-on-surface)}.user-dropdown-email{font-size:12px;color:var(--color-on-surface-variant);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-badge{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.user-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:var(--text-body-md);color:var(--color-on-surface);background:none;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast);text-decoration:none}.user-dropdown-item:hover{background:var(--color-surface-container)}.user-dropdown-item.danger{color:var(--color-error)}.user-dropdown-divider{height:1px;background:var(--color-outline-variant);margin:4px 0}.navbar-logo-img{height:36px;width:auto;object-fit:contain}.navbar-hamburger{display:none;background:none;border:none;cursor:pointer;color:var(--color-on-surface);align-items:center;justify-content:center;padding:4px}.mobile-menu{display:none}@media (max-width: 768px){.navbar{padding:0 var(--spacing-margin-mobile)}.navbar-links{display:none}.navbar-left{gap:12px}.navbar-hamburger{display:flex}.navbar-right{gap:12px}.mobile-menu{display:flex;flex-direction:column;position:fixed;top:var(--navbar-height);left:0;right:0;z-index:99;padding:8px var(--spacing-margin-mobile) 20px;background:var(--nav-bg);backdrop-filter:blur(20px) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(20px) saturate(var(--glass-saturate));border-bottom:1px solid color-mix(in srgb,var(--color-outline) 15%,transparent);box-shadow:var(--shadow-md);animation:fadeInDown .2s cubic-bezier(.4,0,.2,1)}.mobile-menu a,.mobile-menu-link{padding:14px 4px;font-size:var(--text-body-md);font-weight:500;color:var(--color-on-surface-variant);border-bottom:1px solid color-mix(in srgb,var(--color-outline) 10%,transparent);background:none;border:none;text-align:left;cursor:pointer}.mobile-menu a:last-child,.mobile-menu-link:last-child{border-bottom:none}.mobile-menu a.active{color:var(--color-primary);font-weight:700}.mobile-menu-link.danger{color:var(--color-error)}.mobile-menu-divider{height:1px;background:var(--color-outline-variant);margin:8px 0}}.footer{width:100%;padding:80px var(--spacing-margin-desktop);background:var(--color-surface-container-lowest);border-top:1px solid color-mix(in srgb,var(--color-outline) 12%,transparent)}.footer-main{display:flex;flex-direction:column;gap:64px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:48px;flex-wrap:wrap}.footer-brand{max-width:320px}.footer-logo{font-family:var(--font-display);font-size:var(--text-headline-md);color:var(--color-primary);font-style:italic;display:block;margin-bottom:16px}.footer-tagline{color:var(--color-on-surface-variant);font-size:var(--text-body-md);line-height:1.6;margin-bottom:24px}.footer-socials{display:flex;gap:16px}.footer-social-btn{background:none;border:none;cursor:pointer;color:var(--color-primary);transition:opacity var(--transition-fast);display:flex;align-items:center}.footer-social-btn:hover{opacity:.65}.footer-social-btn svg{width:22px;height:22px}.footer-links{display:flex;gap:56px}.footer-col{display:flex;flex-direction:column;gap:14px}.footer-col-title{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:6px}.footer-col a{font-size:var(--text-body-md);color:var(--color-on-surface-variant);transition:color var(--transition-fast)}.footer-col a:hover{color:var(--color-primary)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px;border-top:1px solid color-mix(in srgb,var(--color-outline) 12%,transparent);flex-wrap:wrap;gap:16px}.footer-copy{font-size:var(--text-body-md);color:var(--color-on-surface-variant)}.footer-bottom-links{display:flex;gap:32px}.footer-bottom-links a{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-variant);transition:color var(--transition-fast)}.footer-bottom-links a:hover{color:var(--color-primary)}@media (max-width: 768px){.footer{padding:60px var(--spacing-margin-mobile)}.footer-top{flex-direction:column;gap:40px}.footer-links{gap:32px;flex-wrap:wrap}.footer-bottom{flex-direction:column;align-items:flex-start}}.home{overflow:hidden}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:var(--navbar-height);overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,var(--color-background) 30%,color-mix(in srgb,var(--color-background) 70%,transparent) 55%,color-mix(in srgb,var(--color-background) 20%,transparent) 80%,transparent 100%)}.hero-content{position:relative;z-index:1;padding:0 var(--spacing-margin-desktop);max-width:800px}.hero-eyebrow{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary);display:block;margin-bottom:24px}.hero-title{font-family:var(--font-display);font-size:clamp(var(--text-display-mobile),5vw,var(--text-display-lg));font-weight:700;color:var(--color-on-surface);line-height:1.1;letter-spacing:-.02em;margin-bottom:24px}.hero-subtitle{font-size:var(--text-body-lg);color:var(--color-on-surface-variant);line-height:1.6;max-width:580px;margin-bottom:48px}.hero-cta{display:flex;gap:20px;flex-wrap:wrap}.btn-primary{padding:16px 32px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:box-shadow var(--transition-normal),transform var(--transition-fast),background var(--transition-fast)}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active{transform:scale(.97)}.btn-outline{padding:16px 32px;background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-normal),transform var(--transition-fast)}.btn-outline:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);transform:translateY(-1px)}.featured{padding:var(--spacing-section-padding) var(--spacing-margin-desktop);background:var(--color-surface-container-low)}.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;flex-wrap:wrap;gap:24px}.section-eyebrow{display:block;font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:12px}.section-title{font-family:var(--font-display);font-size:var(--text-headline-xl);color:var(--color-on-surface)}.section-link{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);border-bottom:1px solid var(--color-primary);padding-bottom:2px;transition:opacity var(--transition-fast);white-space:nowrap}.section-link:hover{opacity:.7}.featured-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-gutter)}.featured-large{grid-column:1 / 3;cursor:pointer}.featured-large-image{position:relative;height:480px;overflow:hidden;border-radius:var(--radius-lg)}.featured-large-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-fluid)}.featured-large:hover .featured-large-image img{transform:scale(1.04)}.featured-large{transition:transform var(--transition-fluid)}.featured-large:hover{transform:translateY(-3px)}.featured-large-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.15) 50%,transparent 75%)}.featured-large-body{position:absolute;bottom:0;left:0;padding:40px}.featured-large-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.featured-large-title{font-family:var(--font-display);font-size:var(--text-headline-md);color:#fff;margin-bottom:8px}.featured-large-desc{font-size:var(--text-body-md);color:#fffc}.featured-secondary{display:flex;flex-direction:column;gap:var(--spacing-gutter);height:480px}.secondary-card{cursor:pointer;flex:1;display:flex;flex-direction:column;transition:transform var(--transition-fluid)}.secondary-card:hover{transform:translateY(-3px)}.secondary-card-image{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:var(--radius-lg)}.secondary-card-image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-fluid)}.secondary-card:hover .secondary-card-image img{transform:scale(1.05)}.secondary-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.1) 55%,transparent 80%);transition:background var(--transition-normal)}.secondary-card:hover .secondary-card-overlay{background:linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.08) 55%,transparent 80%)}.secondary-card-body{position:absolute;bottom:0;left:0;right:0;padding:20px 24px}.secondary-card-title{font-family:var(--font-display);font-size:var(--text-headline-sm);color:#fff;margin-bottom:4px}.secondary-card-desc{font-size:14px;color:#fffc}.stats{padding:80px var(--spacing-margin-desktop);display:flex;justify-content:center;gap:80px;flex-wrap:wrap;border-bottom:1px solid var(--color-outline-variant)}.stat-item{text-align:center}.stat-number{font-family:var(--font-display);font-size:var(--text-headline-xl);color:var(--color-primary);display:block;margin-bottom:8px}.stat-label{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-variant)}.home-membership{padding:var(--spacing-section-padding) var(--spacing-margin-desktop);background:var(--color-surface-container-low)}@media (max-width: 900px){.featured-grid{grid-template-columns:1fr}.featured-large{grid-column:auto}.featured-secondary{height:auto}.secondary-card{min-height:220px}}@media (max-width: 768px){.hero-content{padding:0 var(--spacing-margin-mobile)}.featured,.home-membership{padding:60px var(--spacing-margin-mobile)}.stats{padding:60px var(--spacing-margin-mobile);gap:40px}.section-header{flex-direction:column;align-items:flex-start}}.membership{padding-top:calc(var(--navbar-height) + 80px);padding-bottom:var(--spacing-section-padding);padding-left:var(--spacing-margin-desktop);padding-right:var(--spacing-margin-desktop);max-width:var(--container-max-width);margin:0 auto}.membership-header{text-align:center;margin-bottom:80px}.membership-eyebrow{display:block;font-size:var(--text-label-caps);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-primary);margin-bottom:16px}.membership-title{font-family:var(--font-display);font-size:var(--text-headline-xl);color:var(--color-on-surface);margin-bottom:20px}.membership-subtitle{font-size:var(--text-body-lg);color:var(--color-on-surface-variant);max-width:560px;margin:0 auto;line-height:1.6}.membership-plans{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:960px;margin:0 auto}.plan-card{padding:48px;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.plan-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.plan-icon-wrap{width:64px;height:64px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:28px}.plan-icon-wrap.primary{background:var(--color-primary-container)}.plan-icon-wrap.secondary{background:var(--color-surface-container-highest)}.plan-icon{font-size:32px}.plan-icon.primary{color:var(--color-on-primary-container)}.plan-icon.secondary{color:var(--color-primary)}.plan-name{font-family:var(--font-display);font-size:var(--text-headline-md);color:var(--color-on-surface);margin-bottom:12px}.plan-desc{font-size:var(--text-body-md);color:var(--color-on-surface-variant);line-height:1.6;margin-bottom:28px}.plan-price{margin-bottom:40px}.plan-price-from{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-variant);display:block;margin-bottom:6px}.plan-price-amount{font-family:var(--font-display);font-size:var(--text-headline-xl);color:var(--color-on-surface)}.plan-price-period{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface-variant)}.plan-features{list-style:none;text-align:left;width:100%;margin-bottom:40px;display:flex;flex-direction:column;gap:16px}.plan-feature{display:flex;align-items:center;gap:12px;font-size:var(--text-body-md);color:var(--color-on-surface-variant)}.plan-feature-icon{color:var(--color-primary);font-size:20px}.plan-btn-primary{width:100%;padding:16px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:700;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.plan-btn-primary:hover{opacity:.9}.plan-btn-primary:active{transform:scale(.98)}.plan-btn-outline{width:100%;padding:16px;background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:700;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast)}.plan-btn-outline:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.membership-active-banner{max-width:600px;margin:0 auto 48px;padding:20px 24px;background:color-mix(in srgb,var(--color-success) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 30%,transparent);border-radius:var(--radius-md);display:flex;align-items:center;gap:16px;color:var(--color-success)}@media (max-width: 768px){.membership{padding-left:var(--spacing-margin-mobile);padding-right:var(--spacing-margin-mobile)}.membership-plans{grid-template-columns:1fr;max-width:480px}}.course-card{cursor:pointer;display:flex;flex-direction:column;transition:transform var(--transition-fluid)}.course-card:hover{transform:translateY(-4px)}.course-card-image-wrap{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--radius-lg);margin-bottom:24px;background:var(--color-surface-container-high)}.course-card-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-fluid)}.course-card:hover .course-card-image-wrap img{transform:scale(1.05)}.course-card-badge{position:absolute;top:16px;left:16px;display:flex;gap:8px;z-index:1}.badge-pill{padding:4px 12px;border-radius:var(--radius-full);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.badge-pill.glass{background:color-mix(in srgb,var(--color-surface-container-lowest) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-primary)}.badge-pill.primary{background:var(--color-primary);color:var(--color-on-primary)}.course-card-info{display:flex;flex-direction:column;gap:8px}.course-card-title{font-family:var(--font-display);font-size:var(--text-headline-md);font-weight:500;color:var(--color-on-surface);line-height:1.25}.course-card-instructor{font-size:var(--text-body-md);color:var(--color-on-surface-variant)}.course-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.course-card-price{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary)}.course-card-duration{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-outline)}.course-card-overlay-body{display:none}@media (max-width: 640px){.course-card-image-wrap{aspect-ratio:16 / 9;margin-bottom:0}.course-card-image-wrap:after{content:"";position:absolute;bottom:0;left:0;right:0;height:65%;background:linear-gradient(to top,rgba(0,0,0,.78),transparent);pointer-events:none}.course-card-info{display:none}.course-card-overlay-body{display:flex;flex-direction:column;gap:4px;position:absolute;bottom:0;left:0;right:0;padding:14px 16px;z-index:1}.course-card-overlay-title{font-family:var(--font-display);font-size:16px;font-weight:600;color:#fff;line-height:1.3}.course-card-overlay-price{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9}}.explorer{padding-top:calc(var(--navbar-height) + 80px);padding-bottom:var(--spacing-section-padding);padding-left:var(--spacing-margin-desktop);padding-right:var(--spacing-margin-desktop);max-width:var(--container-max-width);margin:0 auto}.explorer-header{margin-bottom:64px}.explorer-title{font-family:var(--font-display);font-size:var(--text-display-lg);color:var(--color-primary);line-height:1.1;letter-spacing:-.02em;margin-bottom:16px}.explorer-subtitle{font-size:var(--text-body-lg);color:var(--color-on-surface-variant);max-width:640px;line-height:1.6}.explorer-controls{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px;flex-wrap:wrap}.search-wrap{flex:1;max-width:480px}.search-label{display:block;font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:10px}.search-input-wrap{position:relative}.search-input{width:100%;padding:12px 36px 12px 0;border:none;border-bottom:1px solid var(--color-outline);background:transparent;font-size:var(--text-body-md);color:var(--color-on-surface);outline:none;transition:border-color var(--transition-normal)}.search-input::placeholder{color:var(--color-outline-variant);opacity:.6}.search-input:focus{border-color:var(--color-primary)}.search-icon{position:absolute;right:0;bottom:12px;color:var(--color-outline);pointer-events:none}.sort-wrap{display:flex;flex-direction:column;gap:10px}.sort-label{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary)}.sort-select{background:transparent;border:none;font-size:var(--text-body-md);color:var(--color-on-surface-variant);cursor:pointer;outline:none}.category-chips{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:64px}.chip{padding:8px 24px;border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-fast),box-shadow var(--transition-normal)}.chip.active{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 2px 12px color-mix(in srgb,var(--color-primary) 35%,transparent)}.chip.inactive{background:var(--color-surface-container-high);color:var(--color-on-surface-variant);border:1px solid transparent}.chip.inactive:hover{background:var(--color-surface-container-highest);border-color:var(--color-outline-variant);transform:translateY(-1px)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-gutter) var(--spacing-gutter);row-gap:64px;transition:opacity var(--transition-normal),transform var(--transition-normal)}.course-grid.fading{opacity:0;transform:translateY(10px);pointer-events:none}.course-grid-empty{grid-column:1 / -1;text-align:center;padding:80px 20px;color:var(--color-on-surface-variant);font-size:var(--text-body-lg)}.load-more-wrap{margin-top:96px;display:flex;flex-direction:column;align-items:center;gap:20px}.load-more-btn{padding:16px 48px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:box-shadow var(--transition-normal),transform var(--transition-fast),background var(--transition-fast)}.load-more-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.load-more-btn:active{transform:scale(.97)}.load-more-count{font-size:var(--text-body-md);color:var(--color-on-surface-variant);font-style:italic;opacity:.6}@media (max-width: 900px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.explorer{padding-left:var(--spacing-margin-mobile);padding-right:var(--spacing-margin-mobile);padding-top:calc(var(--navbar-height) + 48px)}.explorer-title{font-size:var(--text-display-mobile)}.course-grid{grid-template-columns:1fr}.explorer-controls{flex-direction:column;align-items:stretch}}.course-detail{padding-top:var(--navbar-height);min-height:100vh;display:flex;flex-direction:column}.course-detail-layout{flex:1;display:flex;flex-direction:row}.course-main{flex:1;padding:32px var(--spacing-margin-desktop);overflow-y:auto}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-variant)}.breadcrumb a{transition:color var(--transition-fast)}.breadcrumb a:hover,.breadcrumb .current{color:var(--color-primary)}.breadcrumb-sep{font-size:14px}.video-player-wrap{aspect-ratio:16 / 9;position:relative;width:100%;border-radius:var(--radius-lg);overflow:hidden;background:#000;box-shadow:var(--shadow-xl);margin-bottom:40px}.video-thumbnail{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.8}.yt-embed-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.yt-iframe{width:100%;height:100%;border:none;display:block}.yt-click-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer}.video-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:#fff;padding:32px;text-align:center}.video-lock-overlay p{font-size:18px;font-weight:600}.video-coming-soon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#ffffff80}.video-coming-soon p{font-size:15px;font-weight:500}.video-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:color-mix(in srgb,var(--color-primary) 90%,transparent);color:#fff;border:none;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast);box-shadow:var(--shadow-lg)}.video-play-btn:hover{transform:translate(-50%,-50%) scale(1.08);background:var(--color-primary)}.video-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:24px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);opacity:0;transition:opacity var(--transition-normal)}.video-player-wrap:hover .video-controls{opacity:1}.video-progress-bar{width:100%;height:4px;background:#ffffff40;border-radius:var(--radius-full);margin-bottom:16px;overflow:hidden;cursor:pointer}.video-progress-fill{height:100%;background:var(--color-primary-container)}.video-controls-row{display:flex;justify-content:space-between;align-items:center}.video-controls-left,.video-controls-right{display:flex;align-items:center;gap:16px}.video-ctrl-btn{background:none;border:none;cursor:pointer;color:#fff;display:flex;align-items:center}.video-time{font-size:var(--text-label-caps);font-weight:600;color:#fff;letter-spacing:.05em}.lesson-header{margin-bottom:40px}.lesson-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.lesson-title{font-family:var(--font-display);font-size:var(--text-headline-xl);color:var(--color-on-surface);line-height:1.2;margin-bottom:12px}.lesson-subtitle{font-size:var(--text-body-lg);color:var(--color-on-surface-variant);line-height:1.6;max-width:700px}.lesson-complete-btn{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 18px;border-radius:var(--radius-full);border:1px solid var(--color-outline-variant);background:none;color:var(--color-on-surface-variant);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.lesson-complete-btn:hover{background:var(--color-surface-container)}.lesson-complete-btn.completed{border-color:transparent;background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.course-tabs{border-bottom:1px solid var(--color-outline-variant);margin-bottom:32px;display:flex;gap:40px}.course-tab{padding-bottom:14px;font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-variant);background:none;border:none;cursor:pointer;position:relative;transition:color var(--transition-fast)}.course-tab:hover,.course-tab.active{color:var(--color-primary)}.course-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--color-primary)}.tab-content{display:none}.tab-content.active{display:block}.tab-overview-grid{display:grid;grid-template-columns:1fr 320px;gap:48px}.objectives-title{font-family:var(--font-display);font-size:var(--text-headline-md);color:var(--color-on-surface);margin-bottom:24px}.objective-list{display:flex;flex-direction:column;gap:16px}.objective-item{display:flex;gap:14px;align-items:flex-start}.objective-icon{color:var(--color-primary);margin-top:2px}.objective-text{font-size:var(--text-body-md);color:var(--color-on-surface-variant);line-height:1.6}.educator-card{padding:32px;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;text-align:center}.educator-avatar{width:72px;height:72px;border-radius:var(--radius-full);overflow:hidden;border:2px solid var(--color-primary-fixed);margin-bottom:16px}.educator-avatar img{width:100%;height:100%;object-fit:cover}.educator-label{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:6px}.educator-name{font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--color-on-surface);margin-bottom:10px}.educator-bio{font-size:var(--text-body-md);color:var(--color-on-surface-variant);margin-bottom:20px;line-height:1.5}.educator-link{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);border-bottom:1px solid var(--color-primary);padding-bottom:2px;background:none;border-top:none;border-left:none;border-right:none;cursor:pointer;transition:opacity var(--transition-fast)}.educator-link:hover{opacity:.7}.resources-list{display:flex;flex-direction:column;gap:14px}.resource-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.resource-item:hover{background:var(--color-surface-container-low)}.resource-item-left{display:flex;align-items:center;gap:16px}.resource-icon{padding:8px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary-fixed) 30%,transparent);color:var(--color-primary);display:flex}.resource-name{font-weight:500;font-size:var(--text-body-md);color:var(--color-on-surface)}.resource-meta{font-size:12px;color:var(--color-on-surface-variant);margin-top:2px}.resource-download{color:var(--color-on-surface-variant);display:flex;transition:transform var(--transition-fast)}.resource-item:hover .resource-download{transform:translate(2px)}.access-gate{padding:48px;border-radius:var(--radius-lg);text-align:center;margin-bottom:32px}.access-gate-title{font-family:var(--font-display);font-size:var(--text-headline-md);color:var(--color-on-surface);margin-bottom:16px}.access-gate-text{font-size:var(--text-body-lg);color:var(--color-on-surface-variant);margin-bottom:32px}.access-gate-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.curriculum-sidebar{width:380px;min-width:380px;border-left:1px solid var(--color-outline-variant);height:calc(100vh - var(--navbar-height));position:sticky;top:var(--navbar-height);overflow-y:auto;display:flex;flex-direction:column;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sidebar-header{padding:24px;border-bottom:1px solid var(--color-outline-variant);position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--color-surface-container-lowest) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sidebar-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sidebar-label{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface)}.sidebar-progress-pct{font-size:var(--text-label-caps);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary)}.progress-bar{height:4px;background:var(--color-surface-container-highest);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);transition:width .5s ease}.section-header-item{padding:14px 24px;background:color-mix(in srgb,var(--color-surface-container-low) 60%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-outline) 8%,transparent)}.section-header-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.section-header-title.active{color:var(--color-primary)}.section-header-title.inactive{color:var(--color-on-surface-variant)}.lesson-item{display:flex;align-items:center;gap:16px;padding:16px 24px;cursor:pointer;border-bottom:1px solid color-mix(in srgb,var(--color-outline) 8%,transparent);transition:background var(--transition-fast)}.lesson-item:hover{background:var(--color-surface-container-low)}.lesson-item.playing{background:color-mix(in srgb,var(--color-primary-fixed) 12%,transparent);border-left:3px solid var(--color-primary);padding-left:21px}.lesson-icon{color:var(--color-primary);display:flex;flex-shrink:0}.lesson-icon.pending{color:color-mix(in srgb,var(--color-on-surface-variant) 40%,transparent)}.lesson-info{flex:1;min-width:0}.lesson-item-title{font-size:14px;font-weight:500;color:var(--color-on-surface-variant)}.lesson-item-title.playing{font-weight:700;color:var(--color-on-surface)}.lesson-item-meta{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-variant);opacity:.6;margin-top:2px}.lesson-item-meta.playing{color:var(--color-primary);opacity:1}.sidebar-next-btn{margin:16px 24px;padding:14px;border:2px solid var(--color-primary);color:var(--color-primary);background:none;border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:700;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.sidebar-next-btn:hover{background:var(--color-primary);color:var(--color-on-primary)}.sidebar-next-btn:disabled{opacity:.4;cursor:not-allowed}.sidebar-next-btn:disabled:hover{background:none;color:inherit}@media (max-width: 900px){.course-detail-layout{flex-direction:column}.curriculum-sidebar{width:100%;min-width:unset;height:auto;position:static}.tab-overview-grid{grid-template-columns:1fr}.course-main{padding:24px var(--spacing-margin-mobile)}}.yt-poster{position:relative;width:100%;aspect-ratio:16 / 9;cursor:pointer;background:#000;overflow:hidden;border-radius:var(--radius-lg, 16px)}.yt-poster-img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:opacity var(--transition-normal, .2s)}.yt-poster:hover .yt-poster-img{opacity:.55}.yt-play-btn{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:80px;filter:drop-shadow(0 4px 16px rgba(0,0,0,.5));transition:transform var(--transition-normal, .2s);pointer-events:none}.yt-poster:hover .yt-play-btn{transform:scale(1.1);filter:drop-shadow(0 4px 24px rgba(0,0,0,.7))}.lesson-item.completed .lesson-icon{color:var(--color-success)}.payment-result{min-height:100vh;padding:calc(var(--navbar-height) + 60px) 24px 60px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;max-width:520px;margin:0 auto}.payment-result-title{font-family:var(--font-display);font-size:var(--text-headline-md);color:var(--color-on-surface)}.payment-result-text{color:var(--color-on-surface-variant);font-size:var(--text-body-lg);max-width:420px}.payment-result-icon.approved{color:var(--color-success, #3fb950)}.payment-result-icon.pending{color:var(--color-primary)}.payment-result-icon.rejected{color:var(--color-error, #e5484d)}.payment-result-icon.unknown{color:var(--color-on-surface-variant)}.payment-result-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:12px}.payment-result-spinner{font-size:48px;color:var(--color-primary);animation:payment-spin 1s linear infinite}@keyframes payment-spin{to{transform:rotate(360deg)}}.legal-content{max-width:760px}.legal-updated{color:var(--color-on-surface-variant);font-size:var(--text-label-md);margin-bottom:40px}.legal-content h2{font-family:var(--font-display);font-size:var(--text-headline-sm);color:var(--color-primary);margin:40px 0 12px}.legal-content h2:first-of-type{margin-top:0}.legal-content p{color:var(--color-on-surface-variant);line-height:1.7;margin-bottom:16px}.legal-content ul{margin:0 0 16px;padding-left:20px;color:var(--color-on-surface-variant);line-height:1.7}.legal-content li{margin-bottom:8px}.legal-content a{color:var(--color-primary)}.support-card{display:flex;align-items:center;gap:20px;padding:32px;margin-top:8px;max-width:520px}.support-card .material-symbols-outlined{font-size:40px;color:var(--color-primary);flex-shrink:0}.support-email-label{font-size:var(--text-label-md);color:var(--color-on-surface-variant);margin-bottom:4px}.support-email-link{font-size:var(--text-headline-sm);font-weight:700;color:var(--color-on-surface)}.toggle-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch.disabled{cursor:not-allowed;opacity:.5}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-switch-track{position:relative;width:40px;height:22px;border-radius:var(--radius-full);background:var(--color-surface-container-high);transition:background var(--transition-fast);flex-shrink:0}.toggle-switch input:checked+.toggle-switch-track{background:var(--color-primary)}.toggle-switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--color-surface);transition:transform var(--transition-fast)}.toggle-switch input:checked+.toggle-switch-track .toggle-switch-knob{transform:translate(18px)}.toggle-switch-label{font-size:var(--text-body-md);color:var(--color-on-surface-variant)}.admin{padding-top:var(--navbar-height);min-height:100vh;display:flex}.admin-sidebar{width:260px;min-width:260px;background:var(--color-surface-container-lowest);border-right:1px solid var(--color-outline-variant);padding:32px 0;position:sticky;top:var(--navbar-height);height:calc(100vh - var(--navbar-height));overflow-y:auto}.admin-sidebar-title{padding:0 24px 24px;font-size:var(--text-label-caps);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-on-surface-variant);border-bottom:1px solid var(--color-outline-variant);margin-bottom:16px}.admin-nav-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 24px;font-size:var(--text-body-md);color:var(--color-on-surface-variant);background:none;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast);border-left:3px solid transparent}.admin-nav-item:hover{background:var(--color-surface-container);color:var(--color-on-surface)}.admin-nav-item.active{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-weight:600;border-left-color:var(--color-primary)}.admin-main{flex:1;padding:40px 48px;overflow-y:auto}.admin-page-title{font-family:var(--font-display);font-size:var(--text-headline-xl);color:var(--color-on-surface);margin-bottom:8px}.admin-page-subtitle{font-size:var(--text-body-md);color:var(--color-on-surface-variant);margin-bottom:48px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:48px}.stat-card{padding:28px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:12px}.stat-card-header{display:flex;justify-content:space-between;align-items:flex-start}.stat-card-label{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-variant)}.stat-card-icon{color:var(--color-primary)}.stat-card-value{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--color-on-surface)}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-section-title{font-family:var(--font-display);font-size:var(--text-headline-md);color:var(--color-on-surface)}.btn-add{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast)}.btn-add:hover{opacity:.88}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-outline-variant)}.admin-table{width:100%;border-collapse:collapse}.admin-table th{padding:14px 20px;font-size:var(--text-label-caps);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-variant);background:var(--color-surface-container);border-bottom:1px solid var(--color-outline-variant);text-align:left;white-space:nowrap}.admin-table td{padding:16px 20px;font-size:var(--text-body-md);color:var(--color-on-surface);border-bottom:1px solid color-mix(in srgb,var(--color-outline) 10%,transparent)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--color-surface-container-low)}.table-thumb{width:48px;height:36px;border-radius:var(--radius-sm);object-fit:cover}.status-badge{padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.status-badge.published{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.status-badge.draft{background:color-mix(in srgb,var(--color-outline) 15%,transparent);color:var(--color-on-surface-variant)}.status-badge.member-only{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.table-actions{display:flex;gap:8px}.action-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;color:var(--color-on-surface-variant);transition:background var(--transition-fast),color var(--transition-fast)}.action-btn:hover{background:var(--color-surface-container-high);color:var(--color-on-surface)}.action-btn.danger:hover{background:color-mix(in srgb,var(--color-error) 12%,transparent);color:var(--color-error)}.form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}.form-box{background:var(--color-surface-container-low);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:640px;box-shadow:var(--shadow-xl);position:relative;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.form-box-title{font-family:var(--font-display);font-size:var(--text-headline-md);color:var(--color-on-surface);margin-bottom:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .full{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-variant)}.form-input{padding:10px 14px;background:var(--color-surface-container);border:1px solid var(--color-outline-variant);border-radius:var(--radius-sm);color:var(--color-on-surface);font-size:var(--text-body-md);outline:none;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-primary)}.form-input[type=file]{padding:8px 14px}.form-textarea{padding:10px 14px;background:var(--color-surface-container);border:1px solid var(--color-outline-variant);border-radius:var(--radius-sm);color:var(--color-on-surface);font-size:var(--text-body-md);outline:none;resize:vertical;min-height:100px;font-family:var(--font-body);transition:border-color var(--transition-fast)}.form-textarea:focus{border-color:var(--color-primary)}.form-check-row{display:flex;align-items:center;gap:10px}.form-check-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.btn-cancel{padding:10px 24px;background:none;border:1px solid var(--color-outline-variant);border-radius:var(--radius-full);color:var(--color-on-surface-variant);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast)}.btn-cancel:hover{background:var(--color-surface-container)}.btn-save{padding:10px 24px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast)}.btn-save:hover{opacity:.88}.btn-save:disabled{opacity:.5;cursor:not-allowed}.lessons-panel-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);padding:6px 0}.lessons-panel{margin-top:16px;border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);overflow:hidden}.users-table td:nth-child(3),.users-table td:nth-child(4),.users-table td:nth-child(5),.users-table td:nth-child(6),.users-table th:nth-child(3),.users-table th:nth-child(4),.users-table th:nth-child(5),.users-table th:nth-child(6){width:1%;white-space:nowrap}.users-table td:nth-child(1){white-space:nowrap}.users-table td:nth-child(2){word-break:break-word}.user-role-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;line-height:1.6}.user-role-badge.role-admin{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.user-role-badge.role-user{background:var(--color-surface-container-high);color:var(--color-on-surface-variant)}.user-actions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}.role-toggle-btn{padding:4px 12px;border-radius:var(--radius-full);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.role-toggle-btn.make-admin{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.role-toggle-btn.make-admin:hover{background:color-mix(in srgb,var(--color-primary) 22%,transparent)}.role-toggle-btn.make-user{background:var(--color-surface-container-high);color:var(--color-on-surface-variant)}.role-toggle-btn.make-user:hover{background:var(--color-surface-container-highest)}@media (max-width: 1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.admin{flex-direction:column}.admin-sidebar{width:100%;min-width:unset;height:auto;position:static;display:flex;padding:16px;gap:8px;overflow-x:auto}.admin-sidebar-title{display:none}.admin-main{padding:24px 16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}}.landing{min-height:100vh;background:var(--color-background);color:var(--color-on-surface);display:flex;flex-direction:column}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:20px var(--spacing-margin-desktop, 64px);position:sticky;top:0;background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid color-mix(in srgb,var(--color-outline) 15%,transparent);z-index:100}.landing-nav-logo{font-family:var(--font-display);font-size:var(--text-headline-md);font-weight:500;color:var(--color-primary);font-style:italic;letter-spacing:-.02em}.landing-nav-theme{background:none;border:none;cursor:pointer;color:var(--color-on-surface-variant);display:flex;align-items:center;padding:6px;border-radius:var(--radius-full);transition:color var(--transition-fast)}.landing-nav-theme:hover{color:var(--color-primary)}.landing-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:100px var(--spacing-margin-desktop, 64px) 80px;max-width:760px;margin:0 auto}.landing-eyebrow{font-size:var(--text-label-caps, 11px);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-primary);margin-bottom:16px}.landing-title{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4rem);font-weight:500;line-height:1.1;color:var(--color-on-surface);margin-bottom:24px;letter-spacing:-.02em}.landing-subtitle{font-size:var(--text-body-lg, 1.0625rem);color:var(--color-on-surface-variant);line-height:1.65;margin-bottom:40px;max-width:560px}.landing-cta{display:inline-block;padding:14px 36px;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full);font-size:var(--text-label-caps, 11px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:box-shadow var(--transition-normal),transform var(--transition-fast)}.landing-cta:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.landing-features{padding:80px var(--spacing-margin-desktop, 64px);max-width:1200px;margin:0 auto;width:100%}.landing-features-title{font-family:var(--font-display);font-size:var(--text-headline-lg, 2rem);font-weight:500;text-align:center;color:var(--color-on-surface);margin-bottom:56px}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.landing-feature-card{display:flex;flex-direction:column;gap:12px;padding:32px;border-radius:var(--radius-lg);background:var(--color-surface-container-low);border:1px solid var(--color-outline-variant)}.landing-feature-icon{font-size:28px;color:var(--color-primary)}.landing-feature-name{font-family:var(--font-display);font-size:var(--text-headline-xs, 1.125rem);font-weight:500;color:var(--color-on-surface)}.landing-feature-desc{font-size:var(--text-body-md);color:var(--color-on-surface-variant);line-height:1.6}.landing-bottom-cta{text-align:center;padding:80px var(--spacing-margin-desktop, 64px);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-background))}.landing-bottom-title{font-family:var(--font-display);font-size:var(--text-headline-lg, 2rem);color:var(--color-on-surface);margin-bottom:12px}.landing-bottom-sub{color:var(--color-on-surface-variant);font-size:var(--text-body-lg);margin-bottom:36px}.landing-footer{text-align:center;padding:24px;font-size:13px;color:var(--color-on-surface-variant);border-top:1px solid var(--color-outline-variant);margin-top:auto}@media (max-width: 768px){.landing-nav{padding:16px var(--spacing-margin-mobile, 20px)}.landing-hero{padding:60px var(--spacing-margin-mobile, 20px) 48px}.landing-features{padding:48px var(--spacing-margin-mobile, 20px)}.landing-features-grid{grid-template-columns:1fr;gap:20px}.landing-bottom-cta{padding:48px var(--spacing-margin-mobile, 20px)}}.super-admin{padding:calc(var(--navbar-height, 80px) + 48px) var(--spacing-margin-desktop, 64px) 80px;max-width:var(--container-max-width, 1280px);margin:0 auto}.super-admin-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:48px;flex-wrap:wrap;gap:16px}.super-admin-title{font-family:var(--font-display);font-size:var(--text-headline-xl);color:var(--color-primary);line-height:1.1}.super-admin-subtitle{color:var(--color-on-surface-variant);font-size:var(--text-body-md);margin-top:4px}.super-admin-btn-primary{padding:12px 28px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:box-shadow var(--transition-normal),transform var(--transition-fast)}.super-admin-btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.super-admin-btn-primary:disabled{opacity:.6;cursor:not-allowed}.super-admin-btn-outline{padding:12px 28px;background:transparent;color:var(--color-on-surface);border:1px solid var(--color-outline-variant);border-radius:var(--radius-full);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.super-admin-btn-link{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;font-size:var(--text-body-md)}.super-admin-table-wrap{background:var(--color-surface-container-low);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);overflow:hidden}.super-admin-table{width:100%;border-collapse:collapse;font-size:var(--text-body-md)}.super-admin-table th{text-align:left;padding:14px 20px;font-size:var(--text-label-caps);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-variant);border-bottom:1px solid var(--color-outline-variant)}.super-admin-table td{padding:16px 20px;border-bottom:1px solid color-mix(in srgb,var(--color-outline-variant) 50%,transparent);color:var(--color-on-surface)}.super-admin-table tr:last-child td{border-bottom:none}.super-admin-name{font-weight:600}.super-admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.super-admin-modal{background:var(--color-surface-container-low);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:12px}.super-admin-modal h2{font-family:var(--font-display);font-size:var(--text-headline-sm);color:var(--color-on-surface);margin-bottom:8px}.super-admin-modal label{font-size:var(--text-label-caps);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.super-admin-input{width:100%;padding:10px 0;border:none;border-bottom:1px solid var(--color-outline);background:transparent;font-size:var(--text-body-md);color:var(--color-on-surface);outline:none}.super-admin-input:focus{border-color:var(--color-primary)}.super-admin-slug-preview{font-size:var(--text-label-md);color:var(--color-on-surface-variant)}.super-admin-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}@media (max-width: 640px){.super-admin{padding-left:var(--spacing-margin-mobile, 20px);padding-right:var(--spacing-margin-mobile, 20px)}}:root{--color-primary: #7A5C0A;--color-primary-container: #C9A96E;--color-primary-fixed: #F0D9B0;--color-primary-fixed-dim: #D4B87A;--color-on-primary: #ffffff;--color-on-primary-container: #3E2A00;--color-secondary: #6B5B45;--color-secondary-container: #C8B89A;--color-on-secondary: #ffffff;--color-on-secondary-container: #3A2E1E;--color-background: #FFFFFF;--color-on-background: #1A1A1A;--color-surface: #FAFAFA;--color-surface-dim: #DDD9D1;--color-surface-variant: #E8E3D8;--color-surface-container: #F5F0EA;--color-surface-container-low: #FDFBF8;--color-surface-container-high: #E8E3D8;--color-surface-container-highest: #E0DBD0;--color-surface-container-lowest: #FFFFFF;--color-on-surface: #1A1A1A;--color-on-surface-variant: #4A4035;--color-outline: #7A6E5E;--color-outline-variant: #CEC4B0;--color-error: #ba1a1a;--color-error-container: #ffdad6;--color-on-error: #ffffff;--color-success: #386a20;--color-success-container: #b7f397;--spacing-unit: 8px;--spacing-gutter: 32px;--spacing-margin-mobile: 20px;--spacing-margin-desktop: 64px;--spacing-section-padding: 120px;--container-max-width: 1280px;--navbar-height: 80px;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--font-display: "Playfair Display", Georgia, serif;--font-body: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--text-display-lg: 64px;--text-display-mobile: 40px;--text-headline-xl: 48px;--text-headline-md: 32px;--text-headline-sm: 24px;--text-body-lg: 18px;--text-body-md: 16px;--text-label-caps: 12px;--text-label-md: 14px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .7s cubic-bezier(.4, 0, .2, 1);--transition-fluid: .5s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.06);--shadow-lg: 0 8px 32px rgba(0,0,0,.14), 0 4px 12px rgba(0,0,0,.08);--shadow-xl: 0 16px 64px rgba(0,0,0,.18), 0 8px 24px rgba(0,0,0,.1);--shadow-glow: 0 0 40px rgba(201, 169, 110, .25);--glass-bg: rgba(255, 255, 255, .92);--glass-border: rgba(139, 105, 20, .12);--glass-saturate: 180%;--nav-bg: rgba(255, 255, 255, .95)}html.dark{--color-primary: #C9A96E;--color-primary-container: #A07A40;--color-primary-fixed: #E8D0A0;--color-primary-fixed-dim: #D4B87A;--color-on-primary: #1A0F00;--color-on-primary-container: #F0E0C0;--color-secondary: #C0B8A8;--color-secondary-container: #3A3428;--color-on-secondary: #1A1610;--color-on-secondary-container: #B0A890;--color-background: #0A0A0A;--color-on-background: #F0EDE8;--color-surface: #0A0A0A;--color-surface-dim: #0A0A0A;--color-surface-variant: #2A2620;--color-surface-container: #141210;--color-surface-container-low: #111008;--color-surface-container-high: #201E18;--color-surface-container-highest: #2A2620;--color-surface-container-lowest: #050404;--color-on-surface: #F0EDE8;--color-on-surface-variant: #C8B898;--color-outline: #8A7A5A;--color-outline-variant: #3A3020;--color-error: #ffb4ab;--color-error-container: #93000a;--color-on-error: #690005;--color-success: #7ddb58;--color-success-container: #1a4407;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.5);--shadow-lg: 0 8px 32px rgba(0,0,0,.6);--shadow-xl: 0 16px 64px rgba(0,0,0,.7);--shadow-glow: 0 0 40px rgba(201, 169, 110, .18);--glass-bg: rgba(20, 18, 16, .9);--glass-border: rgba(201, 169, 110, .18);--nav-bg: rgba(5, 4, 4, .95)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-body-md);line-height:1.6;background-color:var(--color-background);color:var(--color-on-surface);transition:background-color var(--transition-normal),color var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24;vertical-align:middle;display:inline-flex;align-items:center;line-height:1}h1,h2,h3,h4{font-family:var(--font-display)}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:var(--font-body);border:none;background:none}input,textarea,select{font-family:var(--font-body)}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-outline-variant);border-radius:var(--radius-full)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(16px) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(16px) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-margin-desktop)}.input-line{border:none;border-bottom:1px solid var(--color-outline);background:transparent;color:var(--color-on-surface);transition:border-color var(--transition-normal);width:100%;padding:12px 0;font-size:var(--text-body-md)}.input-line::placeholder{color:var(--color-outline-variant);opacity:.6}.input-line:focus{outline:none;border-color:var(--color-primary)}.label-caps{font-family:var(--font-body);font-size:var(--text-label-caps);font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1}.underline-reveal{position:relative}.underline-reveal:after{content:"";position:absolute;width:0;height:1px;bottom:-2px;left:0;background-color:currentColor;transition:width var(--transition-normal)}.underline-reveal:hover:after{width:100%}@media (max-width: 768px){.container{padding:0 var(--spacing-margin-mobile)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app{min-height:100vh;display:flex;flex-direction:column}.app>main,.app>div{flex:1}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:var(--text-body-lg);color:var(--color-on-surface-variant)}
