.workspace-shell{--workspace-rail:256px;--navigation-ink:#d2e3eb;--navigation-muted:#aac3cf}.app-shell.workspace-shell[data-theme=sea-salt]{background:#f3f6f7}.workspace-shell .main{margin-left:var(--workspace-rail);min-height:100vh}.workspace-sidebar{position:fixed;inset:0 auto 0 0;width:var(--workspace-rail);z-index:20;background:#173c52;color:var(--navigation-ink);border-right:1px solid #254b60}.workspace-navigation{display:flex;flex-direction:column;height:100%;min-height:0;padding:22px 16px 12px}.navigation-brand{display:flex;align-items:center;gap:12px;padding:0 12px 18px}.navigation-brand .brand-mark{background:#2f647a;color:#fff;border:1px solid #477c8d;border-radius:12px;width:40px;height:40px}.navigation-brand strong{display:block;color:#fff;font-size:20px;letter-spacing:.02em}.navigation-brand div>span{display:block;color:var(--navigation-muted);font-size:11px;margin-top:2px}.navigation-campus{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-bottom:14px;color:#cfdee7;background:#1e455a;border:1px solid #34596e;border-radius:9px;font-size:12px;line-height:1.6}.navigation-campus svg{margin-top:2px}.navigation-campus span{overflow-wrap:anywhere}.workspace-menu{flex:1;overflow-y:auto;min-height:0;padding:0 0 20px;scrollbar-width:thin;scrollbar-color:#527185 transparent}.navigation-section-label{padding:0 12px;margin:0 0 9px;font-size:11px;font-weight:550;letter-spacing:.08em;color:var(--navigation-muted)}.navigation-section-label.personal-section{margin:18px 0 9px}.navigation-group{margin-bottom:5px}.navigation-group-toggle,.navigation-item{display:flex;gap:10px;align-items:center;text-align:left;width:100%;min-height:44px;padding:10px 12px;color:var(--navigation-ink);font-size:14px;line-height:1.45;border-radius:8px;overflow-wrap:anywhere}.navigation-group-toggle>svg,.navigation-item>svg{width:18px;height:18px}.navigation-group-toggle>span,.navigation-item>span:last-child{flex:1;min-width:0}.navigation-group-toggle>svg:last-child{width:14px;height:14px;color:var(--navigation-muted);transform:rotate(-90deg)}.navigation-group-toggle>svg.is-open:last-child{transform:none}.navigation-group.is-current>.navigation-group-toggle{color:#fff;font-weight:600}.navigation-children{margin:5px 0 8px 21px;padding-left:13px;border-left:1px solid #49687a}.navigation-children[hidden]{display:none}.navigation-children .navigation-item{min-height:40px;margin-bottom:3px;font-size:13px}.navigation-children .navigation-item>svg{width:16px;height:16px}.navigation-subject-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:6px}.navigation-subject-list .navigation-item{padding:8px 10px;gap:7px;margin:0;background:#244b60}.navigation-subject-list .navigation-item.is-active{background:#dff4f2}.navigation-all-dot{width:7px;height:7px;margin:0 4.5px;border:1.5px solid;border-radius:50%;flex-shrink:0}.navigation-item.is-active{background:#dff4f2;color:#164f58;font-weight:650;box-shadow:inset 3px 0 #6ac4bd}@media (hover:hover){.navigation-group-toggle:hover,.navigation-item:not(.is-active):hover,.navigation-logout:hover,.navigation-profile:hover{background:#285268;color:#fff}}.workspace-navigation :focus-visible{outline:2px solid #9ce0e6;outline-offset:-2px}.navigation-account{padding-top:12px;border-top:1px solid #3a5a70}.navigation-account-actions{display:flex;gap:6px}.navigation-profile{display:flex;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px;border-radius:9px;text-align:left}.navigation-profile>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.navigation-profile strong{display:block;color:#fff;font-size:13px}.navigation-profile small{display:block;font-size:11px;margin-top:2px}.navigation-logout,.navigation-profile small,.navigation-profile>svg{color:var(--navigation-muted)}.navigation-logout{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;border-radius:7px;font-size:12px;margin-top:4px}.workspace-shell .topbar{display:flex;min-height:72px;padding:16px 36px;background:#f9fcfd;border-bottom:1px solid var(--line);gap:16px}.topbar-location{display:flex;align-items:center;gap:12px;min-width:0}.workspace-shell .breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.6;min-width:0}.workspace-shell .topbar-right{margin-left:auto;flex-shrink:0}.workspace-shell .workspace{max-width:1408px;margin:0 auto;padding:34px 36px}.workspace-shell .learning-heading{margin-top:4px;margin-bottom:26px}.workspace-shell .learning-heading .eyebrow{font-size:12px;letter-spacing:.04em;color:#5d747a}.workspace-shell .learning-heading h1{font-size:clamp(29px,2.6vw,38px);letter-spacing:-.035em;margin:8px 0 10px}.workspace-shell .learning-summary{gap:18px 36px;padding-bottom:26px;margin-bottom:32px}.workspace-shell .learning-summary>div>svg{box-sizing:content-box;padding:10px;border:1px solid #dae5e8;border-radius:12px;background:#fff;color:#526f7e}.workspace-shell .learning-summary strong{font-size:26px;font-weight:600}.workspace-shell .learning-summary span{font-size:12px}.workspace-shell .learning-section-title h2{font-size:18px}.workspace-shell .learning-courses{gap:24px}.workspace-shell .learning-course{--subject-color:#366f70;--subject-wash:#edf6f3;border-color:#dce5e7;border-radius:16px;padding:24px;box-shadow:0 4px 18px #14394c04;position:relative;overflow:hidden}.workspace-shell .learning-course[data-subject=ai]{--subject-color:#70578b;--subject-wash:#f3eff8}.workspace-shell .learning-course[data-subject=cpp]{--subject-color:#46699e;--subject-wash:#eff3fb}.workspace-shell .learning-course[data-subject=math]{--subject-color:#8c6538;--subject-wash:#fbf4eb}.workspace-shell .learning-course:before{content:"";position:absolute;top:0;left:24px;width:36px;height:3px;border-radius:0 0 4px 4px;background:var(--subject-color)}.workspace-shell .learning-course-top{margin-bottom:20px;gap:12px}.workspace-shell .learning-course .learning-subject-mark{width:48px;height:48px;border-radius:14px;color:var(--subject-color);background:var(--subject-wash)}.workspace-shell .learning-subject-label{color:var(--subject-color);background:var(--subject-wash);font-size:11px;font-weight:600;line-height:1.5;padding:4px 10px;border-radius:6px}.workspace-shell .learning-course-top .text-button{font-size:12px;min-height:36px;padding:6px 8px}.workspace-shell .learning-course h2{font-size:22px;font-weight:650}.workspace-shell .learning-course-description{margin:9px 0 18px;min-height:22px}.workspace-shell .learning-course-meta{margin-bottom:16px}.workspace-shell .learning-course-meta>span{display:inline-flex;align-items:center;gap:5px;line-height:1.8}.workspace-shell .learning-lesson-list button{padding:17px 0;min-height:76px}.workspace-shell .learning-lesson-list button:hover{background:#f7fafb}.workspace-shell .learning-lesson-number{width:25px;font-size:12px;color:#657b88}.workspace-shell .learning-lesson-list small{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11px}.lesson-state{border-radius:5px;padding:2px 6px;font-size:10px;font-weight:550;line-height:1.5;background:#edf4f7;color:#46687c}.lesson-state.is-draft{background:#f7f0e6;color:#856137}.lesson-state.is-complete{background:#e8f4ee;color:#2b7056}.workspace-shell .learning-add-lesson{justify-content:center;width:100%;min-height:40px;margin-top:8px;padding:10px;border:1px dashed #c8dadd;border-radius:8px;background:#fcfefe;font-size:12px}.learning-material-dialog.modal{display:flex;flex-direction:column;overflow:hidden;width:700px;max-height:calc(100dvh - 40px);border-radius:16px}.learning-material-dialog .modal-header{flex-shrink:0;padding:22px 28px;background:#fff}.learning-material-dialog .modal-header h2{font-size:21px;font-weight:650}.learning-material-dialog .modal-header .icon-button,.material-remove{width:44px;height:44px}.material-context{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:13px;line-height:1.6}.material-context>svg{margin-top:1px;color:var(--primary)}.material-context strong{color:var(--ink);font-weight:550;overflow-wrap:anywhere}.material-picker{display:grid;gap:14px}.material-pick-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:194px;padding:24px;text-align:center;border:1.5px dashed #95b8be;border-radius:13px;background:#f3f9f8;gap:8px}.material-pick-zone:hover{border-color:var(--primary);background:#eef7f5}.material-pick-zone:focus-within{outline:2px solid var(--primary);outline-offset:3px}.material-pick-zone.has-file{background:#f4f8fb;border-color:#a7beca}.material-pick-zone.has-error{border-color:#b85757;background:#fdf5f5}.material-pick-icon{width:52px;height:52px;display:grid;place-items:center;background:#dff0ed;color:#347a76;border-radius:15px;margin-bottom:4px}.material-pick-zone>strong{font-size:17px;font-weight:600;line-height:1.6;max-width:100%;overflow-wrap:anywhere}.material-pick-description{font-size:12px;color:var(--muted)}.material-choose-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 16px;border:1px solid #b8d3d2;border-radius:7px;background:#fff;color:var(--primary-dark);font-size:13px;font-weight:550;margin-top:4px}.material-pick-zone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.material-pick-zone input[type=file]:disabled{cursor:wait}.material-remove{position:absolute;right:9px;top:9px;z-index:1;background:#fff;border:1px solid var(--line);color:var(--muted)}.material-file-error{color:#a63b40;font-size:13px;line-height:1.7}.material-format-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.material-format-guide>span{display:grid;gap:3px;font-size:10px;color:var(--muted);line-height:1.7}.material-format-guide strong{font-size:12px;font-weight:550;color:var(--ink)}.material-scope-note{padding:12px 14px;background:#f1f5f7;border-radius:9px;color:var(--muted);font-size:12px;line-height:1.8}.material-form .learning-form-actions{position:sticky;bottom:0;background:#fff;margin:0 -28px;padding:16px 28px;z-index:2}.learning-material-dialog .material-form{overflow-y:auto;min-height:0;padding-bottom:0}.material-form .learning-form-actions .btn{min-width:100px}@media (max-width:600px){.learning-form,.learning-material-dialog .modal-header{padding:20px}.material-pick-zone{padding:22px 16px;min-height:190px}.material-format-guide{gap:8px}.material-format-guide>span{font-size:10px}.material-form .learning-form-actions{margin:0 -20px;padding:14px 20px}}.workspace-shell .navigation-children .navigation-item>.lucide-sparkles{color:#d3b7ee}.workspace-shell .navigation-children .navigation-item>.lucide-braces{color:#b0caff}.workspace-shell .navigation-children .navigation-item>.lucide-atom{color:#95d8ca}.workspace-shell .navigation-children .navigation-item>.lucide-sigma{color:#e9c59a}.workspace-shell .navigation-children .navigation-item.is-active>svg{color:inherit}.workspace-shell .navigation-trigger{display:none}.workspace-shell .learning-library-heading{margin-bottom:20px}.student-next-lesson{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;margin-bottom:24px;border:1px solid #cbdedb;border-radius:14px;background:linear-gradient(110deg,#eaf4f0,#f6faf8)}.student-next-label{display:flex;align-items:center;gap:7px;color:#326b62;font-size:12px;font-weight:600}.student-next-lesson p{margin:15px 0 5px;color:var(--muted);font-size:12px}.student-next-lesson h2{margin:0 0 10px;font-size:22px;font-weight:650}.student-next-meta{color:var(--muted);font-size:12px}.student-next-lesson .btn{flex-shrink:0}.student-course-progress{margin:16px 0 4px}.student-course-progress>div{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.student-course-progress strong{font-weight:500;color:var(--primary-dark)}.student-course-progress progress{display:block;width:100%;height:5px;margin-top:9px;accent-color:#397f72;border:0;border-radius:8px;overflow:hidden;background:#e9efed}.student-course-progress progress::-webkit-progress-bar{background:#e9efed}.student-course-progress progress::-webkit-progress-value{background:#397f72;border-radius:8px}.student-course-progress progress::-moz-progress-bar{background:#397f72}.lesson-state.is-pending{background:#f3eee5;color:#805c2b}@media (max-width:600px){.student-next-lesson{align-items:stretch;flex-direction:column;padding:22px;gap:20px}.student-next-lesson h2{font-size:21px}}.workspace-shell .teacher-layout{grid-template-columns:192px minmax(0,1fr);gap:24px}.workspace-shell .page-heading h1{font-size:clamp(27px,2.5vw,34px)}@media (min-width:901px) and (max-width:1180px){.workspace-shell{--workspace-rail:232px}.workspace-shell .topbar,.workspace-shell .workspace{padding-left:24px;padding-right:24px}.workspace-shell .teacher-layout{grid-template-columns:1fr}.workspace-shell .teacher-class-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.workspace-shell .workspace-sidebar{display:none}.workspace-shell .main{margin-left:0}.workspace-shell .navigation-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.workspace-shell .topbar{min-height:68px;padding:12px 20px;flex-wrap:nowrap;gap:12px}.workspace-shell .workspace{padding:28px 20px}.workspace-shell .date-label{display:none}.workspace-shell .teacher-layout{grid-template-columns:1fr}}@media (max-width:760px){.workspace-shell .learning-course{padding:20px}.workspace-shell .learning-heading h1{font-size:29px}.workspace-shell .learning-summary{gap:18px 24px}.workspace-shell .learning-summary>div>svg{padding:8px}}.modal-backdrop:has(.workspace-drawer){align-items:stretch;justify-content:flex-start;padding:0;z-index:80}.workspace-drawer.modal{display:flex;flex-direction:column;width:min(320px,calc(100vw - 32px));height:100%;max-height:100%;margin:0;border:0;border-radius:0;background:#173c52;color:#d2e3eb;overflow:hidden;--navigation-ink:#d2e3eb;--navigation-muted:#aac3cf}.workspace-drawer .modal-header{padding:20px 24px 12px;margin:0;border-bottom:1px solid #34596e;background:#173c52;flex-shrink:0}.workspace-drawer .modal-header h2{font-size:16px;color:#fff}.workspace-drawer .modal-header button{color:#e0edf3;min-width:44px;min-height:44px}.workspace-drawer .workspace-navigation{flex:1;padding-top:20px;padding-bottom:max(12px,env(safe-area-inset-bottom))}@media (max-width:380px){.workspace-shell .topbar,.workspace-shell .workspace{padding-left:16px;padding-right:16px}.workspace-shell .breadcrumb{gap:5px;font-size:12px}}