:root{--hl-primary: #2E7CF6;--hl-primary-hover: #1F6DE5;--hl-bg: #F3F7FD;--hl-surface: #FFFFFF;--hl-surface-muted: #F8FAFC;--hl-text: #111827;--hl-body: #334155;--hl-muted: #64748B;--hl-border: #E5E7EB;--hl-border-strong: #E4EAF3;--hl-success: #22C55E;--hl-warning: #F59E0B;--hl-error: #EF4444;--hl-shadow: 0 8px 20px rgba(46, 124, 246, .06);--hl-header-height: 75px;--hl-radius-card: 12px;--hl-radius-panel: 10px;--hl-radius-control: 8px;--hl-page-gap: 16px;--hl-page-padding: 24px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;color:var(--hl-text);background:var(--hl-bg)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;color:var(--hl-body);background:var(--hl-bg);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--hl-primary)}.full-width{width:100%}.route-loading{display:flex;min-height:100vh;align-items:center;justify-content:center}.eyebrow{display:inline-flex;margin-bottom:8px;color:var(--hl-primary);font-size:13px;font-weight:700}.state-card{display:grid;min-height:180px;place-items:center;border:1px solid var(--hl-border);border-radius:8px}.page-state-alert{margin-bottom:0}.page-back-button{flex:0 0 auto;height:36px;padding:0 12px;border-radius:var(--hl-radius-control)}.login-shell{position:relative;display:flex;--login-accent: #2E7CF6;--login-accent-strong: #1F64D1;--login-accent-soft: rgba(46, 124, 246, .1);--login-accent-ring: rgba(46, 124, 246, .28);min-height:100vh;overflow:hidden;color:#fff;background:#101827}.login-background{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.login-background:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:radial-gradient(circle at 22% 18%,rgba(53,190,164,.36),transparent 28%),radial-gradient(circle at 78% 26%,rgba(70,118,220,.32),transparent 30%),radial-gradient(circle at 55% 82%,rgba(246,186,90,.15),transparent 28%),linear-gradient(135deg,#0a2621,#132b3e 46%,#17264b);transform:scale(1.02)}.login-bg-panel{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(5,12,20,.18),transparent 28%,rgba(5,12,20,.24)),linear-gradient(180deg,#ffffff0d,#060b18c2),repeating-linear-gradient(112deg,rgba(255,255,255,.045) 0 1px,transparent 1px 18px)}.login-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent);mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent)}.login-stage{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:min(100% - 48px,540px);min-height:100vh;margin:0 auto;padding:48px 0}.login-card-head{min-width:0}.login-product-name{display:block;color:#101827;font-size:20px;font-weight:700;letter-spacing:0}.login-product-subtitle{display:block;margin-top:3px;color:#5b6778;font-size:13px;letter-spacing:0}.login-brand-row{display:flex;gap:14px;align-items:center;margin-bottom:24px}.login-brand-logo{flex:0 0 auto;width:50px;height:50px;object-fit:contain}.login-card{display:grid;width:100%;padding:38px;color:var(--hl-text);background:#ffffffe6;border:1px solid rgba(255,255,255,.68);border-radius:8px;box-shadow:0 30px 90px #050a1457;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card .ant-space{min-width:0}.login-card .eyebrow{color:#5b6778;font-weight:700}.login-role-switch{display:flex;gap:0;padding:4px;background:#eef3fa;border:1px solid #DDE7F5;border-radius:8px}.login-role-switch button{display:inline-flex;position:relative;flex:1 1 0;gap:8px;align-items:center;justify-content:center;min-width:0;min-height:46px;padding:0 14px;color:#607086;font:inherit;font-weight:700;cursor:pointer;background:transparent;border:0;border-radius:6px;transition:color .12s ease,background-color .12s ease,box-shadow .12s ease}.login-role-switch button:disabled{cursor:not-allowed;opacity:.7}.login-role-switch button.is-active{color:#10233f;background:#fff;box-shadow:0 6px 18px #264b781f,inset 0 0 0 1px #2e7cf638}.login-role-switch .anticon{color:currentColor}.login-card .ant-form-item-label>label{color:#263241;font-weight:700}.login-card .ant-input-affix-wrapper{min-height:44px;border-radius:8px}.login-actions{justify-content:center;width:100%}.login-actions>.ant-space-item{width:min(100%,360px)}.login-actions .ant-btn{width:100%;min-height:46px;border-radius:8px}.login-actions .ant-btn-primary{background:var(--login-accent);border-color:var(--login-accent);box-shadow:0 10px 24px #0f172a24}.login-actions .ant-btn-primary:not(:disabled):not(.ant-btn-disabled):hover{background:var(--login-accent-strong);border-color:var(--login-accent-strong)}.student-shell{width:min(100%,1180px);margin:0 auto;padding:var(--hl-page-padding)}.student-product-shell{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100vh;background:var(--hl-bg)}.student-learning-header{position:sticky;top:0;z-index:25;display:flex;gap:16px;align-items:center;min-height:68px;padding:10px 24px;background:#fffffff0;border-bottom:1px solid var(--hl-border);box-shadow:0 8px 28px #1118270d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.student-brand{display:flex;gap:10px;align-items:center;flex:0 0 auto;min-height:44px;padding:0;color:var(--hl-text);cursor:pointer}.student-brand-logo{flex:0 0 auto;width:34px;height:34px;object-fit:contain}.student-brand strong,.student-brand span{display:block;line-height:1.25}.student-brand span{color:var(--hl-muted);font-size:12px}.student-user-card{display:flex;gap:10px;align-items:center;padding:12px;background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:var(--hl-radius-card)}.student-user-card .ant-typography{display:block;line-height:1.4}.student-avatar,.profile-avatar-large{display:grid;flex:0 0 auto;place-items:center;color:#fff;font-weight:700;background:var(--hl-primary)}.student-avatar{width:38px;height:38px;border-radius:var(--hl-radius-panel)}.profile-avatar-large{width:72px;height:72px;margin-bottom:12px;border-radius:18px;font-size:28px}.student-nav-list{display:flex;flex:1 1 auto;gap:6px;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:none}.student-nav-list::-webkit-scrollbar{display:none}.student-nav-item{display:flex;flex:0 0 auto;gap:8px;align-items:center;min-height:38px;padding:0 14px;color:var(--hl-body);font-weight:600;background:var(--hl-surface-muted);border:1px solid transparent;border-radius:999px}.student-nav-item:hover,.student-nav-item.is-active{color:var(--hl-primary);background:#2e7cf61a;border-color:#2e7cf62e}.student-header-actions{display:flex;flex:0 0 auto;gap:10px;align-items:center}.student-project-select{width:180px}.student-training-card-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.student-training-eyebrow{margin-bottom:0;font-size:18px}.student-training-switches{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:100%;padding:6px;background:#ffffffdb;border:1px solid var(--hl-border);border-radius:8px;box-shadow:0 6px 18px #1118270f}.student-training-switch{display:flex;gap:8px;align-items:center;min-width:0;padding:2px 2px 2px 8px}.student-training-switch .ant-typography{flex:0 0 auto;font-size:12px;font-weight:700}.student-training-select{width:190px}.student-training-select .ant-select-selector{border-color:transparent!important;background:var(--hl-surface-muted)!important;box-shadow:none!important}.student-exam-reminder-head{margin-bottom:12px}.student-user-chip{display:flex;gap:9px;align-items:center;min-width:0;padding:6px 10px;background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:999px}.student-user-chip .ant-typography{max-width:118px;overflow:hidden;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.student-main-area{min-width:0}.student-content{width:min(100%,1240px);margin:0 auto;padding:var(--hl-page-padding)}.student-page{display:grid;gap:var(--hl-page-gap)}.student-practice-page{padding-bottom:92px}.student-page-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.student-page-title{display:flex;gap:12px;align-items:flex-start;min-width:0}.student-page-title-main{min-width:0}.student-page-title-main .ant-typography{overflow-wrap:anywhere}.student-page-title h2{margin:0 0 4px}.student-page-actions{justify-content:flex-end;max-width:100%}.student-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:stretch}.student-dashboard-hero>div:first-child,.student-next-card,.student-section-card,.student-stat-card,.compact-course-card,.student-profile-card{border:1px solid var(--hl-border);border-radius:var(--hl-radius-card);box-shadow:var(--hl-shadow)}.student-dashboard-hero>div:first-child{padding:24px;background:var(--hl-surface)}.student-next-card .ant-card-body{display:grid;height:100%;align-content:center;gap:10px}.student-task-list .ant-list-item{align-items:center;padding:14px 0}.student-task-icon{display:grid;width:38px;height:38px;place-items:center;color:var(--hl-primary);background:#2e7cf61a;border-radius:var(--hl-radius-panel)}.student-task-icon.is-practice{color:#92400e;background:#f59e0b24}.student-task-icon.is-exam,.student-task-icon.is-done{color:#166534;background:#22c55e24}.student-task-icon.is-review{color:var(--hl-muted);background:#f1f5f9}.course-path{display:grid;gap:10px}.course-path-node{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:72px;padding:12px;color:var(--hl-body);background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:var(--hl-radius-card)}.course-path-node>span:first-child{display:grid;width:34px;height:34px;place-items:center;color:var(--hl-primary);font-weight:700;background:#2e7cf61f;border-radius:var(--hl-radius-panel)}.course-path-node.is-done>span:first-child{color:#166534;background:#22c55e29}.course-path-node.is-locked{opacity:.68}.course-path-node .ant-typography{display:block;line-height:1.4}.course-path-main{display:grid;gap:4px;min-width:0}.course-path-progress{display:grid;gap:6px;margin-top:6px}.course-path-actions{justify-content:flex-end}.course-path.is-compact .course-path-node{min-height:52px}.learning-progress-panel{display:grid;gap:10px}.learning-progress-panel h4{margin:0}.learning-progress-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:34px;color:var(--hl-body)}.practice-toolbar,.sticky-submit-bar{display:flex;gap:12px;align-items:center;justify-content:space-between}.sticky-submit-bar{position:fixed;right:24px;bottom:20px;left:24px;z-index:120;justify-content:center;padding:12px;background:#fffffff0;border:1px solid var(--hl-border);border-radius:var(--hl-radius-card);box-shadow:var(--hl-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sticky-submit-bar .ant-btn{min-width:132px}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}.exam-side-panel{position:sticky;top:calc(var(--hl-header-height) + 18px);display:grid;order:2;gap:12px;padding:16px;background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:var(--hl-radius-card)}.exam-answer-sheet{display:grid;gap:10px}.exam-answer-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.exam-answer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.exam-answer-dot{display:grid;width:100%;aspect-ratio:1;place-items:center;color:var(--hl-muted);font-weight:700;background:#fff;border:1px solid var(--hl-border);border-radius:var(--hl-radius-control);cursor:pointer}.exam-answer-dot:hover{color:var(--hl-primary);border-color:var(--hl-primary)}.exam-answer-dot.is-answered{color:#fff;background:var(--hl-primary);border-color:var(--hl-primary)}.exam-answer-dot.is-unanswered{color:#64748b;background:#fff;border-color:#cbd5e1}.exam-answer-dot.is-wrong{color:#fff;background:#dc2626;border-color:#dc2626}.exam-answer-legend{display:flex;flex-wrap:wrap;gap:10px;color:var(--hl-muted);font-size:12px}.exam-answer-legend span{display:inline-flex;gap:5px;align-items:center}.exam-answer-legend i{width:10px;height:10px;border:1px solid #CBD5E1;border-radius:3px}.exam-answer-legend i.is-answered{background:var(--hl-primary);border-color:var(--hl-primary)}.exam-answer-legend i.is-unanswered{background:#fff}.student-exam-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.student-exam-paper-list .ant-list-item{align-items:flex-start}.exam-attempt-progress{display:grid;grid-template-columns:minmax(120px,220px) auto auto;gap:10px;align-items:center}.question-review-link{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:var(--hl-radius-panel)}.wrong-review-card,.resume-learning-card{border:1px solid var(--hl-border);border-radius:var(--hl-radius-card);box-shadow:var(--hl-shadow)}.wrong-review-card .ant-list-item{align-items:flex-start}.wrong-review-card .ant-list-item.is-clickable{cursor:pointer;border-radius:var(--hl-radius-panel);transition:background-color .18s ease}.wrong-review-card .ant-list-item.is-clickable:hover{background:#225cd90f}.wrong-question-index{display:grid;width:28px;height:28px;place-items:center;color:#b91c1c;font-weight:700;background:#fee2e2;border-radius:8px}.resume-learning-content{display:flex;justify-content:space-between;width:100%}.student-profile-card .ant-card-body{display:grid;justify-items:start}.certificate-card .ant-card-body{min-height:210px}.profile-card-action{margin-top:14px}.student-bottom-nav,.student-mobile-context-bar{display:none}.student-hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:stretch;margin-bottom:16px}.student-hero>div:first-child,.next-action-card,.section-card,.student-metrics .ant-card,.course-card,.question-card,.video-card{border:1px solid var(--hl-border);border-radius:var(--hl-radius-card);box-shadow:var(--hl-shadow)}.student-hero>div:first-child{padding:24px;background:var(--hl-surface)}.next-action-card .ant-card-body{display:grid;height:100%;align-content:center;gap:10px}.student-metrics,.section-card{margin-bottom:16px}.section-heading,.admin-page-header,.exam-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading.compact{align-items:center}.section-heading h3,.admin-page-header h2,.exam-header h3,.student-title-block h2{margin-top:0;margin-bottom:4px}.course-card,.course-card .ant-card-body{height:100%}.student-section-card .ant-card-body,.student-stat-card .ant-card-body,.compact-course-card .ant-card-body,.section-card .ant-card-body,.course-card .ant-card-body,.question-card .ant-card-body,.video-card .ant-card-body{min-width:0}.course-overview-meta{margin-bottom:10px}.course-overview-actions{padding-top:2px}.course-card-head,.course-checks,.toolbar-row,.form-actions{display:flex;flex-wrap:wrap;gap:var(--hl-radius-control);align-items:center}.student-topbar{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}.student-title-block{min-width:0}.page-alert{margin-bottom:16px}.training-result-score{display:block;color:var(--hl-text);font-size:44px;font-weight:700;line-height:1.1}.training-result-icon{font-size:76px}.training-result-icon.is-passed{color:#16a34a}.training-result-icon.is-failed{color:#f59e0b}.training-result-icon.is-loading,.training-result-icon.is-in-progress{color:#2563eb}.exam-score-source-row{display:grid;gap:4px;min-width:0;padding:6px 0}.exam-score-source-row+.exam-score-source-row{border-top:1px solid var(--hl-border)}.ppt-player-v2{display:grid;gap:14px}.ppt-player-v2.is-fullscreen,.lesson-video-section.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;width:100vw;height:100vh;padding:0;overflow:hidden;color:#fff;background:#0f172a;border:0;border-radius:0}.ppt-player-v2.is-fullscreen{grid-template-rows:minmax(0,1fr)}.ppt-player-v2.is-fullscreen .ant-typography,.lesson-video-section.is-fullscreen .ant-typography{color:#fff}.ppt-player-v2.is-fullscreen .ant-typography-secondary,.lesson-video-section.is-fullscreen .ant-typography-secondary{color:#ffffffb8}.ppt-player-v2.is-fullscreen .ant-progress-text,.lesson-video-section.is-fullscreen .ant-progress-text{color:#fff}.lesson-section-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.lesson-section-list{position:sticky;top:calc(var(--hl-header-height) + 18px);display:grid;gap:10px}.lesson-section-list h4{margin:0 0 4px}.lesson-section-item{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;gap:10px;align-items:center;width:100%;min-height:62px;padding:10px;color:var(--hl-body);text-align:left;cursor:pointer;background:#f8fafc;border:1px solid var(--hl-border);border-radius:12px}.lesson-section-item:disabled{cursor:not-allowed;opacity:.66}.lesson-section-item.is-active{color:var(--hl-primary);background:#2e7cf614;border-color:#2e7cf652}.lesson-section-item>span:first-child{display:grid;width:30px;height:30px;place-items:center;color:var(--hl-primary);font-weight:700;background:#2e7cf61f;border-radius:9px}.lesson-section-item .ant-typography{display:block;line-height:1.35}.lesson-section-content{min-width:0}.lesson-video-section,.lesson-practice-section{display:grid;min-height:420px;align-content:center;justify-items:stretch;gap:14px;padding:28px;background:#f8fafc;border:1px solid var(--hl-border);border-radius:12px}.lesson-video-section .ant-progress,.lesson-practice-section .ant-alert{width:100%}.lesson-video-section.media-player-shell{min-height:0;padding:0;overflow:hidden;background:transparent;border:0}.lesson-video-section.is-fullscreen{display:block;min-height:0}.ppt-screen{container-type:size}.ppt-slide-transition{position:relative;display:grid;width:100%;height:100%;place-items:center}.ppt-slide-transition-item{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.ppt-slide-transition-item.is-entering{z-index:2;animation:ppt-slide-fade-in .62s cubic-bezier(.22,.72,.18,1) both}.ppt-slide-transition-item.is-exiting{z-index:1;pointer-events:none;animation:ppt-slide-fade-out .62s cubic-bezier(.22,.72,.18,1) both}@keyframes ppt-slide-fade-in{0%{opacity:.18}to{opacity:1}}@keyframes ppt-slide-fade-out{0%{opacity:1}to{opacity:.32}}@media (prefers-reduced-motion: reduce){.ppt-slide-transition-item.is-entering,.ppt-slide-transition-item.is-exiting{animation:none}}.media-player-stage{position:relative;display:grid;min-height:420px;place-items:center;padding:18px;overflow:hidden;background:#0f172a;border-radius:12px}.media-player-shell:not(.is-fullscreen) .media-player-stage{width:100%;min-height:0;aspect-ratio:16 / 9}.ppt-player-v2.is-fullscreen .ppt-screen{width:100vw;height:100vh;min-height:0;padding:0;border-radius:0}.ppt-player-v2.is-fullscreen .content-slide{width:min(100%,160vh);width:min(100cqw,177.777cqh);max-width:none;box-shadow:0 24px 80px #00000057}.video-screen{width:100%;min-height:0;align-content:center;gap:10px;padding:28px;text-align:center;background:#0f172a;border-radius:12px}.lesson-video-element{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#0f172a}.video-missing-state{position:relative;z-index:2;display:grid;place-items:center;gap:10px;max-width:520px;color:#fff}.video-missing-state .ant-typography,.video-missing-state .ant-typography-secondary{color:#fff}.video-screen h3{margin:0}.lesson-video-section.is-fullscreen .video-screen{width:100vw;height:100vh;min-height:0;border:0;border-radius:0}.content-slide{width:min(100%,920px);aspect-ratio:16 / 9;padding:clamp(20px,4vw,44px);overflow:hidden;color:var(--hl-text);background:linear-gradient(160deg,#2e7cf61a,#22c55e14),var(--hl-surface);border:1px solid rgba(46,124,246,.18);border-radius:8px;box-shadow:0 20px 60px #00000038}.content-slide.is-text-only,.student-ppt-slide{background:var(--hl-surface);border-color:var(--hl-border)}.student-ppt-slide.has-image{background:#0f172a;border-color:#0f172a;box-shadow:none}.ppt-player-v2 .section-editor-document-image{background:#0f172a;object-position:top center}.content-slide h2{max-width:90%;margin:8px 0 18px;font-size:30px;line-height:1.25}.content-slide ul{display:grid;gap:10px;margin:0;padding-left:24px;color:var(--hl-body);font-size:17px;line-height:1.7}.slide-label{color:var(--hl-primary);font-weight:700}.player-overlay{position:absolute;right:0;bottom:0;left:0;z-index:3;display:grid;gap:10px;padding:58px 20px 18px;background:linear-gradient(180deg,#0f172a00,#0f172ae6 52%,#0f172af5);transition:opacity .22s ease,transform .22s ease}.player-center-play-button{position:absolute;top:50%;left:50%;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:clamp(72px,9vw,112px);height:clamp(72px,9vw,112px);padding:0;color:#fffffff2;cursor:pointer;background:#0f172a47;border:0;border-radius:50%;box-shadow:0 18px 52px #0000003d;transform:translate(-50%,-50%);transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.player-center-play-button .anticon{display:inline-flex;font-size:clamp(64px,8vw,104px);line-height:1}.player-center-play-button:hover,.player-center-play-button:focus-visible{color:#fff;background:#0f172a6b;box-shadow:0 20px 60px #00000052;outline:none;transform:translate(-50%,-50%) scale(1.04)}.player-center-play-button:disabled{cursor:not-allowed;opacity:.45}.player-center-play-button.is-loading{pointer-events:none;cursor:default}.player-subtitle{position:absolute;right:clamp(18px,8vw,120px);bottom:96px;left:clamp(18px,8vw,120px);z-index:4;box-sizing:border-box;display:grid;gap:2px;max-height:min(32%,9em);padding:8px 12px;overflow:visible;color:#fff;font-size:16px;line-height:1.6;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5);background:#0f172a9e;border-radius:8px;transition:opacity .22s ease,transform .22s ease}.player-subtitle span{display:block;overflow-wrap:anywhere;white-space:normal}.player-subtitle .ant-typography{color:#fff}.controls-hidden .player-overlay,.player-subtitle.is-hidden{pointer-events:none;opacity:0;transform:translateY(12px)}.player-progress-row{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;gap:12px;align-items:center;width:100%;color:#fff}.player-progress-row .ant-typography{min-width:42px;color:#ffffffe0;font-variant-numeric:tabular-nums;text-align:center}.player-control-bar{display:grid;grid-template-columns:34px max-content minmax(96px,1fr) max-content max-content;gap:10px;align-items:center;width:100%;color:#fff}.player-control-bar.is-video{grid-template-columns:34px max-content minmax(120px,1fr) max-content max-content}.player-control-bar .ant-typography{min-width:42px;color:#ffffffe6;font-variant-numeric:tabular-nums;line-height:1;text-align:center}.player-icon-button.ant-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;inline-size:34px;block-size:34px;aspect-ratio:1 / 1;padding:0;line-height:34px;color:#ffffffeb;background:transparent;border:0;box-shadow:none}.player-icon-button.ant-btn.ant-btn-icon-only{width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important}.player-play-button.ant-btn,.player-play-button.ant-btn:hover,.player-play-button.ant-btn:focus-visible{border-radius:50%}.player-square-button.ant-btn,.player-square-button.ant-btn:hover,.player-square-button.ant-btn:focus-visible,.player-language-button.ant-btn,.player-subtitle-button.ant-btn{border-radius:8px}.player-icon-button.ant-btn:hover,.player-icon-button.ant-btn:focus-visible{color:#0f172a!important;background:#fff!important;border:0;box-shadow:0 0 0 1px #0f172a1f,0 8px 22px #00000038}.player-icon-button.ant-btn:hover .anticon,.player-icon-button.ant-btn:focus-visible .anticon,.player-icon-button.ant-btn:hover span,.player-icon-button.ant-btn:focus-visible span{color:#0f172a!important}.player-icon-button.ant-btn[disabled],.player-icon-button.ant-btn[disabled]:hover{color:#ffffff59;background:transparent;border:0}.player-icon-button .anticon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:18px;line-height:1}.player-loading-icon{font-size:16px}.player-icon-button.ant-btn>span:not(.ant-wave){display:inline-flex;align-items:center;justify-content:center;line-height:1}.player-right-controls{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:max-content;white-space:nowrap}.player-language-button.ant-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;padding:0;color:#fff;font-size:15px;font-weight:700;line-height:1;background:transparent;border:0;box-shadow:none}.player-language-button.ant-btn:hover,.player-language-button.ant-btn:focus-visible{color:#0f172a!important;background:#fff!important;box-shadow:0 0 0 1px #0f172a1f,0 8px 22px #00000038}.player-language-button.ant-btn:hover span,.player-language-button.ant-btn:focus-visible span{color:#0f172a!important}.player-language-button.is-off{position:relative}.player-language-button.is-off:after{position:absolute;top:7px;left:16px;width:2px;height:20px;content:"";background:currentColor;border-radius:999px;transform:rotate(42deg);transform-origin:center}.player-subtitle-button.ant-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;padding:0;color:#fff;font-size:15px;font-weight:800;line-height:1;background:transparent;border:0;box-shadow:none}.player-subtitle-button.ant-btn:hover,.player-subtitle-button.ant-btn:focus-visible{color:#0f172a!important;background:#fff!important;box-shadow:0 0 0 1px #0f172a1f,0 8px 22px #00000038}.player-subtitle-button.ant-btn:hover span,.player-subtitle-button.ant-btn:focus-visible span{color:#0f172a!important}.player-subtitle-button.is-off:after{position:absolute;top:7px;left:16px;width:2px;height:20px;content:"";background:currentColor;border-radius:999px;transform:rotate(42deg);transform-origin:center}.ppt-player-v2.is-fullscreen .player-subtitle,.lesson-video-section.is-fullscreen .player-subtitle{bottom:118px;max-height:min(36%,10.5em);padding:10px 16px;font-size:clamp(22px,2.2vw,32px);line-height:1.5}.player-audio-status.ant-typography{grid-column:1 / -1;justify-self:center;min-width:auto;color:#ffffffb8;white-space:nowrap}.player-timeline{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:18px;margin:0;cursor:pointer;accent-color:#2E7CF6;background:transparent;will-change:background}.player-timeline.is-readonly{position:relative;height:6px;overflow:hidden;cursor:default;background:#ffffff42;border-radius:999px}.player-timeline.is-readonly span{display:block;height:100%;background:#2e7cf6;border-radius:inherit}.player-timeline::-webkit-slider-runnable-track{height:5px;background:linear-gradient(90deg,#2E7CF6 var(--player-progress, 0%),rgba(147,197,253,.78) var(--player-progress, 0%),rgba(147,197,253,.78) var(--player-seekable, var(--player-progress, 0%)),rgba(255,255,255,.26) var(--player-seekable, var(--player-progress, 0%)));border-radius:999px;transition:background .12s linear}.player-timeline::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-5.5px;-moz-appearance:none;appearance:none;background:#fff;border:3px solid #2E7CF6;border-radius:50%;box-shadow:0 4px 12px #00000047;transition:transform .12s linear,border-color .12s ease,box-shadow .12s ease;will-change:transform}.player-timeline::-moz-range-track{height:5px;background:linear-gradient(90deg,#2E7CF6 var(--player-progress, 0%),rgba(147,197,253,.78) var(--player-progress, 0%),rgba(147,197,253,.78) var(--player-seekable, var(--player-progress, 0%)),rgba(255,255,255,.26) var(--player-seekable, var(--player-progress, 0%)));border-radius:999px}.player-timeline::-moz-range-progress{height:5px;background:#2e7cf6;border-radius:999px}.player-timeline::-moz-range-thumb{width:14px;height:14px;background:#fff;border:3px solid #2E7CF6;border-radius:50%;box-shadow:0 4px 12px #00000047}.player-controls-row,.ppt-controls-v2{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.player-controls-row{justify-content:center}.player-controls-row .ant-btn{box-shadow:0 10px 28px #00000038}@media (max-width: 640px){.player-control-bar{grid-template-columns:32px max-content minmax(72px,1fr) max-content max-content;gap:6px}.player-control-bar .ant-typography{min-width:38px;font-size:12px}.player-icon-button.ant-btn{flex-basis:32px;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;inline-size:32px;block-size:32px;line-height:32px}.player-icon-button.ant-btn.ant-btn-icon-only{width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important}.player-language-button.ant-btn,.player-subtitle-button.ant-btn{width:32px;min-width:32px;height:32px;font-size:14px}.player-subtitle-button.is-off:after{top:6px;left:15px}.player-language-button.is-off:after{top:6px;left:15px}}.video-card{display:grid;align-content:start;gap:12px;padding:20px;background:var(--hl-surface)}.video-icon{color:var(--hl-primary);font-size:36px}.question-card .ant-card-head-title{white-space:normal;line-height:1.55}.question-title{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;align-items:start}.question-title .ant-tag{margin:2px 0 0;line-height:22px}.question-options,.question-options .ant-space,.question-options .ant-space-item{width:100%}.question-options .ant-radio-wrapper,.question-options .ant-checkbox-wrapper,.question-card .ant-radio-wrapper,.question-card .ant-checkbox-wrapper{display:flex;gap:10px;width:100%;min-height:38px;align-items:center;padding:8px 10px;border-radius:8px;white-space:normal;line-height:1.6;transition:background-color .18s ease}.question-options .ant-radio-wrapper:not(.ant-radio-wrapper-disabled):hover,.question-options .ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover,.question-card .ant-radio-wrapper:not(.ant-radio-wrapper-disabled):hover,.question-card .ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover{background:#225cd90f}.question-options .ant-radio,.question-options .ant-checkbox,.question-card .ant-radio,.question-card .ant-checkbox{flex:0 0 auto;top:0;margin-inline-end:0}.question-options .ant-radio+span,.question-options .ant-checkbox+span,.question-card .ant-radio+span,.question-card .ant-checkbox+span{flex:1 1 auto;min-width:0;padding-inline-start:0;padding-inline-end:0}.success-icon{color:var(--hl-success)}.admin-layout{min-height:100vh;background:var(--hl-bg)}.admin-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:var(--hl-header-height);padding:0 24px;background:var(--hl-surface);border-bottom:1px solid var(--hl-border);box-shadow:0 4px 16px #1118270a}.admin-header-main{display:flex;gap:12px;align-items:center;min-width:0}.admin-menu-button{display:none}.admin-brand{color:var(--hl-text);font-size:18px;font-weight:700}.admin-user-chip{display:flex;gap:9px;align-items:center;min-width:0;padding:6px 10px;background:#f8fafc;border:1px solid var(--hl-border);border-radius:999px}.admin-user-chip .student-avatar{display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}.admin-user-chip .ant-typography{max-width:118px;overflow:hidden;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.admin-sider{position:sticky!important;top:var(--hl-header-height);align-self:flex-start;height:calc(100vh - var(--hl-header-height));min-height:calc(100vh - var(--hl-header-height));overflow-y:auto;padding:14px 10px;background:var(--hl-surface)!important;border-right:1px solid var(--hl-border)}.admin-mobile-drawer .ant-drawer-body{padding:0}.admin-content{min-width:0;padding:var(--hl-page-padding)}.admin-page{display:grid;gap:var(--hl-page-gap)}.clickable-tag{cursor:pointer;-webkit-user-select:none;user-select:none}.ant-tooltip-inner .full-width{color:var(--hl-text)}.admin-exam-score-details{min-width:220px;max-width:360px}.admin-exam-score-row{display:grid;gap:4px;padding:8px;border:1px solid transparent;border-radius:var(--hl-radius-control)}.admin-exam-score-row.is-selected{background:#22c55e14;border-color:#22c55e38}.admin-exam-score-attempt.is-selected{font-weight:700}.admin-exam-score-toggle{align-self:flex-start;height:auto;padding:0}.admin-page-header{display:flex;gap:var(--hl-page-gap);align-items:flex-start;justify-content:space-between;margin-bottom:0;padding:2px 0}.admin-page-header .ant-typography{margin-bottom:2px}.admin-page-title{display:flex;gap:12px;align-items:flex-start;min-width:0}.admin-page-title-main{min-width:0}.admin-page-title-main .ant-typography{overflow-wrap:anywhere}.admin-page-actions{justify-content:flex-end;max-width:100%}.filter-select{min-width:220px}.course-select{min-width:280px}.admin-preview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:start}.admin-slide{width:100%;box-shadow:none}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.dashboard-summary-tile{display:grid;gap:8px;min-height:138px;padding:18px;background:var(--hl-surface);border:1px solid var(--hl-border-strong);border-radius:var(--hl-radius-control);box-shadow:var(--hl-shadow)}.dashboard-summary-tile>.anticon{display:grid;width:34px;height:34px;place-items:center;color:var(--hl-primary);background:#2e7cf61a;border-radius:var(--hl-radius-control)}.dashboard-risk-card,.dashboard-funnel-card{height:calc(100% - 16px)}.dashboard-risk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-risk-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:76px;padding:12px;color:var(--hl-body);text-align:left;cursor:pointer;background:var(--hl-surface-muted);border:1px solid var(--hl-border-strong);border-radius:var(--hl-radius-control)}.dashboard-risk-item:hover{border-color:#2e7cf673;box-shadow:0 8px 18px #2e7cf614}.dashboard-risk-item>span:nth-child(2){display:grid;gap:3px;min-width:0;line-height:1.45}.dashboard-risk-item>span:nth-child(2) .ant-typography:last-child{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dashboard-risk-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:var(--hl-radius-control)}.dashboard-risk-item.is-error .dashboard-risk-icon{color:#b91c1c;background:#fee2e2}.dashboard-risk-item.is-warning .dashboard-risk-icon{color:#b45309;background:#fef3c7}.dashboard-risk-item.is-success .dashboard-risk-icon{color:#15803d;background:#dcfce7}.dashboard-risk-action{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:28px;padding:0 10px;color:var(--hl-primary);font-size:13px;font-weight:600;background:#fff;border:1px solid rgba(46,124,246,.24);border-radius:6px}.dashboard-stage-list,.dashboard-compact-list{display:grid;gap:12px}.dashboard-active-batch{display:grid;gap:14px;padding:12px;background:var(--hl-surface-muted);border:1px solid var(--hl-border-strong);border-radius:var(--hl-radius-control)}.dashboard-stage-item,.dashboard-compact-item{display:grid;gap:10px;padding:12px;background:var(--hl-surface-muted);border:1px solid var(--hl-border-strong);border-radius:var(--hl-radius-control)}.dashboard-stage-item>div:first-child{display:grid;gap:3px}.dashboard-compact-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.dashboard-compact-head .ant-btn{flex:0 0 auto}.dashboard-inline-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-inline-metrics>div{display:grid;gap:4px;min-width:0}.admin-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-funnel-item{display:grid;gap:4px;padding:14px;background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:var(--hl-radius-panel)}.admin-funnel-item h3{margin:0}.admin-course-node{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:10px;color:var(--hl-body);text-align:left;background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:var(--hl-radius-panel);cursor:pointer;transition:transform .28s cubic-bezier(.2,0,.2,1),border-color .28s ease,background-color .28s ease,box-shadow .28s ease,opacity .28s ease}.admin-course-sortable-node{grid-template-columns:28px 30px minmax(0,1fr) auto}.course-section-sortable{width:100%;transition:transform .28s cubic-bezier(.2,0,.2,1),opacity .28s ease}.admin-course-node.is-dragging,.course-section-sortable.is-dragging{opacity:.45}.admin-course-node:not(.is-dragging):hover,.course-section-sortable:not(.is-dragging):hover .course-section-card{border-color:#2e7cf659;box-shadow:0 8px 20px #1f2a4414}.drag-handle{display:inline-grid;width:28px;height:30px;place-items:center;color:var(--hl-text-muted);cursor:grab;-webkit-user-select:none;user-select:none;border:1px dashed transparent;border-radius:var(--hl-radius-control);touch-action:none}.drag-handle:hover{color:var(--hl-primary);background:#2e7cf614;border-color:#2e7cf647}.drag-handle:active{cursor:grabbing}.course-section-drag-handle{flex:0 0 auto}.admin-list-count{display:grid;width:30px;height:30px;place-items:center;color:var(--hl-primary);font-weight:700;background:#2e7cf61a;border-radius:var(--hl-radius-control)}.admin-course-node .ant-typography{display:block;line-height:1.35}.admin-course-node.is-active{background:#2e7cf614;border-color:#2e7cf659}.course-section-card{border:1px solid var(--hl-border);border-radius:var(--hl-radius-card)}.course-section-card-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.course-section-actions{justify-content:space-between;width:100%}.inline-title-input{max-width:360px;padding:0;font-weight:700;background:transparent;border-color:transparent;box-shadow:none}.material-progress{width:120px;margin:0}.upload-progress-dialog{display:grid;gap:12px;width:100%}.upload-progress-modal .ant-modal-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--hl-border)}.upload-picker-dropzone{display:grid;gap:6px;place-items:center;min-height:132px;padding:20px;text-align:center;background:var(--hl-surface-muted);border:1px dashed var(--hl-border-strong);border-radius:var(--hl-radius-control);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.upload-picker-dropzone.is-drag-over{background:#1677ff14;border-color:#1677ff;box-shadow:0 0 0 3px #1677ff24;transform:translateY(-1px)}.upload-progress-list{max-height:420px;overflow-y:auto}.upload-progress-row{display:grid;gap:8px;padding:12px;background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:var(--hl-radius-control)}.upload-progress-row+.upload-progress-row{margin-top:8px}.upload-progress-row-header{display:flex;gap:12px;align-items:center;justify-content:space-between}.upload-progress-row-header .ant-typography{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-status-progress{max-width:320px;margin:0}.section-processing-title-progress{width:160px}.section-processing-overall-progress{flex:1;min-width:96px;margin:0}.section-processing-actions{justify-content:flex-end}.section-processing-list .ant-list-item{align-items:flex-start;gap:12px;padding:12px 0}.section-processing-list .ant-list-item-action{margin-inline-start:12px}.section-processing-node-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#1677ff;font-weight:700}.section-processing-progress{max-width:260px;margin:0}.material-file-input{width:min(100%,280px)}.admin-slide-list{display:grid;gap:12px;margin-top:12px}.admin-slide-editor{background:var(--hl-surface-muted)}.section-editor-preview{position:sticky;top:16px}.section-editor-layout.is-preview-fullscreen .section-editor-side-panel{display:none}.section-editor-layout.is-preview-fullscreen .section-editor-preview,.section-editor-layout.is-preview-fullscreen .section-editor-preview .ant-card,.section-editor-layout.is-preview-fullscreen .section-editor-preview .ant-card-body{position:static;padding:0;background:transparent;border:0;box-shadow:none}.section-editor-layout.is-preview-fullscreen .section-editor-preview .ant-card-head{display:none}.section-editor-preview .ant-card-body{overflow:visible}.section-editor-player{position:relative;width:100%;max-width:100%;aspect-ratio:16 / 9;min-height:420px;overflow:hidden;border-radius:var(--hl-radius-card)}.section-editor-player.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;width:100vw;height:100vh;aspect-ratio:auto;min-height:0;border-radius:0;box-shadow:none}.section-editor-player .media-player-stage{width:100%;height:100%;min-height:0;border-radius:var(--hl-radius-card)}.section-editor-player.is-fullscreen .media-player-stage{border-radius:0}.section-editor-slide{width:min(100%,920px);min-height:auto}.section-editor-video{min-height:100%}.section-editor-document-frame,.section-editor-document-image,.section-editor-video-element{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#0f172a}.section-editor-document-image,.section-editor-video-element{object-fit:contain}.section-editor-file-actions{position:absolute;right:14px;bottom:92px;left:14px;z-index:8;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;color:#fff;background:#0f172ac2;border:1px solid rgba(255,255,255,.16);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-editor-file-actions .ant-typography{color:#ffffffc7}.section-editor-player.is-fullscreen .section-editor-file-actions{right:24px;bottom:116px;left:24px}.section-editor-subtitle{padding:10px 12px;color:#f8fafc;text-align:center;background:#0f172a;border-radius:8px}.section-editor-subtitle-label{display:inline-flex;gap:6px;align-items:center}.subtitle-audio-button.ant-btn{width:24px;min-width:24px;height:24px;color:var(--hl-primary);border:0;box-shadow:none}.subtitle-audio-button.ant-btn:hover,.subtitle-audio-button.ant-btn:focus-visible{color:var(--hl-primary-strong);background:#2e7cf61a}.admin-filter-bar{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin-bottom:14px}.admin-bulk-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px;padding:10px 12px;background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:var(--hl-radius-panel)}.admin-tab-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}.admin-tab-toolbar .ant-btn{flex:0 0 auto}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-stat-grid.is-dense{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stat-tile{min-height:96px;padding:18px;border:1px solid var(--hl-border-strong);border-radius:var(--hl-radius-control);background:#f8fbff}.exam-config-row>.ant-col{display:flex;align-items:stretch}.exam-rule-card,.exam-side-stack,.exam-validation-card,.exam-side-stack>.ant-space-item,.exam-side-stack .ant-card{width:100%}.exam-config-row .section-card{margin-bottom:0}.exam-rule-card,.exam-side-stack,.exam-validation-card{height:100%}.exam-rule-card .ant-card-body{display:flex;height:calc(100% - 57px)}.exam-rule-form{display:flex;flex:1;flex-direction:column}.exam-rule-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;flex:1;align-items:stretch}.exam-rule-section{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--hl-surface-muted);border:1px solid var(--hl-border);border-radius:var(--hl-radius-panel)}.exam-rule-section>.ant-row{align-content:start}.exam-rule-section .ant-form-item{margin-bottom:0}.exam-rule-note{display:block;padding-top:2px;font-size:13px;line-height:1.6}.exam-rule-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;padding-top:12px;margin-top:12px;border-top:1px solid var(--hl-border)}.exam-side-stack{display:flex;flex-direction:column}.exam-side-stack>.ant-space-item{display:flex}.exam-side-stack>.ant-space-item:last-child{flex:1}.exam-side-stack>.ant-space-item:last-child .ant-card{height:100%}.exam-validation-card .ant-card-body{height:calc(100% - 57px)}.exam-validation-card .ant-space{height:100%}.exam-validation-grid{display:grid;gap:12px}.exam-validation-actions{display:flex;justify-content:flex-end;padding-top:12px;margin-top:auto;border-top:1px solid var(--hl-border)}.ant-card{border-color:var(--hl-border);border-radius:var(--hl-radius-card);box-shadow:var(--hl-shadow)}.ant-card .ant-card-body,.ant-card .ant-card-head,.ant-table-wrapper{min-width:0}.ant-layout,.ant-layout-content{background:var(--hl-bg)}.ant-table-thead>tr>th{color:var(--hl-body)!important;background:#f8fafc!important}.ant-btn-primary{box-shadow:0 6px 14px #2e7cf62e}@media (max-width: 1180px){.student-user-chip .ant-typography{max-width:92px}}@media (max-width: 992px){.login-stage{width:min(100% - 32px,520px);padding:30px 0}.dashboard-summary-grid,.dashboard-risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-risk-card,.dashboard-funnel-card{height:auto}.admin-stat-grid,.admin-stat-grid.is-dense{grid-template-columns:repeat(2,minmax(0,1fr))}.student-product-shell{grid-template-rows:auto minmax(0,1fr)}.student-learning-header{display:none}.student-mobile-context-bar{position:sticky;top:0;z-index:24;display:flex;gap:8px;padding:10px 14px;background:#fffffffa;border-bottom:1px solid var(--hl-border);box-shadow:0 4px 16px #1118270a}.student-mobile-context-bar .student-project-select{flex:1 1 0;width:auto;min-width:0}.student-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);min-height:62px;padding:6px 6px max(6px,env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid var(--hl-border);box-shadow:0 -4px 16px #1118270f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.student-bottom-nav .student-nav-item{flex-direction:column;gap:3px;justify-content:center;min-height:50px;padding:0;font-size:12px;background:transparent;border:0;border-radius:10px}.student-content{padding:16px 14px 86px}.student-dashboard-hero,.student-exam-overview,.exam-layout,.lesson-section-layout{grid-template-columns:1fr}.lesson-section-list{position:static}.exam-side-panel{position:static;order:-1}.student-hero,.admin-preview-grid{grid-template-columns:1fr}.admin-content{padding:16px}.admin-header-main{justify-content:space-between;width:100%}.admin-menu-button{display:inline-flex;flex:0 0 auto}.admin-brand{min-width:0;font-size:16px}.admin-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sider{display:none}.admin-tab-toolbar,.admin-bulk-toolbar,.course-section-actions,.section-processing-actions{align-items:stretch;flex-direction:column}.admin-page-header,.student-page-header{align-items:flex-start}.admin-page-actions,.student-page-actions{justify-content:flex-start}.admin-filter-bar .ant-select,.admin-filter-bar .ant-input,.admin-filter-bar .ant-btn,.admin-page-header .ant-space,.admin-page-header .ant-btn{max-width:100%}}@media (max-width: 640px){.dashboard-summary-grid,.dashboard-risk-grid,.admin-funnel{grid-template-columns:1fr}.dashboard-risk-item{grid-template-columns:34px minmax(0,1fr)}.dashboard-risk-action{grid-column:2;justify-self:start}.exam-attempt-progress,.dashboard-compact-head,.dashboard-inline-metrics{grid-template-columns:1fr}.dashboard-compact-head{display:grid}.admin-stat-grid,.admin-stat-grid.is-dense{grid-template-columns:1fr}.login-shell{min-height:100dvh}.login-stage{width:min(100% - 24px,430px);padding:16px 0}.login-product-name{font-size:16px}.login-product-subtitle{font-size:12px}.login-brand-row{gap:12px;margin-bottom:18px}.login-card{padding:20px}.login-role-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.login-role-switch button{min-height:42px}.login-actions>.ant-space-item{width:min(100%,260px)}.student-shell{padding:14px}.student-dashboard-hero>div:first-child{padding:18px}.student-training-card-head{flex-direction:column;gap:8px}.student-training-switches,.student-training-select{width:100%}.student-dashboard-hero h1{font-size:26px;line-height:1.22}.student-hero>div:first-child{padding:18px}.section-heading,.admin-page-header,.exam-header,.student-page-header,.practice-toolbar,.student-topbar{flex-direction:column;align-items:stretch}.ppt-screen{min-height:250px;padding:10px}.player-overlay{padding:50px 12px 12px}.player-subtitle{right:14px;bottom:86px;left:14px;max-height:min(34%,8.5em);font-size:14px}.content-slide{padding:18px}.content-slide h2{max-width:100%;font-size:21px}.content-slide ul{gap:6px;padding-left:18px;font-size:14px;line-height:1.5}.ppt-controls-v2 .ant-btn,.student-topbar .ant-btn,.course-card .ant-btn{min-height:40px}.course-path-node{grid-template-columns:30px minmax(0,1fr)}.course-path-actions{justify-content:flex-start;grid-column:2}.course-path-node .ant-tag{width:fit-content}.sticky-submit-bar{bottom:78px}.sticky-submit-bar .ant-btn{width:100%}.admin-header{height:auto;min-height:64px;flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px}.admin-sider{position:static!important;height:auto;min-height:auto}.admin-header>.ant-space{justify-content:space-between;width:100%}.admin-user-chip{min-width:0}.admin-page-header .ant-space,.admin-page-header .ant-space-item,.student-page-header .ant-space,.student-page-header .ant-space-item{width:100%}.admin-filter-bar,.admin-bulk-toolbar,.admin-tab-toolbar,.course-section-card-head,.exam-rule-actions,.resume-learning-content{align-items:stretch;flex-direction:column}.admin-filter-bar .ant-space,.admin-bulk-toolbar .ant-space,.admin-tab-toolbar .ant-space,.course-section-card-head .ant-space,.exam-rule-actions .ant-space,.admin-page-header .ant-btn,.student-page-header .ant-btn,.section-heading .ant-btn,.practice-toolbar .ant-alert,.admin-filter-bar .ant-btn,.admin-bulk-toolbar .ant-btn,.admin-tab-toolbar .ant-btn,.course-section-card-head .ant-btn,.exam-rule-actions .ant-btn{width:100%}.student-exam-overview{grid-template-columns:1fr}.exam-answer-grid{grid-template-columns:repeat(6,minmax(34px,1fr))}.student-task-list .ant-list-item,.student-exam-paper-list .ant-list-item{align-items:stretch;flex-direction:column}.student-task-list .ant-list-item-action,.student-exam-paper-list .ant-list-item-action{margin-inline-start:0}.student-task-list .ant-list-item-action>li,.student-exam-paper-list .ant-list-item-action>li{width:100%}.student-task-list .ant-list-item-action .ant-btn,.student-exam-paper-list .ant-list-item-action .ant-btn{width:100%}.filter-select,.course-select{width:100%;min-width:0}.section-processing-title-progress,.section-processing-progress,.section-status-progress,.material-progress{width:100%;max-width:none}}
