.classroom-gate,.classroom-loading,.classroom-empty{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:80px 24px 64px;text-align:center;color:var(--landing-text)}.classroom-gate__inner h1,.classroom-empty h1{font-family:var(--landing-font-heading);font-size:clamp(2rem,4vw,3rem);margin:0 0 16px}.classroom-gate__inner p,.classroom-empty p{margin:0 0 24px;color:var(--landing-text-muted)}.classroom-cta{display:inline-block;padding:14px 28px;border-radius:999px;border:none;background:var(--landing-primary);color:var(--landing-primary-text, #fff);font-weight:600;font-size:1rem;cursor:pointer;text-decoration:none;transition:var(--landing-transition)}.classroom-cta:hover{opacity:.9}.classroom{max-width:1100px;margin:0 auto;padding:120px 24px 80px;color:var(--landing-text)}.classroom__head{margin-bottom:40px}.classroom__head h1{font-family:var(--landing-font-heading);font-size:clamp(2rem,4vw,3rem);margin:0 0 16px}.classroom__progress{display:flex;align-items:center;gap:16px;color:var(--landing-text-muted);font-size:.9rem}.classroom__bar{flex:1;height:8px;background:var(--landing-bg-subtle);border-radius:999px;overflow:hidden;max-width:420px}.classroom__fill{height:100%;background:var(--landing-primary);transition:width .4s ease}.classroom__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.lesson-card{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:14px;text-decoration:none;color:var(--landing-text);transition:var(--landing-transition)}.lesson-card:hover{transform:translateY(-2px);border-color:var(--landing-primary)}.lesson-card__num{font-family:var(--landing-font-heading);font-size:.8rem;letter-spacing:.1em;color:var(--landing-text-muted)}.lesson-card__body h3{margin:0 0 6px;font-size:1.1rem;font-family:var(--landing-font-heading)}.lesson-card__body p{margin:0;color:var(--landing-text-muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lesson-card__status{font-size:.8rem;color:var(--landing-text-muted)}.lesson-card--done{border-color:var(--landing-primary);background:color-mix(in srgb,var(--landing-primary) 8%,var(--landing-bg-card))}.lesson-card--done .lesson-card__status{color:var(--landing-primary);font-weight:600}.lesson{max-width:920px;margin:0 auto;padding:100px 24px 80px;color:var(--landing-text)}.lesson__back{display:inline-block;margin-bottom:24px;color:var(--landing-text-muted);text-decoration:none;font-size:.9rem}.lesson__back:hover{color:var(--landing-text)}.lesson__head{margin-bottom:32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.lesson__head h1{font-family:var(--landing-font-heading);font-size:clamp(1.8rem,3.5vw,2.5rem);margin:0}.lesson__desc{margin:0;color:var(--landing-text-muted);font-size:1.05rem;line-height:1.6}.lesson__complete{padding:10px 20px;border-radius:999px;border:1px solid var(--landing-border);background:transparent;color:var(--landing-text);cursor:pointer;font-weight:600;transition:var(--landing-transition)}.lesson__complete:hover{border-color:var(--landing-primary)}.lesson__complete--done{background:var(--landing-primary);border-color:var(--landing-primary);color:var(--landing-primary-text, #fff)}.lesson__section{margin-top:40px;padding-top:32px;border-top:1px solid var(--landing-border)}.lesson__section>h2{font-family:var(--landing-font-heading);font-size:1.3rem;margin:0 0 16px}.lesson__videos{display:flex;flex-direction:column;gap:24px}.lesson__video-frame{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:12px;overflow:hidden}.lesson__video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.lesson__video-label{display:block;margin-top:6px;font-size:.9rem;color:var(--landing-text-muted)}.lesson__link{display:inline-block;padding:12px 16px;border:1px solid var(--landing-border);border-radius:10px;color:var(--landing-text);text-decoration:none;transition:var(--landing-transition)}.lesson__link:hover{border-color:var(--landing-primary)}.lesson__doc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lesson__doc-list li{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:10px}.lesson__doc-list a{color:var(--landing-text);text-decoration:none;flex:1}.lesson__doc-list a:hover{color:var(--landing-primary)}.lesson__size{margin-left:8px;font-size:.8rem;color:var(--landing-text-muted);font-variant-numeric:tabular-nums}.lesson-comments__form{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.lesson-comments__form textarea{padding:12px;border:1px solid var(--landing-border);border-radius:10px;background:var(--landing-bg-card);color:var(--landing-text);font:inherit;resize:vertical}.lesson-comments__form button{align-self:flex-start;padding:10px 20px;border-radius:999px;border:none;background:var(--landing-primary);color:var(--landing-primary-text, #fff);font-weight:600;cursor:pointer}.lesson-comments__form button:disabled{opacity:.5;cursor:not-allowed}.lesson-comments__reply-to{font-size:.85rem;color:var(--landing-text-muted)}.lesson-comments__reply-to button{background:none;border:none;color:var(--landing-primary);cursor:pointer;font:inherit;padding:0 4px}.lesson-comments__empty{color:var(--landing-text-muted);font-style:italic}.lesson-comments__list{display:flex;flex-direction:column;gap:16px}.lesson-comment{padding:16px;border:1px solid var(--landing-border);border-radius:12px;background:var(--landing-bg-card)}.lesson-comment--instructor{border-color:var(--landing-primary);background:color-mix(in srgb,var(--landing-primary) 5%,var(--landing-bg-card))}.lesson-comment__head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem;flex-wrap:wrap}.lesson-comment__head strong{font-size:.95rem}.lesson-comment__head time{margin-left:auto;color:var(--landing-text-muted)}.lesson-comment__badge{padding:2px 8px;border-radius:999px;background:var(--landing-primary);color:var(--landing-primary-text, #fff);font-size:.7rem;font-weight:700}.lesson-comment p{margin:0 0 8px;line-height:1.5}.lesson-comment__reply{background:none;border:none;color:var(--landing-primary);cursor:pointer;padding:0;font:inherit;font-size:.85rem}.lesson-comment__replies{margin-top:12px;padding-left:20px;display:flex;flex-direction:column;gap:8px}.lesson-comment--reply{padding:12px}.lesson-homework__upload{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:10px 18px;border:1px dashed var(--landing-border);border-radius:10px;cursor:pointer;color:var(--landing-text);transition:var(--landing-transition)}.lesson-homework__upload:hover{border-color:var(--landing-primary)}.lesson-homework__upload input{display:none}.lesson-homework__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.lesson-homework__item{padding:14px;border:1px solid var(--landing-border);border-radius:12px;background:var(--landing-bg-card)}.lesson-homework__row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lesson-homework__row a{color:var(--landing-text);text-decoration:none}.lesson-homework__row a:hover{color:var(--landing-primary)}.lesson-homework__row time{margin-left:auto;font-size:.8rem;color:var(--landing-text-muted)}.lesson-homework__del{background:none;border:none;color:var(--landing-text-muted);cursor:pointer;font-size:.85rem}.lesson-homework__del:hover{color:#ef4444}.lesson-homework__feedback{margin:12px 0 0;padding:0;background:transparent;border:0;font-size:.95rem;line-height:1.6;color:var(--landing-text)}.lesson-homework__feedback strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--landing-text-muted);margin-bottom:4px;font-weight:700}.lesson-homework__feedback-form{margin-top:12px;display:flex;flex-direction:column;gap:8px}.lesson-homework__feedback-form textarea{padding:10px;border:1px solid var(--landing-border);border-radius:8px;background:var(--landing-bg-card);color:var(--landing-text);font:inherit}.lesson-homework__feedback-form button{align-self:flex-start;padding:8px 16px;border-radius:999px;border:none;background:var(--landing-primary);color:var(--landing-primary-text, #fff);cursor:pointer}.session-element{background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:14px;padding:24px;border-top:1px solid var(--landing-border)}.session-element__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.session-element__head h2{flex:1;margin:0;font-size:1.4rem}.session-element__num{display:none}.session-element__sub{margin:20px 0 10px;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--landing-text-muted)}.session-element__details{margin-top:24px;border-top:1px dashed var(--landing-border);padding-top:16px}.session-element__details>summary{cursor:pointer;color:var(--landing-text-muted);font-weight:600;list-style:none;user-select:none;padding:6px 0}.session-element__details>summary::-webkit-details-marker{display:none}.session-element__details>summary:before{content:"▸ ";display:inline-block;transition:transform .15s ease;margin-right:6px}.session-element__details[open]>summary:before{transform:rotate(90deg)}.session-element__homework-prose{margin:0 0 20px;font-size:1.02rem;line-height:1.7;color:var(--landing-text)}.session-element__homework-prose p{margin:0 0 10px}.session-element__homework-prose li{margin:0 0 8px 20px;list-style:disc}.session-element__homework-prose p+li{margin-top:4px}.session-recap{display:flex;flex-direction:column;gap:20px;margin:0 0 20px;line-height:1.65}.session-recap h3{margin:16px 0 4px;font-size:1.2rem;font-family:var(--landing-font-heading);letter-spacing:-.01em}.session-recap h4{margin:4px 0;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--landing-text-muted);font-weight:700}.session-recap h4.session-recap__kicker{margin-bottom:-4px}.session-recap p{margin:0;color:var(--landing-text)}.session-recap ul{margin:4px 0 0 20px;padding:0;display:flex;flex-direction:column;gap:6px}.session-recap ul li{list-style:disc;color:var(--landing-text)}.session-recap ul ul{margin-top:4px;margin-left:20px;gap:4px}.session-recap__divider{height:1px;background:var(--landing-border);margin:8px 0}.composer-modal__overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:9999;animation:composer-modal-fade .15s ease}@keyframes composer-modal-fade{0%{opacity:0}to{opacity:1}}.composer-modal__panel{width:100%;max-width:540px;background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:14px;padding:22px;box-shadow:0 20px 60px #00000073;display:flex;flex-direction:column;gap:14px;animation:composer-modal-pop .18s cubic-bezier(.16,1,.3,1)}@keyframes composer-modal-pop{0%{transform:scale(.97) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.composer-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-modal__head h3{margin:0;font-size:1.15rem;font-family:var(--landing-font-heading)}.composer-modal__close{width:32px;height:32px;border:0;background:transparent;color:var(--landing-text-muted);font-size:22px;cursor:pointer;line-height:1;border-radius:8px}.composer-modal__close:hover{background:var(--landing-bg-subtle);color:var(--landing-text)}.composer-modal__hint{font-size:.85rem;color:var(--landing-text-muted);padding:8px 12px;background:var(--landing-bg-subtle);border-radius:8px}.composer-modal__panel textarea{width:100%;min-height:130px;padding:12px;border:1px solid var(--landing-border);border-radius:10px;background:var(--landing-bg);color:var(--landing-text);font:inherit;resize:vertical;box-sizing:border-box}.composer-modal__panel textarea:focus{outline:2px solid var(--landing-primary);outline-offset:-1px}.composer-modal__actions{display:flex;justify-content:flex-end;gap:10px}.composer-modal__cancel,.composer-modal__submit{padding:10px 18px;border-radius:999px;border:0;cursor:pointer;font-weight:600;font-size:.95rem}.composer-modal__cancel{background:transparent;color:var(--landing-text);border:1px solid var(--landing-border)}.composer-modal__cancel:hover{border-color:var(--landing-text-muted)}.composer-modal__submit{background:var(--landing-primary);color:var(--landing-primary-text, #fff)}.composer-modal__submit:disabled{opacity:.5;cursor:not-allowed}.lesson-comments__open{align-self:flex-start;padding:10px 16px;border-radius:999px;border:1px dashed var(--landing-border);background:transparent;color:var(--landing-text);cursor:pointer;font-weight:600;font-size:.9rem;transition:var(--landing-transition)}.lesson-comments__open:hover{border-color:var(--landing-primary);color:var(--landing-primary)}@media(max-width:640px){.classroom{padding:100px 16px 64px}.lesson{padding:88px 16px 64px}.classroom__grid{grid-template-columns:1fr}.lesson__head{flex-direction:column}.lesson__complete{width:100%;text-align:center}.session-element{padding:16px}.session-element__head{gap:8px}.session-element__head h2{font-size:1.15rem;flex-basis:100%}.session-element__head .lesson__complete{width:100%}}
