@font-face{font-family:bodyLatin;src:url(../media/atkinson_hyperlegible_next_latin.p.07r-45yxeebem.woff2?dpl=dpl_E2cyANecJwow5ChyeT7cchxziadC)format("woff2");font-display:swap;font-weight:400 700}.bodylatin_5d6b01a1-module__NWXFHa__className{font-family:bodyLatin}.bodylatin_5d6b01a1-module__NWXFHa__variable{--font-body-latin:"bodyLatin"}
@font-face{font-family:bodyExtended;src:url(../media/atkinson_hyperlegible_next_latin_ext.p.2qbumvda87bu9.woff2?dpl=dpl_E2cyANecJwow5ChyeT7cchxziadC)format("woff2");font-display:swap;font-weight:400 700}.bodyextended_6ccf6778-module__Ehm_5G__className{font-family:bodyExtended}.bodyextended_6ccf6778-module__Ehm_5G__variable{--font-body-extended:"bodyExtended"}
@font-face{font-family:displayLatin;src:url(../media/bricolage_grotesque_latin.p.1oev-doreg81o.woff2?dpl=dpl_E2cyANecJwow5ChyeT7cchxziadC)format("woff2");font-display:swap;font-weight:400 800}.displaylatin_b24deabd-module__OZejaq__className{font-family:displayLatin}.displaylatin_b24deabd-module__OZejaq__variable{--font-display-latin:"displayLatin"}
@font-face{font-family:displayExtended;src:url(../media/bricolage_grotesque_latin_ext.p.25isf9j40uh6k.woff2?dpl=dpl_E2cyANecJwow5ChyeT7cchxziadC)format("woff2");font-display:swap;font-weight:400 800}.displayextended_b6abd9d7-module__cOjpkG__className{font-family:displayExtended}.displayextended_b6abd9d7-module__cOjpkG__variable{--font-display-extended:"displayExtended"}
@font-face{font-family:mono;src:url(../media/jetbrains_mono-s.p.1v4j9e07zljy-.ttf?dpl=dpl_E2cyANecJwow5ChyeT7cchxziadC)format("truetype");font-display:swap;font-weight:100 800}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.mono_d914d28b-module__6dYu3W__className{font-family:mono,mono Fallback}.mono_d914d28b-module__6dYu3W__variable{--font-mono:"mono", "mono Fallback"}
@media (display-mode:standalone){:root .site-header{height:calc(72px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-right:max(4.5%, env(safe-area-inset-right,0px));padding-left:max(4.5%, env(safe-area-inset-left,0px))}:root .app-side{padding-top:calc(20px + env(safe-area-inset-top,0px));padding-left:max(16px, env(safe-area-inset-left,0px))}}@media (display-mode:standalone) and (max-width:900px){:root .app-top{padding-top:calc(12px + env(safe-area-inset-top,0px));padding-right:max(16px, env(safe-area-inset-right,0px));padding-left:max(16px, env(safe-area-inset-left,0px))}:root .app-side{padding-top:20px}}@media (display-mode:standalone) and (max-width:760px){:root .site-header{padding-right:max(24px, env(safe-area-inset-right,0px));padding-left:max(24px, env(safe-area-inset-left,0px))}}@media (display-mode:standalone) and (max-width:700px){:root .bottom-nav{padding-right:max(var(--space-2), env(safe-area-inset-right,0px));padding-left:max(var(--space-2), env(safe-area-inset-left,0px))}}.install-app{justify-self:start}.install-app-steps{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.install-app-steps li{align-items:center;gap:var(--space-1);font-weight:600;display:inline-flex}.install-app-steps li+li:before{content:"›";content:"›" / "";margin-right:var(--space-1);color:var(--muted);font-weight:400}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--canvas:#f5f7fa;--ink:#172033;--muted:#4c586b;--faint:#677184;--line:#dde3eb;--line-strong:#c5cedb;--blue:#6b3a8c;--blue-ink:#552c70;--blue-soft:#f3ebf8;--soft:var(--canvas);--pale:var(--blue-soft);--green:#1d7a4b;--green-soft:#e6f4ec;--warn:#8a5a00;--warn-soft:#fdf3dc;--danger:#a32929;--danger-soft:#fbeaea;--personal:#0b6e7f;--personal-soft:#e2f2f4;--company:#8a4b00;--company-soft:#fbf0e0;--company-band:#c27a1a;--tutor:#1f4fc4;--tutor-soft:#eaf0fd;--admin:#172033;--admin-soft:#e9ecf2;--cyber:#1d5c7a;--cyber-soft:#e6f0f5;--ai:#a0367a;--ai-soft:#f8e8f1;--on-accent:#fff;--focus:#6b3a8c;--video-bg:#172033;--font-body:var(--font-body-latin), var(--font-body-extended), "Segoe UI", system-ui, sans-serif;--font-display:var(--font-display-latin), var(--font-display-extended), "Segoe UI", system-ui, sans-serif;--font-code:var(--font-mono), ui-monospace, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--radius-pill:999px;--shadow-card:0 10px 40px #17203314;--shadow-popover:0 8px 24px #17203333;font-family:var(--font-body);color:var(--ink);background:var(--bg);font-size:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171d27;--canvas:#10151d;--ink:#eef1f7;--muted:#b8c1d0;--faint:#aab5c5;--line:#354052;--line-strong:#657185;--blue:#c9a3e6;--blue-ink:#e0c7f3;--blue-soft:#35243f;--green:#83d9a7;--green-soft:#193b2b;--warn:#ffd078;--warn-soft:#453217;--danger:#ffabab;--danger-soft:#482728;--personal:#8bd5df;--personal-soft:#14383e;--company:#f4c383;--company-soft:#48331d;--tutor:#a9c2ff;--tutor-soft:#243450;--admin:#e6eaf1;--admin-soft:#303947;--cyber:#9ad4ed;--cyber-soft:#193643;--ai:#f2b2d6;--ai-soft:#422638;--on-accent:#211329;--focus:#dec0f3}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171d27;--canvas:#10151d;--ink:#eef1f7;--muted:#b8c1d0;--faint:#aab5c5;--line:#354052;--line-strong:#657185;--blue:#c9a3e6;--blue-ink:#e0c7f3;--blue-soft:#35243f;--green:#83d9a7;--green-soft:#193b2b;--warn:#ffd078;--warn-soft:#453217;--danger:#ffabab;--danger-soft:#482728;--personal:#8bd5df;--personal-soft:#14383e;--company:#f4c383;--company-soft:#48331d;--tutor:#a9c2ff;--tutor-soft:#243450;--admin:#e6eaf1;--admin-soft:#303947;--cyber:#9ad4ed;--cyber-soft:#193643;--ai:#f2b2d6;--ai-soft:#422638;--on-accent:#211329;--focus:#dec0f3}.activity-label{color:var(--blue);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.practice-guide{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.practice-guide h3{margin:0 0 12px;font-size:16px}.practice-guide ol{margin:0;padding-left:24px}.practice-guide li{margin-bottom:16px;padding-left:4px;font-size:14px}.practice-guide li::marker{color:var(--blue);font-weight:600}.practice-guide li p{color:var(--muted);margin:4px 0 0;font-size:14px;line-height:1.55}.next-activity{margin-top:16px}#course-choice{max-width:100%;margin:4px 0 20px}.file-context-menu{z-index:50;border:1px solid var(--line);background:var(--bg);border-radius:10px;min-width:238px;max-height:calc(100dvh - 16px);padding:8px;position:fixed;overflow-y:auto;box-shadow:0 8px 28px #17203324}.file-context-menu button{text-align:left;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:12px;display:flex}.file-context-menu button:not(:disabled):hover,.file-context-menu button:focus-visible{background:var(--pale);outline:2px solid var(--blue);outline-offset:-2px}.menu-shortcut{color:var(--muted);font-size:12px}.explorer .drop-target{background:var(--pale);box-shadow:inset 0 0 0 2px var(--blue)}.file-area:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;line-height:1.3;display:inline-flex}button:disabled{cursor:default;opacity:.45}button:hover:not(:disabled){background:var(--soft)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input,select{border:1px solid var(--line-strong);min-height:46px;color:var(--ink);background:var(--bg);border-radius:7px;width:100%;padding:12px}textarea{border:1px solid var(--line-strong);width:100%;min-height:96px;color:var(--ink);background:var(--bg);resize:vertical;border-radius:7px;padding:12px;line-height:1.5}input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:var(--blue);flex:none}label{margin:24px 0 8px;font-size:14px;font-weight:600;display:block}h1,h2,h3,p{margin:0}h1,h2,h3,h4,.brand{font-family:var(--font-display)}h1{letter-spacing:-1.2px;font-size:36px;font-weight:700;line-height:1.2}h2{letter-spacing:-.45px;font-size:23px;line-height:1.35}h3{font-size:17px}p{color:var(--muted);line-height:1.65}svg{flex-shrink:0}fieldset{border:0;min-width:0;margin:0;padding:0}body :where(h1,h2,h3,h4)+:where(p,ul,ol,form,fieldset,section,table,div,button){margin-top:var(--space-3)}body :where(p,ul,ol,table,fieldset,form,section,.ui-callout)+:where(h2,h3,h4){margin-top:var(--space-6)}body :where(p,ul,ol,table)+:where(p,ul,ol,table,fieldset,form,section){margin-top:var(--space-3)}body :where(input:not([type=checkbox],[type=radio]),select,textarea,fieldset,.unit-field)+:where(fieldset,button,p,section,ul,table),body :where(form,section,fieldset,table,ul,ol,.ui-callout)+:where(button){margin-top:var(--space-4)}body :where(button)+:where(h2,h3,h4,fieldset,section,form,table){margin-top:var(--space-6)}body :where(button)+:where(p,ul){margin-top:var(--space-4)}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.6}.primary,.secondary{border-radius:7px;min-height:44px;padding:12px 20px;font-size:14px;font-weight:600}.primary{background:var(--blue);color:var(--on-accent);border:1px solid var(--blue)}.primary:hover:not(:disabled){background:var(--blue-ink)}.secondary{border:1px solid var(--line-strong);background:var(--bg)}.full{width:100%}.text-button{color:var(--blue);padding:8px 0;font-size:14px}.quiet{color:var(--muted);padding:8px;font-size:14px}.icon-button{border-radius:5px;width:34px;height:34px;padding:4px}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:24px;height:87px;padding:0 4.5%;display:flex}.brand{letter-spacing:-1px;gap:0;padding:0;font-size:27px;font-weight:800;opacity:1!important}.brand:hover:not(:disabled){background:0 0}.brand span:first-child{color:var(--blue)}.brand-dot{background:var(--blue);border-radius:50%;width:6px;height:6px;margin:16px 0 0 4px}.account{align-items:center;gap:24px;margin-left:auto;font-size:14px;display:flex}.campus-main{max-width:1100px;min-height:calc(100vh - 153px);margin:auto;padding:32px 40px 64px}.practice-main{max-width:1440px;min-height:calc(100vh - 153px);margin:auto;padding:24px 40px}.site-footer{border-top:1px solid var(--line);color:var(--faint);justify-content:space-between;padding:24px 4.5%;font-size:12px;display:flex}.breadcrumbs{color:var(--muted);align-items:center;gap:16px;margin-bottom:48px;font-size:13px;display:flex}.breadcrumbs button{color:var(--muted);padding:0;font-size:13px}.page-heading{max-width:720px;margin-bottom:32px}.page-heading p{margin-top:16px;font-size:17px}.page-heading .greeting{margin:0 0 12px;font-size:16px}.workspace-choice{max-width:340px;margin-bottom:24px}.workspace-choice label{margin-top:0}.workspace-members ul{padding-left:20px;line-height:1.8}.course-preview{background:var(--soft);border:1px solid var(--line);border-radius:12px;gap:32px;margin-top:40px;padding:40px;display:flex}.course-preview h2{margin:4px 0 12px;font-size:25px}.course-preview p{max-width:560px}.course-preview .primary{margin-top:24px}.course-symbol{background:var(--pale);width:112px;height:112px;color:var(--blue);border-radius:18px;flex-shrink:0;place-items:center;display:grid}.below-note{color:var(--muted);align-items:center;gap:12px;margin-top:32px;font-size:14px;display:flex}.back{margin-bottom:20px}.course-meta{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;padding:20px 0;font-size:13px;display:flex}.course-meta span{align-items:center;gap:8px;display:flex}.curriculum-module>h2{color:var(--muted);margin:32px 0 8px;font-size:18px}.curriculum-module+.curriculum-module{margin-top:32px}.module-row{border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:32px 0;display:flex}.module-number{background:var(--soft);width:46px;height:46px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:16px;display:grid}.module-number.complete{color:var(--green);background:var(--green-soft)}.module-row h2,.module-row h3,.module-row h4{margin-bottom:4px;font-size:19px}.module-row p{margin-bottom:8px;font-size:14px}.module-row>button{margin-left:auto}.login-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:96px;padding:80px 0;display:grid}.login-intro h1{margin:24px 0;font-size:43px;line-height:1.18}.login-intro p{font-size:16px}.line-icon{background:var(--pale);width:48px;height:48px;color:var(--blue);border-radius:11px;justify-content:center;align-items:center;display:inline-flex}.intro-note{color:var(--muted);align-items:center;gap:12px;margin-top:48px;font-size:13px;display:flex}.login-form{border:1px solid var(--line);border-radius:12px;padding:32px}.login-form>p:first-of-type{margin:8px 0 20px;font-size:14px}.login-form>.small{text-align:center;margin-top:20px}.checkbox-label{color:var(--muted);align-items:center;gap:8px;margin:16px 0 24px;font-size:13px;font-weight:400;display:flex}.practice-nav{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:24px;font-size:13px;display:flex}.practice-heading{margin-bottom:32px}.practice-heading h1{font-size:30px}.practice-heading p{margin-top:8px;font-size:14px}.practice-grid{grid-template-columns:minmax(0,1fr) 305px;align-items:start;gap:24px;display:grid}.explorer{border:1px solid var(--line-strong);background:var(--bg);border-radius:10px;overflow:hidden}.explorer-title{background:var(--soft);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 20px;font-size:14px;display:flex}.explorer-title>svg{color:var(--blue)}.explorer-title>span{color:var(--muted);margin-left:auto;font-size:11px}.toolbar{border-bottom:1px solid var(--line);align-items:center;gap:3px;padding:12px;display:flex}.toolbar button,.selection-actions button{border-radius:5px;min-height:34px;padding:8px;font-size:12px}.toolbar-divider{background:var(--line);width:1px;height:22px;margin:0 4px}.address{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}.address>span{background:var(--soft);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:5px;flex:1;align-items:center;gap:8px;min-height:32px;padding:8px 12px;display:flex}.explorer-body{grid-template-columns:145px minmax(0,1fr);min-height:295px;display:grid}.folder-nav{background:var(--soft);border-right:1px solid var(--line);padding:16px 8px}.folder-nav button{border-radius:5px;justify-content:flex-start;gap:8px;width:100%;margin-bottom:4px;padding:12px 8px;font-size:12px}.folder-nav button.active{background:var(--pale);color:var(--blue)}.file-area{min-width:0;padding:0 12px 16px}.file-heading{color:var(--faint);border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:8px;padding:16px 12px 12px 40px;font-size:11px;display:flex}.file-row{-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;min-height:44px;padding:8px;display:flex}.file-row:hover{background:var(--soft)}.file-row.selected{background:var(--pale);border-color:var(--line-strong)}.file-row input{width:15px;height:15px;min-height:15px;margin:0 2px 0 0}.file-name{text-align:left;word-break:break-word;flex:1;justify-content:flex-start;min-width:0;min-height:30px;padding:4px 0;font-size:12px}.file-name:hover:not(:disabled){color:var(--blue);background:0 0}.file-type{color:var(--faint);padding-right:8px;font-size:10px}.folder-icon{color:#daa93f;fill:#f8d777;stroke-width:1.4px}.file-icon{color:#6982ad;stroke-width:1.5px}.image-icon{color:#759080;stroke-width:1.5px}.selection-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:0;padding:8px;display:flex}.explorer-status{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:12px 16px;font-size:10px;display:flex}.empty-folder{min-height:190px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-folder p{margin:12px 0 4px;font-size:13px}.empty-folder span{font-size:11px}.task-panel{border:1px solid var(--line);border-radius:10px;padding:24px}.task-label{align-items:center;gap:12px;margin-bottom:20px;display:flex}.task-label h2{font-size:20px}.task-label .line-icon{border-radius:8px;width:36px;height:36px}.task-panel>p{font-size:14px;line-height:1.8}.task-divider{background:var(--line);height:1px;margin:24px 0}.task-panel .full{margin-top:12px;font-size:13px}.task-panel>.small{font-size:12px}.save-state{color:var(--green);align-items:center;gap:8px;min-height:40px;margin:4px 2px;font-size:11px;display:flex}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.save-state.pending{color:var(--warn)}.save-state button{margin-left:auto;font-size:12px}.practice-bottom{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.practice-bottom p,.practice-bottom button{font-size:12px}.error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:6px;margin:12px 0;padding:12px;font-size:13px;line-height:1.6}.error button{margin-top:8px;display:flex}.feedback{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.feedback h3{margin-bottom:12px}.feedback p{font-size:12px}.feedback ul{margin:0;padding:0;list-style:none}.feedback li{color:var(--muted);overflow-wrap:anywhere;align-items:flex-start;gap:8px;margin-top:12px;font-size:11px;line-height:1.6;display:flex}.feedback li.achieved{color:var(--green)}.feedback svg{margin-top:1px}.mobile-notice{display:none}dialog{border:1px solid var(--line);background:var(--bg);width:min(500px,100% - 32px);color:var(--ink);border-radius:12px;padding:24px;box-shadow:0 15px 60px #10204025}dialog::backdrop{background:#14253d55}.dialog-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.dialog-top h2{font-size:21px}.dialog-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.hint-text{margin-top:24px;font-size:16px;line-height:1.8}.hint-text+.small{margin-top:20px}.skip{background:var(--bg);z-index:99;color:var(--blue);padding:12px;position:absolute;top:-60px;left:20px}.skip:focus{top:10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:1400px){.practice-main{padding-top:32px}.practice-grid{grid-template-columns:minmax(0,1fr) 330px;gap:32px}.explorer-body{grid-template-columns:165px minmax(0,1fr);min-height:365px}.file-name,.folder-nav button{font-size:14px}.file-row{min-height:49px}.toolbar button,.selection-actions button{font-size:13px}.file-type{font-size:12px}.task-panel>p{font-size:15px}.practice-heading{margin-bottom:40px}}@media (max-width:1100px){.practice-main{padding:24px}.practice-grid{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.explorer-body{grid-template-columns:120px minmax(0,1fr)}.folder-nav{padding:12px 4px}.folder-nav button{font-size:11px}.file-type{display:none}.task-panel{padding:20px}.login-layout{gap:40px}}@media (max-width:760px){.site-header{height:72px;padding:0 24px}.brand{font-size:24px}.account{gap:12px}.campus-main{padding:24px 24px 48px}.login-layout{padding:20px 0;display:block}.login-intro h1{margin-top:20px;font-size:32px}.login-intro p{font-size:14px}.login-intro .intro-note{margin:24px 0}.login-form{margin-top:32px;padding:24px}.page-heading h1{font-size:29px}.page-heading p{font-size:15px}.course-preview{flex-direction:column;gap:20px;padding:24px}.course-symbol{border-radius:12px;width:70px;height:70px}.course-symbol svg{width:36px}.course-preview h2{font-size:23px}.course-meta,.module-row{flex-wrap:wrap;gap:16px}.module-row>div{flex:1;min-width:170px}.module-row>button{margin-left:64px}.module-row h2,.module-row h3,.module-row h4{font-size:18px}.below-note{align-items:flex-start;font-size:12px}.practice-nav>span{display:none}.practice-heading h1{font-size:27px}.practice-desktop{display:none}.mobile-notice{flex-direction:column;align-items:flex-start;gap:20px;padding:32px 0;display:flex}.mobile-notice h2{font-size:23px}.mobile-notice p{font-size:15px}.desktop-override .mobile-notice{display:none}.desktop-override .practice-desktop{display:block}.desktop-override .practice-grid{flex-direction:column;display:flex}.desktop-override .practice-grid>div,.desktop-override .task-panel{width:100%}.desktop-override .explorer-body{grid-template-columns:1fr}.desktop-override .folder-nav{border-right:0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.desktop-override .folder-nav button{width:auto}.practice-bottom{flex-direction:column;align-items:flex-start}.site-footer{padding:24px;font-size:11px}.dialog-actions{flex-wrap:wrap}h1{overflow-wrap:anywhere}}@media (prefers-reduced-motion:no-preference){button{transition:background .12s,color .12s}}@media (min-width:761px){.file-name,.folder-nav button{font-size:14px}.toolbar button{min-height:40px;font-size:14px}.selection-actions button{min-height:38px;font-size:13px}.file-heading,.file-type,.explorer-status{font-size:12px}.task-panel>p{font-size:16px;line-height:1.65}.task-panel>.small,.save-state{font-size:13px}.explorer-body{grid-template-columns:150px minmax(0,1fr)}}.lesson-view{color:var(--ink)}.lesson-header{border:1px solid var(--line);background:var(--bg);border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.lesson-header span,.lesson-kind{color:var(--muted);font-size:.82rem;font-weight:700}.lesson-layout{background:var(--soft);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;grid-template-columns:minmax(180px,240px) minmax(0,1fr);display:grid}.lesson-sidebar{background:var(--bg);border-right:1px solid var(--line);padding:24px 20px}.lesson-sidebar ol{padding-left:20px;line-height:1.5}.lesson-sidebar a{color:var(--blue-ink);text-decoration-thickness:1px}.lesson-content{width:min(100%,760px);margin:0 auto;padding:32px 32px 48px}.lesson-content h1{margin:4px 0 32px}.lesson-part{background:var(--bg);border:1px solid var(--line);border-radius:12px;margin:20px 0;padding:24px}.lesson-part h2{margin-top:0;font-size:1.35rem}.lesson-part p{line-height:1.65}.lesson-kind{text-transform:uppercase;letter-spacing:.05em}.lesson-video{background:var(--video-bg);border-radius:8px;width:100%;max-width:100%;display:block}.direct-video[data-orientation=portrait]{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:75svh;margin-inline:auto;display:block}.lesson-part details{margin-top:16px}.lesson-option{cursor:pointer;padding:8px 0;display:block}.lesson-part fieldset{border:0;margin:16px 0;padding:0}.lesson-status{color:var(--green);font-weight:700}@media (max-width:700px){.lesson-layout{display:block}.lesson-sidebar{border-right:0;border-bottom:1px solid var(--line)}.lesson-sidebar ol{flex-wrap:wrap;gap:8px 24px;display:flex}.lesson-sidebar li+li{margin-top:0}.lesson-content{padding:24px 16px}.lesson-part{padding:20px}}.invitation-card{background:var(--bg);border:1px solid var(--line);border-radius:14px;max-width:680px;margin:24px auto;padding:32px}.invitation-card h1{margin:8px 0 16px}.invitation-notice{background:var(--pale);border-left:4px solid var(--blue);border-radius:6px;margin:24px 0;padding:20px}.invitation-notice p{margin-bottom:0}.invitation-actions{flex-wrap:wrap;gap:12px;display:flex}.invitation-register{gap:8px;margin-top:24px;display:grid}.invitation-register input{width:100%}.invitation-register button{justify-self:start}@media (max-width:700px){.invitation-card{padding:20px}}.invitation-management{border:1px solid var(--line);background:var(--bg);border-radius:12px;margin-top:20px;padding:20px}.invite-form{max-width:480px;margin-bottom:var(--space-6);gap:8px;display:grid}.invite-form label{margin:var(--space-4) 0 0}.invite-form button{justify-self:start}.content-editor-fields{border:0;min-width:0;margin:20px 0;padding:0}.content-editor-fields>label,.content-editor-section label{margin-top:12px;display:block}.content-editor-fields input:not([type=file]),.content-editor-fields select,.content-editor-fields textarea{width:100%;max-width:640px}.content-editor-fields textarea{border:1px solid var(--line);min-height:100px;font:inherit;resize:vertical;border-radius:8px;padding:12px;display:block}.content-editor-fields input[type=file]{max-width:100%;display:block}.content-editor-section{border:1px solid var(--line);border-radius:10px;min-width:0;margin:16px 0;padding:16px}.content-editor-group{border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:4px 16px 16px}.content-editor-group>legend{padding:0 4px;font-weight:700}.content-editor-option+.content-editor-option{border-top:1px solid var(--line);margin-top:12px}.content-editor-fields .content-editor-check{align-items:center;gap:8px;margin-top:12px;display:flex}.content-editor-fields .content-editor-check label{margin-top:0}.content-editor-fields .content-editor-check input{flex:none;width:17px;height:17px;min-height:17px;margin:0}.content-editor-actions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.lesson-reading{white-space:pre-wrap;overflow-wrap:anywhere}.lesson-control-label{color:var(--blue-ink);background:var(--pale);border-radius:6px;margin-bottom:12px;padding:4px 8px;font-size:13px;font-weight:700;display:inline-block}.history-controls{border:1px solid var(--line);background:var(--bg);border-radius:12px;margin-top:24px;padding:20px}.history-controls h2{margin-bottom:8px}.history-controls ul{padding-left:20px;line-height:1.7}.history-controls details{margin-top:16px}.study-session-status{background:var(--pale);color:var(--blue-ink);padding:8px 4.5%;font-size:13px}.lesson-sidebar ol{padding:0;list-style:none}.lesson-sidebar li+li{margin-top:4px}.lesson-sidebar button{text-align:left;border-radius:8px;justify-content:flex-start;width:100%;padding:8px 12px;font-size:14px}.lesson-sidebar button[aria-current=step]{background:var(--pale);color:var(--blue-ink);font-weight:700}.lesson-sidebar button:hover{background:var(--soft)}.lesson-steps{flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none;display:flex}.lesson-steps button{border:1px solid var(--line);background:var(--bg);border-radius:50%;width:36px;height:36px;padding:0;font-weight:700}.lesson-steps button[aria-current=step]{color:var(--on-accent);border-color:var(--blue);background:var(--blue)}.lesson-steps button[data-done]:not([aria-current=step]){color:var(--green);border-color:var(--green)}.lesson-step-navigation{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.lesson-step-navigation span{color:var(--muted);font-size:14px}.lesson-option{border:1px solid var(--line);border-radius:10px;align-items:flex-start;gap:12px;margin:8px 0;padding:12px;font-size:15px;font-weight:400;display:flex}.lesson-option:has(input:checked){border-color:var(--blue);background:var(--pale)}.lesson-option input{width:18px;height:18px;accent-color:var(--blue);flex:none;margin:0}.lesson-part>p+h2{margin:8px 0 16px}.lesson-part .lesson-reading{margin:16px 0 20px}.lesson-part [role=status]:not(.ui-callout){background:var(--pale);border-radius:10px;margin-top:12px;padding:12px}.course-preview,.login-form{background:var(--bg);box-shadow:0 10px 30px #1720330b}.login-layout{align-items:center;gap:var(--space-4);flex-direction:column;padding:64px 0;display:flex}.login-layout>.ui-callout{width:min(100%,480px)}.login-form{width:min(100%,480px);padding:32px}.primary,.secondary{border-radius:9px}.site-header{background:var(--bg);height:72px}.brand{letter-spacing:-.02em;gap:8px;font-size:21px}.brand span.brand-mark{width:28px;height:28px;color:var(--on-accent);background:var(--ink);border-radius:7px;place-items:center;font-size:15px;display:grid}.brand .brand-word{color:var(--ink)}body:has(.breadcrumbs){background:var(--soft)}.course-curriculum{border:1px solid var(--line);background:var(--bg);border-radius:12px;margin-top:24px;padding:4px 24px 12px}.module-row:last-child{border-bottom:0}.curriculum-module>h2{color:var(--ink)}.module-number{border:1px solid var(--line);background:var(--bg);width:36px;height:36px;font-size:14px}:is(body:has(.lesson-view) .site-header,body:has(.lesson-view) .site-footer){display:none}.campus-main:has(.lesson-view){max-width:none;min-height:100vh;padding:0}.lesson-header{border-radius:0;padding:12px 20px}.lesson-layout{border-radius:0;grid-template-columns:270px minmax(0,1fr);min-height:calc(100vh - 66px)}.lesson-content h1{margin:4px 0 24px;font-size:32px}.lesson-steps{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:4px;display:flex;overflow-x:auto}.lesson-steps li{flex:1 0 auto;min-width:112px}.lesson-steps button{white-space:nowrap;text-align:left;border-radius:10px;justify-content:flex-start;gap:8px;width:100%;height:auto;min-height:48px;padding:8px 12px;font-size:14px}.lesson-steps button[aria-current=step]{color:var(--blue-ink);background:var(--pale)}.lesson-step-number{border:1px solid var(--line);background:var(--bg);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.my-courses{margin-top:32px}.enrollment-detail{max-width:980px}.enrollment-back{margin-bottom:24px}.enrollment-title-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px;display:flex}.enrollment-title-row h1{margin-top:8px;font-size:30px}.enrollment-kicker{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:700}.enrollment-card{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:24px}.enrollment-card h2{margin-bottom:20px;font-size:19px}.enrollment-card h3{margin-bottom:12px;font-size:17px}.enrollment-card p{margin:8px 0 16px;font-size:14px}.enrollment-card button{margin-top:12px}.enrollment-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin:0;display:grid}.enrollment-facts div{gap:4px;display:grid}.enrollment-facts dt{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.enrollment-facts dd{overflow-wrap:anywhere;margin:0;font-weight:700}.enrollment-columns{grid-template-columns:2fr 1fr;gap:16px;margin-top:16px;display:grid}@media (max-width:700px){.enrollment-title-row h1{font-size:25px}.enrollment-card{padding:20px}.enrollment-columns,.enrollment-facts{grid-template-columns:1fr}}.my-courses-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.my-courses-heading h2,.other-enrollments h2{font-size:21px}.my-courses-list{gap:12px;display:grid}.my-course-card{border:1px solid var(--line);background:var(--bg);border-radius:12px;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:20px;display:grid}.my-course-icon{width:48px;height:48px;color:var(--blue);background:var(--pale);border-radius:10px;place-items:center;display:grid}.my-course-body{min-width:0}.my-course-body h3{margin:2px 0 16px;font-size:18px}.course-access-list{margin:0;padding:0;list-style:none}.course-access{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.course-access-details{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;display:flex}.course-access-date,.course-edition{color:var(--muted);font-size:13px}.access-badge,.access-state{background:var(--company-soft);color:var(--company);border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.access-badge.personal{background:var(--personal-soft);color:var(--personal)}.access-state{background:var(--soft);color:var(--muted)}.access-state.active{background:var(--green-soft);color:var(--green)}.course-access-actions{flex-wrap:wrap;gap:8px;display:flex}.course-access-actions button,.catalog-access button{min-height:40px;padding:8px 16px}.catalog-access{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.catalog-access>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.other-enrollments{border:1px solid var(--line);background:var(--bg);border-radius:12px;margin-top:32px;padding:20px}.other-enrollments h2{margin-bottom:12px}@media (max-width:700px){.my-course-card{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:16px}.my-course-icon{width:36px;height:36px}.catalog-access{flex-wrap:wrap}.my-courses-heading{align-items:flex-start}}.lesson-steps button[aria-current=step] .lesson-step-number{background:var(--blue);color:var(--on-accent);border-color:var(--blue)}.lesson-part{background:0 0;border:0;margin:32px 0;padding:0}.lesson-part .lesson-reading{font-size:17px}.lesson-transcript-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.lesson-part .ui-more{margin-block:var(--space-3)}@media (max-width:700px){.lesson-sidebar{display:none}.lesson-step-navigation{flex-wrap:wrap}.lesson-step-navigation span{text-align:center;order:-1;width:100%}.lesson-layout{display:block}.lesson-content{padding:24px 16px}.lesson-content h1{font-size:25px}.lesson-steps{flex-wrap:nowrap;display:flex;overflow-x:auto}.lesson-steps li{flex:1 0 42px;min-width:42px}.lesson-steps li:has(button[aria-current=step]){flex:none}.lesson-steps button{justify-content:center;padding:8px}.lesson-step-name{display:none}.lesson-steps button[aria-current=step] .lesson-step-name{display:inline-flex}}.lesson-layout{background:var(--canvas)}.lesson-content{width:min(100%,1100px);padding:clamp(32px,4vw,48px) clamp(20px,4vw,48px) 80px}.lesson-content h1{letter-spacing:-.025em;font-size:clamp(26px,3vw,34px)}.lesson-sidebar{padding-bottom:128px}.lesson-sidebar button,.lesson-steps button,.lesson-option,.lesson-step-navigation button{transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}.lesson-sidebar button[aria-current=step]{box-shadow:inset 3px 0 0 var(--blue)}.lesson-steps button{min-height:52px}.lesson-part{margin:32px 0}.lesson-part h2{letter-spacing:-.015em;max-width:32em;line-height:1.3}.lesson-part fieldset{margin-top:24px}.lesson-part legend{margin-bottom:8px;font-weight:700}.lesson-option{background:var(--bg);align-items:center;gap:16px;min-height:66px;margin:8px 0;padding:16px 20px;line-height:1.45}.lesson-option:hover{border-color:var(--blue);box-shadow:0 4px 16px #30213b0d}.lesson-option input[type=radio]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0}.lesson-option span{flex:1}:is(.lesson-option[data-verdict=correct],.lesson-option[data-verdict=correct]:has(input:checked)){border-color:var(--green);background:var(--green-soft)}.lesson-option[data-verdict=correct] input{accent-color:var(--green)}:is(.lesson-option[data-verdict=incorrect],.lesson-option[data-verdict=incorrect]:has(input:checked)){border-color:var(--danger);background:var(--danger-soft)}.lesson-option[data-verdict=incorrect] input{accent-color:var(--danger)}.lesson-option .option-verdict{flex:none;align-items:center;gap:4px;font-size:14px;font-weight:700;display:inline-flex}.option-verdict.is-correct{color:var(--green)}.option-verdict.is-incorrect{color:var(--danger)}.lesson-step-navigation{margin-top:32px;padding-top:20px}.lesson-assistant{z-index:15;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:fixed;bottom:58px;left:18px}.lesson-assistant-button{width:84px;height:84px;box-shadow:none;background:0 0;border-radius:28px;padding:4px}.lesson-assistant-button:hover:not(:disabled){background:0 0}.lesson-assistant-robot{transform-origin:bottom;width:100%;height:100%;display:block}.lesson-assistant-robot svg{width:100%;height:100%;display:block;overflow:visible}.lesson-assistant-bubble{border:1px solid var(--line);background:var(--bg);width:min(340px,100vw - 36px);max-height:min(65vh,540px);color:var(--ink);border-radius:18px 18px 18px 5px;padding:16px;font-size:14px;line-height:1.45;overflow-y:auto;box-shadow:0 12px 30px #30213b1c}.lesson-assistant-bubble strong{color:var(--blue-ink)}.lesson-assistant-bubble p{margin:4px 0 0}.lesson-assistant-bubble .assistant-privacy{color:var(--muted);margin-top:12px;font-size:12px}.assistant-conversation{max-height:180px;margin-top:12px;overflow-y:auto}.assistant-conversation .assistant-message{background:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin:0 0 8px;padding:8px 12px}.assistant-conversation .is-user{background:var(--pale)}.lesson-assistant-bubble .assistant-error{color:var(--danger);margin-top:12px}.assistant-form label{margin:12px 0 4px;font-size:13px}.assistant-form textarea{resize:vertical;border:1px solid var(--line-strong);background:var(--bg);width:100%;min-height:58px;color:var(--ink);font:inherit;border-radius:8px;padding:8px}.assistant-form textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.assistant-form button{min-height:38px;margin-top:8px}.robot-eyes,.robot-mouth,.robot-arm{transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){.lesson-assistant-robot{animation:.6s ease-out robot-step,3s ease-in-out .6s infinite robot-float}.robot-eyes{animation:5s ease-in-out infinite robot-blink}.is-talking .robot-mouth{animation:.45s ease-in-out infinite alternate robot-talk}.is-correct .robot-arm-right{animation:.5s ease-in-out 3 alternate robot-wave}.lesson-assistant-bubble{animation:.2s ease-out both assistant-appear}@keyframes robot-step{35%{transform:translateY(-6px)rotate(-8deg)}70%{transform:rotate(5deg)}}@keyframes robot-float{50%{transform:translateY(-3px)}}@keyframes robot-blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.12)}}@keyframes robot-talk{to{transform:scaleY(1.8)}}@keyframes robot-wave{to{transform:rotate(-25deg)}}@keyframes assistant-appear{0%{opacity:0;transform:translateY(6px)}}}@media (max-width:700px){.lesson-content{padding:24px 16px 128px}.lesson-assistant{bottom:58px;left:12px}.lesson-assistant-button{border-radius:22px;width:68px;height:68px}}.lesson-figure{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;margin:24px 0;padding:16px}.lesson-figure img{object-fit:contain;width:100%;height:auto;max-height:460px;display:block}.activity-progress{color:var(--muted);font-variant-numeric:tabular-nums}.activity-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--blue-soft);margin:16px 0;padding:24px 20px;font-size:1.15rem;font-weight:600;line-height:1.45}.activity-card p{margin:0}.activity-media{margin:0 0 16px}.activity-media img{object-fit:contain;border-radius:var(--radius-sm);background:#fff;width:100%;max-height:360px;display:block}.activity-media audio,.lesson-audio-player{width:100%;display:block}.activity-media-placeholder{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--muted);align-items:center;gap:12px;margin:0 0 16px;padding:24px 16px;font-size:1rem;font-weight:400;display:flex}.activity-media-placeholder svg{flex:none}.final-test-review li+li{margin-top:16px}.final-test-review p{margin:4px 0}.lesson-audio{border:1px solid var(--line);border-radius:var(--radius-md);margin:24px 0;padding:16px}.lesson-audio h3{margin:4px 0 12px}.lesson-audio .lesson-reading{margin-bottom:0}.activity-groups{flex-wrap:wrap;gap:12px;margin:12px 0 16px;display:flex}.activity-groups .ui-button{flex:160px;min-height:48px}.activity-sort .ui-callout,.activity-order .ui-callout,.activity-summary .ui-callout{margin:16px 0}.activity-score{font-size:1.2rem;font-weight:700}.activity-order ol{margin:16px 0;padding:0;list-style:none}.activity-order li{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);align-items:center;gap:12px;margin:8px 0;padding:12px;display:flex}.activity-order li.is-right{border-color:var(--green);background:var(--green-soft)}.activity-order li.is-wrong{border-color:var(--warn);background:var(--warn-soft)}.activity-order-number{min-width:28px;color:var(--blue);font-weight:700}.activity-order-text{flex:1;line-height:1.4}.activity-order-moves{gap:4px;display:flex}.activity-order-moves .ui-button{min-width:40px;min-height:40px;padding:0}.flashcard{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--blue-soft);width:100%;min-height:180px;color:var(--ink);font:inherit;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:16px 0;padding:24px;display:flex}.flashcard[aria-pressed=true]{background:var(--bg);border-color:var(--blue)}.flashcard-face{text-align:center;font-size:1.2rem;font-weight:600;line-height:1.45}.flashcard-hint{color:var(--muted);font-size:.875rem}.flashcard-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-log{flex-direction:column;gap:16px;margin:16px 0;display:flex}.chat-turn{flex-direction:column;gap:12px;display:flex}.chat-bubble{border-radius:var(--radius-md);white-space:pre-line;max-width:min(85%,560px);margin:0;padding:12px 16px;line-height:1.5}.chat-person{background:var(--blue);color:var(--on-accent);align-self:flex-end}.chat-assistant{border:1px solid var(--line);background:var(--canvas);align-self:flex-start}.chat-name{opacity:.85;margin-bottom:4px;font-size:.8rem;font-weight:700;display:block}.chat-choice{flex-direction:column;gap:8px;display:flex}.chat-option.ui-button{text-align:left;white-space:normal;justify-content:flex-start;min-height:48px}.challenge-form{flex-direction:column;gap:20px;margin-top:20px;display:flex}.challenge-evidence{flex-direction:column;gap:8px;font-weight:700;display:flex}.challenge-evidence textarea{width:100%;font-weight:400;line-height:1.5}.lesson-option input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0}.quiz-questions{padding-left:1.2em}.quiz-questions>li{margin:24px 0}.quiz-multiple{color:var(--muted);font-weight:400}.quiz-review>li{margin:12px 0}.quiz-review>li>span{font-weight:700;display:block}.quiz-review>li.is-right>span{color:var(--green)}.quiz-review>li.is-wrong>span{color:var(--warn)}@media (max-width:640px){.chat-bubble{max-width:100%}.activity-groups .ui-button{flex-basis:100%}}.diagnosis-lists{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:12px 0 20px;display:grid}.diagnosis-lists>div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--canvas);padding:16px}.diagnosis-lists h4{margin:0 0 8px}.challenge-form>.ui-button{align-self:flex-start}.quiz-explained{padding-left:0;list-style:none}.quiz-explained li{margin:4px 0}.quiz-explained .is-right>span:first-child{color:var(--green)}.quiz-explained .is-wrong>span:first-child{color:var(--danger)}.survey-form{flex-direction:column;gap:20px;margin-top:16px;display:flex}.survey-form>.ui-button{align-self:flex-start}.survey-form legend{align-items:center;gap:8px;font-weight:700;display:flex}.survey-options{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 12px;display:grid}.survey-options .lesson-option{min-height:52px;margin:4px 0;padding:12px 16px}.survey-other{flex-direction:column;gap:8px;max-width:360px;margin-top:8px;display:flex}.survey-saved{color:var(--green);font-weight:700}.challenge-tool{margin:8px 0}.content-json{font-family:var(--font-code);font-size:.85rem;line-height:1.45}.history-profile{gap:8px;display:grid}.history-profile>div{flex-wrap:wrap;gap:4px 12px;display:flex}.history-profile dt{font-weight:700}.history-profile dd{margin:0}.curriculum-optional{color:var(--muted);font-weight:400}.activity-groups-long{flex-direction:column}.activity-groups-long .ui-button{text-align:left;white-space:normal;flex-basis:auto;justify-content:flex-start;padding:12px 16px;font-weight:400;line-height:1.45}.lesson-reading a{color:var(--blue-ink)}.lesson-part fieldset>.ui-button{margin-top:12px}.course-progress{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);gap:12px;max-width:520px;margin:20px 0;padding:16px 20px;display:grid}.course-progress-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.course-progress-head strong{font-size:1.6rem}.course-progress-head span{color:var(--muted)}.course-progress-bar{background:var(--canvas);border-radius:999px;height:10px;overflow:hidden}.course-progress-bar span{border-radius:inherit;background:var(--blue);height:100%;display:block}.course-progress .ui-button{justify-self:start}.activity-actions{flex-wrap:wrap;gap:12px;display:flex}.scenario-log{flex-direction:column;gap:20px;margin:16px 0;padding:0;list-style:none;display:flex}.scenario-node{border-left:3px solid var(--line-strong);flex-direction:column;gap:12px;padding-left:16px;display:flex}.scenario-node .lesson-reading{margin:0}.scenario-choice{align-self:flex-end}.scenario-ending{border-radius:var(--radius-sm);border-left-width:4px;padding:16px}.scenario-good{border-color:var(--green);background:var(--green-soft)}.scenario-bad{border-color:var(--danger);background:var(--danger-soft)}.scenario-label{margin:0;font-weight:700}.scenario-good .scenario-label{color:var(--green)}.scenario-bad .scenario-label{color:var(--danger)}.challenge-files ul{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.challenge-files li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.challenge-file-size,.challenge-file-input small{color:var(--muted);font-size:.85rem}.challenge-file-input{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.challenge-file-input label.ui-button{cursor:pointer}.challenge-file-input input:focus-visible+span label{outline:3px solid var(--focus);outline-offset:2px}.challenge-file-input input:disabled+span label{opacity:.55;cursor:not-allowed}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid;position:relative}.app-side{border-right:1px solid var(--line);background:var(--bg);flex-direction:column;gap:20px;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.app-side .brand{justify-content:flex-start;padding:0 8px}.app-shell .campus-main{width:100%;min-height:100vh;margin:0 auto}.side-field{gap:8px;padding:0 12px 8px;display:grid}.side-field label{color:var(--muted);font-size:13px;font-weight:700}.side-field select{text-overflow:ellipsis;width:100%;min-height:40px;padding:8px 32px 8px 10px;font-size:14px}.side-context .ui-chip,.side-context>*{white-space:normal;overflow-wrap:anywhere;max-width:100%}.side-nav{gap:2px;display:grid}.side-sep{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:8px 0 4px;padding:0 12px;font-size:12px;font-weight:700}.side-context{margin:0 0 8px;padding:0 8px}.side-nav button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:flex-start;align-items:center;gap:12px;padding:8px 12px;font-size:15.5px;font-weight:500;display:flex}.side-nav button:hover:not(:disabled){background:var(--canvas)}.side-nav button[aria-current=page],.side-nav button[aria-current=page]:hover:not(:disabled){background:var(--blue-soft);color:var(--blue-ink);font-weight:700}.side-count{background:var(--blue);color:var(--on-accent);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:700}.side-count.zero{background:var(--line);color:var(--muted)}.side-foot{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 12px;margin-top:auto;padding:12px 8px 0;display:grid}.side-foot strong:not(dialog *){text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.side-foot button:not(dialog *){grid-column:2;justify-self:start;padding:2px 0;font-size:14px}.avatar{background:var(--blue-soft);width:34px;height:34px;color:var(--blue-ink);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.app-top,.app-menu-space{display:none}@media (max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-top{z-index:15;border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.app-top .brand{align-items:center;gap:8px;font-size:18px;display:flex}.app-side .brand{display:none}.app-side{border-right:0;border-bottom:1px solid var(--line);height:auto;display:none;position:static}.app-shell[data-menu=open] .app-side{z-index:14;max-height:min(75dvh,640px);display:flex;position:fixed;inset:0 0 auto;overflow-y:auto;box-shadow:0 12px 24px #0003}.app-menu-space{display:block}.app-shell .campus-main{min-height:0}}.course-filter{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px 20px;margin:4px 0 20px;display:flex;overflow-x:auto}.course-filter button{white-space:nowrap;color:var(--muted);border-bottom:2px solid #0000;border-radius:0;flex:none;gap:8px;margin-bottom:-1px;padding:12px 4px;font-weight:600}.course-filter button:hover:not(:disabled){color:var(--ink);background:0 0}.course-filter button[aria-pressed=true]{border-bottom-color:var(--blue);color:var(--ink);font-weight:700}.course-filter-count{background:var(--line);min-width:22px;color:var(--ink);text-align:center;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.course-filter button[aria-pressed=true] .course-filter-count{background:var(--blue-soft);color:var(--blue-ink)}.card-progress{background:var(--line);border-radius:999px;flex-basis:100%;max-width:260px;height:6px;display:block;overflow:hidden}.card-progress span{border-radius:inherit;background:var(--blue);height:100%;display:block}.lesson-row{padding:16px 0}.lesson-row h3{font-size:17px}.lesson-row .module-number{width:36px;height:36px;font-size:14px}.module-number.started{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-ink)}.lesson-row-meta{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.part-chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:6px;padding:1px 8px;font-size:12.5px}.lesson-row-state{color:var(--blue-ink);font-size:13px;font-weight:700}.lesson-row>button{padding:8px 16px;font-size:14px}.lesson-header .ui-button,.lesson-header>button{flex:none}.lesson-course{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;overflow:hidden}.lesson-header-progress{justify-items:end;gap:4px;display:grid}.lesson-header-progress .card-progress{width:160px}.lesson-index-module+.lesson-index-module{margin-top:16px}.lesson-index-title{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.lesson-index-module ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.lesson-index-link{width:100%;color:var(--muted);text-align:left;border-radius:6px;justify-content:flex-start;padding:8px;font-size:14px}.lesson-index-current>strong{background:var(--blue-soft);color:var(--blue-ink);border-radius:6px;padding:8px;font-size:14px;display:block}.lesson-index-current ol{margin:4px 0 8px 12px}@media (max-width:760px){.lesson-course,.lesson-header-progress .card-progress{display:none}.lesson-assistant{align-items:flex-end;bottom:16px;left:auto;right:12px}.lesson-assistant-button{border-radius:18px;width:56px;height:56px}.lesson-content{padding-bottom:96px}}.lesson-index-toggle{display:none}@media (max-width:700px){.lesson-layout{position:relative}.lesson-index-toggle{display:inline-flex}.lesson-sidebar:has(.lesson-index-module){display:none}.lesson-sidebar[data-open=true]{z-index:11;border-bottom:1px solid var(--line);max-height:min(75dvh,640px);display:block;position:fixed;inset:0 0 auto;overflow-y:auto;box-shadow:0 12px 24px #0003}.lesson-index-current ol{gap:2px;display:grid}}.lesson-assistant{align-items:flex-end;left:auto;right:18px}@media (min-width:701px){.lesson-sidebar:has(.lesson-index-module){align-self:start;max-height:100vh;position:sticky;top:0;overflow-y:auto}}@media (max-width:700px){.lesson-header-words{display:none}.lesson-header-progress{white-space:nowrap}}@media (max-width:900px){.app-shell{grid-template-rows:auto auto 1fr;align-content:start}.app-side,.app-shell[data-menu=open] .app-side{gap:8px;padding:10px 16px;display:flex}.app-shell:not([data-menu=open]) .app-side{scrollbar-width:none;flex-direction:row;align-items:center;overflow:auto hidden}.app-shell:not([data-menu=open]) .app-side::-webkit-scrollbar{display:none}.app-shell:not([data-menu=open]) .side-space{flex:none;padding:0}.app-shell:not([data-menu=open]) .side-space label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell:not([data-menu=open]) .side-space select{width:auto;max-width:190px;min-height:38px;padding-block:6px;font-size:14px}.app-shell:not([data-menu=open]) .side-nav{flex:none;overflow:visible}.side-nav{gap:8px;min-width:0;display:flex;overflow-x:auto}.side-nav button{border:1px solid var(--line);white-space:nowrap;flex:none;width:auto;padding:8px 12px;font-size:14.5px}.side-nav .side-sep,.app-shell:not([data-menu=open]) .side-nav .side-field,.app-shell:not([data-menu=open]) .side-nav .side-context,.app-shell:not([data-menu=open]) .side-foot{display:none}.app-shell[data-menu=open] .side-nav:has(.side-field){flex-wrap:wrap}.side-nav .side-field{flex-basis:100%;padding:0}}@media (max-width:700px){.lesson-header{flex-wrap:wrap}.lesson-header>button{padding-inline:12px}}.editor-bar{z-index:6;border:1px solid var(--line);background:var(--bg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:16px 0;padding:12px 16px;display:flex;position:sticky;top:0}.editor-bar-title{flex:1;min-width:0;line-height:1.25;display:grid}.editor-bar-title h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;overflow:hidden}.editor-bar-title span{color:var(--muted);font-size:13px}.editor-state{color:var(--green);font-size:13px;font-weight:700}.editor-state.unsaved{color:var(--warn)}.editor-body{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:20px;display:grid}.editor-index{border:1px solid var(--line);background:var(--bg);border-radius:12px;max-height:calc(100vh - 100px);padding:12px 8px;font-size:14px;position:sticky;top:80px;overflow-y:auto}.editor-index ul{margin:0 0 8px;padding:0;list-style:none}.editor-index button{text-align:left;border-radius:6px;justify-content:flex-start;gap:8px;width:100%;padding:4px 8px}.editor-index-module{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.editor-index .dot{background:var(--line-strong);border-radius:50%;flex:none;width:8px;height:8px}.editor-index .dot.err{background:var(--danger)}.editor-lesson-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-desktop-only{display:none}.lesson-preview{max-height:72vh;overflow-y:auto}.lesson-preview video{width:100%}.lesson-preview-part{margin-bottom:20px}.publish-review ul{margin:8px 0 12px}.publish-warning{margin:16px 0;font-weight:700}.dialog-actions{flex-wrap:wrap;gap:12px;display:flex}@media (max-width:760px){.course-editor>:not(.editor-desktop-only){display:none}.editor-desktop-only{border:1px solid var(--line);background:var(--bg);border-radius:12px;margin:16px 0;padding:16px;font-weight:700;display:block}}.course-sheet{max-width:620px}.course-sheet h3{margin:20px 0 8px;font-size:17px}.course-sheet ul{margin:0;padding-left:20px}.course-sheet-meta{color:var(--muted)}.course-sheet-facts{list-style:none;padding-left:0!important}.course-sheet-facts strong{min-width:2ch;color:var(--blue-ink);font-size:18px;display:inline-block}.module-end{gap:var(--space-4);margin:var(--space-6) 0;display:grid}.module-end-badge{background:var(--green-soft);color:var(--green);border-radius:999px;justify-self:start;align-items:center;gap:6px;margin:0;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.module-end.is-course-end .module-end-badge{padding:6px 14px;font-size:14px;animation:.42s ease-out both module-end-pop}.module-end h2{align-items:center;gap:10px;margin:0;font-size:26px;display:flex}.module-end-card{padding:var(--space-5);border:1px solid var(--line);background:var(--bg);border-radius:12px}.module-end-card h3{margin:0 0 var(--space-3);font-size:17px}.module-end-card ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.module-end-card li{align-items:flex-start;gap:10px;display:flex}.module-end-card li svg{color:var(--green);flex:none;margin-top:2px}.module-end-card .action-row{margin-top:var(--space-4)}@keyframes module-end-pop{0%{opacity:0;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.module-end.is-course-end .module-end-badge{animation:none}}:is(dialog:has(.lesson-preview),dialog:has(.course-sheet)){width:min(800px,100% - 32px)}.next-step{align-items:center;gap:var(--space-6);border:1px solid var(--line);background:var(--bg);border-radius:14px;margin:0 0 32px;padding:20px 24px;display:flex}.next-step-body{justify-items:start;gap:8px;min-width:0;display:grid}.next-step h2{margin:0;font-size:21px}.next-step p:not(.lesson-kind){color:var(--muted);margin:0}.next-step .ui-button{margin-top:4px}.progress-ring{flex:none;place-items:center;width:112px;height:112px;display:grid;position:relative}.progress-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:7px}.progress-ring-track{stroke:var(--line)}.progress-ring-value{stroke:var(--blue);stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1)}.progress-ring span{font-family:var(--font-display);color:var(--ink);font-size:24px;font-weight:800}@media (prefers-reduced-motion:reduce){.progress-ring-value{transition:none}}@media (max-width:520px){.next-step{gap:var(--space-4);padding:16px}.progress-ring{width:84px;height:84px}.progress-ring span{font-size:18px}}.my-courses-group>h3{letter-spacing:.02em;color:var(--muted);margin:24px 0 12px;font-size:15px}.side-profile{text-align:left;text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start;min-width:0;padding:2px 0;font-size:15px;font-weight:700;overflow:hidden}.side-profile[aria-current=page]{color:var(--blue-ink)}.assistant-practice h3{margin:24px 0 12px;font-size:17px}.assistant-steps{color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin:16px 0 4px;padding:0;font-size:14px;list-style:none;display:flex}.assistant-steps li[aria-current=step]{color:var(--blue-ink);font-weight:700}.assistant-doc{margin-bottom:8px}.assistant-doc details{margin:4px 0 0 32px}.assistant-attached{opacity:.9;margin-top:8px;font-size:13px;display:block}.assistant-sentences>div{margin-bottom:8px}.activity-feedback.wrong{border-left:3px solid var(--warn);color:var(--ink);margin:4px 0 0 32px;padding-left:12px;font-size:14px}.action-row{align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-6);flex-wrap:wrap;display:flex}.status-page{min-height:100vh;padding:var(--space-6) var(--space-4);background:var(--canvas);place-items:center;display:grid}.status-card{justify-items:start;gap:var(--space-4);width:min(100%,440px);padding:var(--space-8) var(--space-7);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);box-shadow:var(--shadow-card);display:grid}.status-card h1{font-size:28px}.status-icon{border-radius:var(--radius-sm);background:var(--canvas);width:52px;height:52px;color:var(--ink);place-items:center;display:grid}.status-ref{margin:0;font-size:14px}.status-card .action-row{margin:0}.offline-banner{z-index:30;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--warn-soft);color:var(--warn);flex-wrap:wrap;font-weight:700;display:flex;position:sticky;top:0}a.ui-button{text-decoration:none}.curriculum-module+.curriculum-module:has(>.curriculum-module-head){border-top:1px solid var(--line);margin-top:0}.curriculum-module>h2.curriculum-module-head{margin:0;font-size:17px}.curriculum-module-head button{align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-4) 0;color:var(--ink);font:inherit;text-align:left;box-shadow:none;background:0 0;border:0;border-radius:0;font-weight:700;display:flex}.curriculum-module-head button:hover:not(:disabled){color:var(--blue-ink);background:0 0}.curriculum-module-title{flex:1;min-width:0}.curriculum-module-count{background:var(--soft,var(--pale));color:var(--muted);border-radius:999px;flex:none;padding:2px 10px;font-size:13px;font-weight:600}.curriculum-module-count.is-done{background:var(--green-soft);color:var(--green)}.curriculum-chevron{color:var(--muted);flex:none;transition:transform .18s}.curriculum-module-head button[aria-expanded=true] .curriculum-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.curriculum-chevron{transition:none}}.lesson-row.is-next{box-shadow:inset 3px 0 0 var(--blue);padding-left:var(--space-4)}.login-links{justify-content:space-between;gap:var(--space-3) var(--space-5);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.login-links>*{margin:0}.status-brand{margin-bottom:var(--space-2);font-family:var(--font-display);flex-direction:row;align-items:center;gap:8px;font-size:20px;font-weight:800;display:inline-flex}@media (max-width:760px){.lesson-assistant{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.lesson-assistant-button{border:1px solid var(--line);background:var(--bg);width:52px;height:52px;box-shadow:var(--shadow-card,0 6px 20px #1720331f);border-radius:50%;padding:6px}.lesson-assistant-button:hover:not(:disabled){background:var(--bg)}}@media (min-width:701px){.lesson-layout:has(.lesson-index-module){background:linear-gradient(90deg, var(--bg) 0 239px, var(--line) 239px 240px, var(--canvas) 240px);grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 70px)}}.course-progress.is-complete{border-color:var(--green);background:var(--green-soft)}.course-progress.is-complete .course-progress-bar span{background:var(--green)}.course-progress-head .course-complete{color:var(--green);align-items:center;gap:8px;font-size:1.15rem;display:inline-flex}.my-course-icon[data-tone=shield]{color:var(--tutor);background:var(--tutor-soft)}.my-course-icon[data-tone=mail]{color:var(--warn);background:var(--warn-soft)}.my-course-icon[data-tone=note]{color:var(--green);background:var(--green-soft)}.lesson-step-name{align-items:center;gap:6px}.lesson-steps button .lesson-step-name{display:inline-flex}@media (max-width:700px){.lesson-steps button:not([aria-current=step]) .lesson-step-name{display:none}}.lesson-step-name svg{opacity:.75;flex:none}.lesson-index-title{align-items:center;gap:6px;display:flex}.part-chip{align-items:center;gap:4px;display:inline-flex}.lesson-row-time{color:var(--muted);align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.curriculum-module-plain{align-items:center;gap:10px;display:flex}.module-icon{color:var(--blue);flex:none}.curriculum-module-head .module-icon{box-sizing:content-box;background:var(--pale);border-radius:10px;padding:6px}.my-course-cover{background:var(--pale);border-radius:10px;flex:none;width:132px;height:84px;overflow:hidden}.my-course-cover img,.course-hero img{object-fit:cover;width:100%;height:100%;display:block}.course-hero{aspect-ratio:4;max-height:240px;margin:var(--space-4) 0 var(--space-6);background:var(--pale);border-radius:16px;overflow:hidden}@media (max-width:700px){.my-course-cover{width:72px;height:56px}.course-hero{aspect-ratio:5/2;border-radius:12px}}.my-course-card:has(>.my-course-cover){grid-template-columns:132px minmax(0,1fr)}@media (max-width:700px){.my-course-card:has(>.my-course-cover){grid-template-columns:72px minmax(0,1fr)}}.fx-layer{z-index:60;pointer-events:none;width:0;height:0;position:fixed}.fx-piece{border-radius:2px;width:8px;height:12px;animation:.95s cubic-bezier(.15,.7,.3,1) forwards fx-fly;position:absolute;top:-6px;left:-4px}.fx-piece.is-round{border-radius:50%;width:9px;height:9px}@keyframes fx-fly{0%{opacity:1;transform:translate(0)rotate(0)scale(.6)}70%{opacity:1}to{transform:translate(var(--dx), calc(var(--dy) + 40px)) rotate(var(--rot)) scale(1);opacity:0}}.fx-float{color:var(--green);font-family:var(--font-display);white-space:nowrap;text-shadow:0 1px 0 var(--bg);font-size:20px;font-weight:800;animation:1.1s ease-out forwards fx-rise;position:absolute;transform:translate(-50%,-50%)}@keyframes fx-rise{0%{opacity:0;transform:translate(-50%,-30%)scale(.7)}20%{opacity:1;transform:translate(-50%,-80%)scale(1.1)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}.streak-chip{background:var(--warn-soft);color:var(--warn);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:800;animation:.42s cubic-bezier(.3,1.6,.5,1) both fx-pop;display:inline-flex}.lesson-toast{z-index:55;border:1px solid var(--green);background:var(--green-soft);color:var(--green);border-radius:999px;align-items:center;gap:10px;padding:12px 20px;font-weight:800;animation:3.2s both fx-toast;display:inline-flex;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #17203322}@keyframes fx-toast{0%{opacity:0;transform:translate(-50%,-16px)scale(.9)}10%,85%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-8px)}}@keyframes fx-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.lesson-option[data-verdict=correct]{animation:.9s ease-out fx-glow}@keyframes fx-glow{0%{box-shadow:0 0 #1d7a4b55}to{box-shadow:0 0 0 14px #1d7a4b00}}.option-verdict svg{animation:.38s cubic-bezier(.3,1.6,.5,1) both fx-pop}.lesson-steps button[data-fresh] .lesson-step-number{animation:.48s cubic-bezier(.3,1.8,.5,1) both fx-pop}.card-progress span,.course-progress-bar span{transition:width .7s cubic-bezier(.2,.8,.2,1)}.my-course-card,.next-step{transition:transform .18s,box-shadow .18s,border-color .18s}.my-course-card:hover,.next-step:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 10px 28px #1720331a}.module-end-badge{animation:.46s cubic-bezier(.3,1.6,.5,1) both fx-pop}@media (prefers-reduced-motion:reduce){.streak-chip,.lesson-toast,.lesson-option[data-verdict],.option-verdict svg,.lesson-steps button[data-fresh] .lesson-step-number,.module-end-badge{animation:none}.card-progress span,.course-progress-bar span,.my-course-card,.next-step{transition:none}.my-course-card:hover,.next-step:hover{transform:none}}.screen-enter{animation:.18s cubic-bezier(.2,.8,.2,1) backwards screen-enter}@keyframes screen-enter{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.screen-enter{animation:none}}.course-progress-head .course-complete svg{animation:.52s cubic-bezier(.3,1.8,.5,1) both fx-pop}.curriculum-module-head button[data-done] .module-icon{background:var(--green-soft);color:var(--green)}.ai-badge{background:var(--line);color:var(--muted);letter-spacing:.04em;vertical-align:middle;border-radius:999px;align-items:center;gap:4px;margin-left:6px;padding:1px 8px;font-size:11px;display:inline-flex}.ai-badge.is-live{background:var(--blue-soft);color:var(--blue-ink)}.playground-material{white-space:pre-wrap}.playground-checklist{margin:var(--space-4) 0;flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.playground-checklist li{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;transition:background-color .3s,color .3s,border-color .3s;display:inline-flex}.playground-checklist li[data-ok=true]{border-color:var(--green);background:var(--green-soft);color:var(--green);font-weight:700}.playground-checklist li[data-ok=true] svg{animation:.42s cubic-bezier(.3,1.6,.5,1) both fx-pop}.playground-checklist li[data-ok=false]{border-style:dashed}.playground-label{margin-bottom:6px;font-weight:700;display:block}.playground-privacy{color:var(--muted);align-items:center;gap:6px;margin:8px 0 0;font-size:13px;display:flex}.playground .action-row{margin-top:var(--space-4)}.playground-thinking{color:var(--muted);align-items:center;gap:10px;display:flex}.playground-dots{gap:4px;display:inline-flex}.playground-dots span{background:var(--blue);border-radius:50%;width:7px;height:7px;animation:.9s ease-in-out infinite playground-dot}.playground-dots span:nth-child(2){animation-delay:.15s}.playground-dots span:nth-child(3){animation-delay:.3s}@keyframes playground-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.playground-result{gap:var(--space-3);margin-top:var(--space-5);display:grid}.playground-answer{align-items:flex-start;gap:10px;display:flex}.playground-avatar{background:var(--blue-soft);width:36px;height:36px;color:var(--blue-ink);border-radius:50%;flex:none;place-items:center;display:grid}.playground-bubble{border:1px solid var(--line);background:var(--bg);border-radius:4px 16px 16px;min-width:0;padding:12px 16px;box-shadow:0 4px 16px #1720330d}.playground-who{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.playground-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.playground-score{background:var(--warn-soft);color:var(--ink);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex}.playground-score strong{color:var(--warn);font-family:var(--font-display);flex:none;font-size:24px}.playground-score.is-full{background:var(--green-soft)}.playground-score.is-full strong{color:var(--green)}.playground-history{gap:6px;margin:0;padding-left:20px;display:grid}.playground-turns{gap:var(--space-3);margin:var(--space-4) 0;padding:0;list-style:none;display:grid}.playground-answer.is-mine{flex-direction:row-reverse}.playground-answer.is-mine .playground-avatar{background:var(--line);color:var(--ink)}.playground-answer.is-mine .playground-bubble{background:var(--blue-soft);border-radius:16px 4px 16px 16px}@media (prefers-reduced-motion:reduce){.playground-dots span,.playground-checklist li[data-ok=true] svg{animation:none}}.public-shell{background:var(--canvas);min-height:100vh}.public-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--line);background:var(--bg);padding:12px max(16px,50% - 520px);display:flex;position:sticky;top:0}.public-header .brand{color:var(--ink);font-family:var(--font-display);align-items:center;gap:8px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.public-nav{align-items:center;gap:var(--space-2);display:flex}.public-nav .ui-button{padding:0 var(--space-4)}@media (max-width:379px){.public-header .brand-word{display:none}}.public-main{width:min(100% - 32px,1040px);padding:var(--space-6) 0 var(--space-10);margin:0 auto}.public-main>section{margin-top:var(--space-8)}.public-intro h1{margin:0 0 var(--space-3);font-size:clamp(30px,5vw,44px)}.public-lead{max-width:720px;color:var(--muted);margin:0;font-size:18px;line-height:1.55}.public-facts{margin:var(--space-5) 0;flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.public-facts>*{border:1px solid var(--line);background:var(--bg);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.public-columns{gap:var(--space-5);margin-top:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.public-columns>section{padding:var(--space-5);border:1px solid var(--line);background:var(--bg);border-radius:16px}.public-columns h2,.public-main>section>h2{margin:0 0 var(--space-4);font-size:22px}.public-columns ul{gap:8px;margin:0;padding-left:20px;display:grid}.public-checks{list-style:none;padding-left:0!important}.public-checks li{padding-left:28px;position:relative}.public-checks li:before{content:"✓";color:var(--green);font-weight:800;position:absolute;left:0}.public-outline details{border:1px solid var(--line);background:var(--bg);border-radius:12px}.public-outline details+details{margin-top:8px}.public-outline summary{cursor:pointer;align-items:center;gap:10px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.public-outline summary::-webkit-details-marker{display:none}.public-outline summary>span:first-of-type{flex:1}.public-outline summary .module-icon{box-sizing:content-box;background:var(--pale);border-radius:10px;padding:6px}.public-outline ul{gap:4px;margin:0;padding:0 16px 14px;list-style:none;display:grid}.public-outline li{border-top:1px solid var(--line);gap:6px;padding:10px 0;display:grid}.public-lesson-title{font-weight:600}.public-sample-lesson{padding:var(--space-5);border:1px solid var(--line);background:var(--bg);border-radius:16px}.public-sample-lesson>h3{margin:0 0 var(--space-4);font-size:22px}.public-locked{color:var(--muted);border-radius:12px;justify-items:start;gap:4px;display:grid;padding:var(--space-5)!important;border:1px dashed var(--line-strong)!important}.public-locked h2{color:var(--ink)}.public-form{gap:var(--space-3);max-width:560px;padding:var(--space-5);border:1px solid var(--line);background:var(--bg);border-radius:16px;display:grid}.public-form .ui-button{justify-self:start}.public-trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.public-privacy{color:var(--muted);margin:0;font-size:13px}.public-sent{background:var(--green-soft);color:var(--green);border-radius:12px;align-items:center;gap:8px;padding:14px 18px;font-weight:700;display:inline-flex}.public-footer{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-6) max(16px, calc((100% - 1040px) / 2));border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;font-size:14px;display:flex}.legal-links{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.legal-links a{color:inherit}.legal-links a:hover{color:var(--ink)}.legal article{max-width:760px;line-height:1.6}.legal h1{margin:0 0 var(--space-5);font-size:clamp(30px,5vw,40px)}.legal h2{margin:var(--space-8) 0 var(--space-3);scroll-margin-top:80px;font-size:22px}.legal h3{margin:var(--space-6) 0 var(--space-2);scroll-margin-top:80px;font-size:18px}.legal p,.legal ul,.legal ol{margin:0 0 var(--space-4)}.legal li+li{margin-top:var(--space-2)}.legal article a{color:var(--blue)}.legal code{font-family:var(--font-code);overflow-wrap:anywhere;font-size:.9em}.legal-table{margin:0 0 var(--space-5);background:var(--bg);font-size:15px;line-height:1.5}.legal-table th,.legal-table td{vertical-align:top}.legal-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--warn-soft);color:var(--ink)}.legal-pending{background:var(--warn-soft);color:var(--warn);border-radius:4px;padding:0 3px;font-weight:700}.public-course-list{gap:var(--space-4);margin:var(--space-5) 0 0;padding:0;list-style:none;display:grid}.public-course-card{align-items:center;gap:var(--space-5);padding:var(--space-4);border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:16px;grid-template-columns:220px minmax(0,1fr) auto;text-decoration:none;transition:transform .18s,box-shadow .18s;display:grid}.public-course-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #1720331a}.public-course-card img{aspect-ratio:16/9;object-fit:cover;border-radius:10px;width:100%}.public-course-card-body{gap:6px;display:grid}.public-course-card-body strong{font-family:var(--font-display);font-size:22px}.public-course-card-body>span:not(.public-facts){color:var(--muted)}.public-course-card .public-facts{margin:4px 0 0}.public-course-card-go{color:var(--blue)}@media (max-width:700px){.public-course-card{grid-template-columns:1fr}.public-course-card-go{display:none}}@media (prefers-reduced-motion:reduce){.public-course-card{transition:none}.public-course-card:hover{transform:none}}.info-requests{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.info-requests li{padding:var(--space-4);border:1px solid var(--line);background:var(--bg);border-radius:12px;gap:6px;display:grid}.info-requests li[data-status=new]{border-left:4px solid var(--blue)}.info-requests p{margin:0}.info-request-head{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.info-request-message{white-space:pre-wrap;color:var(--muted)}.info-request-status{justify-self:start;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.info-request-status select{width:auto;min-height:36px;padding:4px 28px 4px 10px}.public-more{margin:var(--space-4) 0 0;color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.certificate-pending{color:var(--muted);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.enrollment-detail>.certificate-link,.enrollment-detail>.certificate-pending{margin:var(--space-3) 0}.certificate-check{place-items:center;display:grid}.certificate-card{width:min(100%,560px);padding:var(--space-6);border:1px solid var(--line);background:var(--bg);border-radius:16px}.certificate-card h1{margin:var(--space-2) 0 var(--space-4);font-size:28px}.certificate-card dl{gap:10px;margin:0;display:grid}.certificate-card dl>div{grid-template-columns:110px minmax(0,1fr);gap:12px;display:grid}.certificate-card dt{color:var(--muted);font-weight:700}.certificate-card dd{margin:0}.certificate-valid,.certificate-invalid{border-radius:999px;align-items:center;gap:8px;margin:0;padding:4px 12px;font-weight:800;display:inline-flex}.certificate-valid{background:var(--green-soft);color:var(--green)}.certificate-invalid{background:var(--danger-soft);color:var(--danger)}.diplomas-admin{gap:var(--space-5);display:grid}.notices-toolbar{margin-top:0}.notices-filter,.notices-mail,.notices-status{align-items:center;gap:var(--space-2);display:inline-flex}.notices-filter{font-size:14px;font-weight:700}.notices-filter select{width:auto;min-height:36px;padding:4px 28px 4px 10px}.seats-admin{gap:var(--space-5);min-width:0;display:grid}.seats-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.enrollment-card .seats-head h2{margin-bottom:0}.seats-billing{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.enrollment-card .seats-billing .ui-button{margin-top:0}.seats-export{align-items:end;gap:var(--space-3);flex-wrap:wrap;display:flex}.app-top .brand,.app-side .brand{min-width:0;max-width:100%}.brand .brand-word{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.brand .brand-logo{object-fit:contain;flex:none;width:auto;max-width:112px;height:28px;display:block}.brand span.brand-mark-client{background:var(--blue);color:var(--on-accent);flex:none}.brand-text{text-align:left;min-width:0;line-height:1.15;display:grid}.brand .brand-text>.brand-word{color:var(--ink)}.brand .brand-credit{color:var(--muted);font-family:var(--font-body);letter-spacing:0;font-size:12px;font-weight:400}.brand-color{align-items:center;gap:8px;display:flex}.brand-color input[type=color]{border-radius:var(--radius-sm);flex:none;width:44px;height:44px;padding:2px}.brand-color input:not([type=color]){max-width:9em;font-family:var(--font-code)}.brand-adjusted{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:14px;display:flex}.brand-swatch{border:1px solid var(--line-strong);border-radius:6px;width:20px;height:20px}.brand-preview{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);gap:16px;min-width:0;padding:16px;display:grid}.brand.brand-preview-head{letter-spacing:-.02em;align-items:center;gap:8px;min-width:0;font-size:18px;display:flex}.brand-preview-body{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.brand-preview-link{color:var(--blue);text-decoration:underline}.brand-issuer-toggle{align-items:center;gap:8px;display:flex}.brand-issuer{border:0;border-top:1px solid var(--line);gap:12px;min-width:0;margin:0;padding:12px 0 0;display:grid}.brand-issuer legend{padding:0;font-weight:700}.certificate-issuer-logo{object-fit:contain;max-width:160px;max-height:48px;margin-bottom:12px;display:block}
.ui-button{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 20px;font-weight:700;line-height:1.3;display:inline-flex}.ui-button-primary{background:var(--blue);color:var(--on-accent)}.ui-button-primary:hover:not(:disabled){background:var(--blue-ink);color:var(--on-accent)}.ui-button-secondary{background:var(--bg);color:var(--ink);border-color:var(--line-strong)}.ui-button-secondary:hover:not(:disabled),.ui-button-quiet:hover:not(:disabled){background:var(--soft)}.ui-button-quiet{color:var(--blue-ink)}.ui-button-danger{background:var(--danger);color:var(--bg)}.ui-button:focus-visible,.ui-tabs button:focus-visible,.ui-tip:focus-visible,.ui-more summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.ui-chip{border-radius:var(--radius-pill);border:1px solid #0000;align-items:center;gap:8px;padding:3px 12px;font-size:13px;font-weight:700;line-height:1.5;display:inline-flex}.ui-chip-neutral{background:var(--soft);color:var(--muted);border-color:var(--line)}.ui-chip-accent{background:var(--pale);color:var(--blue-ink)}.ui-chip-success{background:var(--green-soft);color:var(--green)}.ui-chip-warning{background:var(--warn-soft);color:var(--warn)}.ui-chip-danger{background:var(--danger-soft);color:var(--danger)}.ui-chip-personal{background:var(--personal-soft);color:var(--personal)}.ui-chip-company{background:var(--company-soft);color:var(--company)}.ui-chip-tutor{background:var(--tutor-soft);color:var(--tutor)}.ui-callout{border-radius:var(--radius-sm);color:var(--ink);padding:12px 16px}.ui-callout-info{background:var(--pale)}.ui-callout-success{background:var(--green-soft)}.ui-callout-warning{background:var(--warn-soft)}.ui-callout-danger{background:var(--danger-soft)}.ui-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;padding:20px}.ui-field label{margin:0 0 8px}.ui-field [aria-invalid=true]{border-color:var(--danger)}.ui-field [role=alert]{color:var(--danger);margin-top:8px}.ui-tabs [role=tablist]{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px 20px;display:flex;overflow-x:auto}.ui-tabs [role=tab]{min-height:44px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;border-radius:0;flex:none;margin-bottom:-1px;padding:10px 4px;font-weight:600}.ui-tabs [role=tab]:hover:not(:disabled){color:var(--ink);background:0 0}.ui-tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--blue);font-weight:700}.ui-tabs [role=tabpanel]{padding-block:16px}.ui-tip-wrap{vertical-align:middle;display:inline-flex;position:relative}button.ui-tip{min-width:28px;min-height:28px;color:var(--muted);border-radius:50%;place-items:center;padding:2px;display:inline-grid}button.ui-tip:hover,button.ui-tip[aria-expanded=true]{background:var(--pale);color:var(--blue-ink)}button.ui-tip.ui-tip-term{min-width:0;min-height:0;color:var(--blue-ink);font:inherit;text-align:inherit;text-underline-offset:3px;border-radius:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline}button.ui-tip.ui-tip-term:hover,button.ui-tip.ui-tip-term[aria-expanded=true]{color:var(--blue-ink);background:0 0}.ui-tip-popover{z-index:40;transform:translateX(calc(-50% + var(--tip-shift,0px)));background:var(--ink);width:max-content;max-width:min(280px,100vw - 16px);color:var(--bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-popover);text-align:left;padding:8px 12px;font-size:14px;font-weight:400;line-height:1.45;position:absolute;top:calc(100% + 6px);left:50%}.ui-tip-popover[data-side=top]{top:auto;bottom:calc(100% + 6px)}.ui-tip-definition{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg);width:320px;max-width:min(320px,100vw - 16px);color:var(--ink);padding:16px;font-size:15px}.ui-tip-definition-title{margin-bottom:6px;font-size:17px;line-height:1.25;display:block}.ui-tip-popover[hidden]{display:none}.ui-more{font-size:15px}.ui-more summary{cursor:pointer;color:var(--blue-ink);font-weight:700}.ui-more>div{margin-top:12px}.ui-table-wrap{border:1px solid var(--line);border-radius:var(--radius-md);overflow-x:auto}.ui-table{border-collapse:collapse;text-align:left;width:100%}.ui-table caption{text-align:left;padding:12px;font-weight:700}.ui-table th,.ui-table td{border-top:1px solid var(--line);padding:12px}@media (max-width:700px){.ui-table,.ui-table tbody,.ui-table tr,.ui-table td{display:block}.ui-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ui-table tr{border:1px solid var(--line);border-radius:var(--radius-md);margin:12px}.ui-table td{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;display:grid}.ui-table td:first-child{border-top:0}.ui-table td:before{content:attr(data-label);font-weight:700}}.cyber-mail{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg);color:var(--ink);box-shadow:var(--shadow-card);margin-bottom:32px;overflow:hidden}.cyber-mail-topbar{background:var(--blue-soft);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:12px 16px;display:flex}.cyber-mail-brand,.cyber-mail-folder,.cyber-mail-back,.cyber-mail-sender-toggle,.cyber-mail-notice{align-items:center;gap:8px;display:flex}.cyber-mail-brand{color:var(--blue-ink);font-weight:800}.cyber-mail-badge{color:var(--blue-ink);font-size:12px;font-weight:700}.cyber-mail-body{min-height:180px}.cyber-mail-folder{border-bottom:1px solid var(--line);padding:16px;font-size:14px;font-weight:700}.cyber-mail-folder span{color:var(--muted);margin-left:auto}button.cyber-mail-row{text-align:left;background:var(--bg);align-items:flex-start;gap:12px;width:100%;padding:16px;display:flex}button.cyber-mail-row:hover{background:var(--canvas)}.cyber-mail-avatar{background:var(--blue-soft);width:36px;height:36px;color:var(--blue-ink);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.cyber-mail-row-text{flex:1;gap:3px;min-width:0;display:grid}.cyber-mail-row-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cyber-mail time{color:var(--muted);flex:none;font-size:12px}.cyber-mail-message{padding:16px}button.cyber-mail-back,button.cyber-mail-sender-toggle{color:var(--blue-ink);background:0 0;padding:4px 0;font-size:13px;font-weight:700}.cyber-mail-message h3{margin:20px 0;font-size:20px}.cyber-mail-sender{align-items:center;gap:12px;display:flex}.cyber-mail-sender>div{flex:1;min-width:0}.cyber-mail-actions{flex-wrap:wrap;gap:8px;margin:16px 0 4px;display:flex}.cyber-mail-actions button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-height:44px;color:var(--blue-ink);padding:8px 12px;font-weight:700}.cyber-mail-message .cyber-mail-disclaimer{color:var(--muted);margin:4px 0 12px;font-size:13px}.cyber-mail-address{overflow-wrap:anywhere;color:var(--muted);font-size:13px;margin:8px 0 0 48px!important}.cyber-mail-address[hidden]{display:none}.cyber-mail-copy{padding:16px 0 0 48px;line-height:1.6}.cyber-mail-copy p{margin:0 0 16px}button.cyber-mail-fake-link{border-radius:var(--radius-sm);background:var(--blue);min-height:44px;color:var(--on-accent);padding:12px 16px;font-weight:700}button.cyber-mail-fake-link:hover{background:var(--blue-ink);color:var(--on-accent)}.cyber-mail-copy .cyber-mail-notice{color:var(--muted);margin-top:12px;font-size:14px}.cyber-mail-notice svg{flex:none}.cyber-inspect-content{padding:20px}.cyber-inspect-content h3{margin:0 0 8px;font-size:20px}.lesson-part .cyber-inspect-sender{color:var(--muted);font-size:14px}.lesson-part .cyber-inspect-context{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.cyber-inspect-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);margin:16px 0;padding:16px}.cyber-inspect-item-title{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.cyber-inspect-item-title svg{color:var(--blue-ink);flex:none}.cyber-inspect-item button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-height:44px;color:var(--blue-ink);margin-top:12px;padding:8px 12px;font-weight:700}.cyber-inspect-detail{border-radius:var(--radius-sm);background:var(--bg);gap:4px;margin-top:12px;padding:12px;display:grid}.cyber-inspect-detail[hidden]{display:none}.cyber-inspect-detail span{color:var(--muted);font-size:13px}.cyber-inspect-detail code{font-family:var(--font-code);overflow-wrap:anywhere;font-size:13px}.lesson-part .cyber-inspect-note{color:var(--muted);align-items:flex-start;gap:8px;font-size:13px;display:flex}.cyber-inspect-note svg{flex:none}.cyber-inspect-decisions{flex-wrap:wrap;gap:12px;display:flex}@media (max-width:480px){.cyber-mail-topbar{flex-wrap:wrap}.cyber-mail-copy{padding-left:0}.cyber-inspect-content{padding:16px}}.mail-sort{margin:20px 0 24px}.lesson-part .mail-sort-instruction{color:var(--muted);margin:0 0 16px}.mail-sort-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;margin-bottom:20px;display:grid}.mail-sort-group{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--canvas);min-height:150px;padding:12px}.mail-sort-group.is-suspicious{border-color:var(--warn)}.mail-sort-group.is-safe{border-color:var(--green)}.mail-sort-group h3{justify-content:space-between;gap:8px;margin:2px 2px 12px;font-size:14px;display:flex}.mail-sort-group h3 span{color:var(--muted)}.lesson-part .mail-sort-empty{color:var(--muted);margin:8px 2px;font-size:13px}.mail-sort-card{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);cursor:grab;margin-bottom:12px;padding:12px}.mail-sort-card:active{cursor:grabbing}.mail-sort-card:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mail-sort-card-heading{align-items:flex-start;gap:8px;display:flex}.mail-sort-card-heading strong{flex:1;font-size:14px;line-height:1.3}.mail-sort-card-heading svg{color:var(--muted);flex:none}.mail-sort-card small{color:var(--muted);margin-top:8px;display:block}.lesson-part .mail-sort-card p{margin:8px 0 12px;font-size:13px;line-height:1.4}.mail-sort-buttons{flex-wrap:wrap;gap:8px;display:flex}.mail-sort-buttons button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-height:44px;color:var(--ink);padding:8px;font-size:12px;font-weight:700}.mail-sort-buttons button[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-ink)}@media (max-width:700px){.mail-sort-columns{grid-template-columns:1fr}.mail-sort-group{min-height:72px}.lesson-view:has(.mail-sort,.cyber-inspect) .lesson-assistant{margin:0 16px 16px;position:static}}.comm{min-width:0;margin-top:24px}.comm-panel{gap:16px;min-width:0;display:grid}.comm-head,.comm-title{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.comm-head{justify-content:space-between}.comm-head h3,.comm-head h4{overflow-wrap:anywhere;font-size:19px}.comm-meta{font-size:14px}.comm-empty{font-weight:600}.comm-back{justify-self:start;padding-inline:0}.comm-list,.comm-thread,.comm-announcements{gap:12px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.comm-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);text-align:left;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;width:100%;min-height:56px;padding:12px 16px;display:flex}.comm-row:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.comm-row-main{overflow-wrap:anywhere;flex:220px;gap:3px;min-width:0;display:grid}.comm-row-main span{color:var(--muted);font-size:14px}.comm-row-chips{flex-wrap:wrap;gap:8px;display:flex}.comm-message,.comm-announcement{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);gap:8px;min-width:0;padding:12px 16px;display:grid}.comm-message.mine{background:var(--soft)}.comm-message.staff{border-left:4px solid var(--tutor)}.comm-message-head{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;font-size:14px;display:flex}.comm-message-head time{color:var(--muted)}.comm-message-head h4{overflow-wrap:anywhere;margin:0;font-size:17px}.comm-body{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.comm-hidden{font-style:italic}.comm-moderation{overflow-wrap:anywhere;font-size:13px}.comm-moderate{justify-self:start;min-height:36px;padding-inline:8px}.comm-form{gap:4px;min-width:0;display:grid}.comm-compose{border:1px solid var(--line);border-radius:var(--radius-md);padding:16px}.comm-field label,.comm-form>label{margin:12px 0 8px}.comm-field textarea,dialog textarea{border:1px solid var(--line-strong);background:var(--bg);width:100%;min-height:96px;color:var(--ink);font:inherit;resize:vertical;border-radius:7px;padding:12px;display:block}.comm-field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.comm-field-error{color:var(--danger);margin-top:8px;font-size:14px}.comm-actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.comm-notice{border-radius:var(--radius-sm);background:var(--warn-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.tutoring{gap:16px;min-width:0;max-width:980px;display:grid}.tutoring h1{overflow-wrap:anywhere;font-size:30px}.tutoring-card{gap:12px;min-width:0;display:grid}.tutoring-card h2{margin:0}.tutoring-subhead h2{font-size:19px}@media (max-width:700px){.tutoring h1{font-size:25px}}.enrollment-card .comm-row{margin-top:0}.tutoring-tutors{gap:12px;min-width:0;display:grid}.tutoring-tutor{border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;padding:12px 16px;display:flex}.tutoring-designate{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.tutoring-designate label{flex:1 0 100%;font-weight:700}.tutoring-designate select{flex:220px;min-width:0;max-width:100%;min-height:44px}.course-communication{min-width:0;margin-top:32px}.console-switch{gap:12px;min-width:0;margin-bottom:32px;display:grid}.console-switch .workspace-choice{margin-bottom:0}.console-nav{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.console-nav button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-height:44px;padding:0 16px;font-weight:700}.console-nav button[aria-current=page]{border-color:var(--blue);background:var(--pale);color:var(--blue-ink)}.console{gap:16px;min-width:0;max-width:980px;display:grid}.console h1{overflow-wrap:anywhere;font-size:30px}.console>.console-switch{margin-bottom:4px}.console-stack{gap:16px;min-width:0;display:grid}.console-card{gap:12px;min-width:0;display:grid}.console-card h2,.console-card h3{overflow-wrap:anywhere;margin:0}.console-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;display:flex}.console-head h2{overflow-wrap:anywhere}.console-chips{flex-wrap:wrap;gap:8px;display:inline-flex}.console-form{gap:12px;min-width:0;max-width:560px;display:grid}.console-form label{margin:0 0 8px}.console-form>.ui-button,.console-actions .ui-button{justify-self:start}.console-inline{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));align-items:end;max-width:none}.console-field{min-width:0}.console-field .comm-title label{margin:0}.console-field .comm-title{margin-bottom:8px}.console-actions{flex-wrap:wrap;gap:8px;display:flex}.console-warning{border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--ink);padding:12px 16px}.console-wrap,.console-log,.console-list,.console-members{overflow-wrap:anywhere}.console-link{text-align:left;color:var(--blue-ink);padding:0;font-weight:700;text-decoration:underline}.console-list,.console-log{gap:8px;margin:0;padding-left:20px;display:grid}.console-log code{font-family:var(--font-code);font-size:13px}.console-members{padding-left:20px;line-height:1.8}.console-context{margin:0}.support-banner{border-bottom:1px solid var(--line);background:var(--warn-soft);color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 4.5%;display:flex}.support-banner>svg{color:var(--warn);flex:none}.support-banner-text{overflow-wrap:anywhere;flex-wrap:wrap;flex:200px;gap:4px 12px;min-width:0;display:flex}@media (max-width:700px){.console h1{font-size:25px}.support-banner{padding:12px 16px}}.console .ui-table caption{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.console-card>.ui-button{justify-self:start}.ui-table-group th{background:var(--canvas);font-family:var(--font-display);font-size:16px;font-weight:650}.ui-table-group-detail{color:var(--muted);font-family:var(--font-body);margin-left:12px;font-size:13.5px;font-weight:400}.ui-table tbody+tbody .ui-table-group th{border-top:1px solid var(--line-strong)}@media (max-width:700px){.ui-table tr.ui-table-group{border:0;margin:16px 12px 0}.ui-table tr.ui-table-group th{background:0 0;border-top:0;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:0;display:flex}.ui-table-group-detail{margin-left:0}}.cat-list{gap:16px;min-width:0;display:grid}.cat{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);min-width:0}.cat-head{border-bottom:1px solid var(--line);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--canvas);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 12px 12px 20px;display:flex}.cat-head h4{overflow-wrap:anywhere;margin:0;font-size:18px}.cat-head h4:focus{outline:none}.cat-count{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:14px;display:inline-flex}.cat-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.cat-actions .ctx-wrap{position:relative}.cat-courses{margin:0;padding:0;list-style:none}.cat-course{border-top:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) 110px 70px auto;align-items:center;gap:12px;padding:8px 12px 8px 20px;display:grid}.cat-course:first-child{border-top:0}.cat-course-meta{display:contents}.cat-course-title{overflow-wrap:anywhere;min-width:0;font-weight:600}.cat-course-hours{text-align:right;font-variant-numeric:tabular-nums}.cat-pos{background:var(--blue-soft);width:26px;height:26px;color:var(--blue-ink);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.cat-pos:empty{background:0 0}.cat-course-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.cat-empty{color:var(--muted);margin:0;padding:16px 20px}.icon-square{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);width:36px;height:36px;color:var(--ink);place-items:center;display:grid}.icon-square:hover:not(:disabled){background:var(--canvas)}.icon-square:disabled{opacity:.35;cursor:not-allowed}.icon-square.flat{background:0 0;border-color:#0000}.cat-menu{z-index:5;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-width:200px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000001f}.cat-menu button{text-align:left;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:0 12px;display:flex}.cat-menu button:hover:not([aria-disabled=true]){background:var(--soft)}.cat-menu button[aria-disabled=true]{color:var(--faint);cursor:not-allowed}@media (max-width:760px){.cat-head{padding:12px 12px 12px 16px}.cat-course{grid-template-columns:26px minmax(0,1fr);row-gap:4px;padding:12px 12px 12px 16px}.cat-course-meta{color:var(--muted);grid-column:2;gap:12px;display:flex}.cat-course-hours{text-align:left}.cat-course-actions{grid-column:2;justify-content:flex-start;margin-top:4px}}.unit-field{align-items:center;gap:8px;max-width:180px;display:flex}.unit-field input{flex:1;min-width:0}.unit-field span{color:var(--muted);font-weight:700}.locked-value{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);align-items:center;gap:8px;max-width:180px;min-height:44px;padding:8px 12px;display:flex}.my-course-kicker{color:var(--blue-ink);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700;display:block}.my-course-meta{color:var(--muted);flex-wrap:wrap;gap:8px 16px;font-size:14px;display:flex}.my-course-meta span{align-items:center;gap:8px;display:inline-flex}.pick-field{min-width:0;margin:var(--space-6) 0 0;border:0;gap:8px;padding:0;display:grid}.pick-field legend{margin-bottom:8px;font-weight:700}.pick-legend{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;width:100%;display:flex}.pick{border:1px solid var(--line);border-radius:var(--radius-sm);max-height:290px;display:grid;overflow-y:auto}.pick label{border-top:1px solid var(--line);overflow-wrap:anywhere;align-items:center;gap:12px;min-height:44px;margin:0;padding:8px 12px;font-weight:400;display:flex}.pick label:first-child{border-top:0}.pick input{flex:none;width:18px;height:18px}.tutor-list{margin:0;padding:0;list-style:none;display:grid}.tutor-list li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:12px 0;display:flex}.tutor-list li:first-child{border-top:0}.tutor-list .ui-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.group-columns{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}.console-facts{gap:12px;margin:0;display:grid}.console-facts dt{color:var(--muted);font-size:13px}.console-facts dd{overflow-wrap:anywhere;margin:0;font-weight:700}@media (max-width:760px){.group-columns{grid-template-columns:1fr}}.ui-skeleton{padding:var(--space-2) 0}.ui-skeleton-body{gap:var(--space-3);display:grid}.ui-skeleton-page .ui-skeleton-body,.ui-skeleton-course .ui-skeleton-body{gap:var(--space-5)}.ui-bone{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--line) 0%, var(--soft) 50%, var(--line) 100%);background-size:200% 100%;flex:none;height:14px;animation:1.4s ease-in-out infinite ui-skeleton;display:block}.ui-bone-small{height:10px}.ui-bone-title{height:18px}.ui-bone-display{border-radius:var(--radius-sm);height:30px}.ui-bone-bar{height:8px}.ui-bone-circle{width:36px;height:36px}.ui-bone-square{border-radius:var(--radius-sm);width:48px;height:48px}.ui-bone-chip{width:72px;height:22px}.ui-bone-button{border-radius:var(--radius-sm);width:104px;height:36px}.ui-skeleton-heading,.ui-skeleton-stack{gap:var(--space-2);min-width:0;display:grid}.ui-skeleton-heading{gap:var(--space-3)}.ui-skeleton-row,.ui-skeleton-level{align-items:center;gap:var(--space-3);display:flex}.ui-skeleton-row{padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.ui-skeleton-row .ui-skeleton-stack{flex:1}.ui-skeleton-level .ui-bone-bar{max-width:360px}.ui-skeleton-card{align-items:center;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);grid-template-columns:auto minmax(0,1fr) auto;display:grid}@media (max-width:520px){.ui-skeleton-card{grid-template-columns:auto minmax(0,1fr)}.ui-skeleton-card .ui-bone-button,.ui-skeleton-row .ui-bone-chip{display:none}}@keyframes ui-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.ui-bone{animation:none}}
