:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f4f7;--bg-accent:radial-gradient(circle at 12% 12%, #607c9f14, transparent 36%), radial-gradient(circle at 88% 8%, #42577212, transparent 30%);--surface:#fff;--surface-muted:#f4f7fa;--surface-subtle:#eef3f7;--surface-elevated:#fff;--surface-input:#fff;--surface-hover:#f8fafc;--surface-info:#eaf4ff;--surface-success:#eefbf3;--surface-warning:#fff3eb;--surface-danger:#fff5f6;--topbar:#1e2329;--topbar-border:#303842;--text:#13202f;--text-soft:#455466;--text-subtle:#6b7a8b;--text-on-dark:#e5edf6;--primary:#2f80ed;--primary-hover:#226ac8;--primary-strong:#18549f;--accent:#3f9f6e;--danger:#cf3341;--danger-soft:#fff2f3;--success:#257248;--warning:#c05c1e;--border:#d6e0ea;--border-strong:#c9dff7;--focus:#8db8ee;--radius:18px;--radius-sm:12px;--shadow-sm:0 8px 16px #0c192914;--shadow:0 16px 40px #0c19291a;--shadow-lg:0 24px 54px #0a142424}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f141b;--bg-accent:radial-gradient(circle at 12% 12%, #4d87d229, transparent 36%), radial-gradient(circle at 88% 8%, #3f9f6e1f, transparent 30%);--surface:#151b24;--surface-muted:#1b2330;--surface-subtle:#222b38;--surface-elevated:#1a2230;--surface-input:#111821;--surface-hover:#202a37;--surface-info:#102a45;--surface-success:#123522;--surface-warning:#3a2815;--surface-danger:#3a1820;--topbar:#0b1118;--topbar-border:#1f2936;--text:#e8edf5;--text-soft:#bac6d5;--text-subtle:#8e9caf;--text-on-dark:#eef4fb;--primary:#69a8ff;--primary-hover:#8bbdff;--primary-strong:#9ec8ff;--accent:#62c990;--danger:#ff7280;--danger-soft:#351820;--success:#7dd69d;--warning:#ffad72;--border:#2c3746;--border-strong:#3d5874;--focus:#6caeff;--shadow-sm:0 8px 16px #0000003d;--shadow:0 16px 40px #0000004d;--shadow-lg:0 24px 54px #00000061}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,Avenir Next,Segoe UI,-apple-system,sans-serif;line-height:1.45}a{color:inherit}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-.02em;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.1}h2{letter-spacing:-.015em;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.2}h3{font-size:1.04rem;line-height:1.3}strong{font-weight:700}.sr-only{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-kicker{color:var(--primary-strong);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:800}.section-subtitle,.subtitle,.muted{color:var(--text-soft)}.demo-hint{color:#2f6cae;font-size:.84rem;font-weight:600}.enroll-hint-banner{background:var(--surface-info);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--primary);align-items:center;gap:.65rem;padding:.85rem 1.1rem;font-size:.9rem;font-weight:500;display:flex}.error-text{color:var(--danger)}.success-text{color:var(--success);font-weight:700}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 16px;font-size:.92rem;font-weight:700;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{opacity:.72;cursor:not-allowed}.button--primary{color:#fff;background:linear-gradient(#4691f4,#2f80ed);border-color:#2b73d4}.button--primary:hover:not(:disabled){background:linear-gradient(#3a86ef,#296fcd)}.button--secondary{color:var(--text);background:var(--surface-elevated);border-color:var(--border)}.button--danger{color:#fff;background:linear-gradient(#dc4c59,#cb3542);border-color:#b92e3a}.button:focus-visible,.input:focus-visible,.search-field input:focus-visible,.public-nav-link:focus-visible,.study-nav-link:focus-visible,.study-user:focus-visible,.public-brand:focus-visible,.study-brand:focus-visible,.lesson-subtopic-block a:focus-visible,.outline-subtopic a:focus-visible,.icon-button:focus-visible{outline:none;box-shadow:0 0 0 4px #8db8ee5c}.icon-button{color:#e6edf7;cursor:pointer;background:#2a3139;border:1px solid #3a434e;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .2s;display:inline-flex}.icon-button:hover{background:#353f4a}.form{gap:14px;margin-top:18px;display:grid}.form-field{gap:6px;display:grid}.form-label{color:var(--text-subtle);font-size:.9rem;font-weight:700}.input,.search-field input{border:1.5px solid var(--border);background:var(--surface-input);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px;transition:border-color .2s,background-color .2s}.input:focus-visible,.search-field input:focus-visible{border-color:var(--primary);background:var(--surface-elevated)}.input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft)}.field-error{color:var(--danger);font-size:.84rem}.auth-footer{color:var(--text-soft);margin-top:12px}.auth-footer a{color:var(--primary-strong);font-weight:700}.loader{border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-soft);border-radius:999px;align-items:center;gap:10px;padding:10px 14px;font-weight:600;display:inline-flex}.loader:before{content:"";border:2px solid var(--border);border-top-color:var(--primary);border-radius:999px;width:16px;height:16px;animation:.7s linear infinite spin}.error-alert{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:10px 12px;font-size:.91rem;font-weight:600}.empty-state{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:10px;padding:18px;display:grid}.public-shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.public-header{z-index:60;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px clamp(14px,2.2vw,26px);animation:.32s fadeDown;display:flex;position:sticky;top:0}.public-brand,.brand{letter-spacing:-.01em;align-items:center;gap:9px;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.public-brand:before,.brand:before{content:"";background:linear-gradient(135deg, var(--primary), #8ec2f8);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 4px #2f80ed1f}.public-nav,.header-nav{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.public-nav-link,.nav-link{color:var(--primary-strong);border-radius:8px;padding:7px 9px;font-size:.88rem;font-weight:700;text-decoration:none}.public-nav-link:hover,.public-nav-link.active,.nav-link:hover,.nav-link.active{background:var(--surface-subtle)}.preference-controls{align-items:center;gap:6px;display:inline-flex}.language-select select,.theme-toggle{border:1px solid var(--border);background:var(--surface-elevated);min-height:34px;color:var(--text);font:inherit;cursor:pointer;border-radius:9px;font-size:.8rem;font-weight:800;transition:background-color .18s,border-color .18s,color .18s}.language-select select{width:58px;padding:0 8px}.theme-toggle{white-space:nowrap;padding:0 10px}.language-select select:hover,.theme-toggle:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.public-main{width:100%;padding:0}.entry-hero{align-content:center;gap:22px;width:min(1160px,100% - 40px);min-height:calc(100svh - 56px);margin:0 auto;padding:clamp(24px,4vh,48px) 0;display:grid}.entry-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:stretch;gap:20px;display:grid}.entry-hero-inner{align-content:center;gap:14px;display:grid}.entry-hero-inner p{color:var(--text-soft);max-width:62ch}.entry-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.entry-visual{color:#deebfb;box-shadow:var(--shadow-sm);background:linear-gradient(160deg,#1f3b62 0%,#224d7e 62%,#2b5f98 100%);border-radius:14px;padding:18px;animation:.4s fadeUp;position:relative;overflow:hidden}.entry-visual:before,.auth-showcase:before{content:"";pointer-events:none;background-image:linear-gradient(120deg,#ffffff14,#0000 42%),radial-gradient(circle at 78% 18%,#ffffff29,#0000 34%);position:absolute;inset:0}.entry-visual-label{z-index:1;letter-spacing:.08em;text-transform:uppercase;color:#b7cfee;font-size:.8rem;font-weight:700;position:relative}.entry-visual-list{z-index:1;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid;position:relative}.entry-visual-list li{color:#e4f0ff;background:#0d1b2c33;border:1px solid #d6e5f747;border-radius:10px;padding:10px 11px;font-weight:600}.entry-highlights{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.entry-highlights p{color:var(--text-soft);padding:14px 16px;font-size:.92rem}.entry-highlights p+p{border-left:1px solid var(--border)}.entry-support{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.entry-support-item{gap:5px;padding:14px 12px 0;display:grid}.entry-support-item h2{font-size:1.02rem}.entry-support-item p{color:var(--text-soft);font-size:.9rem}.entry-support-item+.entry-support-item{border-left:1px solid var(--border)}.auth-page{grid-template-columns:minmax(0,1fr) minmax(330px,430px);align-items:stretch;gap:20px;width:min(1120px,100% - 40px);margin:0 auto;padding:clamp(22px,5vh,56px) 0;display:grid}.auth-showcase{color:#e5effb;box-shadow:var(--shadow-sm);background:linear-gradient(154deg,#1f3f66 0%,#204c7f 52%,#2b5f97 100%);border-radius:14px;align-content:end;gap:12px;min-height:520px;padding:clamp(18px,4vw,28px);display:grid;position:relative;overflow:hidden}.auth-showcase>*{z-index:1;position:relative}.auth-showcase .section-kicker{color:#aac8ec}.auth-showcase p{color:#d4e4f6;max-width:42ch}.auth-showcase-points{gap:7px;margin:8px 0 0;padding:0;list-style:none;display:grid}.auth-showcase-points li{color:#dcecff;background:#0f20343d;border:1px solid #b2d0f059;border-radius:999px;width:fit-content;padding:5px 10px;font-size:.84rem}.auth-surface{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:14px;padding:clamp(18px,3vw,28px)}.auth-surface .button{width:100%}.study-shell{background:var(--bg);grid-template-rows:auto 1fr;min-height:100vh;display:grid}.study-topbar,.header{z-index:80;background:var(--topbar);min-height:56px;color:var(--text-on-dark);border-bottom:1px solid var(--topbar-border);justify-content:space-between;align-items:center;gap:12px;padding:8px clamp(12px,2vw,24px);animation:.3s fadeDown;display:flex;position:sticky;top:0;box-shadow:0 8px 20px #0d121b2e}.study-topbar-left,.study-topbar-right{align-items:center;gap:9px;display:flex}.study-menu-button{display:none}.study-brand{letter-spacing:-.01em;color:#f4f7fb;font-size:1rem;font-weight:800;text-decoration:none}.study-nav-link{color:#cad4df;border-radius:8px;padding:7px 9px;font-size:.88rem;font-weight:700;text-decoration:none}.study-topbar .study-nav-link:hover,.study-topbar .study-nav-link.active{color:#fff;background:#ffffff1a}.study-user{color:#e8eff8;border:1px solid #313b46;border-radius:999px;align-items:center;gap:7px;max-width:260px;padding:2px 9px 2px 2px;text-decoration:none;display:inline-flex}.study-user-email,.user-name{text-overflow:ellipsis;white-space:nowrap;color:#cfdae6;font-size:.81rem;overflow:hidden}.avatar{color:#fff;background:linear-gradient(135deg,#4e90eb,#2f75d3);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:inline-flex}.avatar--sm{width:29px;height:29px;font-size:.78rem}.avatar--lg{width:68px;height:68px;font-size:1.28rem}.study-topbar .button--secondary{background:var(--surface-elevated);border-color:var(--border);min-height:36px;color:var(--text)}.study-body{grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 56px);display:grid}.study-sidebar{border-right:1px solid var(--border);background:var(--surface-muted);padding:12px 10px;animation:.32s fadeLeft}.study-sidebar-nav{gap:4px;display:grid}.study-sidebar-nav .study-nav-link{color:var(--text-soft);padding:9px 10px}.study-sidebar-nav .study-nav-link:hover,.study-sidebar-nav .study-nav-link.active{background:var(--surface-subtle);color:var(--text)}.study-sidebar-backdrop{display:none}.study-main{background:radial-gradient(circle at 88% 2%, #2f80ed0f, transparent 24%), var(--surface-elevated);padding:clamp(14px,2.2vw,24px)}.study-main>*{width:min(1040px,100%);margin:0 auto;animation:.24s contentSwap}.study-page{gap:16px;display:grid}.study-page-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.study-stats{grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px;display:grid}.study-stats article{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:10px 12px}.study-stats span{font-size:1.3rem;font-weight:800}.study-stats p{color:var(--text-subtle);margin-top:2px;font-size:.8rem}.profile-surface{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.profile-summary{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.profile-summary p{color:var(--text-soft);margin-top:3px}.role-badge{color:#266745;letter-spacing:.08em;text-transform:uppercase;background:#ebf8f1;border:1px solid #cce4d7;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800}.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.profile-facts>div{border-bottom:1px solid var(--border);padding:12px 16px}.profile-facts>div:nth-last-child(-n+2){border-bottom:none}.profile-facts dt{color:var(--text-subtle);margin-bottom:2px;font-size:.82rem}.profile-facts dd{margin:0;font-weight:700}.profile-edit-form{border-top:1px solid var(--border);gap:14px;padding:16px;display:grid}.profile-password-header{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.profile-password-header h3{margin:0;font-size:.95rem;font-weight:700}.profile-password-header p{color:var(--text-subtle);margin-top:2px;font-size:.82rem}.manage-course-picker{gap:6px;width:min(320px,100%);display:grid}.learning-list,.courses-table{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:0;display:grid;overflow:hidden}.learning-row,.courses-row{border:0;border-bottom:1px solid var(--border);border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;transition:background-color .2s;display:grid}.learning-row:last-child,.courses-row:last-child{border-bottom:none}.learning-row:hover,.courses-row:hover{background:var(--surface-hover)}.learning-row-main,.courses-row-main{gap:8px;display:grid}.courses-row-heading{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.courses-row-actions{align-items:center;gap:8px;display:flex}.pill{border:1px solid var(--border-strong);background:var(--surface-info);color:var(--primary-strong);border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700}.learning-progress{background:#edf2f7;border:1px solid #dfe8f1;border-radius:999px;width:100%;height:9px;overflow:hidden}.learning-progress span{border-radius:inherit;background:linear-gradient(90deg,#4ca66f,#3f8ce8);height:100%;transition:width .26s;display:block}.courses-toolbar{align-items:center;gap:10px;display:flex}.search-field{width:min(420px,100%)}.course-overview-actions{gap:10px;width:min(320px,100%);display:grid}.progress-caption{gap:2px;display:grid}.progress-caption strong{font-size:1.45rem;line-height:1}.progress-caption span{color:var(--text-soft);font-size:.86rem}.outline-list{gap:10px;display:grid}.outline-topic{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:10px;padding:14px;display:grid}.outline-topic>header p{color:var(--text-subtle);margin-bottom:2px;font-size:.82rem}.outline-subtopic{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:8px;padding:10px;display:grid}.outline-subtopic ul{gap:4px;margin:0;padding-left:18px;display:grid}.outline-subtopic a{color:var(--primary-strong);font-weight:600;text-decoration:none}.outline-subtopic a:hover{text-decoration:underline}.outline-task-list,.outline-quiz-list{gap:4px;margin-top:6px;padding-left:18px;display:grid}.outline-task-link,.outline-quiz-link{color:var(--primary-strong);align-items:center;gap:6px;font-weight:600;display:flex}.lesson-shell{grid-template-columns:290px minmax(0,1fr);gap:12px;display:grid}.lesson-sidebar,.lesson-content{border:1px solid var(--border);background:var(--surface);border-radius:12px}.lesson-sidebar{align-self:start;max-height:calc(100vh - 80px);padding:12px;position:sticky;top:68px;overflow:auto}.lesson-sidebar-header{border-bottom:1px solid var(--border);gap:5px;margin-bottom:10px;padding-bottom:10px;display:grid}.lesson-sidebar-header p{color:var(--text-soft);font-size:.83rem}.lesson-sidebar-tree{gap:10px;display:grid}.lesson-topic-block{gap:7px;display:grid}.lesson-topic-block>p{font-size:.9rem;font-weight:700}.lesson-subtopic-block{border-left:2px solid var(--border);gap:6px;padding-left:8px;display:grid}.lesson-subtopic-block strong{color:var(--text-soft);font-size:.8rem}.lesson-subtopic-block ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.lesson-subtopic-block a{color:var(--text-soft);border-radius:8px;padding:6px 8px;font-size:.85rem;text-decoration:none;transition:background-color .18s,color .18s;display:block}.lesson-subtopic-block a:hover{background:var(--surface-subtle);color:var(--text)}.lesson-subtopic-block a.active{color:var(--primary-strong);background:#e5f0fe;font-weight:700}:root[data-theme=dark] .lesson-subtopic-block a.active{background:#69a8ff26}.lesson-subtopic-block a.completed,:root[data-theme=dark] .lesson-subtopic-block a.completed{color:var(--success)}.lesson-subtopic-block a.active.completed{color:var(--primary-strong)}.sidebar-check{font-size:.75rem}.lesson-content{gap:16px;padding:clamp(14px,2vw,22px);display:grid}.lesson-header{gap:9px;display:grid}.lesson-text{color:var(--text);line-height:1.62}.lesson-practice{border-top:1px solid var(--border);gap:10px;padding-top:12px;display:grid}.lesson-practice-header{gap:4px;display:grid}.lesson-practice-list{gap:10px;display:grid}.practice-task{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:10px;padding:12px;display:grid}.practice-task-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.practice-task-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.practice-task-details{gap:10px;display:grid}.practice-task-limits{color:var(--text-soft);flex-wrap:wrap;gap:8px 16px;font-size:.88rem;display:flex}.practice-tests,.practice-tests-list{gap:8px;display:grid}.practice-test-case{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:8px;padding:10px;display:grid}.practice-test-case span{color:var(--text-soft);margin-bottom:4px;font-size:.82rem;display:block}.practice-test-case pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.85rem}.practice-form{gap:8px;display:grid}.practice-language-select{gap:4px;display:grid}.practice-language-select select.input{max-width:260px}.practice-answer{resize:vertical;min-height:130px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.92rem}.markdown-editor-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.markdown-editor-tabs{background:var(--surface-subtle);border-radius:8px;flex-shrink:0;gap:2px;padding:2px;display:flex}.markdown-editor-tab{cursor:pointer;color:var(--text-subtle);background:0 0;border:none;border-radius:6px;padding:3px 10px;font-size:.8rem;font-weight:600;transition:background .15s,color .15s}.markdown-editor-tab:hover{color:var(--text)}.markdown-editor-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.markdown-editor-preview{border:1.5px solid var(--border);background:var(--surface-input);border-radius:10px;min-height:130px;padding:10px 12px;font-size:.95rem;line-height:1.6;overflow-y:auto}.markdown-editor-preview img,.markdown-content img{max-width:100%;height:auto}.markdown-editor-empty{color:var(--text-subtle);font-size:.9rem}.practice-feedback{color:var(--danger);margin:0;font-size:.88rem;font-weight:600}.practice-feedback.success{color:var(--success)}.practice-status{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));background:var(--surface-danger);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.practice-status.success{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:var(--surface-success)}.practice-status.pending{border-color:var(--border);background:var(--surface-info)}.practice-status-head,.practice-status-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.practice-status-head span,.practice-status-meta{color:var(--text-soft);font-size:.85rem}.submission-error-output{background:var(--surface-muted);white-space:pre-wrap;word-break:break-all;color:var(--text-soft);border-radius:8px;max-height:300px;margin:0;padding:10px 12px;font-family:monospace;font-size:.8rem;line-height:1.5;overflow-y:auto}.lesson-footer-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.manage-layout{grid-template-columns:320px minmax(0,1fr);gap:12px;display:grid}.manage-sidebar,.manage-surface{border:1px solid var(--border);background:var(--surface);border-radius:12px}.manage-sidebar{align-self:start;gap:10px;padding:12px;display:grid}.manage-topic{gap:8px;display:grid}.manage-subtopic{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:8px;padding:8px;display:grid}.manage-subtopic-trigger,.manage-task-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.manage-subtopic-trigger:hover,.manage-task-item:hover{background:var(--surface-subtle)}.manage-subtopic-trigger.active,.manage-task-item.active{border-color:var(--border-strong);background:var(--surface-info)}.manage-task-list{gap:6px;display:grid}.manage-task-badge{color:var(--text-soft);text-transform:uppercase;font-size:.78rem}.manage-editor{gap:12px;display:grid}.manage-surface{gap:14px;padding:14px;display:grid}.manage-surface-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.manage-form{margin-top:0}.manage-grid-two,.manage-grid-three{gap:10px;display:grid}.manage-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.manage-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.manage-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.success-panel{border:1px solid color-mix(in srgb, var(--success) 45%, var(--border));background:var(--surface-success);color:var(--success);border-radius:10px;gap:4px;padding:12px;display:grid}.manage-test-cases{border-top:1px solid var(--border);gap:12px;padding-top:14px;display:grid}.manage-test-cases-list{gap:10px;display:grid}.manage-test-case-item,.manage-test-case-form{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:10px;padding:12px;display:grid}.manage-checkbox{color:var(--text-soft);align-items:center;gap:8px;display:inline-flex}.manage-course-teachers-list{gap:10px;display:grid}.manage-course-teacher-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:4px;padding:12px;display:grid}.teacher-multiselect{gap:10px;display:grid;position:relative}.teacher-chip-list{flex-wrap:wrap;align-items:center;gap:8px;min-height:34px;display:flex}.teacher-chip{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:7px 10px 7px 12px;font-size:.88rem;display:inline-flex}.teacher-chip button{background:var(--surface);color:var(--text-soft);cursor:pointer;border:0;border-radius:999px;width:22px;height:22px;line-height:1}.teacher-chip button:disabled{cursor:not-allowed;opacity:.6}.teacher-dropdown{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);z-index:20;border-radius:14px;gap:4px;max-height:260px;padding:8px;display:grid;position:absolute;top:calc(100% - 2px);left:0;right:0;overflow-y:auto}.teacher-option{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;gap:2px;padding:10px;display:grid}.teacher-option:hover,.teacher-option:focus-visible{background:var(--surface-muted)}.teacher-option span,.teacher-dropdown-message{color:var(--text-soft);font-size:.9rem}.teacher-dropdown-message{margin:0;padding:10px}.manage-section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.manage-content-grid,.manage-next-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.manage-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;align-self:start;gap:10px;padding:12px;display:grid}.manage-material-chip{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.checkbox-field{color:var(--text);align-items:center;gap:10px;font-weight:500;display:flex}.checkbox-field input{width:16px;height:16px}.page{justify-content:center;align-items:center;min-height:62vh;display:flex}.card{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:min(560px,100%);padding:24px}.page--centered{text-align:center;justify-items:center;gap:12px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes contentSwap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=1080px){.study-menu-button{display:inline-flex}.study-body{grid-template-columns:1fr;position:relative}.study-sidebar{z-index:95;width:min(270px,85vw);box-shadow:var(--shadow-lg);transition:transform .22s;position:fixed;top:56px;bottom:0;left:0;transform:translate(-102%)}.study-sidebar.open{transform:translate(0)}.study-sidebar-backdrop{z-index:94;background:#0d141e52;border:0;display:block;position:fixed;inset:56px 0 0}.lesson-shell{grid-template-columns:1fr}.lesson-sidebar{max-height:none;position:static}.manage-layout{grid-template-columns:1fr}}@media (width<=900px){.entry-hero-grid,.auth-page{grid-template-columns:1fr}.entry-visual{min-height:180px}.auth-showcase{min-height:300px}.entry-highlights{grid-template-columns:1fr}.entry-highlights p+p{border-left:none;border-top:1px solid var(--border)}.entry-support{grid-template-columns:1fr}.entry-support-item{padding:12px 0 0}.entry-support-item+.entry-support-item{border-left:none;border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.study-page-header{grid-template-columns:1fr}.profile-summary{grid-template-columns:auto 1fr}.role-badge{justify-self:start}.profile-facts{grid-template-columns:1fr}.profile-facts>div{border-bottom:1px solid var(--border)}.profile-facts>div:last-child{border-bottom:none}.manage-surface-header,.practice-task-head,.practice-status-head,.practice-status-meta{justify-content:stretch;display:grid}.manage-grid-two,.manage-grid-three{grid-template-columns:1fr}}@media (width<=740px){.public-header{flex-wrap:wrap;justify-content:center}.public-nav{justify-content:center;width:100%}.study-topbar{flex-wrap:wrap;gap:8px;padding:8px 10px}.study-topbar-left,.study-topbar-right{justify-content:space-between;width:100%}.study-user-email{max-width:120px}.study-main{padding:12px}.study-stats{grid-template-columns:1fr}.learning-row,.courses-row{grid-template-columns:1fr;gap:10px}.courses-row-actions{flex-wrap:wrap}.button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.quiz-page{gap:16px;max-width:720px;margin:0 auto;display:grid}.quiz-breadcrumb{font-size:.88rem}.quiz-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:18px;padding:clamp(16px,2.5vw,28px);display:grid}.quiz-info-header{gap:8px;display:grid}.quiz-meta{flex-wrap:wrap;gap:6px;display:flex}.quiz-pill--required{border-color:color-mix(in srgb, var(--warning) 45%, var(--border));background:var(--surface-warning);color:var(--warning)}.quiz-taking-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.quiz-timer{border:1px solid var(--border-strong);background:var(--surface-info);color:var(--primary-strong);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.9rem;font-weight:700;display:inline-flex}.quiz-timer--warning{border-color:color-mix(in srgb, var(--warning) 45%, var(--border));background:var(--surface-warning);color:var(--warning)}.quiz-questions{gap:14px;display:grid}.quiz-question{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:8px;padding:14px;display:grid}.quiz-question-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.quiz-options{gap:6px;display:grid}.quiz-option{border:1.5px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.92rem;transition:border-color .18s,background-color .18s;display:flex}.quiz-option:hover,.quiz-option--selected{border-color:var(--primary);background:var(--surface-info)}.quiz-option--correct{border-color:var(--success);background:var(--surface-success);color:var(--success)}.quiz-option--wrong{border-color:var(--danger);background:var(--surface-danger);color:var(--danger)}.quiz-result-header{align-items:center;gap:16px;display:flex}.quiz-result-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;font-weight:800;display:flex}.quiz-result-badge--pass{background:var(--surface-success);color:var(--success);border:2px solid var(--success)}.quiz-result-badge--fail{background:var(--surface-danger);color:var(--danger);border:2px solid var(--danger)}.quiz-results-list{gap:12px;display:grid}.quiz-question-result{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:8px;padding:14px;display:grid}.quiz-question-result--correct{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:var(--surface-success)}.quiz-question-result--wrong{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:var(--surface-danger)}.quiz-result-text-answer{gap:2px;display:grid}.matching-grid{gap:10px;display:grid}.matching-row{grid-template-columns:1fr 1fr;align-items:center;gap:12px;display:grid}.matching-left{font-weight:500}.matching-right{color:var(--text-muted)}.matching-select{width:100%}.matching-row--correct .matching-left,.matching-row--correct .matching-right{color:#257248}.matching-row--wrong .matching-left,.matching-row--wrong .matching-right{color:#b91c1c}.quiz-attempts-history{border-top:1px solid var(--border);padding-top:16px}.quiz-attempts-list{gap:6px;display:grid}.quiz-attempt-row{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:8px 10px;font-size:.9rem;display:grid}.quiz-status{border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:700}.quiz-status--passed{background:var(--surface-success);color:var(--success)}.quiz-status--failed{background:var(--surface-danger);color:var(--danger)}.quiz-status--timed_out{background:var(--surface-warning);color:var(--warning)}.quiz-section{border-top:1px solid var(--border);gap:10px;padding-top:12px;display:grid}.quiz-link-card{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;text-decoration:none;transition:background-color .18s,border-color .18s;display:flex}.quiz-link-card:hover{background:var(--surface-info);border-color:var(--border-strong)}.quiz-link-card-info{gap:4px;display:grid}.quiz-link-card-meta{flex-wrap:wrap;gap:5px;display:flex}.report-fab{z-index:200;border:1px solid var(--border);background:var(--surface-elevated);width:44px;height:44px;color:var(--text-subtle);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:color .15s,border-color .15s,transform .15s;display:flex;position:fixed;bottom:28px;right:28px}.report-fab:hover{color:var(--danger);border-color:var(--danger);transform:translateY(-2px)}.report-overlay{z-index:300;background:#00000061;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.report-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;gap:18px;width:100%;max-width:440px;padding:24px;display:flex}.report-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-modal-header h3{margin:0;font-size:1rem;font-weight:700}.report-modal-close{cursor:pointer;color:var(--text-subtle);background:0 0;border:none;padding:4px;font-size:1rem;line-height:1}.report-modal-close:hover{color:var(--text)}.report-field{flex-direction:column;gap:8px;display:flex}.report-label{color:var(--text-soft);font-size:.85rem;font-weight:600}.report-type-options{flex-direction:column;gap:6px;display:flex}.report-type-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:9px 12px;font-size:.9rem;transition:border-color .15s,background .15s;display:flex}.report-type-option input{accent-color:var(--primary)}.report-type-option--selected{border-color:var(--primary);background:var(--surface-info)}.report-textarea{resize:vertical;min-height:72px}.report-modal-actions{justify-content:flex-end;gap:10px;display:flex}.report-success{color:var(--success);text-align:center;padding:12px 0;font-weight:600}.report-error{color:var(--danger);font-size:.88rem}.reports-open-badge{background:var(--danger);color:#fff;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:10px;padding:0 6px;font-size:.75rem;font-weight:700;display:inline-flex}.reports-filters{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.reports-filter-btn{border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-soft);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.88rem;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.reports-filter-btn:hover{border-color:var(--primary);color:var(--primary)}.reports-filter-btn--active{border-color:var(--primary);background:var(--surface-info);color:var(--primary)}.reports-filter-count{background:var(--surface-subtle);border-radius:999px;padding:1px 7px;font-size:.8rem}.reports-list{flex-direction:column;gap:12px;display:flex}.report-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:18px 20px;display:flex}.report-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-card-date{white-space:nowrap;font-size:.82rem}.report-card-body{flex-direction:column;gap:6px;display:flex}.report-card-reporter{font-size:.88rem}.report-card-target{flex-wrap:wrap;align-items:baseline;gap:2px;display:flex}.report-card-target-link{color:var(--primary);font-size:.9rem;font-weight:600;text-decoration:none}.report-card-target-link:hover{text-decoration:underline}.report-card-comment{color:var(--text);background:var(--surface-muted);border-left:3px solid var(--border-strong);border-radius:0 6px 6px 0;margin:0;padding:8px 12px;font-size:.92rem}.report-card-actions{gap:8px;display:flex}.report-status{border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.report-status--open{background:var(--surface-warning);color:var(--warning);border-color:color-mix(in srgb, var(--warning) 35%, var(--border))}.report-status--resolved{background:var(--surface-success);color:var(--success);border-color:color-mix(in srgb, var(--success) 35%, var(--border))}.report-status--rejected{background:var(--surface-danger);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}
