:root{--bg:#f6f8fb;--panel:#fff;--panel-soft:#fbfcfe;--text:#18212f;--muted:#667085;--line:#e5eaf1;--primary:#5b5bd6;--primary-strong:#4d4dc2;--primary-2:#7a72ee;--primary-soft:#efefff;--cyan:#278fa5;--cyan-soft:#e9f7fa;--red:#c23d3d;--red-soft:#fdecec;--green:#2f9e6f;--green-soft:#eaf8f1;--orange:#e38b32;--orange-soft:#fff3e6;--shadow:0 14px 34px #1c273c17;--radius:16px;--app-bottom-nav-height:72px}*{box-sizing:border-box}.visuallyHidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{background:var(--bg);min-width:320px;overflow-x:clip}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}a{color:inherit;text-decoration:none}.brand{border-radius:13px;align-items:center;gap:12px;min-width:0;display:inline-flex}.brandMark{background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#fff;border-radius:13px;flex:none;place-items:center;width:40px;height:40px;font-weight:900;display:grid;box-shadow:0 8px 20px #5b5bd640}.brandCopy{min-width:0}.brandCopy strong{letter-spacing:-.02em;font-size:18px;display:block}.brandCopy small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.primaryButton,.secondaryButton,.buttonLink{border-radius:11px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-size:14px;font-weight:800;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.primaryButton,.buttonLink{border:1px solid var(--primary);background:var(--primary);color:#fff}.secondaryButton{border:1px solid var(--line);background:var(--panel);color:#4a5568}.primaryButton:hover,.buttonLink:hover{border-color:var(--primary-strong);background:var(--primary-strong);transform:translateY(-1px);box-shadow:0 8px 18px #5b5bd633}.secondaryButton:hover{background:var(--panel-soft);color:var(--primary);border-color:#d6dce6}.primaryButton:focus-visible,.secondaryButton:focus-visible,.buttonLink:focus-visible,.brand:focus-visible{outline-offset:3px;outline:3px solid #5b5bd64d}.primaryButton:disabled,.secondaryButton:disabled,.dangerButton:disabled,.messageDeleteButton:disabled{opacity:.65;box-shadow:none;cursor:not-allowed;transform:none}.pageBack{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;display:flex}.pageBack .secondaryButton{width:max-content}
.landingPage{width:min(1180px,100% - 48px);min-height:100dvh;margin:0 auto;padding-bottom:48px}.landingNav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:84px;display:flex}.landingHero{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center;gap:clamp(44px,8vw,112px);min-height:570px;display:grid}.landingHeroCopy{padding:64px 0}.eyebrow{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:850}.landingHero h1{letter-spacing:-.06em;text-wrap:balance;max-width:720px;margin:0;font-size:clamp(3.1rem,6vw,5.5rem);font-weight:850;line-height:.96}.lead{max-width:620px;color:var(--muted);text-wrap:pretty;margin:28px 0 0;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.65}.landingNotice{background:var(--primary-soft);color:#4e4eae;border:1px solid #dcdcf8;border-radius:13px;align-items:flex-start;gap:12px;max-width:610px;margin-top:30px;padding:16px 18px;display:flex}.landingNotice span{font-size:18px}.landingNotice p{margin:0;font-size:14px;line-height:1.55}.landingPreview{background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#fff;border-radius:20px;padding:30px;position:relative;overflow:hidden;box-shadow:0 20px 45px #5b5bd640}.landingPreview:after{content:"";background:#ffffff14;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-90px;right:-70px}.previewHeader,.previewMeta{z-index:1;justify-content:space-between;align-items:center;gap:14px;display:flex;position:relative}.previewIcon{width:46px;height:46px;color:var(--primary);background:#fff;border-radius:13px;place-items:center;font-size:18px;font-weight:900;display:grid}.previewTag{background:#ffffff29;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.landingPreview h2{z-index:1;letter-spacing:-.035em;margin:36px 0 8px;font-size:clamp(1.8rem,4vw,2.5rem);position:relative}.landingPreview p{z-index:1;color:#fff;margin:0;font-size:14px;position:relative}.previewProgress{z-index:1;background:#ffffff38;border-radius:999px;height:8px;margin:30px 0 11px;position:relative;overflow:hidden}.previewProgress span{border-radius:inherit;background:#fff;width:72%;height:100%;display:block}.previewMeta{color:#fff;font-size:12px}.previewMeta strong{color:#fff}.landingBenefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landingBenefitCard{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:22px;box-shadow:0 4px 14px #1c273c0a}.landingBenefitCard>span{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:850}.landingBenefitCard h2{margin:10px 0 7px;font-size:17px}.landingBenefitCard p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}
.dashboardPage{place-items:center;width:100%;min-height:100svh;padding:clamp(24px,6vw,64px) 20px;display:grid}.dashboardCard{border:1px solid var(--line);background:var(--panel);width:min(100%,820px);box-shadow:var(--shadow);border-radius:20px;padding:clamp(26px,5vw,42px)}.dashboardHeader{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.dashboardCard h1{letter-spacing:-.04em;text-wrap:balance;max-width:650px;margin:0;font-size:clamp(2rem,6vw,3.1rem);font-weight:850;line-height:1.05}.authLead{max-width:650px;color:var(--muted);text-wrap:pretty;margin:18px 0 28px;font-size:15px;line-height:1.6}.appForm{gap:18px;max-width:460px;display:grid}.appForm label{color:#4d586d;gap:7px;font-size:13px;font-weight:800;display:grid}.appForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.appForm select,.appForm textarea{border:1px solid var(--line);background:var(--panel);width:100%;min-height:48px;color:var(--text);border-radius:11px;outline:none;padding:11px 12px;font-size:16px;font-weight:400;transition:border-color .16s,box-shadow .16s}.appForm textarea{resize:vertical;min-height:96px}.appForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]):hover,.appForm select:hover,.appForm textarea:hover{border-color:#cbd2de}.appForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus-visible,.appForm select:focus-visible,.appForm textarea:focus-visible{border-color:#9c99e5;box-shadow:0 0 0 3px #5b5bd624}.buttonRow{flex-wrap:wrap;gap:10px;display:flex}.invitationList{border-top:1px solid var(--line);margin-top:36px;padding-top:26px}.invitationList h2{margin:0 0 16px;font-size:18px}.invitationList ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.invitationList li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.invitationList li>div{gap:4px;min-width:0;display:grid}.invitationList strong{overflow-wrap:anywhere;font-size:14px}.invitationList span{color:var(--muted);font-size:12px}.dashboardCardWide{width:min(100%,1320px)}.dashboardPage:has(.dashboardCardWide){align-content:start;place-items:start center}.adminNav{flex-wrap:wrap;gap:8px 16px;margin-top:14px;display:flex}.adminNav a{color:var(--muted);font-size:14px;font-weight:800}.adminNav a:hover{color:var(--primary)}.adminNav a:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #5b5bd64d}.adminNav a[aria-current=page]{color:var(--text)}.dashboardCardWide .authLead{max-width:none;margin-bottom:18px}.adminMaterialsWorkspace{gap:20px;margin-top:4px;display:grid}.adminMaterialSaveNotice{color:#257f5a;background:#eaf8f1;border:1px solid #2f9e6f29;border-radius:11px;margin:0 0 14px;padding:12px 14px;font-size:13px;line-height:1.5}.adminMaterialList{border:1px solid var(--line);background:var(--panel-soft);border-radius:16px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.adminMaterialListHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.adminMaterialListHeader h2{margin:0;font-size:1.05rem}.adminMaterialListHeader .secondaryButton{min-height:36px;padding:6px 12px;font-size:13px}.adminMaterialList .materialCatalogCount{margin:0}.adminMaterialList .materialCatalogEmpty{margin:0;padding:18px 12px}.adminMaterialList .materialCatalogPagination{gap:10px;margin-top:4px}.adminMaterialRows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.adminMaterialRow{border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:12px;gap:4px;padding:12px 14px 12px 16px;text-decoration:none;display:grid;position:relative;overflow:hidden}.adminMaterialRow:before{content:"";background:var(--primary);width:4px;position:absolute;inset:0 auto 0 0}.adminMaterialRow-text:before{background:var(--cyan)}.adminMaterialRow:hover{border-color:#cbd2de}.adminMaterialRow:focus-visible{outline-offset:2px;outline:3px solid #5b5bd64d}.adminMaterialRow.is-selected{border-color:var(--primary);background:var(--primary-soft)}.adminMaterialRowTitle{overflow-wrap:anywhere;font-size:15px;font-weight:750}.adminMaterialRowMeta{overflow-wrap:anywhere;color:var(--muted);font-size:13px}.materialInLessonTag{background:var(--orange-soft);width:max-content;color:var(--orange);border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.materialImport{border:1px solid var(--line);background:var(--panel);border-radius:16px;min-width:0;padding:18px 18px 12px}.materialImportEmptyState{background:var(--panel-soft);border-style:dashed;align-content:center;justify-items:start;gap:12px;min-height:320px;padding:32px 28px;display:grid}.materialImportEmptyState h2{margin:0;font-size:1.35rem}.materialImportEmptyActions{flex-wrap:wrap;align-items:end;gap:12px;margin-top:4px;display:flex}.materialImportHint,.materialImportEmpty{max-width:42ch;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.materialImportBanner{background:var(--orange-soft);color:var(--orange);border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:14px;font-weight:650;line-height:1.45}.materialImportToolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.materialImportToolbarCopy{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.materialImportToolbarCopy h2{overflow-wrap:anywhere;margin:0;font-size:1.25rem}.materialImportToolbarActions{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.materialImportFile{color:#4d586d;gap:6px;font-size:12px;font-weight:800;display:grid}.materialImportFile input[type=file]{max-width:240px;color:var(--muted);font-size:13px;font-weight:400}.materialImportFile input[type=file]::file-selector-button{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;margin-right:10px;padding:6px 12px;font-size:13px;font-weight:750}.materialImportFile input[type=file]:hover::file-selector-button{background:var(--panel-soft);color:var(--primary);border-color:#d6dce6}.materialImportFile input:focus-visible{outline-offset:3px;outline:3px solid #5b5bd64d}.materialImportTabs{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;gap:4px;padding:4px;display:flex}.materialImportTabs button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:750}.materialImportTabs button:hover{color:var(--text)}.materialImportTabs button[aria-selected=true]{background:var(--panel);color:var(--text);box-shadow:0 1px 4px #1c273c14}.materialImportTabs button:focus-visible{outline-offset:1px;outline:3px solid #5b5bd64d}.materialImportEditor{gap:8px;display:grid}.materialImportFields{gap:14px;display:grid}.materialImportFields label,.materialExerciseDraft label,.materialBodyNodeChrome label{color:#4d586d;gap:7px;font-size:13px;font-weight:800;display:grid}.materialImportMetaGrid{gap:12px;display:grid}.materialImportFields input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.materialImportFields select,.materialImportFields textarea,.materialExerciseDraft input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.materialExerciseDraft select,.materialExerciseDraft textarea{border:1px solid var(--line);background:var(--panel);width:100%;min-height:48px;color:var(--text);border-radius:11px;outline:none;padding:11px 12px;font-size:16px;font-weight:400}.materialImportFields textarea,.materialExerciseDraft textarea{resize:vertical;min-height:96px}.materialImportFields input:hover,.materialImportFields select:hover,.materialImportFields textarea:hover,.materialExerciseDraft input:hover,.materialExerciseDraft select:hover,.materialExerciseDraft textarea:hover{border-color:#cbd2de}.materialImportFields input:focus-visible,.materialImportFields select:focus-visible,.materialImportFields textarea:focus-visible,.materialExerciseDraft input:focus-visible,.materialExerciseDraft select:focus-visible,.materialExerciseDraft textarea:focus-visible{border-color:#9c99e5;box-shadow:0 0 0 3px #5b5bd624}.materialImportAdvanced{margin-top:8px}.materialImportAdvanced summary{cursor:pointer;font-weight:750}.materialImportAdvanced textarea{border:1px solid var(--line);background:var(--panel);width:100%;min-height:240px;color:var(--text);resize:vertical;border-radius:11px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:400}.materialImportAdvanced textarea:hover{border-color:#cbd2de}.materialImportAdvanced textarea:focus-visible{border-color:#9c99e5;box-shadow:0 0 0 3px #5b5bd624}.materialExerciseEditorHeader,.materialExerciseDraftControls,.materialExerciseDraftMove,.materialExerciseItemHead,.materialExerciseOptionRow,.materialExerciseTrueFalse{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.materialExerciseEditorHeader{justify-content:space-between}.materialExerciseDraftList,.materialExerciseItemDrafts{gap:16px;margin:0;padding:0;list-style:none;display:grid}.materialExerciseDraft{border:1px solid var(--line);border-radius:12px;gap:12px;padding:14px;display:grid}.materialExerciseLivePreview{margin-top:8px}.materialExerciseOptions{border:0;gap:8px;margin:0;padding:0;display:grid}@media (min-width:720px){.materialImportMetaGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.materialImportActions{z-index:1;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -12px 18px var(--panel);gap:10px;margin-top:8px;padding:12px 0 4px;display:grid;position:sticky;bottom:0}.materialImportActionButtons{flex-wrap:wrap;gap:10px;display:flex}.materialImportBack{display:none}@media (min-width:960px){.adminMaterialsWorkspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:20px}.adminMaterialList{max-height:calc(100svh - 32px);position:sticky;top:16px}.adminMaterialRows{flex:auto;min-height:0;padding-right:4px;overflow:auto}}@media (max-width:780px){.adminMaterialsWorkspace[data-admin-materials-pane=list] .materialImport,.adminMaterialsWorkspace[data-admin-materials-pane=editor] .adminMaterialList{display:none}.materialImportBack{margin-bottom:12px;display:block}.materialImportBack .pageBack{margin:0}.materialImport{padding:14px 12px 8px}.materialImportEmptyState{min-height:0;padding:20px 16px}.materialImportToolbar{flex-direction:column;align-items:stretch}.materialImportToolbarActions{flex-direction:column;align-items:stretch;width:100%}.materialImportFile input[type=file]{width:100%;max-width:none}.materialImportFile input[type=file]::file-selector-button{min-height:44px}.materialImportTabs{width:100%}.materialImportTabs button{flex:1;min-height:44px}.materialImportActions{padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.materialImportActionButtons{grid-template-columns:1fr;display:grid}.materialCatalogFiltersStacked .secondaryButton{min-height:44px}}@media (max-width:820px){.landingPage{width:min(100% - 32px,640px)}.landingHero{grid-template-columns:1fr;min-height:auto}.landingHeroCopy{padding:56px 0 0}.landingPreview{margin-bottom:48px}.landingBenefits{grid-template-columns:1fr}}@media (max-width:520px){.landingPage{width:min(100% - 24px,480px)}.landingNav{min-height:76px}.landingNav .brandCopy small{display:none}.landingNav .primaryButton{min-height:40px;padding:8px 12px}.landingHero h1{font-size:clamp(2.7rem,14vw,4rem)}.landingPreview{padding:24px}.dashboardPage{align-items:start;padding:16px}.dashboardCard{border-radius:16px;padding:26px 22px 28px}.dashboardHeader{display:grid}.invitationList li{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.primaryButton,.secondaryButton,.buttonLink,.appForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.appForm select,.appForm textarea{transition:none}.primaryButton:hover,.buttonLink:hover{transform:none}}
.appShell{grid-template-columns:252px minmax(0,1fr);min-height:100dvh;display:grid}.appSidebar{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;gap:28px;height:100dvh;padding:24px 16px;display:flex;position:sticky;top:0}.appBrand{align-items:center;gap:10px;display:flex}.appBrand strong,.appBrand small{display:block}.appBrand small{color:var(--muted);margin-top:2px;font-size:11px}.appNav{gap:6px;display:grid}.appNav a,.appNav>.appNavUnavailable,.appBottomNav a,.appBottomNav>.appNavUnavailable{color:#4a5568;border-radius:11px;align-items:center;gap:11px;min-height:44px;padding:10px 12px;font-size:14px;font-weight:750;display:flex}.appNavUnavailable{color:#4a5568}.appNavUnavailable small{color:#596579;margin-top:2px;font-size:11px;font-weight:750;display:block}.appNav a{position:relative}.appNav a:hover,.appNav a.active,.appBottomNav a.active{background:var(--primary-soft);color:var(--primary)}.appNavBadge{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.appUserCard{border-top:1px solid var(--line);color:inherit;border-radius:0 0 12px 12px;align-items:center;gap:10px;margin-top:auto;padding:12px 8px;text-decoration:none;display:flex}.appUserCard:hover{background:var(--panel-soft)}.appUserCard:focus-visible{outline-offset:-3px;outline:3px solid #5b5bd64d}.appUserCard strong,.appUserCard small{display:block}.appUserCard small{color:var(--muted);margin-top:2px;font-size:12px}.appAvatar{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:850;display:grid}.appWorkspace{flex-direction:column;min-width:0;min-height:0;display:flex;overflow-x:clip}.appShellFill{overscroll-behavior:none;height:100dvh;max-height:100dvh;overflow:hidden}.appShellFill .appSidebar{height:100%}.appWorkspaceFill{height:100%;overflow:hidden}.appTopbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 90%, transparent);flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:84px;padding:16px clamp(24px,4vw,48px);display:flex}.appTopbar>div{min-width:0}.appTopbar h1{overflow-wrap:anywhere}.appTopbar h1,.appTopbar p,.dashboardHero h2,.dashboardHero p,.dashboardPanel h2,.dashboardEmptyState h2,.dashboardEmptyState p,.teacherComingSoon h2,.teacherComingSoon p,.messagesListPanel>summary{margin:0}.appTopbar h1{font-size:18px}.appTopbar p{color:var(--muted);margin-top:4px;font-size:13px}.appContent{width:min(1220px,100%);margin:0 auto;padding:clamp(24px,4vw,48px)}.appContentFill{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.dashboardHero,.dashboardPanel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.dashboardHero{justify-content:space-between;align-items:center;gap:24px;padding:clamp(24px,4vw,36px);display:flex}.dashboardHero h2{letter-spacing:-.035em;font-size:clamp(24px,3vw,32px)}.dashboardHero p,.teacherComingSoon p{max-width:640px;color:var(--muted);margin-top:8px;line-height:1.6}.teacherHeroActions{flex-wrap:wrap;gap:10px;display:flex}.teacherDashboardGrid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px;margin:16px 0;display:grid}.dashboardPanel{padding:20px}.dashboardSectionHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboardSectionHeader h2{font-size:16px}.dashboardSectionHeader a{color:var(--primary);font-size:13px;font-weight:750}.dashboardEmptyState{justify-items:start;gap:8px;padding:30px 0 4px;display:grid}.dashboardEmptyIcon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:11px;place-items:center;font-size:22px;display:grid}.dashboardEmptyState h2{margin-top:4px;font-size:15px}.dashboardEmptyState p{max-width:470px;color:var(--muted);font-size:13px;line-height:1.55}.dashboardEmptyState .secondaryButton{min-height:38px;margin-top:4px;padding:7px 11px;font-size:13px}.studentDashboardMain,.studentDashboardLower{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px;margin-top:16px;display:grid}.studentDashboardLower{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}.studentDashboardFocus{color:#fff;background:linear-gradient(145deg,#5151bd,#5d54c8);border-color:#0000}.studentDashboardFocus .dashboardEmptyIcon{color:#fff;background:#ffffff38}.studentDashboardFocus .dashboardEmptyState p,.studentDashboardFocus .dashboardSectionHeader h2,.studentDashboardFocus .dashboardEmptyState h2,.studentDashboardFocus .studentDashboardContinue h3,.studentDashboardFocus .studentDashboardContinue p,.studentDashboardFocus .studentDashboardReturnedHint{color:#fff}.studentDashboardContinue{justify-items:start;gap:10px;padding-top:16px;display:grid}.studentDashboardContinue h3{letter-spacing:-.03em;margin:0;font-size:clamp(22px,3vw,25px)}.studentDashboardContinue p,.studentDashboardReturnedHint{color:#ffffffdb;margin:0;font-size:14px;line-height:1.5}.studentDashboardReturnedHint{font-weight:700}.studentDashboardProgress{background:#ffffff38;border-radius:999px;width:100%;height:8px;display:block;overflow:hidden}.studentDashboardProgress>span{background:#fff;border-radius:999px;height:100%;display:block}.studentDashboardFocus .primaryButton{color:var(--primary);background:#fff;border-color:#fff;margin-top:4px}.studentDashboardFocus .primaryButton:hover{color:var(--primary-strong);box-shadow:none;background:#f4f4ff;border-color:#f4f4ff}.studentTodoList,.teacherInboxList,.teacherRecentLessonList,.todayOccurrenceList{margin:0;padding:0;list-style:none;display:grid}.studentTodoRow,.teacherInboxRow,.teacherRecentLessonRow,.todayOccurrenceRow{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.teacherRecentLessonRow{grid-template-columns:40px minmax(0,1fr) auto auto}.studentTodoList li:last-child .studentTodoRow,.teacherInboxList li:last-child .teacherInboxRow,.teacherRecentLessonList li:last-child .teacherRecentLessonRow,.todayOccurrenceList li:last-child .todayOccurrenceRow{border-bottom:0}.studentTodoRow:hover,.studentTodoRow:focus-visible,.teacherInboxRow:hover,.teacherInboxRow:focus-visible,.todayOccurrenceRow:hover,.todayOccurrenceRow:focus-visible{color:var(--primary)}.studentTodoRow:focus-visible,.teacherInboxRow:focus-visible,.todayOccurrenceRow:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}.studentTodoRow strong,.teacherInboxRow strong,.teacherRecentLessonRow strong,.todayOccurrenceRow strong,.studentFeedbackBox h3{margin:0 0 3px;font-size:14px;display:block}.studentTodoRow small,.teacherInboxRow small,.teacherRecentLessonRow small,.todayOccurrenceRow small{color:var(--muted);font-size:12px;line-height:1.45;display:block}.studentTodoRowStatus{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.teacherInboxRowAction{color:var(--primary);font-size:13px;font-weight:750}.teacherInboxSection{margin-top:16px}.teacherInboxSection h3{color:var(--muted);margin:0 0 4px;font-size:13px;font-weight:800}.dashboardStatIcon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:12px;place-items:center;font-size:18px;display:grid}.dashboardStatIcon-lesson,.dashboardStatIcon-proposal{background:var(--primary-soft);color:var(--primary)}.dashboardStatIcon-review{background:var(--orange-soft);color:var(--orange)}.dashboardStatIcon-overdue{color:#b42318;background:#fdecec}.dashboardStatus{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;padding:6px 9px;font-size:12px;font-weight:800;display:inline-flex}.dashboardStatus-unopened,.dashboardStatus-sketch{color:#59657b;background:#eef1f5}.dashboardStatus-in_progress{background:var(--primary-soft);color:var(--primary)}.dashboardStatus-returned{color:#8a5a00;background:#fff1c8}.dashboardStatus-to_review{background:var(--orange-soft);color:var(--orange)}.dashboardStatus-completed{background:var(--green-soft);color:var(--green)}.dashboardStatus-overdue{color:#b42318;background:#fdecec}.studentFeedbackBox{justify-items:start;gap:8px;padding-top:16px;display:grid}.studentFeedbackBox h3,.studentFeedbackBox p{margin:0}.studentFeedbackBox p{color:var(--muted);font-size:14px;line-height:1.55}.studentFeedbackBox .secondaryButton{margin-top:4px}.studentFeedbackBox h3 a{color:inherit;text-decoration:none}.studentFeedbackBox h3 a:hover{color:var(--primary)}.studentRosterReviewCount{background:var(--orange-soft);color:var(--orange);border-radius:999px;margin-top:6px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.studentDashboardSectionDescription{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.5}.teacherComingSoon{padding:clamp(28px,5vw,52px)}.teacherComingSoon h2{font-size:clamp(22px,3vw,30px)}.teacherComingSoon .teacherComingSoonActions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.teacherComingSoon .secondaryButton{margin-top:0}.teacherStudentsHero{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:24px;display:flex}.teacherStudentsHero h2,.teacherStudentsHero p{margin:0}.teacherStudentsHero h2{font-size:24px}.teacherStudentsHero p{color:var(--muted);margin-top:6px;font-size:14px}.studentRoster{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.studentRoster section{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:20px}.studentRoster h2{margin:0;font-size:16px}.studentRosterList{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.studentRosterList li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:12px 0;display:flex}.studentRosterList strong,.teacherStatus{display:block}.studentRosterList strong{overflow-wrap:anywhere;font-size:14px}.teacherStatus{margin-top:4px;font-size:12px}.teacherStatusActive{color:#18734d}.teacherStatusPending{color:#934d00}.teacherRosterEmpty{color:var(--muted);margin:16px 0 0;font-size:14px;line-height:1.55}.studentRosterActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.studentRosterActions .secondaryButton{min-height:36px;padding:6px 9px;font-size:12px}.studentInviteDialog{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:min(100% - 32px,480px);padding:0;overflow:auto;box-shadow:0 24px 80px #1c273c3d}.studentInviteDialog::backdrop{background:#18212f7a}.studentInviteDialog .appForm{width:100%;max-width:none;box-shadow:none;border:0;padding:24px}.studentInviteDialogHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.studentInviteDialogHeader h2,.studentInviteDialogHeader p{margin:0}.studentInviteDialogHeader h2{font-size:19px}.studentInviteDialogHeader p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.5}.studentDialogClose{border:1px solid var(--line);background:var(--panel);width:36px;height:36px;color:var(--text);border-radius:10px;flex:none;place-items:center;padding:0;font-size:22px;display:grid}.studentDialogClose:hover{background:var(--panel-soft);border-color:#d6dce6}.studentDialogClose:focus-visible{outline-offset:2px;outline:3px solid #5b5bd659}.studentInviteDialogActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.studentInviteDialogActions .primaryButton,.studentInviteDialogActions .secondaryButton,.studentInviteDialogActions button[type=submit]{flex:none;width:auto}.dashboardLoading,.dashboardError{place-content:center;gap:16px;min-height:100dvh;padding:24px;display:grid}.dashboardLoading{grid-template-columns:repeat(3,minmax(120px,240px))}.dashboardLoading div{border-radius:var(--radius);background:linear-gradient(90deg,#edf0f5,#f8f9fb,#edf0f5) 0 0/200% 100%;height:160px;animation:1.3s infinite dashboard-loading}@keyframes dashboard-loading{to{background-position:-200% 0}}.appBottomNav{display:none}@media (max-width:1050px){.teacherDashboardGrid,.studentDashboardMain,.studentDashboardLower,.studentRoster,.dashboardLoading{grid-template-columns:1fr}}@media (max-width:780px){.appShell{padding-bottom:calc(var(--app-bottom-nav-height) + env(safe-area-inset-bottom,0px));display:block}.appSidebar,.appTopbar p{display:none}.appTopbar{gap:12px;min-height:64px;padding:12px 16px}.appTopbar .secondaryButton{min-height:44px;padding:8px 12px}.appBottomNav{z-index:40;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--line);background:var(--panel);display:grid;position:fixed;bottom:0;left:0;right:0}.appBottomNav a,.appBottomNav>.appNavUnavailable{flex-direction:column;justify-content:center;gap:3px;min-height:64px;padding:6px 2px;font-size:11px;position:relative}.appBottomNav a>.appNavText,.appBottomNav>.appNavUnavailable>.appNavText{text-align:center;white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:10px;line-height:1.1}.appBottomNav .appNavBadge{min-width:16px;height:16px;margin:0;padding:0 4px;font-size:9px;position:absolute;top:6px;right:max(4px,50% - 22px)}.appBottomNav .appNavUnavailable small{white-space:nowrap;margin-top:1px;font-size:8px;line-height:1.1}.appShellFill{flex-direction:column;display:flex}.appWorkspaceFill{flex:1;height:auto;min-height:0}.appContentFill{padding:12px 12px 16px}.dashboardHero,.teacherStudentsHero,.studentRosterList li{flex-direction:column;align-items:flex-start}.studentRosterActions{justify-content:flex-start}.studentRosterActions .secondaryButton,.studentDetailActions .primaryButton,.studentDetailActions .secondaryButton,.primaryButton,.secondaryButton,.dangerButton,.studentDialogClose,.calendarMore,.calendarDayHit,.messageDeleteButton,.compactButton{min-width:44px;min-height:44px}.studentDashboardContinue{justify-items:stretch}.studentDashboardFocus .primaryButton{justify-content:center;width:100%}.studentTodoRow,.teacherInboxRow,.todayOccurrenceRow,.teacherRecentLessonRow{grid-template-columns:40px minmax(0,1fr)}.studentTodoRowStatus,.teacherInboxRowAction{grid-column:2;justify-content:flex-start;justify-self:start}.lessonCardBottom{flex-direction:column;align-items:stretch}.lessonCardBottom .primaryButton,.lessonCardBottom .secondaryButton,.lessonCardBottom .dangerButton{width:100%}.noteEditorToolbar{overscroll-behavior-x:contain;flex-wrap:nowrap;overflow-x:auto}.noteEditorToolbar button{flex:none;width:44px;height:44px}.lessonPreviewPaper [id],.lessonMaterialPreview{scroll-margin-top:120px}.dashboardHero h2,.studentDashboardContinue h3,.lessonLibraryCard h3,.conversationHead h2{overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){.dashboardLoading div{animation:none}}
.studentRosterCard{width:100%;color:inherit;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px;text-decoration:none;display:grid}.studentRosterCard:hover,.studentRosterCard:focus-visible{background:var(--panel-soft);outline:2px solid var(--primary);outline-offset:2px}.studentRosterAvatar,.studentAvatar{background:var(--primary-soft);color:var(--primary);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.studentRosterAvatar{width:42px;height:42px}.studentRosterArrow{color:var(--muted);font-size:24px}.studentDetailHeader{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px 18px;padding:22px;display:grid;overflow:visible}.studentAvatar{flex-shrink:0;width:64px;height:64px;font-size:20px}.studentDetailHeader h2,.studentDetailHeader p{margin:0}.studentDetailHeader p{color:var(--muted);margin-top:5px}.studentDetailHeading{min-width:0}.studentDetailMeta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.studentDetailActions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.studentProfileEditButton{white-space:nowrap;min-height:38px;padding:7px 12px}.studentNotesWorkspace{margin-top:20px}.studentDetailHeader .studentLearningDescription{color:var(--text);white-space:pre-wrap;margin-top:10px;line-height:1.55}.learningProfileDialog{width:min(100% - 32px,680px)}.learningProfileDialogContent{padding:24px}.studentDetailForm,.noteForm{gap:16px;margin-top:16px;display:grid}.studentDetailFormSection{gap:16px;display:grid}.studentDetailFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.studentDetailForm label,.noteForm>label{color:var(--text);gap:7px;font-size:13px;font-weight:750;display:grid}.studentDetailForm input,.studentDetailForm textarea,.noteForm input{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px}.studentDetailFormFooter,.studentErrorActions,.noteCardHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.studentDetailFormActions{justify-content:flex-end;gap:10px;display:flex}.studentDetailFormFooter p,.noteCardHeader h3,.noteCardHeader time,.studentPublicNoteHeader h3,.studentPublicNoteHeader p{margin:0}.formError,.formSuccess{min-height:20px;font-size:13px}.formError{color:brown}.formSuccess{color:#18734d}
.noteTabs{border-bottom:1px solid var(--line);gap:8px;margin-top:14px;display:flex}.noteTabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 14px;font-weight:750}.noteTabs button[aria-selected=true]{border-bottom-color:var(--primary);color:var(--primary)}.noteTabs button:focus-visible,.noteComposer summary:focus-visible,.noteEditorToolbar button:focus-visible,.dangerButton:focus-visible{outline-offset:3px;outline:3px solid #5b5bd659}.noteWorkspacePanel{padding-top:16px}.noteComposer,.noteEdit{border:1px solid var(--line);border-radius:12px;padding:14px}.noteComposer summary{cursor:pointer;font-weight:750}.noteList,.studentPublicNotes{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.noteCard,.studentPublicNotes>li{border-radius:12px;padding:16px}.noteCard[data-visibility=private]{background:#fffdf0;border:1px solid #e6e3c7}.noteCard[data-visibility=public]{background:#f8f7ff;border:1px solid #dcd9f4}.studentPublicNotes li[data-visibility=public]{background:#f8f7ff;border:1px solid #dcd9f4;border-left:4px solid #5b5bd6}.noteCardHeader time,.studentPublicNoteHeader time{color:var(--muted);font-size:12px}.noteVisibilityLabel,.studentPublicNoteLabel{color:#5145a4;letter-spacing:.02em;margin-bottom:6px;font-size:11px;font-weight:800;display:inline-block}.noteCard[data-visibility=private] .noteVisibilityLabel{color:#665b27}.dangerButton{color:#922;background:#fff7f7;border:1px solid #d7a4a4;border-radius:9px;padding:7px 10px;font-weight:750}.noteMalformed{color:#742424;background:#fff7f7;border:1px solid #d7a4a4;border-radius:10px;margin-top:12px;padding:12px}.noteMalformed p{margin:4px 0 0}.noteEdit{margin-top:14px}.noteEditControls{justify-content:flex-end;margin-top:14px;display:flex}.noteEditFooter{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:16px;margin-top:16px;padding-top:14px;display:flex}.noteEditFooterActions,.noteDeleteForm{align-items:center;gap:10px;display:flex}.noteDeleteForm p,.noteForm>p{margin:0}.noteEditor{border:1px solid var(--line);border-radius:10px;overflow:hidden}.noteEditorLabel{font-weight:750}.noteEditorToolbar{border-bottom:1px solid var(--line);background:var(--panel-soft);flex-wrap:wrap;gap:6px;padding:8px;display:flex}.noteEditorToolbar button{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--text);border-radius:7px;place-items:center;padding:0;font-size:16px;display:inline-grid}.noteEditorToolbar button svg{fill:currentColor;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:19px;height:19px}.noteEditorToolbar button svg path{fill:none}.noteEditorToolbar button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.noteEditorContent{outline:none;min-height:140px;padding:12px}.noteEditorContent:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;box-shadow:inset 0 0 0 2px var(--primary)}.noteContent{color:var(--text);font-size:14px;line-height:1.6}.noteContent p{margin:8px 0}.noteContent :is(ul,ol){margin:8px 0;padding-inline-start:22px}.noteContent li{margin:2px 0}.noteContent li>p{margin:0}.noteContent li>:is(ul,ol){margin:4px 0}.noteContentCompact{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.studentNoteDisclosureButton{margin-top:10px}.studentPublicNoteHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}@media (forced-colors:active){.noteTabs button:focus-visible,.noteComposer summary:focus-visible,.noteEdit summary:focus-visible,.noteEditorToolbar button:focus-visible,.dangerButton:focus-visible,.noteEditorContent:focus-visible{outline:2px solid canvastext}.noteMalformed,.noteCard[data-visibility],.studentPublicNotes li[data-visibility=public]{border-color:canvastext}}.studentPublicNoteHeader p{color:var(--muted);margin-top:4px;font-size:13px}
.materialDetailHeader h2,.materialDetailHeader p{margin:0}.materialDetailHeader p,.materialCatalogCount,.materialCatalogEmpty{color:var(--muted)}.materialDetailHeader{gap:8px;margin:16px 0 18px;display:grid}.materialDetailHeader h2{overflow-wrap:anywhere;text-wrap:pretty}.materialCatalogFilters{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px;padding:14px;display:flex}.materialCatalogFilters label{min-width:0;color:var(--text);flex:9.5rem;gap:6px;font-size:13px;font-weight:750;display:grid}.materialCatalogFilters label:first-of-type{flex:2 12rem}.materialCatalogFilters input,.materialCatalogFilters select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:10px;padding:10px 11px;font-size:16px}.materialCatalogFilterActions{flex-wrap:wrap;flex:none;gap:10px;display:flex}.materialCatalogFilters.materialCatalogFiltersStacked{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:0;padding:10px;display:grid}.materialCatalogFiltersStacked label:first-of-type,.materialCatalogFiltersStacked label:nth-of-type(4),.materialCatalogFiltersStacked .materialCatalogFilterActions{grid-column:1/-1}.materialCatalogFiltersStacked input,.materialCatalogFiltersStacked select{min-height:40px;font-size:16px}.materialCatalogFiltersStacked .secondaryButton{min-height:40px;padding:8px 12px}.materialCatalogCount{margin:0 0 14px;font-size:13px;font-weight:700}.materialCards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.materialCards>li{min-width:0}.materialCard{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;gap:10px;min-height:100%;padding:18px;display:flex;position:relative;overflow:hidden}.materialCard:before{content:"";background:var(--primary);height:4px;position:absolute;inset:0 0 auto}.materialCardType-text:before{background:var(--cyan)}.materialCard h3{overflow-wrap:anywhere;margin:0;font-size:17px}.materialCardSubject,.materialCardMeta{overflow-wrap:anywhere;color:var(--muted);margin:0;font-size:13px}.materialCard .secondaryButton{align-self:flex-end;margin-top:auto}.materialCardTags{flex-wrap:wrap;gap:7px;display:flex}.materialTypeTag,.materialLevelTag,.materialSubjectTag,.materialTopicTag{background:var(--bg);color:#59657b;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:900;display:inline-flex}.materialTypeTag-grammar,.materialLevelTag{background:var(--primary-soft);color:var(--primary)}.materialTypeTag-text{background:var(--cyan-soft);color:var(--cyan)}.materialCatalogEmpty{border:1px dashed var(--line);border-radius:var(--radius);background:var(--panel-soft);text-align:center;margin:24px 0;padding:28px 18px}.materialCatalogPagination{justify-content:center;align-items:center;gap:16px;margin-top:22px;display:flex}.materialCatalogPagination p{margin:0;font-size:14px;font-weight:700}.materialPaginationPlaceholder{color:var(--muted);font-size:14px;font-weight:700}.materialPaper,.storyText{border-radius:18px;padding:clamp(22px,4vw,38px)}.materialPaper{background:var(--panel);border:1px solid var(--line);line-height:1.65}.storyText{background:color-mix(in srgb, var(--orange) 5%, var(--panel));border:1px solid var(--line);font-size:14px;line-height:1.82}.storyText .materialBody p{margin:0 0 13px}.storyText .materialBody p:last-child{margin-bottom:0}.materialDetailBody,.materialExercises{margin-top:22px}.materialDetailBody h3,.materialExercises h3{margin:0 0 12px;font-size:16px}.materialExercisesHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:12px;display:flex}.materialExercisesHeader h3{margin:0}.materialExercisesHeader .secondaryButton{min-height:36px;padding:6px 12px}.exerciseList{gap:12px;display:grid}.exerciseCard{border:1px solid color-mix(in srgb, var(--primary) 18%, var(--line));background:color-mix(in srgb, var(--primary) 6%, var(--panel));border-radius:16px;padding:18px}.exerciseCard h2,.exerciseCard h3{margin:0;font-size:1.05rem}.exerciseHead{align-items:center;gap:16px;margin-bottom:32px;display:flex}.exerciseNumber{background:var(--primary);color:#fff;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.exerciseHeadText{min-width:0}.exerciseHeadText h2{line-height:1.25}.exerciseHeadMuted{color:var(--muted);margin:.15rem 0 0;font-size:14px}.exerciseCardHomework{border-color:color-mix(in srgb, var(--orange) 28%, var(--line));background:color-mix(in srgb, var(--orange) 8%, var(--panel))}.exerciseCardHomework .exerciseNumber{background:var(--orange)}.exerciseItems,.exerciseOptions{margin:0;padding:0;list-style:none}.exerciseItem+.exerciseItem{border-top:1px solid color-mix(in srgb, var(--primary) 12%, var(--line));margin-top:14px;padding-top:14px}.exerciseCardHomework .exerciseItem+.exerciseItem{border-top-color:color-mix(in srgb, var(--orange) 16%, var(--line))}.exerciseItemPrompt{align-items:baseline;gap:8px;display:flex}.exerciseItemPrompt p,.exerciseItemPrompt .gapPrompt{min-width:0;margin:0}.exerciseItemLetter,.exerciseOptionLetter{font-weight:800;line-height:inherit;flex:none}.exerciseOptions,.exerciseCard .choiceList{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.exerciseOptions li,.exerciseCard .choiceOption{border:1px solid color-mix(in srgb, var(--primary) 16%, var(--line));background:color-mix(in srgb, var(--primary) 4%, var(--panel));border-radius:10px;align-items:center;gap:9px;padding:10px 12px;display:flex}.exerciseCardHomework .exerciseOptions li,.exerciseCardHomework .choiceOption{border-color:color-mix(in srgb, var(--orange) 20%, var(--line));background:color-mix(in srgb, var(--orange) 5%, var(--panel))}.exerciseOptionMark{color:var(--muted)}.exerciseSolutionValue{color:var(--text);margin:10px 0 0;font-size:14px}.exerciseSolutionLabel{font-weight:750}.exerciseMissingSolution{color:var(--muted);margin-top:8px;font-size:13px;display:inline-block}.gapBlankPreview{pointer-events:none;height:2.15em;padding-top:0;padding-bottom:0}.materialBody{gap:4px;display:grid}.materialBody>h2,.materialPaper .materialBody h2,.storyText .materialBody h2{margin:1.2rem 0 .45rem;font-size:1.15rem}.materialBody>h3,.materialPaper .materialBody h3,.storyText .materialBody h3{margin:1.1rem 0 .4rem;font-size:1rem}.grammarCallout,.grammarFormula,.grammarCompareCard{border:1px solid var(--line);border-left-width:4px;border-radius:11px;margin:14px 0;padding:14px 16px}.grammarCallout-idea{border-color:color-mix(in srgb, var(--orange) 55%, var(--line));border-left-color:var(--orange);background:color-mix(in srgb, var(--orange) 8%, var(--panel))}.grammarCallout-example{border-color:color-mix(in srgb, var(--cyan) 55%, var(--line));border-left-color:var(--cyan);background:color-mix(in srgb, var(--cyan) 8%, var(--panel))}.grammarCalloutTag{color:var(--primary);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:800;display:block}.grammarCallout-idea .grammarCalloutTag{color:var(--orange)}.grammarCallout-example .grammarCalloutTag{color:var(--cyan)}.grammarCallout p{margin:0}.grammarFormula{background:var(--panel-soft);letter-spacing:.03em;text-align:center;border-left-width:1px;font-weight:800}.grammarTable{border:1px solid var(--line);border-radius:11px;margin:14px 0;display:grid;overflow:hidden}.grammarTable-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grammarTable-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grammarTableCell{border-bottom:1px solid var(--line);padding:10px 12px}.grammarTableCell:nth-child(odd){background:var(--panel-soft)}.grammarCompareGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.grammarCompareCard{border-left-color:var(--primary);background:color-mix(in srgb, var(--primary) 6%, var(--panel));margin:0}.grammarCompareCardTitle{margin-bottom:5px;display:block}.grammarCompareCard-incorrect .grammarCompareCardTitle,.grammarCompareCard-correct .grammarCompareCardTitle{letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:800}.grammarCompareCard-incorrect{border-color:color-mix(in srgb, var(--red) 45%, var(--line));border-left-color:var(--red);background:color-mix(in srgb, var(--red) 8%, var(--panel))}.grammarCompareCard-correct{border-color:color-mix(in srgb, var(--green) 45%, var(--line));border-left-color:var(--green);background:color-mix(in srgb, var(--green) 8%, var(--panel))}.grammarCompareCard-incorrect .grammarCompareCardTitle,.grammarCompareCard-incorrect .grammarCompareCardMark{color:var(--red)}.grammarCompareCard-correct .grammarCompareCardTitle,.grammarCompareCard-correct .grammarCompareCardMark{color:var(--green)}.grammarCompareCardBody{align-items:flex-start;gap:8px;display:flex}.grammarCompareCardMark{flex:none;font-weight:800}.materialBodyEditor{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin-top:8px;overflow:hidden}.materialBodyToolbar button{width:auto;min-width:34px;padding:0 8px;font-size:12px;font-weight:750}.materialBodyEditorContent{outline:none;min-height:180px;padding:12px 14px}.materialBodyEditorContent:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.materialBodyNodeChrome{flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:8px;display:flex}.materialBodyNodeChrome input,.materialBodyNodeChrome select{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--text);border-radius:8px;padding:6px 8px;font-size:14px;font-weight:500}.materialBodyNodeChrome button{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--text);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:700}.materialBodyTableEditor,.materialBodyCompareEditor,.materialBodyFormulaEditor{margin:14px 0}.materialBodyCompareEditor .grammarCompareGrid,.materialBodyTableEditor .grammarTable,.materialBodyFormulaEditor .grammarFormula{margin:0}.materialBodyTableEditor [data-node-view-content],.materialBodyCompareEditor [data-node-view-content]{display:contents}.materialBodyTableEditor .grammarTable>[data-node-view-content-react]{border:1px solid var(--line);border-radius:11px;display:grid;overflow:hidden}.materialBodyTableEditor .grammarTable-cols-2>[data-node-view-content-react]{grid-template-columns:repeat(2,minmax(0,1fr))}.materialBodyTableEditor .grammarTable-cols-3>[data-node-view-content-react]{grid-template-columns:repeat(3,minmax(0,1fr))}.materialBodyTableEditor .grammarTable>[data-node-view-content-react]>*{min-width:0}.materialBodyTableEditor .grammarTable>[data-node-view-content-react]>:nth-child(odd){background:var(--panel-soft)}.materialBodyTableEditor .grammarTableCell{background:0 0;flex-wrap:wrap;align-items:baseline;gap:6px 8px;display:flex}.materialBodyTableLabel{flex:none}.materialBodyTableLabel input{border:0;border-bottom:1px dashed var(--line);width:9ch;min-height:0;color:inherit;background:0 0;border-radius:0;padding:0;font-size:14px;font-weight:800}.materialBodyTableLabel input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.materialBodyTableEditor .grammarTableCell>button{border:1px solid var(--line);background:var(--panel);min-height:28px;color:var(--text);border-radius:8px;margin-left:auto;padding:2px 8px;font-size:12px;font-weight:700}.materialBodyTableEditor .grammarTableCell [data-node-view-content-react]{flex:6ch;min-width:0;display:block}.materialBodyCompareEditor .grammarCompareGrid>[data-node-view-content-react]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.materialBodyCompareEditor .grammarCompareGrid>[data-node-view-content-react]>*{min-width:0}@media (max-width:780px){.materialCatalogFilters:not(.materialCatalogFiltersStacked){grid-template-columns:1fr;gap:8px;padding:12px;display:grid}.materialCatalogFilterActions{grid-template-columns:1fr;display:grid}.materialCatalogFilterActions:has(button+a){grid-template-columns:1fr 1fr}.materialCatalogFilterActions .secondaryButton{justify-content:center;width:100%}.materialBodyToolbar button{min-width:44px;padding:0 10px}}@media (max-width:620px){.exerciseOptions,.exerciseCard .choiceList,.grammarCompareGrid,.grammarTable-cols-2,.grammarTable-cols-3,.materialBodyCompareEditor .grammarCompareGrid>[data-node-view-content-react],.materialBodyTableEditor .grammarTable-cols-2>[data-node-view-content-react],.materialBodyTableEditor .grammarTable-cols-3>[data-node-view-content-react]{grid-template-columns:1fr}}
.lessonPageHead,.lessonPreviewHeader,.lessonCardActions,.lessonBuilderFooter,.lessonPanelHead,.lessonBankToolbar,.lessonBankExerciseHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lessonPreviewHeader{margin-bottom:32px}.lessonPageHead{margin-bottom:16px}.lessonPageLead{max-width:640px;color:var(--muted);margin:0;font-size:14px;line-height:1.5}.lessonPageActions,.lessonFinderActions,.lessonPickerToolbarActions,.lessonBankToolbarActions,.lessonDeleteConfirm,.lessonDeleteControls,.lessonPreviewExtraActions,.lessonAssignTrigger{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.compactButton{border-radius:8px;min-height:32px;padding:5px 10px;font-size:12px}.lessonFinder{border:1px solid var(--line);background:var(--panel);border-radius:17px;margin-bottom:16px;padding:15px}.lessonFinderMain{grid-template-columns:minmax(220px,1fr) 180px 140px;gap:9px;display:grid}.lessonFinder label,.lessonContextForm label,.lessonInfoCard label{color:var(--text);gap:6px;font-size:13px;font-weight:750;display:grid}.lessonFinder input,.lessonFinder select,.lessonContextForm select,.lessonInfoCard input,.lessonInfoCard select,.lessonInfoCard textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:11px;padding:10px 12px}.lessonInfoCard textarea{resize:vertical;min-height:96px}.lessonFinderFooter{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.lessonResultsCount{color:var(--muted);margin:0;font-size:12px;font-weight:700}.lessonCardGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0;padding:0;list-style:none;display:grid}.lessonLibraryCard{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;gap:12px;min-width:0;min-height:100%;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.lessonLibraryCard:hover{border-color:#cbc9ef;transform:translateY(-1px);box-shadow:0 10px 28px #1c273c14}.lessonCardTop{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.lessonLibraryCard h3{margin:0;font-size:16px}.lessonCardMeta{color:var(--muted);flex-wrap:wrap;gap:7px;margin:0;font-size:12px;display:flex}.lessonCardMeta span,.lessonDurationChip{color:#59647a;background:#f3f5f8;border-radius:999px;align-items:center;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.lessonCardBottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:11px;display:flex}.lessonProgressLine{background:#eef1f5;border-radius:999px;height:8px;overflow:hidden}.lessonProgressLine>span{background:linear-gradient(90deg, var(--primary), var(--primary-2));border-radius:999px;height:100%;display:block}.lessonEmptyState,.lessonEmptyMaterials{background:var(--panel-soft);text-align:center;border:1px dashed #c9d0dc;border-radius:15px;padding:36px 20px}.lessonEmptyState h3,.lessonEmptyMaterials p{margin:0 0 7px}.lessonEmptyState p{max-width:520px;color:var(--muted);margin:0 auto 16px}.lessonEmptyIcon{color:var(--primary);margin-bottom:10px;font-size:36px;display:block}.lessonEditorHead{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;margin-bottom:16px;display:grid}.lessonEditorHead small{color:var(--primary);letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:900;display:block}.lessonEditorHead h2{margin:0;font-size:23px}.lessonSteps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.lessonSteps a{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:14px;padding:13px;display:block}.lessonSteps a.isDone{background:var(--green-soft);color:var(--green);border-color:#d5e8db}.lessonSteps a[aria-current=step],.lessonSteps a.isActive{background:var(--primary-soft);color:var(--primary);border-color:#c7c5f1;font-weight:800}.lessonSteps strong{margin-bottom:4px;font-size:13px;display:block}.lessonSteps small{font-size:11px;line-height:1.35;display:block}.lessonBuilderShell,.lessonBankLayout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.lessonBankLayout{grid-template-areas:"main aside"}.lessonBankMain{grid-area:main;gap:16px;display:grid}.lessonBankAside{grid-area:aside}.lessonBuilderAside,.lessonBankAside,.lessonOutline{border:1px solid var(--line);background:var(--panel);border-radius:16px;align-self:start;padding:16px;position:sticky;top:16px}.lessonBuilderAside h3,.lessonBankAside h3,.lessonOutline h2{margin:0 0 10px;font-size:16px}.lessonOutlineJump{display:none}.lessonOutlineJump select{border:1px solid var(--line);background:#fff;border-radius:11px;width:100%;margin-top:6px;padding:10px 11px}.lessonSummaryState{color:var(--primary);margin:0 0 12px;font-size:13px;font-weight:850}.lessonSummaryLine{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:10px;padding:9px 0;font-size:12px;display:flex}.lessonSummaryLine:last-child{border-bottom:0}.lessonSummaryLine strong{color:var(--text);text-align:right}.lessonPanelHead{margin-bottom:14px}.lessonPanelHead h3,.lessonBankToolbar h3{margin:0;font-size:17px}.lessonPanelHead p,.lessonBankToolbar p{color:var(--muted);margin:3px 0 0;font-size:12px}.lessonContextForm{border:1px solid var(--line);background:#f7f8fb;border-radius:12px;flex-wrap:wrap;align-items:end;gap:9px;margin-bottom:14px;padding:11px 13px;display:flex}.lessonContextForm strong{margin-right:4px;padding-bottom:10px;font-size:13px}.lessonMaterialCards,.lessonOrderList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.lessonMaterialCard,.lessonOrderCard{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.lessonMaterialIcon,.lessonOrderIndex,.lessonTaskNumber{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:10px;place-items:center;font-size:13px;font-weight:900;display:grid}.lessonMaterialCard h3{margin:0 0 4px;font-size:14px}.lessonOrderCard>div span{margin:0 0 4px;font-size:14px;font-weight:750;display:block}.lessonOrderCard small,.lessonMaterialCard .lessonCardMeta{color:var(--muted);font-size:12px;display:block}.lessonMaterialCard .lessonCardMeta span{background:0 0;padding:0;font-size:12px;font-weight:650}.lessonCardActions .dangerButton,.lessonPreviewHeader .dangerButton,.lessonPreviewExtraActions .dangerButton,.lessonCardBottom .dangerButton,.pageBack .dangerButton{border-radius:11px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:800}.lessonIconButton{min-width:44px;padding-inline:10px}.lessonBuilderFooter{margin-top:16px}.lessonLimitNote{max-width:16rem;color:var(--muted);text-align:right;margin:0;font-size:13px;line-height:1.4}.lessonInfoForm{gap:14px;display:grid}.lessonInfoCard{border:1px solid var(--line);background:var(--panel);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.lessonInfoFull{grid-column:1/-1}.lessonPicker{min-width:0}.lessonPickerIntro{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.lessonPickerIntro p{color:var(--muted);margin:0;font-size:13px}.lessonLockedPill,.lessonOnBadge{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.lessonPickerToolbar{z-index:8;background:linear-gradient(135deg,#fff,#f7f7ff);border:1px solid #d9d8f4;border-radius:16px;margin:0 0 16px;padding:14px 16px;position:sticky;top:8px;box-shadow:0 10px 28px #3034621a}.lessonPickerToolbarMain{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lessonPickerToolbar p{margin:0;font-size:14px}.lessonSelectionCount{background:var(--primary);color:#fff;border-radius:999px;place-items:center;min-width:25px;height:25px;margin-left:6px;padding:0 7px;font-size:11px;font-weight:950;display:inline-grid}.lessonPickCardTop{justify-content:space-between;align-items:center;gap:8px;display:flex}.lessonPickCheck{color:#59647a;background:#fff;border:1px solid #d9dce7;border-radius:10px;align-items:center;gap:7px;padding:7px 9px;font-size:11px;font-weight:900;display:inline-flex}.lessonPickCheck.is-selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.materialCard.is-selected{border-color:#aaa7e9;box-shadow:0 0 0 3px #5b5bd614,0 10px 24px #1c273c14}.lessonPicker .materialCard .secondaryButton{align-self:auto;margin-top:0}.lessonPicker .lessonCardActions{margin-top:auto}.lessonBankBody h3{margin:0 0 12px;font-size:16px}.lessonBankSave{gap:8px;margin-top:14px;display:grid}.lessonBankSave .primaryButton,.lessonBankSave .secondaryButton{width:100%}.lessonTaskBank{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.lessonBankItem{border:1px solid var(--line);background:var(--panel);border-radius:13px;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:11px;padding:13px;display:grid}.lessonBankItem.is-selected{background:#fcfcff;border-color:#c3c1ef}.lessonBankItem .exerciseItemLetter{display:none}.placementToggleGroup{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.placementToggle{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:800}.placementToggleLesson.isActive{background:var(--primary-soft);color:var(--primary);border-color:#0000}.placementToggleHomework.isActive{background:var(--orange-soft);color:var(--orange);border-color:#0000}.lessonPreviewLayout{grid-template-columns:235px minmax(0,1fr);align-items:start;gap:17px;display:grid}.lessonOutlineList,.lessonOutlineList ul{flex-direction:column;gap:4px;margin:0 0 14px;padding:0;list-style:none;display:flex}.lessonOutlineList ul{margin:4px 0 0 8px}.lessonOutlineLink{color:#5d6679;border-radius:9px;padding:9px;font-size:12px;display:block}.lessonOutlineLink:hover,.lessonOutlineLink[aria-current=location]{background:var(--primary-soft);color:var(--primary)}.lessonOutlineLink[aria-current=location]{font-weight:800}.lessonPreviewCanvas{background:#f3f5f8;border:1px solid #e0e3e9;border-radius:18px;padding:22px}.lessonPreviewPaper{background:#fff;border:1px solid #e3e5ea;border-radius:15px;max-width:820px;margin:0 auto;padding:24px;box-shadow:0 12px 30px #1c273c12}.lessonPreviewBanner{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:13px;display:flex}.lessonPreviewBanner small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.lessonInstructionBox{background:#fffbea;border-left:4px solid #e4c457;border-radius:11px;margin-bottom:20px;padding:11px 13px}.lessonInstructionBox.lessonCollapse{margin-top:0}.lessonInstructionBox h2{margin:0;font-size:14px}.lessonInstructionBox p{margin:0;font-size:13px}.lessonInstructionBox p+p,.lessonInstructionBox>.lessonCollapsePanel{margin-top:8px}.lessonMaterialPreview{margin-top:22px;scroll-margin-top:24px}.lessonMaterialPreview h2{margin:0;font-size:20px}.lessonPreviewPaper [id]{scroll-margin-top:88px}.lessonStageBadge{border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:900;display:inline-flex}.lessonStageBadgeLesson{background:var(--primary-soft);color:var(--primary)}.lessonStageBadgeHome{background:var(--orange-soft);color:var(--orange)}.lessonInClassSection,.lessonHomeworkSection{border-radius:0 13px 13px 0;margin-top:16px;padding:16px}.lessonInClassSection{border-left:4px solid var(--primary);background:#fafaff}.lessonHomeworkSection{border-left:4px solid var(--orange);background:#fffaf4}.lessonInClassSection h3,.lessonHomeworkSection h3{margin:0;font-size:16px}.lessonExerciseBlock{border-radius:16px;padding:16px 18px}.lessonExerciseBlock+.lessonExerciseBlock{margin-top:12px}.lessonCollapse{margin-top:16px}.lessonMaterialPreview.lessonCollapse{margin-top:22px}.lessonCollapse>summary{cursor:pointer;align-items:center;gap:10px;scroll-margin-top:88px;list-style:none;display:flex}.lessonCollapse>summary::-webkit-details-marker{display:none}.lessonCollapse>summary:before{content:"";opacity:.7;border-bottom:2px solid;border-right:2px solid;flex:0 0 8px;width:8px;height:8px;margin:0;transition:transform .15s;transform:rotate(-45deg)}.lessonCollapse[open]>summary:before{transform:rotate(45deg)}.lessonCollapse>summary:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent);outline-offset:3px;border-radius:8px}.lessonCollapse.exerciseCardHomework>summary:focus-visible{outline-color:color-mix(in srgb, var(--orange) 40%, transparent)}.lessonCollapse>summary>:last-child{flex:1;min-width:0}.lessonCollapse>summary h2,.lessonCollapse>summary h3{margin:0}.lessonCollapse>summary .exerciseHead{margin-bottom:0}.lessonCollapse.exerciseCard>.lessonCollapsePanel{padding-top:20px}.lessonCollapsePanel{min-width:0}.lessonInClassSection.lessonCollapse,.lessonHomeworkSection.lessonCollapse{margin-top:16px}.lessonBank .exerciseCard{background:var(--panel);border-color:var(--line)}.lessonBank .exerciseCard h2,.lessonBank .exerciseCard h3{margin:0;font-size:15px}@media (max-width:1050px){.lessonCardGrid,.lessonBuilderShell,.lessonBankLayout,.lessonPreviewLayout{grid-template-columns:1fr}.lessonBankLayout{grid-template-areas:"aside""main"}.lessonBuilderAside,.lessonBankAside,.lessonOutline{position:static}.lessonBankAside{z-index:6;position:sticky;top:8px}}@media (max-width:900px){.lessonOutlineJump{display:grid}.lessonOutlineList,.lessonOutline h2{display:none}.lessonSteps,.lessonFinderMain,.lessonInfoCard,.lessonMaterialCard,.lessonOrderCard{grid-template-columns:1fr}.lessonMaterialCard>div:last-child,.lessonOrderCard>div:last-child{grid-column:1/-1}.materialCards{grid-template-columns:1fr 1fr}}@media (max-width:780px){.studentDetailFormGrid,.reviewItemPanels.isSplit{grid-template-columns:1fr}.compactButton{min-height:44px}.studentDetailFormFooter,.noteCardHeader,.noteEditFooter,.studentPublicNoteHeader{flex-direction:column;align-items:flex-start}.noteEditFooterActions{justify-content:flex-end;align-self:stretch}.studentDetailActions{justify-content:flex-start}.studentAssignmentCard .lessonCardBottom{flex-direction:column;align-items:stretch}.studentAssignmentCard .assignmentRosterActions{justify-content:flex-end}.materialCards,.materialCatalogPagination{grid-template-columns:1fr}.materialCatalogPagination{flex-direction:column}.materialCard .secondaryButton{align-self:stretch}.materialCatalogPagination .secondaryButton,.materialCatalogPagination .materialPaginationPlaceholder{text-align:center;justify-content:center;width:100%}.lessonPicker .lessonCardActions{flex-direction:column;align-items:stretch}.lessonPicker .lessonCardActions form,.lessonPicker .lessonCardActions .secondaryButton{width:100%}.lessonPageHead,.lessonPreviewHeader,.lessonFinderFooter,.lessonPickerToolbarMain,.lessonBankToolbar,.lessonBankExerciseHead,.lessonPanelHead,.lessonBuilderFooter,.lessonPreviewBanner{flex-direction:column;align-items:flex-start}.lessonEditorHead{grid-template-columns:1fr}.lessonEditorHead .secondaryButton{width:max-content}.lessonBankItem{grid-template-columns:38px 1fr}.lessonBankItem .placementToggleGroup{grid-column:1/-1;justify-content:flex-start}}.authError{color:#9b1c1c;font-size:13px}.authSuccess{color:#0f6b3e;font-size:13px}.lessonBankItemToggles{justify-items:end;gap:8px;display:grid}.assessmentToggle-discuss.isActive{color:var(--muted);background:#eef2f7;border-color:#0000}.assessmentToggle-grade.isActive{color:var(--orange);background:#fff4e5;border-color:#0000}.assessmentToggle-auto.isActive{color:#0f6b3e;background:#e7f7ee;border-color:#0000}.lessonAssignedBadge,.assignmentSubmittedBadge,.assignmentReturnedBadge{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.assignmentReturnedBadge{color:#8a5a00;background:#fff1c8}.lessonCardReturnedHint{color:#8a5a00;margin:0 0 8px;font-size:13px;font-weight:700}.lessonLockBanner small{margin-top:4px;display:block}.lessonMaterialPreviewDialog[open]{flex-direction:column;width:min(100% - 32px,880px);max-height:min(90dvh,900px);display:flex;overflow:hidden}.lessonMaterialPreviewHeader{flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 0;display:flex}.lessonMaterialPreviewHeader h2,.lessonMaterialPreviewHeader p{margin:0}.lessonMaterialPreviewHeader h2{font-size:19px}.lessonMaterialPreviewHeader p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.5}.lessonMaterialPreviewBody{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 24px 24px;overflow:auto}.lessonMaterialPreviewStatus{color:var(--muted);margin:16px 0}@media (max-width:520px){.lessonMaterialPreviewDialog[open]{width:100%;max-width:100%;max-height:100dvh;margin:auto 0 0}.lessonMaterialPreviewHeader{border-bottom:1px solid var(--line);gap:12px;padding:16px 16px 12px}.lessonMaterialPreviewHeader>div{min-width:0}.lessonMaterialPreviewHeader h2{overflow-wrap:anywhere}.lessonMaterialPreviewBody{padding:12px 16px 16px}.lessonMaterialPreviewBody .materialPaper,.lessonMaterialPreviewBody .storyText{padding:16px}.lessonMaterialPreviewBody .materialDetailHeader{margin-top:8px}}
.assignmentRoster{border:1px solid var(--line);background:var(--panel);border-radius:16px;margin-top:24px;padding:18px}.assignmentRoster h2{margin:0 0 12px;font-size:18px}.assignmentRoster ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.assignmentRoster li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.assignmentRoster li:first-child{border-top:0;padding-top:0}.assignmentRoster li div:first-child{gap:2px;display:grid}.assignmentRosterActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.studentAssignmentsPanel{margin-top:20px}.studentAssignmentsPanel .dashboardSectionHeader{align-items:flex-start;margin-bottom:16px}.studentAssignmentCard .lessonCardTop{gap:12px}.studentAssignmentCard .lessonCardTop>:first-child{min-width:0}.studentAssignmentScope{color:var(--muted);margin:4px 0 0;font-size:12px}.studentAssignmentStatus{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.studentAssignmentComment{color:var(--text);margin:0;font-size:13px;line-height:1.5}.studentAssignmentHint{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.studentAssignmentCard .lessonCardBottom{flex-wrap:wrap;align-items:flex-end}.studentAssignmentCard .assignmentRosterActions{margin-left:auto}.assignStudentList{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.assignStudentList legend{color:#4d586d;margin-bottom:2px;padding:0;font-size:13px;font-weight:800}.assignStudentChoices{gap:8px;max-height:220px;display:grid;overflow:auto}.assignStudentList label{border:1px solid var(--line);min-height:44px;color:var(--text);cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.assignStudentList label:hover{border-color:#cbd2de}.assignStudentList input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex:none;margin:0}.assignStudentList input[type=checkbox]:focus-visible{outline-offset:2px;outline:3px solid #5b5bd647}.assignStudentToolbar{flex-wrap:wrap;gap:8px;display:flex}.assignStudentToolbar .secondaryButton{min-height:36px;padding:6px 10px;font-size:12px}.assignDialogEmpty,.assignAlreadyHint{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.assignAlreadyHint{margin-top:4px}.assignLessonDialog{width:min(100% - 32px,560px)}.assignStudentLock{background:var(--panel-soft);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.assignStudentLock strong,.assignStudentLock small{display:block}.assignStudentLock small{color:var(--muted);margin-top:2px;font-size:12px}.studentLessonTabs{gap:8px;margin:0 0 18px;display:flex}.playerAnswer{gap:8px;margin-top:0;display:grid}.playerAnswer input[type=text],.playerAnswer input:not([type]){border:1px solid var(--line);border-radius:9px;width:100%;padding:8px 10px}.specialCharPalette{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.specialCharButton{border:1px solid var(--line);min-width:40px;min-height:40px;color:var(--text);cursor:pointer;background:#fff;border-radius:10px;padding:0 10px;font-size:16px;font-weight:700}.specialCharButton:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.specialCharButton:focus-visible{outline-offset:2px;outline:3px solid #5b5bd647}@media (max-width:780px){.specialCharPalette{bottom:calc(var(--app-bottom-nav-height) + env(safe-area-inset-bottom,0px) + 8px);z-index:8;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px;position:sticky;box-shadow:0 8px 24px #1c273c1f}.specialCharButton{min-width:44px;min-height:44px}}.exerciseDiscussHint,.assessmentChip{color:var(--muted);font-size:12px}.autoCorrectOk{color:#0f6b3e;font-weight:700}.autoCorrectBad{color:#9b1c1c;font-weight:700}.reviewGrade,.reviewVerdict,.reviewItem{gap:12px;display:grid}.reviewItemPrompt{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;line-height:1.6;display:flex}.reviewItemToolbar{flex-wrap:wrap;align-items:start;gap:8px;display:flex}.reviewOptionalLead,.reviewCommentHint{color:#667085;margin:0;font-size:13px}.reviewCommentCard{border:1px solid var(--line);background:#fff;border-radius:13px;gap:10px;margin:0 0 32px;padding:16px;display:grid}.reviewCommentCard h2{margin:0;font-size:16px}.reviewCommentField{color:var(--text);gap:8px;font-size:13px;font-weight:750;display:grid}.reviewPreviousComment{border:1px solid var(--line);color:var(--text);white-space:pre-wrap;background:#f4f5f8;border-radius:11px;margin:0;padding:12px 14px;font-size:14px;font-weight:500;line-height:1.55}.reviewCommentField textarea{border:1px solid var(--line);width:100%;min-height:112px;color:var(--text);resize:vertical;background:#fffbea;border-radius:11px;padding:12px 14px;line-height:1.55}.reviewCommentField textarea::placeholder{color:#98a2b3}.reviewCommentField textarea:hover{border-color:#d6dce6}.reviewCommentField textarea:focus-visible{outline-offset:2px;border-color:var(--primary);background:#fff;outline:3px solid #5b5bd647}.reviewHistoryPanel{border:1px solid var(--line);background:#fafafa;border-radius:13px;gap:10px;padding:12px;display:grid}.answerHistoryMeta{color:#667085;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.answerHistoryItem.isTeacher{background:#fff8e8;border:1px solid #ead8a8;border-left:4px solid #c9a227;border-radius:11px;gap:6px;width:100%;padding:10px 12px;display:grid}.answerHistoryBadge{color:#fff;letter-spacing:.03em;text-transform:uppercase;background:#c9a227;border-radius:999px;justify-self:start;padding:2px 8px;font-size:11px;font-weight:800}.answerHistoryNote{color:var(--text);margin:0;font-size:13px}.reviewGrade,.reviewVerdict{border:1px solid var(--line);background:#fafafa;border-radius:13px;margin:12px 0 0;padding:16px}.reviewVerdictChoices{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.reviewVerdictChoices legend{margin-bottom:8px;padding:0;font-size:13px;font-weight:750}.reviewVerdictChoice{border:1px solid var(--line);min-height:44px;color:var(--text);cursor:pointer;background:#fff;border-radius:11px;align-items:center;padding:10px 16px;font-size:14px;font-weight:750;display:inline-flex;position:relative}.reviewVerdictChoice:has(input:checked){border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.reviewVerdictChoice:focus-within{outline-offset:2px;outline:3px solid #5b5bd647}.reviewVerdictChoice input{width:18px;height:18px;accent-color:var(--primary);margin:0}.answerHistory{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.answerHistory li{flex-wrap:wrap;gap:8px;display:flex}.unassignWarning{color:#9b1c1c;margin:0;font-size:13px}.reviewLatestAnswer{margin:0}.trueFalseRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.trueFalseChoices{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.trueFalseChoice,.choiceOption{border:1px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:12px;padding:10px 16px}.trueFalseChoice.isSelected,.choiceOption.isSelected{background:#eef4ff;border-color:#2f6fed}.trueFalseChoice.isCorrect,.choiceOption.isCorrect,.gapBlank.isCorrect{background:#e8f7ee;border-color:#1f7a4c}.trueFalseChoice.isWrong,.choiceOption.isWrong,.gapBlank.isWrong{background:#fdecec;border-color:#9b1c1c}.trueFalseChoice:disabled,.choiceOption:disabled,.gapBlank:disabled{cursor:default}.choiceBlock{gap:8px;display:grid}.choiceList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.choiceOption{text-align:left;width:100%}.playerItemPrompt{margin:0;line-height:1.6}.playerItemPrompt .autoMark,.gapPrompt .autoMark,.reviewItemPrompt .autoMark{vertical-align:-.15em;margin-left:4px;display:inline}.gapPrompt{margin:0;line-height:1.8}.gapBlank{border:1.5px solid color-mix(in srgb, var(--primary) 38%, var(--line));background:var(--panel);min-width:7.5rem;max-width:14rem;min-height:2.15em;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 8%, transparent);font:inherit;vertical-align:baseline;border-radius:10px;margin:0 6px;padding:4px 12px;display:inline-block}.gapBlank:focus{outline:3px solid color-mix(in srgb, var(--primary) 22%, transparent);border-color:var(--primary);background:var(--panel)}.autoMark{font-size:18px;line-height:1}.teacherCommentBox,.reviewWorkflow{border:1px solid var(--line);background:#fff8e8;border-radius:13px;margin:0 0 16px;padding:14px}.teacherCommentBox a{color:var(--primary);font-weight:800}.reviewWorkflow{background:#fff;gap:10px;display:grid}.reviewDisclosure{gap:10px;width:100%;min-width:0;display:grid}.reviewItemPanels{gap:12px;width:100%;min-width:0;display:grid}.reviewItemPanels.isSplit{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.reviewItemPanels .reviewVerdict{width:100%;margin:0}
.calendarPage{gap:24px;display:grid}.calendarPageHead,.calendarToolbar,.calendarSummary,.calendarShell{gap:16px;display:grid}.calendarPageHead,.calendarToolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}.calendarPageHead h2,.calendarPageHead p,.calendarToolbar h3,.calendarNextCard h4,.calendarAgendaCard h3,.calendarAgendaItem h4,.calendarAgendaItem p{margin:0}.calendarPageHead p,.calendarSummaryCard small,.calendarNextCard small,.calendarAgendaItem p,.calendarLegend{color:var(--muted)}.calendarPageActions,.calendarToolbarControls{flex-wrap:wrap;gap:8px;display:flex}.calendarSummary{grid-template-columns:repeat(3,minmax(0,1fr))}.calendarSummaryCard,.calendarMain,.calendarAgendaCard{border:1px solid var(--line);background:#fff;border-radius:16px}.calendarSummaryCard{justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;display:flex}.calendarSummaryCard strong{font-size:21px}.calendarShell{grid-template-columns:minmax(0,1fr) 310px;align-items:start}.calendarMain{overflow:hidden}.calendarToolbar{border-bottom:1px solid var(--line);padding:14px 16px}.calendarWeekdays,.calendarGrid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendarWeekdays div{text-align:center;color:#7a8498;border-bottom:1px solid var(--line);background:#f8f9fb;padding:10px 4px;font-size:10px;font-weight:900}.calendarDay{background:#fff;border-bottom:1px solid #eceef3;border-right:1px solid #eceef3;flex-direction:column;min-height:102px;padding:7px;display:flex}.calendarDay:nth-child(7n){border-right:0}.calendarDay.other{color:#b0b7c4;background:#fafbfc}.calendarDay.today{background:#f8f7ff;box-shadow:inset 0 0 0 1px #bdb9ee}.dayNumber{color:#59647a;margin-bottom:6px;font-size:11px;font-weight:900}.calendarDayHit{width:100%;min-height:24px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;margin:0 0 2px;padding:0;display:flex}.calendarDayHit .dayNumber{margin-bottom:0}.calendarDay.today .dayNumber{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;display:inline-grid}.calendarChip,.calendarMore{color:#1f7a4d;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#e7f6ee;border:0;border-radius:8px;width:100%;margin:0 0 5px;padding:5px 6px;font-size:11px;font-weight:800;line-height:1.25;display:block;overflow:hidden}.calendarChip:focus-visible,.calendarMore:focus-visible,.calendarAgendaItem:focus-visible,.calendarDayMeeting:focus-visible{outline-offset:2px;outline:3px solid #5b5bd659}.calendarMore{color:var(--primary);background:0 0;font-size:10px}.calendarSide{flex-direction:column;gap:16px;display:flex}.calendarNextCard{color:#fff;background:linear-gradient(145deg,#5b5bd6,#7770e8);border-radius:16px;gap:8px;padding:20px;display:grid}.calendarNextCard small,.calendarNextCard p{color:#ffffffc7;margin:0}.calendarNextCard h4{margin:0;font-size:17px}.calendarAgendaCard{padding:15px}.calendarAgendaList{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.calendarAgendaItem{border:1px solid var(--line);text-align:left;background:#fff;border-radius:11px;grid-template-columns:46px minmax(0,1fr);gap:10px;width:100%;padding:10px;display:grid}.calendarDateBadge{width:46px;height:46px;color:var(--primary);text-align:center;background:#f2f1ff;border-radius:11px;place-items:center;font-weight:950;line-height:1;display:grid}.calendarDateBadge span{font-size:17px}.calendarDateBadge small{text-transform:uppercase;font-size:8px}.calendarAgendaItem h4{margin:0 0 3px;font-size:12px}.calendarKindDot{background:#28a06a;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.calendarLegend{margin:12px 0 0;font-size:12px}.todayOccurrenceList{margin-top:4px}.studentInviteDialog{overscroll-behavior:contain}.calendarPageLead{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.calendarEmptyMonth{color:var(--muted);margin:0;padding:10px 16px 0;font-size:13px}.calendarChip{white-space:normal;gap:1px;display:grid}.calendarChipTime,.calendarChipTitle{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendarChipTime{opacity:.78;font-size:10px;font-weight:800}.calendarFormRow{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;display:grid}.calendarFormRow>label{min-width:0}.calendarFormRow>label:last-child{grid-column:1/-1}.calendarFormRow input[type=date],.calendarFormRow input[type=time],.calendarFormRow input[type=number]{min-width:0;max-width:100%}.calendarStudentFieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.calendarStudentFieldset legend{color:#4d586d;padding:0;font-size:13px;font-weight:800}.calendarStudentList{gap:8px;display:grid}.appForm .calendarStudentFieldset p{color:var(--muted);margin:0;font-size:14px;font-weight:400}.appForm .calendarStudentFieldset label{border:1px solid var(--line);min-height:44px;color:var(--text);cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.appForm .calendarStudentFieldset label:hover{border-color:#cbd2de}.appForm .calendarStudentFieldset input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex:none;margin:0}.calendarCycleHint{color:var(--muted);margin:-4px 0 0;font-size:13px;line-height:1.45}.calendarOccurrenceDialog{width:min(100% - 32px,560px)}.calendarOccurrenceDialog .primaryButton,.calendarOccurrenceDialog .secondaryButton,.calendarOccurrenceDialog .calendarGhostButton,.calendarOccurrenceDialog button[type=submit]{min-height:36px;padding:6px 12px;font-size:12px}.calendarOccurrenceForm{gap:18px;display:grid}.calendarCyclePill{background:var(--primary-soft);width:fit-content;color:var(--primary);border-radius:999px;margin:0;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.calendarGhostButton{color:var(--muted);background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.calendarGhostButton:hover{background:var(--panel-soft);color:var(--text)}.calendarOccurrenceDialog .calendarDialogSection{margin-top:0}.calendarOccurrenceDialog .calendarSeriesNote,.calendarOccurrenceDialog .calendarOccurrenceNote,.calendarOccurrenceDialog .calendarTeacherLine{margin:0}.calendarDialogSection{border-top:1px solid var(--line);gap:10px;margin:16px 0 0;padding:14px 0 0;display:grid}.calendarDialogSection h3{margin:0;font-size:14px}.calendarParticipantList,.calendarDayList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.calendarDayMeeting{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:2px 12px;padding:10px 12px;display:grid}.calendarDayMeetingTime{color:var(--muted);padding-top:2px;font-size:12px;font-weight:800}.calendarDayMeetingBody{gap:2px;min-width:0;display:grid}.calendarDayMeetingTitle{font-size:14px;font-weight:700}.calendarDayMeetingWho{color:var(--muted);font-size:12px}.calendarDayMeetingTags{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.calendarDayMeeting .calendarCyclePill{margin:0}.calendarParticipantList li{border:1px solid var(--line);background:#fff;border-radius:12px;gap:8px;padding:10px 12px;display:grid}.calendarStatus{color:var(--muted);background:#eef0f5;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.calendarStatus-accepted{color:#1f7a4d;background:#e7f6ee}.calendarStatus-proposed{color:#9a5b12;background:#fff4e5}.calendarProposalActions,.calendarDangerForm{flex-wrap:wrap;gap:8px;display:flex}.calendarSeriesNote,.calendarOccurrenceNote,.calendarTeacherLine{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.5}@media (max-width:520px){.calendarFormRow{grid-template-columns:1fr}.calendarFormRow>label:last-child{grid-column:auto}}@media (max-width:980px){.calendarShell,.calendarSummary{grid-template-columns:1fr}}@media (max-width:700px){.calendarPageHead,.calendarToolbar{grid-template-columns:1fr;align-items:start}.calendarDay{min-height:68px;padding:4px 2px}.calendarChipTitle{display:none}.calendarChip{min-height:28px;padding:6px 8px}.calendarChipTime{opacity:1}.calendarWeekdays div{padding:8px 1px;font-size:9px}}
.messagesPage{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.messagesLayout{flex:1;grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:stretch;gap:16px;min-width:0;height:100%;min-height:0;display:grid}.messagesListPanel,.conversationPane{min-width:0;height:100%;min-height:0;overflow:hidden}.messagesListPanel{flex-direction:column;padding:8px;display:flex}.messagesListPanel>summary{cursor:pointer;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 10px;font-size:13px;font-weight:800;list-style:none;display:flex}.messagesListPanel>summary::-webkit-details-marker{display:none}.messagesListToggleHint{color:var(--muted);font-size:12px;font-weight:700;display:none}.messagesListToggleHint:after{content:"Pokaż"}.messagesListPanel[open]>summary .messagesListToggleHint:after{content:"Ukryj"}.messagesListPanel>summary:focus-visible{outline-offset:2px;outline:3px solid #5b5bd659}.conversationList{overscroll-behavior:contain;flex:auto;gap:0;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.conversationItem{border:0;border-bottom:1px solid var(--line);color:inherit;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:10px;padding:12px 10px;text-decoration:none;display:grid}.conversationList>li:last-child .conversationItem{border-bottom:0}.conversationItem:hover{background:#fafbfe}.conversationItem.isActive{background:var(--primary-soft)}.conversationItem.isUnread .conversationItemBody strong{color:var(--text)}.conversationItem.isUnread .conversationItemBody small{color:#3f4b5c}.conversationItem:focus-visible,.messageDeleteButton:focus-visible,.conversationEnded summary:focus-visible{outline-offset:2px;outline:3px solid #5b5bd659}.conversationItemBody,.conversationItemMeta{gap:2px;min-width:0;display:grid}.conversationItemBody strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.conversationItemBody small{color:var(--muted);white-space:normal;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.conversationItemMeta time{color:var(--muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.conversationItemMeta{justify-items:end}.conversationUnread{background:var(--primary);color:#fff;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.conversationWrite{color:var(--primary);font-size:12px;font-weight:800}.conversationEnded{margin-top:16px}.conversationEnded summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:800}.conversationEmptyHint,.conversationEndedNotice,.conversationPlaceholder p{color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.5}.conversationPane{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.conversationPane:has(.conversationPlaceholder){grid-template-rows:minmax(0,1fr)}.conversationHead{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:14px;display:flex}.conversationHead h2,.conversationPlaceholder h2{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:800}.conversationHead p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.4}.conversationHead .secondaryButton:not(.conversationBack){margin-left:auto}.conversationBack{display:none}.conversationBody{overscroll-behavior:contain;align-content:start;gap:10px;min-height:0;margin:16px 0 0;padding:4px 2px 12px;display:grid;overflow:auto}.conversationSentinel{height:1px}.messageBubble{background:#f0f2f6;border-radius:14px 14px 14px 4px;justify-self:start;width:min(78%,520px);padding:10px 12px}.messageBubbleMine{background:var(--primary);color:#fff;border-radius:14px 14px 4px;justify-self:end}.messageBubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.messageBubble footer{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.messageBubble time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.messageBubbleMine time{color:#ffffffc7}.messageDeleteButton{min-height:36px;color:var(--primary);background:0 0;border:0;border-radius:8px;padding:0 8px;font-size:12px;font-weight:800}.messageBubbleMine .messageDeleteButton{color:#fff}.messageDeleteButton:hover{background:color-mix(in srgb, var(--primary) 12%, transparent)}.messageBubbleMine .messageDeleteButton:hover{background:#ffffff29}.messageComposer{border-top:1px solid var(--line);gap:8px;max-width:none;margin-top:12px;padding-top:14px;display:grid}.messageComposerRow{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.messageComposerField{gap:0;min-width:0;display:grid}.messageComposer textarea{resize:vertical;min-height:52px}.messageComposer .primaryButton{min-width:92px}.messageComposerFooter,.profileFormFooter{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.messageComposerFooter small{color:var(--muted);margin-right:auto;font-size:12px;font-weight:700}.messageComposerFooter .formError,.profileFormFooter .formError,.profileFormFooter .formSuccess{flex:160px;margin:0}.profileForm{max-width:none}.studentInviteDialogActions .dangerButton{border-radius:11px;min-height:44px;padding:10px 16px}.conversationPlaceholder{align-content:center;justify-items:start;gap:8px;height:100%;min-height:0;display:grid}@media (min-width:901px){.messagesListPanel>summary{clip:rect(0, 0, 0, 0);white-space:nowrap;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (max-width:900px){.messagesLayout{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr}.messagesLayout[data-messages-pane=list] .conversationPane,.messagesLayout[data-messages-pane=thread] .messagesListPanel{display:none}.messagesListPanel,.messagesListPanel[open]{height:100%;max-height:none;overflow:auto}.messagesListPanel>summary{clip:rect(0, 0, 0, 0);white-space:nowrap;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.conversationBack{margin-left:0;display:inline-flex}.conversationHead{flex-wrap:wrap}.conversationPane{min-height:0}.messageComposerRow{grid-template-columns:1fr}.messageComposer .primaryButton{width:100%}.messageComposer textarea{resize:none;min-height:52px}}@media (max-width:520px){.studentInviteDialog,.learningProfileDialog,.calendarOccurrenceDialog,.lessonMaterialPreviewDialog{width:100%;max-width:100%;max-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;margin:auto 0 0}.studentDialogClose{width:44px;height:44px}.studentInviteDialogActions .primaryButton,.studentInviteDialogActions .secondaryButton,.studentInviteDialogActions button[type=submit],.studentInviteDialogActions .dangerButton{flex:calc(50% - 8px);width:auto;min-height:44px}.profileFormFooter .primaryButton{width:100%}}@media (max-width:380px){.appTopbar{gap:8px;padding:12px}.appTopbar .secondaryButton{padding:8px 10px;font-size:13px}}

