:root{--color-bg: #ffffff;--color-dark-green: #0f2a1f;--color-forest: #2d6a4f;--color-forest-hover: #24573f;--color-sage: #5c8770;--color-terracota: #b5704d;--color-terracota-hover: #9c5c3f;--color-success: #22c55e;--color-success-hover: #16a34a;--color-white: #ffffff;--color-offwhite: #f7f3ec;--dark-cc: #0f2a1fcc;--dark-99: #0f2a1f99;--dark-88: #0f2a1f88;--dark-77: #0f2a1f77;--dark-66: #0f2a1f66;--dark-33: #0f2a1f33;--dark-22: #0f2a1f22;--dark-1a: #0f2a1f1a;--dark-14: #0f2a1f14;--dark-12: #0f2a1f12;--dark-0f: #0f2a1f0f;--forest-30: #2d6a4f30;--forest-0f: #2d6a4f0f;--terracota-40: #b5704d40;--offwhite-dd: #f7f3ecdd;--offwhite-99: #f7f3ec99;--offwhite-2a: #f7f3ec2a;--offwhite-22: #f7f3ec22;--offwhite-1a: #f7f3ec1a;--font-serif: "Lora", serif;--font-sans: "Work Sans", sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 16px;--shadow-menu: 0 12px 32px #0f2a1f40}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{background:var(--color-bg);color:var(--color-dark-green);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}#root{min-height:100vh}img{max-width:100%;display:block}button,input,textarea{font-family:inherit;color:inherit}a{color:var(--color-forest);text-decoration:none}a:hover{color:var(--color-dark-green);text-decoration:underline}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-thumb{background:#5c877055;border-radius:4px}:focus-visible{outline:2px solid var(--color-forest);outline-offset:2px;border-radius:4px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-boot{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--dark-66);font-size:14px}.btn{display:block;width:100%;padding:14px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;font-family:var(--font-sans);text-align:center;text-decoration:none;cursor:pointer;border:none;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.btn:hover{text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-forest);color:var(--color-offwhite)}.btn-primary:hover:not(:disabled){background:var(--color-dark-green)}.btn-secondary{background:transparent;color:var(--color-dark-green);border:1.5px solid var(--dark-33);padding:12.5px 14px}.btn-secondary:hover:not(:disabled){border-color:var(--color-dark-green)}.btn-terracota{background:var(--color-terracota);color:var(--color-white);padding:13px 14px}.btn-terracota:hover:not(:disabled){background:var(--color-terracota-hover)}.form-heading{font-family:var(--font-serif);font-weight:600;margin:0 0 10px}.form-heading--login{font-size:28px;margin-bottom:8px}.form-copy{font-size:15px;color:var(--dark-99);line-height:1.5;margin:0 0 28px}.form-copy--tight{line-height:1.6}.form-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-input{width:100%;padding:13px 14px;border:1.5px solid var(--dark-33);border-radius:var(--radius-sm);font-size:16px;font-family:var(--font-sans);background:var(--color-white);color:var(--color-dark-green);margin-bottom:18px}.form-input:focus-visible{outline:none;border-color:var(--color-forest)}.form-input--code{font-size:18px;letter-spacing:.3em;text-align:center}.form-error{font-size:13px;font-weight:600;color:var(--color-dark-green);background:var(--dark-0f);border-left:3px solid var(--dark-33);padding:10px 12px;border-radius:6px;margin:0 0 16px}.form-feedback{font-size:13px;color:var(--color-sage);font-weight:600;margin:12px 0 0;text-align:center}.auth-tabs{display:flex;gap:4px;padding:4px;margin:0 0 20px;background:var(--dark-0f);border-radius:var(--radius-sm)}.auth-tabs__tab{flex:1;padding:10px 8px;border:none;border-radius:6px;background:transparent;color:var(--dark-99);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer}.auth-tabs__tab--active{background:var(--color-white);color:var(--color-dark-green);box-shadow:0 1px 3px var(--dark-22)}.form-hint{font-size:12.5px;color:var(--dark-77);margin:6px 0 0}.form-resend{text-align:center;margin-top:14px}.form-resend button{background:none;border:none;padding:0;cursor:pointer;font-size:13px;color:var(--color-forest);font-family:var(--font-sans)}.form-resend button:hover:not(:disabled){color:var(--color-dark-green);text-decoration:underline}.form-resend button:disabled{cursor:not-allowed;opacity:.6}.auth-shell{display:flex;min-height:100vh}.auth-form-col{flex:1;display:flex;align-items:center;justify-content:center;padding:48px}.auth-form-inner{width:100%;max-width:380px}.auth-logo{height:auto;max-width:100%;margin-bottom:40px}.auth-photo-col{flex:1;position:relative;background:var(--color-dark-green);min-height:280px}.auth-photo-col img{width:100%;height:100%;object-fit:cover;object-position:center 20%;opacity:.95}.auth-photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,var(--color-dark-green) 30%,transparent 70%)}.auth-photo-quote{position:absolute;left:48px;bottom:56px;right:24px;max-width:360px;font-family:var(--font-serif);font-size:22px;line-height:1.4;color:var(--color-offwhite);margin:0}:root{--header-height: 76px}.app-header{position:fixed;top:0;left:0;right:0;z-index:20;height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--dark-1a);display:flex;align-items:stretch;padding:0 32px;box-sizing:border-box}.app-content{padding-top:var(--header-height)}.app-header__zone{flex:1;display:flex;align-items:center}.app-header__zone--left{justify-content:flex-start}.app-header__zone--center{position:absolute;left:50%;top:0;bottom:0;transform:translate(-50%);justify-content:center}.app-header__zone--right{justify-content:flex-end;gap:8px}.app-header__icon-btn{width:40px;height:40px;border-radius:50%;border:none;background:none;color:var(--color-dark-green);display:flex;align-items:center;justify-content:center;cursor:pointer}.app-header__icon-btn:hover{background:var(--dark-0f)}.app-header__icon-btn svg{width:22px;height:22px}.app-header__nav{position:relative;height:100%;display:flex;align-items:center}.nav-menu{position:absolute;left:0;top:100%;margin-top:-2px;width:220px;background:var(--color-dark-green);border-radius:var(--radius-lg);padding:10px;box-shadow:var(--shadow-menu);display:flex;flex-direction:column;animation:menu-slide-in-left .16s ease-out}.nav-menu__item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:none;background:none;color:var(--color-offwhite);font-family:var(--font-sans);font-size:14px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer;box-sizing:border-box}.nav-menu__item:hover{background:var(--offwhite-1a)}.nav-menu__item svg{width:18px;height:18px;flex-shrink:0}@keyframes menu-slide-in-left{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes menu-slide-in-right{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.nav-menu,.account-menu,.notification-panel{animation:none}}.app-header__logo{height:46px;cursor:pointer;border:none;background:none;padding:0}.app-header__logo img{height:100%}.app-header__account{position:relative;height:100%;display:flex;align-items:center}.app-header__avatar{width:34px;height:34px;border-radius:50%;background:var(--color-dark-green);color:var(--color-offwhite);border:none;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--font-sans)}.account-menu{position:absolute;right:0;top:100%;margin-top:-3px;width:280px;background:var(--color-dark-green);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-menu);animation:menu-slide-in-right .16s ease-out}.account-menu__user-row{display:flex;gap:12px;align-items:center;margin-bottom:14px}.account-menu__avatar{width:38px;height:38px;border-radius:50%;background:var(--offwhite-22);color:var(--color-offwhite);display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.account-menu__email{color:var(--color-offwhite);font-weight:600;font-size:14px;word-break:break-word}.account-menu__pill{display:flex;align-items:center;gap:5px;margin-top:4px}.account-menu__pill-dot{width:6px;height:6px;border-radius:50%;background:var(--color-sage)}.account-menu__pill-label{color:var(--color-sage);font-size:11px;font-weight:700;letter-spacing:.04em}.account-menu__divider{border-top:1px dashed var(--offwhite-2a);margin:12px 0}.account-menu__item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--offwhite-dd);font-size:14px;font-weight:600;padding:8px 0;cursor:pointer;font-family:var(--font-sans)}.account-menu__item:hover{color:var(--color-white)}.account-menu__item--danger{color:var(--color-terracota);padding-top:8px}.account-menu__item--danger:hover{color:#c98363}.notification-bell{position:relative;height:100%;display:flex;align-items:center}.notification-bell__trigger{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:none;color:var(--color-dark-green);display:flex;align-items:center;justify-content:center;cursor:pointer}.notification-bell__trigger:hover{background:var(--dark-0f)}.notification-bell__trigger svg{width:21px;height:21px}.notification-bell__badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:var(--color-terracota);color:var(--color-white);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.notification-panel{position:absolute;right:0;top:100%;margin-top:-3px;width:320px;max-height:420px;overflow-y:auto;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);animation:menu-slide-in-right .16s ease-out}.notification-panel__header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--color-white);border-bottom:1px solid var(--dark-1a);font-weight:700;font-size:14px}.notification-panel__mark-all{border:none;background:none;color:var(--color-sage);font-size:12px;font-weight:600;cursor:pointer;padding:0}.notification-panel .loading-text,.notification-panel .empty-state{padding:20px 16px}.notification-list{display:flex;flex-direction:column}.notification-item{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px 16px;border:none;border-bottom:1px solid var(--dark-0f);background:none;text-align:left;cursor:pointer;box-sizing:border-box}.notification-item:hover{background:var(--dark-0f)}.notification-item--unread{background:var(--forest-0f)}.notification-item__message{font-size:13px;color:var(--color-dark-green);line-height:1.4}.notification-item__date{font-size:11px;color:var(--dark-77)}.page-container{max-width:1140px;margin:0 auto;padding:40px 32px 80px}.profile-container{max-width:700px;margin:0 auto;padding:40px 32px 90px}.hero-banner{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:34px;position:relative;overflow:hidden}.hero-banner--skeleton{height:280px}.skeleton-shimmer{background:linear-gradient(90deg,var(--dark-0f) 25%,var(--dark-1a) 37%,var(--dark-0f) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0% 50%}}@media(prefers-reduced-motion:reduce){.skeleton-shimmer{animation:none}}.hero-banner__img{display:block;width:100%;height:280px;object-fit:cover;animation:hero-zoom 22s ease-in-out infinite alternate}@keyframes hero-zoom{0%{transform:scale(1)}to{transform:scale(1.08)}}.hero-banner__glow{position:absolute;top:-20%;right:-8%;width:46%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--terracota-40) 0%,transparent 70%);filter:blur(20px);pointer-events:none;animation:hero-glow 8s ease-in-out infinite alternate}@keyframes hero-glow{0%{opacity:.5;transform:scale(1)}to{opacity:.9;transform:scale(1.15)}}.hero-banner__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:0 48px;background:linear-gradient(90deg,var(--color-dark-green) 0%,#0f2a1fb3 45%,transparent 85%)}.hero-banner__title{font-family:var(--font-serif);font-size:32px;font-weight:700;color:var(--color-white);margin:0;max-width:560px}.hero-banner__body{font-size:15px;color:var(--offwhite-dd);margin:0;max-width:480px}.hero-banner__button{display:inline-block;align-self:flex-start;padding:12px 26px;border-radius:var(--radius-sm);background:var(--color-terracota);color:var(--color-white);font-weight:600;font-size:14px;text-decoration:none;transition:background-color .15s ease}.hero-banner__button:hover{background:var(--color-terracota-hover)}@media(prefers-reduced-motion:reduce){.hero-banner__img,.hero-banner__glow{animation:none}}.section{margin-bottom:40px}.section-label{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--color-sage);margin-bottom:12px}.section-heading{font-family:var(--font-serif);font-size:20px;font-weight:600;margin:0 0 14px}.continue-card{display:flex;gap:16px;align-items:center;background:var(--color-white);border:1px solid var(--dark-14);border-radius:var(--radius-lg);padding:14px;cursor:pointer;text-align:left;width:100%;border-style:solid;font-family:var(--font-sans)}.continue-card__thumb{position:relative;width:220px;height:124px;flex-shrink:0;border-radius:10px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}.continue-card:hover .continue-card__thumb{transform:scale(1.12);box-shadow:0 10px 20px #0f2a1f40;z-index:2}.continue-card__thumb img{width:100%;height:100%;object-fit:cover}.continue-card__thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 48%,transparent 65%);transform:translate(-120%);transition:transform .6s cubic-bezier(.4,0,.2,1);pointer-events:none}.continue-card:hover .continue-card__thumb:before{transform:translate(120%)}.continue-card__play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f2a1f30;display:flex;align-items:center;justify-content:center}.play-button{width:44px;height:44px;border-radius:50%;background:var(--color-forest);display:flex;align-items:center;justify-content:center}.play-button__triangle{width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid var(--color-offwhite);margin-left:3px}.continue-card__meta{font-size:12.5px;color:var(--dark-88);margin-bottom:6px}.continue-card__title{font-family:var(--font-serif);font-size:18px;font-weight:600;margin-bottom:8px}.continue-card__cta{font-size:13px;font-weight:700;color:var(--color-forest)}.module-carousel-wrapper{position:relative}.module-carousel{display:flex;gap:18px;overflow-x:auto;padding:20px;margin:0 -20px}.module-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:40px;height:40px;border-radius:50%;border:none;background:var(--offwhite-dd);color:var(--color-dark-green);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-menu);transition:background-color .15s ease}.module-carousel__arrow:hover{background:var(--color-white)}.module-carousel__arrow svg{width:20px;height:20px}.module-carousel__arrow--left{left:-8px}.module-carousel__arrow--left svg{transform:rotate(90deg)}.module-carousel__arrow--right{right:-8px}.module-carousel__arrow--right svg{transform:rotate(-90deg)}.module-card{flex:0 0 255px;width:255px;height:382.5px;cursor:pointer;position:relative;border-radius:var(--radius-md);overflow:hidden;border:none;padding:0;font-family:var(--font-sans);transition:transform .35s ease,box-shadow .35s ease}.module-card:hover{transform:scale(1.1);box-shadow:0 16px 32px #0f2a1f40;z-index:5}.module-card img{width:100%;height:100%;object-fit:cover}.module-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 48%,transparent 65%);transform:translate(-120%);transition:transform .6s cubic-bezier(.4,0,.2,1);pointer-events:none}.module-card:hover:before{transform:translate(120%)}.module-card__gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#00000090 0%,transparent 40%)}.module-card__title{position:absolute;left:18px;right:18px;bottom:28px;color:var(--color-white);font-family:var(--font-serif);font-size:21px;font-weight:700;line-height:1.2;text-align:left}.module-card__progress-track{position:absolute;left:0;right:0;bottom:0;height:4px;background:#00000030}.module-card__progress-fill{height:100%;background:var(--color-sage)}.module-card--locked img{filter:brightness(.55) saturate(.7)}.module-card__lock{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:var(--offwhite-dd);color:var(--color-dark-green);display:flex;align-items:center;justify-content:center}.module-card__lock svg{width:18px;height:18px}.course-cover-row{display:flex;gap:18px;flex-wrap:wrap;padding-top:20px}.course-cover{width:255px;height:382.5px;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:none;padding:0;background:none;position:relative;transition:transform .35s ease,box-shadow .35s ease}.course-cover:hover{transform:scale(1.1);box-shadow:0 16px 32px #0f2a1f40;z-index:5}.course-cover img{width:100%;height:100%;object-fit:cover}.course-cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 48%,transparent 65%);transform:translate(-120%);transition:transform .6s cubic-bezier(.4,0,.2,1);pointer-events:none}.course-cover:hover:before{transform:translate(120%)}@media(prefers-reduced-motion:reduce){.continue-card__thumb,.module-card,.course-cover,.continue-card__thumb:before,.module-card:before,.course-cover:before{transition:none}.continue-card:hover .continue-card__thumb,.module-card:hover,.course-cover:hover{transform:none}.continue-card:hover .continue-card__thumb:before,.module-card:hover:before,.course-cover:hover:before{transform:translate(-120%)}}.course-cover--locked img{filter:brightness(.55) saturate(.7)}.course-cover__lock{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:var(--offwhite-dd);color:var(--color-dark-green);display:flex;align-items:center;justify-content:center}.course-cover__lock svg{width:18px;height:18px}.course-cover--static{cursor:default}.empty-state{font-size:13.5px;color:var(--dark-66);background:var(--dark-0f);border:1px dashed var(--dark-22);border-radius:var(--radius-md);padding:22px;margin:0}.preview-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:10px 20px;background:#fff6e0;border-bottom:1px solid #f2c26b;color:#5c3a00;font-size:13.5px;line-height:1.45}.preview-banner__exit{flex-shrink:0;padding:6px 12px;border:1px solid #d9a441;border-radius:var(--radius-sm);background:var(--color-white);color:#5c3a00;font-family:var(--font-sans);font-size:12.5px;font-weight:600;cursor:pointer}.draft-pill{display:inline-block;font-family:var(--font-sans);font-size:10.5px;font-weight:700;letter-spacing:.05em;line-height:1;color:#7a4a00;background:#ffe7b8;border:1px solid #f2c26b;border-radius:20px;padding:3px 8px}.draft-pill--inline{margin-left:8px;vertical-align:middle}.draft-pill--card{position:absolute;top:14px;left:14px;z-index:2}.draft-banner{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px;padding:12px 14px;border-radius:var(--radius-sm);background:#fff6e0;border:1px solid #f2c26b;color:#5c3a00;font-size:13.5px;line-height:1.45}.alert-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f2a1f66;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.alert-dialog{background:var(--color-white);border-radius:var(--radius-lg);padding:24px;max-width:360px;width:100%;box-shadow:var(--shadow-menu)}.alert-dialog__message{font-size:14.5px;color:var(--color-dark-green);line-height:1.5;margin:0 0 20px}.alert-dialog__button{display:block;width:100%;padding:12px;border:none;border-radius:var(--radius-sm);background:var(--color-forest);color:var(--color-white);font-size:14px;font-weight:700;cursor:pointer}.alert-dialog__button:hover{background:var(--color-dark-green)}:root{--bottom-bar-height: 64px}.lesson-page{max-width:760px;margin:0 auto;padding:32px 32px calc(var(--bottom-bar-height) + 32px)}.lesson-top-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.lesson-back-link{display:inline-block;background:none;border:none;padding:0;font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--color-sage);cursor:pointer;margin-bottom:18px}.lesson-nav-buttons{display:none;gap:8px}.lesson-nav-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--dark-22);background:var(--color-white);color:var(--color-dark-green);display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:18px}.lesson-nav-btn:hover:not(:disabled){background:var(--dark-0f)}.lesson-nav-btn:disabled{opacity:.35;cursor:not-allowed}.lesson-nav-btn svg{width:18px;height:18px}.lesson-back-link:hover{color:var(--color-dark-green);text-decoration:none}.lesson-video-box{width:100%;aspect-ratio:16 / 9;background:var(--color-dark-green);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:20px;overflow:hidden;position:relative}.lesson-video-box--frame{padding:0}.lesson-video-iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.lesson-header-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.lesson-title{font-family:var(--font-serif);font-size:24px;font-weight:600;margin:0 0 14px}.lesson-stars{display:flex;gap:4px}.lesson-stars__star{border:none;background:none;padding:2px;margin:-2px;cursor:pointer;color:var(--dark-33);transition:color .1s ease}.lesson-stars__star:disabled{cursor:default}.lesson-stars__star svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor}.lesson-stars__star--filled{color:var(--color-terracota)}.lesson-stars__star--filled svg{fill:currentColor}.complete-btn{flex-shrink:0;display:flex;align-items:center;gap:7px;padding:11px 18px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;cursor:pointer;font-family:var(--font-sans);border:1.5px solid var(--dark-33);background:transparent;color:var(--color-dark-green);transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.complete-btn__icon{width:16px;height:16px;flex-shrink:0}.complete-btn:hover:not(:disabled){border-color:var(--color-dark-green)}.complete-btn:disabled{opacity:.6;cursor:not-allowed}.complete-btn--done{border:none;background:var(--color-success);color:var(--color-white)}.complete-btn--done:disabled{opacity:1;cursor:default}.lesson-description{font-size:14.5px;color:var(--dark-99);line-height:1.6;margin:0 0 24px;overflow-wrap:break-word;word-break:break-word}.lesson-description ul{margin:4px 0;padding-left:20px}.lesson-description a,.comment-reply__text a{color:var(--color-terracota-hover);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;overflow-wrap:anywhere}.lesson-description a:hover,.comment-reply__text a:hover{color:#7a4630;text-decoration-thickness:2px}.materials-section{margin-bottom:32px}.materials-list{display:flex;flex-direction:column;gap:8px}.material-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--color-white);border:1px solid var(--dark-14);border-radius:var(--radius-sm);color:inherit;text-decoration:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}a.material-row:hover{background:var(--forest-0f);border-color:var(--color-forest);text-decoration:none;box-shadow:0 4px 12px var(--dark-14)}.material-row--disabled{cursor:default}.material-row__icon{flex-shrink:0;width:50px;height:50px;transition:transform .2s ease}a.material-row:hover .material-row__icon{transform:scale(1.08)}.material-row__icon svg{width:100%;height:100%;display:block}.material-row__name{flex:1;font-size:13.5px;font-weight:600}.material-row__download{font-size:12.5px;font-weight:700;color:var(--color-forest);flex-shrink:0;transition:color .2s ease}a.material-row:hover .material-row__download{color:var(--color-dark-green)}@media(prefers-reduced-motion:reduce){.material-row,.material-row__icon,.material-row__download{transition:none}a.material-row:hover .material-row__icon{transform:none}}.sidebar-section-label{font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--color-sage);margin-bottom:14px}.drawer-module-list{display:flex;flex-direction:column}.drawer-module{border-bottom:1px solid var(--dark-14)}.drawer-module__header{display:flex;align-items:center;gap:12px;width:100%;background:none;border:none;padding:14px 0;text-align:left;cursor:pointer;font-family:var(--font-sans)}.drawer-module__number{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--dark-0f);color:var(--color-dark-green);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.drawer-module__info{flex:1;min-width:0}.drawer-module__title{display:block;font-size:14px;font-weight:700}.drawer-module__progress{display:flex;align-items:center;gap:8px;margin-top:6px}.drawer-module__percent{flex-shrink:0;font-size:11px;font-weight:700;color:var(--dark-77)}.drawer-module__progress-track{flex:1;height:4px;border-radius:2px;background:var(--dark-14);overflow:hidden}.drawer-module__progress-fill{display:block;height:100%;background:var(--color-success)}.drawer-module__chevron{flex-shrink:0;color:var(--dark-33);display:flex;transition:transform .15s ease}.drawer-module__chevron svg{width:18px;height:18px}.drawer-module__chevron--done{color:var(--color-success)}.drawer-module__chevron--open{transform:rotate(180deg)}.drawer-lessons{display:flex;flex-direction:column;gap:4px;padding:0 0 14px 38px}.drawer-lesson{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;padding:8px 6px;border-radius:var(--radius-sm);text-align:left;cursor:pointer;font-family:var(--font-sans)}.drawer-lesson:hover{background:var(--dark-0f)}.drawer-lesson__icon{flex-shrink:0;color:var(--dark-66);display:flex}.drawer-lesson__icon svg{width:18px;height:18px}.drawer-lesson__title{flex:1;min-width:0;font-size:13.5px;font-weight:400;color:var(--dark-88);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-lesson--current{background:#b5704d1a}.drawer-lesson--current .drawer-lesson__title,.drawer-lesson--current .drawer-lesson__icon{color:var(--color-terracota-hover)}.drawer-lesson__status{flex-shrink:0;display:flex}.drawer-lesson__status svg{width:18px;height:18px}.lesson-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:25;height:var(--bottom-bar-height);display:flex;background:var(--color-white);border-top:1px solid var(--dark-1a);box-shadow:0 -2px 10px var(--dark-0f)}.lesson-bottom-bar__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:none;color:var(--color-dark-green);font-family:var(--font-sans);font-size:11px;font-weight:600;cursor:pointer}.lesson-bottom-bar__btn:disabled{opacity:.35;cursor:not-allowed}.lesson-bottom-bar__btn--done:disabled{opacity:1;cursor:default}.lesson-bottom-bar__btn--done span{color:var(--color-success-hover)}.lesson-bottom-bar__btn svg,.lesson-bottom-bar__btn .complete-btn__icon{width:20px;height:20px}.lesson-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:26;background:#0f2a1f66;opacity:0;pointer-events:none;transition:opacity .2s ease}.lesson-drawer-backdrop--open{opacity:1;pointer-events:auto}.lesson-drawer{position:fixed;z-index:27;left:0;right:0;bottom:0;max-height:80vh;overflow-y:auto;background:var(--color-bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-menu);padding:20px;box-sizing:border-box;transform:translateY(100%);transition:transform .25s ease}.lesson-drawer--open{transform:translateY(0)}.lesson-drawer__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.lesson-drawer__title{font-family:var(--font-serif);font-size:18px;font-weight:700}.lesson-drawer__close{border:none;background:none;font-size:24px;line-height:1;color:var(--dark-77);cursor:pointer;padding:4px}@media(prefers-reduced-motion:reduce){.lesson-drawer,.lesson-drawer-backdrop{transition:none}}@media(min-width:761px){.lesson-page{max-width:1180px;display:flex;align-items:flex-start;gap:32px;padding:40px 32px 60px}.lesson-main{flex:1;min-width:0}.lesson-nav-buttons{display:flex}.lesson-bottom-bar,.lesson-drawer-backdrop{display:none}.lesson-drawer{position:static;flex:0 0 340px;width:340px;max-height:none;border-radius:var(--radius-md);border:1px solid var(--dark-1a);box-shadow:none;transform:none}.lesson-drawer__close{display:none}}.comments-section{margin-top:32px}.comment-composer{border:1.5px solid var(--dark-22);border-radius:var(--radius-lg);background:var(--color-white);margin-bottom:24px}.comment-composer__textarea{display:block;width:100%;border:none;outline:none;background:transparent;resize:vertical;padding:16px;font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--color-dark-green);box-sizing:border-box}.comment-composer__textarea::placeholder{color:var(--dark-66)}.comment-composer__footer{display:flex;justify-content:flex-end;border-top:1px solid var(--dark-14);padding:10px 16px}.comment-composer__submit{background:none;border:none;padding:0;font-family:var(--font-sans);font-size:13.5px;font-weight:600;color:var(--color-sage);cursor:pointer}.comment-composer__submit:hover:not(:disabled){color:var(--color-dark-green)}.comment-composer__submit:disabled{opacity:.6;cursor:not-allowed}.comment-list{display:flex;flex-direction:column;gap:22px}.comment-item{display:flex;gap:12px}.comment-item__avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--dark-0f);color:var(--color-dark-green);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.comment-item__body{flex:1;min-width:0}.comment-item__header{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:4px}.comment-item__name{font-size:14px;font-weight:700}.comment-item__date{font-size:12px;color:var(--dark-66)}.comment-item__text{font-size:14px;color:var(--dark-cc);line-height:1.55;margin:0 0 6px;white-space:pre-wrap;overflow-wrap:break-word}.comment-item__reply-link{background:none;border:none;padding:0;font-family:var(--font-sans);font-size:12.5px;font-weight:600;color:var(--color-sage);cursor:pointer}.comment-item__reply-link:hover{color:var(--color-dark-green)}.comment-replies{margin-top:14px;display:flex;flex-direction:column;gap:14px}.comment-reply{display:flex;gap:10px}.comment-reply__avatar{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--color-forest);color:var(--color-offwhite);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.comment-reply__card{flex:1;min-width:0;background:var(--forest-0f);border:1.5px solid var(--forest-30);border-radius:10px;padding:12px 14px}.comment-reply__pill{display:inline-block;background:var(--color-forest);color:var(--color-white);font-size:10.5px;font-weight:700;letter-spacing:.03em;border-radius:20px;padding:3px 10px;margin-bottom:8px}.comment-reply__text{font-size:14px;color:var(--dark-cc);line-height:1.55;margin:0;overflow-wrap:break-word}.comment-reply__text ul{margin:4px 0;padding-left:20px}.profile-heading{font-family:var(--font-serif);font-size:26px;font-weight:600;margin:0 0 30px}.profile-photo-row{display:flex;align-items:center;gap:18px;margin-bottom:28px}.profile-photo-placeholder{width:88px;height:88px;border-radius:50%;border:1.5px dashed var(--dark-33);background:var(--dark-0f);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--dark-66);text-align:center;flex-shrink:0;cursor:default}.profile-photo-name{font-size:15.5px;font-weight:600;margin-bottom:4px;word-break:break-word}.profile-photo-caption{font-size:13px;color:var(--dark-88)}.profile-card{background:var(--color-white);border:1px solid var(--dark-14);border-radius:var(--radius-md);padding:22px;margin-bottom:20px}.profile-card__label{font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--color-sage);margin-bottom:12px}.profile-card__value{font-size:15.5px;font-weight:600;word-break:break-word}.profile-progress-list{display:flex;flex-direction:column;gap:12px}.profile-progress-row__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.profile-progress-row__title{font-size:14px;font-weight:600}.profile-progress-row__percent{font-size:13px;font-weight:700;color:var(--color-sage)}.progress-track{height:5px;border-radius:4px;background:var(--dark-12)}.progress-fill{height:100%;border-radius:4px;background:var(--color-forest)}.profile-product-list{display:flex;flex-direction:column;gap:12px}.profile-product-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-product-row__name{font-size:14.5px;font-weight:600}.profile-product-status{font-size:12px;font-weight:700;white-space:nowrap}.profile-product-status--active{color:var(--color-forest)}.profile-product-status--locked{color:var(--color-terracota)}a.profile-product-status--locked:hover{color:var(--color-terracota-hover);text-decoration:underline}.skeleton-block{border-radius:var(--radius-md);background:linear-gradient(90deg,var(--dark-0f) 25%,var(--dark-14) 37%,var(--dark-0f) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.loading-text{font-size:13.5px;color:var(--dark-66)}@media(max-width:760px){.auth-shell{flex-direction:column;min-height:0}.auth-form-col{padding:32px 20px}.auth-photo-col{min-height:160px}.auth-photo-quote{left:20px;bottom:24px;font-size:18px}:root{--header-height: 66px}.app-header{padding:0 16px}.app-header__logo{height:36px}.app-header__avatar{width:44px;height:44px}.notification-panel{width:300px;max-width:calc(100vw - 32px)}.page-container,.profile-container{padding:24px 16px 60px}.hero-banner__overlay{padding:0 20px;background:linear-gradient(90deg,var(--color-dark-green) 0%,#0f2a1fcc 65%,#0f2a1f66 100%)}.hero-banner__title{font-size:22px;max-width:100%}.hero-banner__body{font-size:13px;max-width:100%}.continue-card{flex-direction:column;align-items:stretch}.continue-card__thumb{width:100%;height:180px}.module-card{flex-basis:210px;width:210px;height:315px}.module-card__title{font-size:16px}.course-cover{width:150px;height:225px}.lesson-page{padding:20px 16px calc(var(--bottom-bar-height) + 20px)}}
