:root{color-scheme:light;--bg:#f5faff;--panel:rgba(255,255,255,0.84);--panel-strong:#ffffff;--line:rgba(151,178,214,0.28);--text:#17243a;--muted:#697a91;--brand:#4f8ff7;--brand-dark:#2f72e6;--brand-soft:#eaf5ff;--aqua:#7ad7f0;--lavender:#9eb8ff;--ok:#0f766e;--warn:#b45309;--danger:#b91c1c;--shadow:0 18px 48px rgba(58,102,158,0.14);--soft-shadow:0 10px 30px rgba(74,129,200,0.1)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(180deg,rgba(245,250,255,.88),rgba(248,252,255,.96)),url(/assets/student-bg.jpg) top /cover fixed,var(--bg);color:var(--text);font-family:Arial,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh;position:relative}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;height:64px;display:flex;justify-content:space-between;gap:16px;padding:0 32px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.76);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 8px 28px rgba(65,105,150,.08)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;font-weight:700;font-size:17px;color:var(--text)}.brandMark{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--aqua));color:white;box-shadow:0 10px 22px rgba(79,143,247,.26)}.brandMark.large{width:52px;height:52px;border-radius:18px}.nav{display:flex;gap:8px;color:var(--muted);font-size:14px}.nav,.nav a{align-items:center}.nav a{min-height:34px;display:inline-flex;padding:0 10px;border-radius:999px}.nav a:hover{background:rgba(234,245,255,.92);color:var(--text)}.container{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:30px 0 64px}h1{margin:0 0 20px;font-size:28px;line-height:1.2}h2{margin:0 0 14px;font-size:18px;line-height:1.35}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.card{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.86);color:var(--text);cursor:pointer;font-weight:600;box-shadow:0 6px 16px rgba(70,112,160,.08)}.button.primary{border-color:var(--brand);background:linear-gradient(135deg,var(--brand),#65c9ed);color:white;box-shadow:0 14px 28px rgba(79,143,247,.28)}.button.primary:hover{background:var(--brand-dark)}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px}.field label{font-size:13px;color:var(--muted)}.input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:rgba(255,255,255,.9)}.input:focus{border-color:var(--brand);outline:3px solid rgba(21,94,239,.14)}.muted{color:var(--muted)}.status{display:inline-flex;align-items:center;min-height:24px;gap:6px;padding:0 10px;border-radius:999px;background:var(--brand-soft);color:#2f65bd;font-size:12px}.dangerText{color:var(--danger)}.attachmentPreviewGrid{display:grid;grid-gap:10px;gap:10px}.attachmentPreviewCard{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;min-height:78px;padding:10px 42px 10px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.78)}.attachmentFileIcon,.attachmentThumb{width:72px;height:56px;border-radius:6px}.attachmentThumb{object-fit:cover;border:1px solid var(--line);background:#f8fbff}.attachmentFileIcon{display:grid;place-items:center;color:var(--brand);background:var(--brand-soft)}.attachmentMeta{display:grid;grid-gap:4px;gap:4px;min-width:0}.attachmentMeta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachmentRemove{position:absolute;top:10px;right:10px}.attachmentOpenCard{grid-template-columns:72px minmax(0,1fr) auto;padding-right:12px;color:var(--text);text-decoration:none}.attachmentOpenCard>svg{color:var(--muted)}.studentProgressGrid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);grid-gap:14px;gap:14px}.courseAdminMain>.card .studentProgressGrid{display:none}.studentProgressList{display:grid;grid-gap:10px;gap:10px;max-height:440px;overflow:auto}.studentProgressItem{display:grid;grid-gap:9px;gap:9px;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.82);color:var(--text);cursor:pointer;text-align:left}.studentProgressItem.active,.studentProgressItem:hover{border-color:var(--brand);background:#eff6ff}.compactTrack{height:8px;margin:0}.studentProgressDetail{display:grid;align-content:start;grid-gap:12px;gap:12px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(248,252,255,.78)}.learningPreview{padding:12px;border-radius:8px;background:white}.learningPreview,.submissionRecord{display:grid;grid-gap:8px;gap:8px}.submissionListItem{width:100%;color:var(--text);cursor:pointer;text-align:left}.submissionListItem.active,.submissionListItem:hover{border-color:var(--brand);background:#eff6ff}.submissionDetailPanel{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid rgba(79,143,247,.28);border-radius:8px;background:rgba(248,252,255,.9)}.submissionAnswerBlock{display:grid;grid-gap:8px;gap:8px}.submissionAnswerBlock p{margin:0;white-space:pre-wrap;line-height:1.7}.questionTextarea{min-height:92px}.questionItem{display:grid;grid-gap:6px;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.questionItem p{margin:0;white-space:pre-wrap}.assignmentHistoryList{display:grid;grid-gap:10px;gap:10px}.assignmentHistoryItem{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.78)}.assignmentHistoryTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.assignmentHistoryTitle strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignmentHistoryItem p{margin:10px 0;color:var(--text);line-height:1.7;white-space:pre-wrap}.assignmentHistoryMeta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:13px}.accountPermissionPanel{display:grid;grid-gap:12px;gap:12px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.courseAdminMain .accountPermissionPanel{display:none}.grantUserGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:10px;gap:10px}.grantUserCard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.82);cursor:pointer}.grantUserCard.granted{border-color:rgba(21,94,239,.42);background:#eff6ff}.grantUserCard span{display:grid;grid-gap:2px;gap:2px;min-width:0}.grantUserCard em,.grantUserCard strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grantUserCard em,.grantUserCard i{color:var(--muted);font-size:13px;font-style:normal}.grantUserCard.granted i{color:var(--brand);font-weight:700}.accountSettingsPanel{margin-top:16px}.accountCreateGrid{grid-template-columns:minmax(160px,1fr) minmax(220px,1.1fr) minmax(180px,1fr) 140px auto;grid-gap:10px;gap:10px}.accountCreateGrid,.accountRow{display:grid;align-items:center}.accountRow{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);grid-gap:16px;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.accountControls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.passwordInput{width:180px}.compactSelect{width:120px}.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:16px;gap:16px}.courseAdminLayout{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.courseSidebar{position:-webkit-sticky;position:sticky;top:76px}.courseAdminMain{display:grid;grid-gap:16px;gap:16px}.courseNavItem{width:100%;display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--text);cursor:pointer;text-align:left;font-weight:600}.courseNavItem.active,.courseNavItem:hover{border-color:var(--brand);background:#eff6ff;color:var(--brand)}.courseNavItem.dragging{opacity:.58;border-color:var(--brand);background:#eaf5ff}.dragHandle{flex:0 0 auto;color:var(--muted);cursor:-webkit-grab;cursor:grab}.courseNavItem span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.courseHero{align-items:center;gap:18px;margin-bottom:16px}.courseHero,.studentHero{display:flex;justify-content:space-between}.studentHero{position:relative;align-items:flex-end;gap:24px;min-height:190px;margin-bottom:18px;padding:28px;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(236,248,255,.72)),radial-gradient(circle at 86% 12%,rgba(126,186,255,.34),transparent 36%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden}.studentHero h1,.studyHeader h1{margin-bottom:10px;font-size:clamp(28px,4vw,42px)}.studentHero p,.studyHeader p{max-width:720px;margin:0;color:var(--muted);line-height:1.8}.eyebrow{display:inline-flex;align-items:center;gap:7px;min-height:28px;margin-bottom:10px;padding:0 10px;border:1px solid rgba(120,170,235,.24);border-radius:999px;background:rgba(238,247,255,.88);color:#3b73cf;font-size:13px;font-weight:700}.heroStats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));grid-gap:10px;gap:10px;width:min(300px,100%)}.heroStats span{display:grid;grid-gap:3px;gap:3px;min-width:92px;padding:12px;border:1px solid rgba(139,177,221,.24);border-radius:8px;background:rgba(255,255,255,.76);color:var(--muted);font-size:12px;text-align:center}.heroStats strong{color:var(--text);font-size:22px}.heroLogoMark{position:absolute;right:26px;top:26px;width:72px;height:72px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.64);border-radius:24px;background:linear-gradient(135deg,rgba(79,143,247,.92),rgba(122,215,240,.86));color:white;box-shadow:0 18px 36px rgba(79,143,247,.24);transform:rotate(-8deg);opacity:.92}.heroLogoMark:after{content:"";position:absolute;inset:13px;border-radius:18px;border:1px solid rgba(255,255,255,.5)}.continuePanel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;margin-bottom:22px;padding:16px;border:1px solid rgba(139,177,221,.24);border-radius:8px;background:rgba(255,255,255,.82);box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.continuePanel h2{margin-bottom:4px}.sectionHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0 12px}.sectionHeader h2{margin-bottom:4px}.courseHero h1,.courseHero h2{margin-bottom:8px}.courseGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.courseCard{display:grid;grid-gap:14px;gap:14px;align-content:start}.studentCourseCard{min-height:282px;padding:18px;border:1px solid rgba(139,177,221,.24);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,252,255,.78));box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.studentCourseCard:hover{transform:translateY(-3px);border-color:rgba(79,143,247,.42);box-shadow:0 20px 44px rgba(74,129,200,.18)}.courseCardTop{display:flex;align-items:center;justify-content:space-between;gap:12px}.courseCardIcon{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,#eef7ff,#e7fbff);color:var(--brand)}.softPill{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border:1px solid rgba(109,161,232,.22);border-radius:999px;background:rgba(238,247,255,.88);color:#3a73c9;font-size:12px;font-weight:700}.softPill.success{border-color:rgba(15,118,110,.16);background:rgba(230,250,246,.9);color:var(--ok)}.courseMetaGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.courseMetaGrid.compact{grid-template-columns:repeat(4,max-content);margin-top:12px}.courseMetaGrid span{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.64);color:var(--muted);font-size:13px}.courseResourceList{display:grid;grid-gap:8px;gap:8px;margin-top:2px}.courseResourceList span{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-height:38px;padding:6px 10px;border:1px solid rgba(139,177,221,.22);border-radius:8px;background:rgba(255,255,255,.68);color:var(--muted);white-space:nowrap}.courseResourceList i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--brand-soft);color:var(--brand);font-style:normal}.courseResourceList em{min-width:0;overflow:hidden;color:#4b6078;font-style:normal;font-size:13px;text-overflow:ellipsis}.courseResourceList strong{color:var(--text);font-size:13px;font-weight:700}.learnLink{display:inline-flex;align-items:center;gap:8px;margin-top:2px;color:var(--brand-dark);font-weight:700}.learningLayout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:16px;gap:16px;align-items:start}.courseStudyHeader{display:grid;grid-gap:12px;gap:12px;margin-bottom:16px}.courseStudyHeader h1{margin-bottom:8px}.courseWatchLayout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:16px;gap:16px;align-items:start}.studyHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:18px;gap:18px;margin-bottom:16px;padding:22px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(237,248,255,.72))}.studyHeader,.videoLearningPanel{border:1px solid rgba(139,177,221,.24);border-radius:8px;box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.videoLearningPanel{padding:14px;background:rgba(255,255,255,.82)}.courseSidePanel{display:grid;grid-gap:16px;gap:16px}.sideCard{border:1px solid rgba(139,177,221,.24);border-radius:8px;padding:16px;background:rgba(255,255,255,.84);box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sideTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sideTitle h2{margin:0}.sideTitle span{color:var(--muted);font-size:13px}.securePlayer{display:grid;grid-gap:12px;gap:12px}.playerExpandedLock{overflow:hidden}.securePlayer.expanded{display:grid;grid-gap:12px;gap:12px}.securePlayer:-webkit-full-screen{display:grid;grid-template-rows:minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;width:100vw;height:100vh;height:100dvh;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#08111f}.securePlayer:fullscreen{display:grid;grid-template-rows:minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;width:100vw;height:100vh;height:100dvh;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#08111f}.playerFrame{position:relative;aspect-ratio:16/9;background:#101828;border-radius:8px;overflow:hidden;box-shadow:0 16px 38px rgba(16,24,40,.18)}.securePlayer:-webkit-full-screen .playerFrame{align-self:center;justify-self:center;width:min(100%,calc((100dvh - 132px) * 16 / 9));height:auto;max-height:calc(100dvh - 132px);aspect-ratio:16/9;border-radius:10px}.securePlayer:fullscreen .playerFrame{align-self:center;justify-self:center;width:min(100%,calc((100dvh - 132px) * 16 / 9));height:auto;max-height:calc(100dvh - 132px);aspect-ratio:16/9;border-radius:10px}.playerFrame video{width:100%;height:100%;display:block;object-fit:contain}.emptyPlayer{display:grid;place-items:center;color:rgba(255,255,255,.78)}.watermark{position:absolute;pointer-events:none;color:rgba(255,255,255,.62);font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.8);transform:translate(-50%,-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:56%;line-height:1.45;text-align:center;word-break:break-word}.watermarkPrimary{background:rgba(15,23,42,.2);font-weight:600}.watermarkCorner,.watermarkPrimary{z-index:2;padding:4px 8px;border-radius:5px}.watermarkCorner{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);background:rgba(15,23,42,.28);color:rgba(255,255,255,.68);font-size:11px;line-height:1.45;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;word-break:break-word}.playerScrubber input{width:100%;accent-color:var(--brand)}.securePlayer:-webkit-full-screen .playerControls,.securePlayer:-webkit-full-screen .playerScrubber{margin:0 auto;width:min(960px,100%)}.securePlayer.expanded .playerControls,.securePlayer.expanded .playerScrubber,.securePlayer:fullscreen .playerControls,.securePlayer:fullscreen .playerScrubber{margin:0 auto;width:min(960px,100%)}.securePlayer:-webkit-full-screen .playerControls{color:rgba(255,255,255,.92)}.securePlayer:fullscreen .playerControls{color:rgba(255,255,255,.92)}.playerBadge{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(15,23,42,.72);color:rgba(255,255,255,.86);font-size:12px;pointer-events:none}.playerControls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 0}.playerControls p{margin:4px 0 0;font-size:13px}.securityNotice{width:-moz-fit-content;width:fit-content}.nextLessonButton{border-color:rgba(79,143,247,.24);background:rgba(234,245,255,.92);color:var(--brand-dark)}.lessonButton{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:11px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.76);color:var(--text);cursor:pointer;text-align:left;box-shadow:0 8px 18px rgba(74,129,200,.06)}.lessonButton.active,.lessonButton:hover{border-color:var(--brand);background:linear-gradient(135deg,rgba(238,247,255,.96),rgba(232,251,255,.9));color:var(--brand)}.lessonButton:disabled{cursor:not-allowed;opacity:.55}.lessonButton span{display:grid;grid-gap:4px;gap:4px}.lessonButton .muted{display:inline-flex;align-items:center;gap:5px;font-size:13px}.list{display:grid;grid-gap:8px;gap:8px}.resourceRow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px;border:1px solid rgba(139,177,221,.2);border-radius:8px;background:rgba(255,255,255,.7)}.emptyText{margin:0;color:var(--muted);font-size:14px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.actions{justify-content:flex-end;gap:8px;flex-wrap:wrap}.actions,.iconButton{display:inline-flex;align-items:center}.iconButton{justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.86);color:var(--text);cursor:pointer}.logoutButton{width:38px;height:38px}.ghostButton{background:rgba(255,255,255,.72)}.errorText{margin:0 0 12px;color:var(--danger);font-weight:700}.assignmentLayout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:16px;gap:16px;align-items:start}.compactUpload{min-height:132px}.iconButton:hover{background:#eef2f7}.iconButton.danger{color:var(--danger)}.textarea{min-height:110px;resize:vertical}.loginShell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,rgba(245,250,255,.82),rgba(247,252,255,.96)),url(/assets/student-bg.jpg) 50% /cover fixed,var(--bg)}.loginPanel{width:min(920px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);grid-gap:20px;gap:20px;align-items:stretch}.loginCard,.loginIntro{border:1px solid rgba(139,177,221,.24);border-radius:8px;background:rgba(255,255,255,.82);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.loginIntro{display:flex;align-items:center;gap:16px;padding:28px}.loginIntro h1{margin-bottom:10px;font-size:40px}.loginIntro p{margin:0;color:var(--muted);line-height:1.8}.loginCard{display:grid;align-content:center;padding:26px}.uploadZone{display:grid;place-items:center;min-height:176px;border:2px dashed var(--line);border-radius:8px;background:rgba(248,252,255,.86);cursor:pointer;margin:8px 0 12px;transition:border-color .15s ease,background .15s ease}.uploadZone.active{border-color:var(--brand);background:var(--brand-soft)}.uploadZone span{text-align:center;color:var(--muted);font-weight:600}.uploadZone svg{color:var(--brand);margin-bottom:8px}.progressPanel{display:grid;grid-gap:10px;gap:10px;margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.progressHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.progressHeader span{color:var(--muted);font-size:13px}.progressTrack{height:10px;overflow:hidden;border-radius:999px;background:#e5eaf3}.progressBar{height:100%;border-radius:inherit;background:var(--brand);transition:width .2s ease}.progressBar.processing{background-image:linear-gradient(45deg,rgba(255,255,255,.36) 25%,transparent 0,transparent 50%,rgba(255,255,255,.36) 0,rgba(255,255,255,.36) 75%,transparent 0,transparent);background-size:22px 22px;animation:progressStripe 1s linear infinite}.progressBar.failed{background:var(--danger)}@keyframes progressStripe{0%{background-position:0 0}to{background-position:22px 0}}@media (max-width:800px){.topbar{padding:0 16px}.brand{font-size:15px}.nav{gap:4px}.courseAdminLayout,.split{grid-template-columns:1fr}.courseSidebar{position:static}.courseHero{display:grid}.assignmentLayout,.continuePanel,.loginPanel,.studentHero,.studyHeader{grid-template-columns:1fr}.studentHero{align-items:start;padding:20px}.heroStats{width:100%}.continuePanel{justify-items:start}.accountCreateGrid,.accountRow,.courseMetaGrid,.courseMetaGrid.compact,.courseWatchLayout,.learningLayout{grid-template-columns:1fr}.accountControls{justify-content:flex-start}.courseMetaGrid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.playerControls{align-items:stretch;flex-direction:column}.playerControls .actions{justify-content:stretch}.playerControls .button{flex:1 1}.loginIntro{align-items:flex-start;flex-direction:column}.loginPanel{min-width:0}}