:root{color-scheme:light;--blue:#215fd1;--blue-hover:#184fae;--blue-pale:#eef4ff;--ink:#202a3a;--muted:#6b7484;--line:#e5e8ee;--soft:#f7f8fa;--success:#2a7155;--success-bg:#edf7f1;--danger:#b34b47;--danger-bg:#fcf0ef;--warning:#8e671d;--warning-bg:#fbf5e8;--editor:#17202f;--radius:8px;--sidebar-width:220px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.55;color:var(--ink);background:var(--soft);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #88adf5;outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #88adf5;outline-offset:1px;border-color:var(--blue)}h1,h2,h3,h4,p{margin:0}h1{font-size:29px;line-height:1.24;letter-spacing:-.8px;font-weight:650}h2{font-size:20px;line-height:1.35;letter-spacing:-.4px;font-weight:620}h3{font-size:15px;line-height:1.4;letter-spacing:-.15px;font-weight:650}h4{font-size:13px;line-height:1.5;font-weight:650}p+p{margin-top:12px}ul,ol{padding-left:21px}li+li{margin-top:5px}small{font-size:12px}strong{font-weight:620}hr{border:0;border-top:1px solid var(--line);margin:24px 0}svg{width:18px;height:18px;flex:none;vertical-align:middle}[hidden]{display:none!important}code,pre,.mono{font-family:"Cascadia Code","SFMono-Regular",Consolas,"Liberation Mono",monospace}code{font-size:.91em;background:#f0f2f6;padding:2px 5px;border-radius:4px}pre{margin:0}pre code{font-size:inherit;padding:0;background:transparent}.muted{color:var(--muted)}.eyebrow{color:var(--muted);font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:1.25px}.small{font-size:12px}.nowrap{white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.row{display:flex;align-items:center;gap:12px}.row.between,.space-between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grow{flex:1;min-width:0}
.button,button.primary,button.secondary,button.subtle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:white;color:#394456;font-size:13px;line-height:20px;font-weight:550;text-decoration:none;white-space:nowrap;transition:background 120ms ease,border-color 120ms ease,color 120ms ease}.button:hover,button.secondary:hover{background:#f4f6fa;border-color:#cbd3de;text-decoration:none}.button.primary,button.primary{color:white;background:var(--blue);border-color:var(--blue)}.button.primary:hover,button.primary:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.button.secondary{background:white}.button.subtle,button.subtle{background:transparent;border-color:transparent;color:var(--muted)}.button.subtle:hover,button.subtle:hover{background:#edf0f5;color:var(--ink)}.button.danger{color:var(--danger);border-color:#eccdcb}.button.small,.button.compact{min-height:30px;padding:4px 10px;font-size:12px}.button.icon-button{padding:8px;width:36px;min-height:36px}.text-button{color:var(--blue);background:none;border:0;padding:0;font-size:13px;font-weight:550}.text-button:hover{text-decoration:underline;text-underline-offset:3px}input:not([type=checkbox]):not([type=radio]),select,textarea:not(#code){min-height:40px;border:1px solid #dce1e8;border-radius:6px;background:white;color:var(--ink);padding:9px 11px;width:100%;transition:border-color 120ms ease,box-shadow 120ms ease}input::placeholder,textarea::placeholder{color:#8e96a4}input[type=checkbox],input[type=radio]{accent-color:var(--blue);width:16px;height:16px;margin:0;vertical-align:middle;flex-shrink:0}textarea:not(#code){resize:vertical;min-height:90px}label{font-size:13px;font-weight:550}.field{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0}.field small,.field .muted{font-size:12px;font-weight:400}.field>label{display:block}.check-field,label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:flex;align-items:center;gap:9px;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.form-grid .full,.form-grid .span-2{grid-column:1/-1}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar select,.toolbar input{width:auto!important;min-width:135px}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:550;line-height:20px;padding:2px 7px;color:#687283;background:#f0f2f5;border-radius:4px;white-space:nowrap}.badge.passed,.badge.completed,.badge.active,.badge.published{background:var(--success-bg);color:var(--success)}.badge.attempted,.badge.in-progress,.badge.awaiting,.badge.required{background:var(--blue-pale);color:#3564b3}.badge.error,.badge.needs-work,.badge.inactive{background:var(--danger-bg);color:var(--danger)}.badge.draft,.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.neutral{background:#f1f3f6;color:#697284}.badge.level{background:none;border:1px solid var(--line);color:#6b7484}.notice{padding:12px 14px;border:1px solid #dbe6f8;border-radius:6px;background:#f4f8ff;color:#496186;font-size:12px;line-height:1.6}.notice.error{background:var(--danger-bg);color:#9a4945;border-color:#edceca}.notice.success{background:var(--success-bg);color:var(--success);border-color:#cfe4d7}.notice.warning{background:var(--warning-bg);color:var(--warning);border-color:#eee1bf}.empty{padding:36px 20px;text-align:center;color:var(--muted);font-size:13px}.empty h3{color:#4b5565;margin-bottom:7px}.empty .button{margin-top:16px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel>.panel-head{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px}.panel-body{padding:22px}.section{margin-top:30px}.section>h2,.section>h3{margin-bottom:16px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.section-head p{font-size:12px;margin-top:3px}
.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100dvh}.sidebar{background:#fcfcfd;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:27px 15px 18px;position:sticky;top:0;height:100dvh}.brand{color:#253248;display:flex;align-items:center;gap:10px;font-size:19px;font-weight:650;letter-spacing:-.5px;white-space:nowrap}.brand:hover{text-decoration:none}.sidebar .brand{padding:0 9px}.brand-mark{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:white;background:var(--blue);border-radius:7px;font:600 13px/1 Consolas,monospace;letter-spacing:-1px;flex-shrink:0}.brand-mark svg{width:19px;height:19px}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:42px}.nav-label{font-size:10px;color:#9299a5;letter-spacing:1.2px;text-transform:uppercase;font-weight:650;padding:0 13px;margin-bottom:8px}.nav-link{display:flex;align-items:center;gap:11px;width:100%;padding:11px 13px;border:0;border-radius:6px;background:none;color:#697383;font-size:13px;font-weight:500;text-align:left;line-height:20px}.nav-link:hover{background:#f0f2f6;color:#354157;text-decoration:none}.nav-link.active{color:var(--blue);background:#edf3fd;font-weight:620}.nav-link svg{opacity:.85;width:17px;height:17px}.nav-link .badge{margin-left:auto}.sidebar-bottom{margin-top:auto;padding:18px 10px 0}.sidebar-bottom .notice{padding:11px 12px;background:#f4f6fa;color:#788291;border:0;font-size:11px;line-height:1.65}.sidebar-bottom .eyebrow{font-size:9px;letter-spacing:.9px;margin-bottom:5px}.sidebar-bottom .button{width:100%;margin-top:10px;justify-content:flex-start;font-size:12px}.app-main{min-width:0;background:#fff}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px}.breadcrumb{font-size:12px;color:#89919e;display:flex;align-items:center;gap:10px}.breadcrumb strong{color:#606b7c;font-weight:500}.account{display:flex;align-items:center;gap:11px;font-size:12px;color:#657084}.account .name{color:#435064;font-weight:550}.avatar{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;background:#edf1f7;color:#68778d;border-radius:50%;font-size:11px;font-weight:650;flex:none}.page-content{max-width:1290px;margin:0 auto;padding:34px 38px 54px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:29px}.page-head .eyebrow{margin-bottom:10px}.page-head h1+p{margin-top:8px;color:var(--muted);font-size:13px}.page-head>.button,.page-head>.toolbar{margin-top:7px}
.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.data-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.data-table th{background:#fafbfc;padding:12px 17px;color:#7c8593;font-size:11px;font-weight:550;white-space:nowrap;border-bottom:1px solid var(--line)}.data-table td{padding:17px;border-bottom:1px solid #edf0f4;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background 100ms ease}.data-table tbody tr:hover{background:#fafcff}.data-table td>strong,.data-table td>a:first-child{color:#38465b;font-size:13px;font-weight:600}.data-table td>a:first-child:hover{color:var(--blue)}.data-table td p,.data-table td .muted{font-size:11px;margin-top:4px}.data-table td .row{gap:7px}.data-table .button{min-height:30px;padding:4px 9px;font-size:11px}.data-table .title-cell{min-width:255px}.data-table td.actions{text-align:right;white-space:nowrap}.stat-strip{display:flex;align-items:stretch;margin:4px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:20px 26px;flex:1;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}.stat strong,.stat .value{display:block;font-size:27px;font-weight:600;letter-spacing:-.7px;line-height:1.35}.stat span,.stat .label{color:var(--muted);font-size:12px}.stat small{display:block;margin-top:4px;color:#8a93a0;font-size:11px}.progress-track{height:5px;background:#e9edf3;border-radius:5px;overflow:hidden}.progress-fill{height:100%;background:var(--blue);border-radius:inherit;transition:width 300ms ease}
.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:33px;align-items:start}.learning-main{min-width:0}.learning-aside{min-width:0;border-left:1px solid var(--line);padding-left:27px}.learning-aside h3{margin-bottom:13px}.learning-aside .section:first-child{margin-top:0}.continue-panel{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px;border:1px solid #dae5f8;border-radius:8px;background:#f7faff;margin-bottom:29px}.continue-panel .eyebrow{color:#6785b5;letter-spacing:1px;font-size:10px}.continue-panel h2{margin-top:8px;font-size:21px}.continue-panel p{color:#6b7a90;margin:7px 0 0;font-size:12px}.continue-panel .button{flex-shrink:0}.path-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin:0 0 14px}.path-progress{margin-bottom:24px}.path-progress .row{justify-content:space-between;margin-bottom:9px;font-size:12px}.path-progress strong{color:#3b4b62}.chapter-list{border-top:1px solid var(--line)}.chapter-row{display:flex;align-items:flex-start;gap:15px;padding:20px 1px;border-bottom:1px solid var(--line)}.chapter-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid #e0e5eb;font-size:11px;font-weight:550;color:#8c96a4;flex:none;margin-top:1px}.chapter-row.completed .chapter-number{background:var(--success-bg);border-color:var(--success-bg);color:var(--success)}.chapter-row.in-progress .chapter-number{background:var(--blue-pale);border-color:#dce7fb;color:var(--blue)}.chapter-body{flex:1;min-width:0}.chapter-body h3{font-size:14px;font-weight:600}.chapter-body p{color:#818a98;font-size:12px;margin-top:3px}.chapter-meta{display:flex;flex-wrap:wrap;gap:11px;color:#8b93a0;font-size:11px;margin-top:9px;align-items:center}.chapter-row>.badge{margin-top:4px}.chapter-body .progress-track{width:130px;height:3px;margin-top:12px}.exercise-link{font-size:13px;color:#40516b;font-weight:550}.exercise-link:hover{color:var(--blue)}.activity-list{display:flex;flex-direction:column}.activity-row{padding:15px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.activity-row:first-child{padding-top:0}.activity-row:last-child{border-bottom:0}.activity-row .muted{font-size:11px;margin-top:4px}.activity-row .badge{font-size:10px}.question-row{border-bottom:1px solid var(--line);padding:15px 0}.question-row:first-child{padding-top:0}.question-row:last-child{border-bottom:0}.question-row p{font-size:12px;line-height:1.55;margin:6px 0}.question-row .muted{font-size:11px}.question-row .badge{font-size:10px;margin-top:7px}.filter-bar{display:flex;align-items:center;gap:10px;margin:0 0 21px;flex-wrap:wrap}.filter-bar .search-field{flex:1;min-width:210px}.filter-bar>select{width:auto;max-width:170px;font-size:12px;padding:9px 27px 9px 11px}.search-field{position:relative}.search-field svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#8c95a2;width:16px;height:16px}.search-field:has(svg) input{padding-left:36px}.library-count{display:flex;justify-content:space-between;font-size:11px;color:#8b93a1;margin:14px 0}.tabs{display:flex;align-items:stretch;gap:23px;border-bottom:1px solid var(--line);flex-shrink:0}.tab{background:none;border:0;border-bottom:2px solid transparent;color:#8c94a1;padding:14px 1px 12px;font-size:12px;font-weight:550;line-height:20px;white-space:nowrap;transition:border-color 150ms ease,color 150ms ease}.tab:hover{color:#4c607d}.tab.active{color:var(--blue);border-bottom-color:var(--blue)}.tab .badge{margin-left:4px;font-size:10px;line-height:16px}
.workspace-shell{display:flex;flex-direction:column;height:100dvh;min-height:550px;background:white;overflow:hidden}.workspace-topbar{display:flex;align-items:center;justify-content:space-between;min-height:65px;padding:12px 24px;gap:20px;border-bottom:1px solid var(--line);flex-shrink:0}.workspace-topbar .brand{font-size:17px;gap:9px}.workspace-topbar .brand-mark{width:25px;height:25px;font-size:11px}.workspace-heading{min-width:0;display:flex;align-items:center;gap:12px}.workspace-heading h1{font-size:15px;letter-spacing:-.2px;font-weight:600;line-height:1.45}.workspace-heading .muted{font-size:11px}.workspace-topbar .row{gap:10px}.workspace-topbar .button{min-height:31px;padding:4px 9px;font-size:11px}.workspace-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);overflow:hidden}.material-panel{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid #dce1e8;background:white}.material-panel>.tabs{padding:0 28px;gap:27px}.material-body{flex:1;min-height:0;padding:27px 29px 32px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d4dbe5 transparent}.material-body h1{font-size:25px;line-height:1.3;letter-spacing:-.6px;margin-bottom:10px}.material-body h2{font-size:15px;margin:26px 0 10px}.material-body h3{font-size:13px;margin:21px 0 9px}.material-body>h2:first-child,.material-body>h3:first-child{margin-top:0}.material-body p,.material-body li{font-size:13px;color:#667185;line-height:1.75}.material-body strong{color:#3d4a60}.material-body .eyebrow{margin-bottom:10px}.material-body .row>.badge{margin-bottom:7px}.material-body .objective{border-left:2px solid #bfd3f6;padding:0 0 0 13px;margin:20px 0 24px;font-size:13px;color:#5d7190}.material-body .meta-line{color:#8b94a2;font-size:11px;margin:8px 0 24px}.material-body .code-block{margin:12px 0}.material-body .example{border:1px solid var(--line);border-radius:6px;margin:12px 0;padding:14px 16px}.material-body .example h4{margin-bottom:9px;color:#566780}.material-body .example p{margin-top:9px;font-size:12px}.code-block{background:#f6f8fa;border:1px solid #e7ebf0;border-radius:6px;padding:14px 16px;color:#42516b;overflow-x:auto;font-size:12px;line-height:1.8;white-space:pre;tab-size:4}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 18px}.comparison-cell{min-width:0}.comparison-cell>h4,.comparison-cell>.eyebrow{margin:0 0 7px;font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#8290a4}.comparison-cell .code-block{font-size:11px;margin:0;padding:13px}
.editor-panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--soft);overflow:hidden}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:49px;padding:0 19px;border-bottom:1px solid #2c3545;background:var(--editor);color:#aab5c6;font-size:11px;gap:12px;flex-shrink:0}.editor-toolbar .file-name{color:#dbe3ee;font-size:12px;font-family:"Cascadia Code",Consolas,monospace}.editor-toolbar .button{padding:3px 7px;min-height:27px;border:0;background:none;color:#9caac0;font-size:11px}.editor-toolbar .button:hover{background:#2a3547;color:white}.editor-toolbar .row{gap:5px}.editor-wrap{position:relative;flex:0 0 clamp(205px,33vh,315px);height:clamp(205px,33vh,315px);min-height:170px;background:var(--editor);overflow:hidden}.line-numbers{position:absolute;top:0;bottom:0;left:0;width:44px;overflow:hidden;padding:18px 9px 18px 0;color:#576478;background:var(--editor);font:400 13px/22px "Cascadia Code","SFMono-Regular",Consolas,monospace;text-align:right;user-select:none;white-space:pre;border-right:1px solid #212c3e}.highlight-code,textarea#code{position:absolute;left:44px;top:0;bottom:0;width:calc(100% - 44px);height:100%;padding:18px 20px;margin:0;border:0;border-radius:0;font:400 13px/22px "Cascadia Code","SFMono-Regular",Consolas,monospace;letter-spacing:0;tab-size:4;white-space:pre;overflow:auto;overflow-wrap:normal;word-break:normal}.highlight-code{background:transparent;color:#ced9ea;pointer-events:none;scrollbar-width:none}.highlight-code::-webkit-scrollbar{display:none}textarea#code{display:block;z-index:1;resize:none;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:#eaf2ff;outline:none;box-shadow:none;scrollbar-width:thin;scrollbar-color:#435065 transparent}textarea#code::selection{background:#3e6085;color:transparent}textarea#code:focus-visible{outline:none;border:none;box-shadow:inset 0 0 0 1px #47658c}.editor-wrap.no-highlight textarea#code{color:#ced9ea;-webkit-text-fill-color:#ced9ea}.token-keyword,.tok-keyword,.token.keyword{color:#b69cf6}.token-string,.tok-string,.token.string{color:#a3caad}.token-number,.tok-number,.token.number{color:#dfa985}.token-comment,.tok-comment,.token.comment{color:#74869c;font-style:normal}.token-type,.tok-type,.token.class-name{color:#88bbde}.token-function,.token.function{color:#d6c899}.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 18px;background:#202a3b;border-top:1px solid #2c3647;flex-shrink:0}.editor-actions .row{gap:8px}.editor-actions .button{font-size:12px;min-height:35px}.editor-actions .button.secondary{background:#2b374a;border-color:#485267;color:#d7dfe9}.editor-actions .button.secondary:hover{background:#354359;border-color:#637087}.editor-actions .button.primary{background:#3976e4;border-color:#3976e4;padding-left:23px;padding-right:23px}.editor-actions .button.primary:hover{background:#4b83e9}.draft-status{color:#8f9fb6;font-size:10px;white-space:nowrap}.draft-status::before{content:"";display:inline-block;width:5px;height:5px;margin-right:6px;background:#75a98b;border-radius:50%;vertical-align:middle}.draft-status.saving::before{background:#d7b17e}
.results-panel{display:flex;flex-direction:column;flex:1;min-height:0;background:#fff;overflow:hidden}.results-panel>.tabs{min-height:48px;padding:0 20px;gap:24px}.result-body{flex:1;min-height:0;overflow-y:auto;padding:17px 20px 22px;scrollbar-width:thin;scrollbar-color:#d4dbe5 transparent}.result-body .empty{padding:21px 14px}.result-body .empty h3{font-size:13px}.result-body .empty p{font-size:12px}.result-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:12px}.result-summary h3{font-size:14px;margin-bottom:4px}.result-summary p{font-size:11px;color:#7d8797}.result-summary .badge{font-size:11px}.result-tests{width:100%;border-collapse:collapse;font-size:11px}.result-tests th{color:#8a93a1;font-size:10px;font-weight:500;padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.result-tests td{padding:9px 10px;border-bottom:1px solid #edf0f4;color:#5c697d;vertical-align:top}.result-tests tr:last-child td{border-bottom:0}.result-tests pre,.result-tests code{font:11px/1.6 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.result-body .notice{font-size:11px;padding:10px 12px;margin:8px 0}.result-body .code-block{font-size:11px}.result-body p{font-size:12px;line-height:1.7;color:#687589}.result-body h4{margin:12px 0 5px;font-size:12px}.result-body .data-table td{padding:11px 10px}.result-body .data-table th{padding:9px 10px;font-size:10px}.result-body .data-table td,.result-body .data-table td .button{font-size:11px}.result-body .data-table .badge{font-size:10px}.result-body .simulation-label{color:#8c96a4;font-size:10px;margin-top:10px}
.hint{border:1px solid var(--line);border-radius:6px;margin:11px 0;overflow:hidden}.hint summary,.hint>button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;color:#5b6c85;background:#fbfcfe;border:0;text-align:left;font-size:12px;cursor:pointer;list-style:none}.hint summary::-webkit-details-marker{display:none}.hint summary:after{content:"+";margin-left:auto;color:#9aa7b9}.hint[open] summary:after{content:"−"}.hint[open] summary{border-bottom:1px solid var(--line)}.hint p,.hint .hint-content{margin:0;padding:13px 15px;animation:reveal 160ms ease-out}.hint-number{width:20px;height:20px;border-radius:50%;background:#edf2fa;color:#6681ab;display:inline-flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0}.message{border-left:2px solid #e2e6ed;padding:2px 0 2px 13px;margin:15px 0}.message.instructor{border-left-color:#87a9df}.message.ai{background:#f7f9fc;border-radius:0 5px 5px 0;padding:11px 13px;border-left-color:#c1cbdc}.message-label{font-size:10px;font-weight:650;color:#8591a3;margin-bottom:6px;display:flex;gap:8px;align-items:center}.message-label .badge{font-size:9px;line-height:16px}.message p{font-size:12px;margin:0}.question-form{display:flex;flex-direction:column;gap:11px;margin-top:17px}.question-form textarea{min-height:90px;font-size:12px}.question-form select{font-size:11px}.question-form .toolbar{justify-content:flex-end}.suggested-questions{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.suggested-questions button{text-align:left;white-space:normal;color:#6980a1;font-size:11px;padding:6px 9px;border:1px solid #e1e7f0;border-radius:5px;background:white}.suggested-questions button:hover{background:#f1f5fb;border-color:#cbd9ee}.workspace-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;min-height:32px;padding:5px 22px;background:#f7f8fb;border-top:1px solid var(--line);color:#9099a8;font-size:10px}.workspace-footer .button{min-height:23px;font-size:10px;padding:2px 7px}.prototype-controls{color:#7e8b9e;font-size:11px}.prototype-controls summary{cursor:pointer;font-size:11px;list-style-position:inside;padding:8px 0}.prototype-controls .toolbar{padding-top:7px}.prototype-controls label{font-size:11px;font-weight:400}.prototype-controls select{font-size:11px;padding:6px 9px;min-height:32px}.prototype-controls .button{font-size:11px;min-height:30px;padding:4px 9px}.prototype-controls .notice{margin:12px 0}
.login-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(350px,1fr) minmax(430px,1fr);background:#fff}.login-intro{background:#f3f6fa;padding:52px 12% 42px;display:flex;flex-direction:column;border-right:1px solid #e3e9f1}.login-intro .brand{font-size:23px}.login-intro .brand-mark{width:33px;height:33px;font-size:15px}.login-intro>.login-copy{margin:auto 0;padding:55px 0}.login-intro h1{font-size:36px;line-height:1.22;letter-spacing:-1px;max-width:410px;margin:22px 0 17px;color:#27364e}.login-intro p{color:#7b879a;font-size:14px;line-height:1.85;max-width:400px}.login-intro .eyebrow{color:#7385a0;font-size:10px}.login-intro .code-block{margin-top:34px;background:transparent;color:#7d8ba1;border:0;border-left:2px solid #d5dfed;border-radius:0;padding:6px 19px;font-size:13px}.login-intro footer{color:#8e99aa;font-size:11px}.login-panel{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:60px max(40px,15%)}.login-panel h1,.login-panel h2{font-size:25px;letter-spacing:-.7px;margin-bottom:9px}.login-panel>p{font-size:13px;color:#8490a1}.login-form{display:flex;flex-direction:column;gap:18px;margin-top:29px}.login-form .button.primary{min-height:42px;margin-top:4px}.login-form .notice{margin-top:0}.login-panel .contact-note{font-size:11px;line-height:1.8;color:#8b96a6;margin-top:22px}.demo-access{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.demo-access .eyebrow{font-size:9px;margin-bottom:9px;color:#8f9bab}.demo-access p{color:#8792a3;font-size:11px;line-height:1.7}.demo-access .row{margin-top:13px;gap:8px;flex-wrap:wrap}.demo-access .button{font-size:11px;min-height:32px;padding:5px 10px}
dialog{color:var(--ink);background:white;border:1px solid #e0e5ee;border-radius:11px;padding:0;width:min(560px,calc(100vw - 40px));max-width:960px;max-height:calc(100dvh - 56px);box-shadow:0 22px 85px #142b4921;overflow:auto}dialog[open]{animation:dialog-in 170ms ease-out}dialog::backdrop{background:#24344b60;backdrop-filter:blur(2px)}dialog.wide,#dialog.wide{width:min(900px,calc(100vw - 48px))}.dialog-head{padding:22px 26px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:0;z-index:3;background:white}.dialog-head h2{font-size:19px}.dialog-head p{color:var(--muted);font-size:12px;margin-top:4px}.dialog-head .button{min-width:31px;min-height:31px;padding:3px 9px}.dialog-body{padding:24px 26px}.dialog-body .section{margin-top:23px}.dialog-body .section:first-child{margin-top:0}.dialog-body p{font-size:13px}.dialog-body>.notice{margin-bottom:18px}.dialog-body .code-block{max-height:300px}.dialog-body .tabs{margin:-4px 0 23px}.dialog-actions{padding:16px 26px;background:#fbfcfd;border-top:1px solid var(--line);display:flex;gap:9px;align-items:center;justify-content:flex-end;position:sticky;bottom:0;z-index:3}.dialog-actions>.muted{margin-right:auto;font-size:11px}#toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,14px);background:#29384e;color:white;padding:11px 19px;border-radius:7px;font-size:12px;box-shadow:0 5px 20px #1c2e4226;opacity:0;pointer-events:none;transition:opacity 150ms ease,transform 150ms ease;max-width:calc(100vw - 40px)}#toast.show{opacity:1;transform:translate(-50%,0)}
.content-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:27px}.curriculum-sidebar{border-right:1px solid var(--line);padding-right:22px}.curriculum-sidebar .chapter-row{padding:15px 0;gap:9px}.curriculum-sidebar .chapter-body h3{font-size:12px}.curriculum-sidebar .chapter-number{width:24px;height:24px;font-size:10px}.curriculum-sidebar .button{font-size:11px}.inbox-item{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:15px}.inbox-item:last-child{border-bottom:0}.inbox-item p{color:#7c8798;font-size:12px;margin-top:5px}.inbox-item .meta{color:#98a1ad;font-size:11px;margin-top:8px}.instructor-comment{background:#f6f9fe;border-left:2px solid #9ab5df;padding:12px 15px;font-size:12px;color:#5e7496;margin:14px 0}.loading-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-right:7px;animation:pulse 900ms ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}@keyframes reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1600px){.page-content{padding-top:43px}.workspace-layout{grid-template-columns:minmax(0,42fr) minmax(0,58fr)}.material-body{padding:32px 40px}.editor-wrap{flex-basis:37vh;height:37vh}}
@media(max-width:1200px){:root{--sidebar-width:196px}.sidebar{padding-left:11px;padding-right:11px}.sidebar .brand{font-size:17px;gap:8px}.page-content,.topbar{padding-left:27px;padding-right:27px}.learning-layout{grid-template-columns:minmax(0,1fr) 235px;gap:23px}.learning-aside{padding-left:22px}.continue-panel{padding:20px;gap:15px}.continue-panel h2{font-size:18px}.data-table td{padding:14px 12px}.data-table th{padding:12px}.material-body{padding:22px}.material-panel>.tabs{padding:0 22px}.comparison{grid-template-columns:1fr}.workspace-topbar{padding-left:18px;padding-right:18px}.workspace-topbar .brand{font-size:15px}.workspace-heading{gap:8px}.workspace-heading h1{font-size:14px}}
@media(max-width:1000px){.learning-layout{grid-template-columns:1fr}.learning-aside{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:25px}.learning-aside .section{margin-top:0}.stat{padding:17px}.workspace-topbar>.brand{display:none}.workspace-layout{grid-template-columns:minmax(0,43fr) minmax(0,57fr)}.workspace-heading{flex-wrap:wrap}.workspace-heading .badge{font-size:10px}.material-body h1{font-size:21px}.material-body p,.material-body li{font-size:12px}.editor-actions{padding-left:12px;padding-right:12px}.editor-actions .draft-status{max-width:115px;overflow:hidden;text-overflow:ellipsis}.content-layout{grid-template-columns:200px minmax(0,1fr);gap:20px}}
@media(max-width:800px){:root{--sidebar-width:176px}.sidebar .brand{font-size:15px;gap:7px;padding:0 4px}.sidebar .brand-mark{width:24px;height:24px;font-size:11px}.nav-link{padding:10px;gap:8px;font-size:12px}.sidebar-bottom{padding-left:3px;padding-right:3px}.page-content{padding:28px 24px 40px}.page-head{margin-bottom:23px;gap:15px}h1{font-size:25px}.topbar{padding:0 24px;height:60px}.topbar .account .muted{display:none}.continue-panel{flex-direction:column;align-items:flex-start;gap:17px}.learning-aside{grid-template-columns:1fr}.stat-strip{flex-wrap:wrap}.stat{flex:1 1 50%;border-bottom:1px solid var(--line)}.stat:nth-child(2n){border-right:0}.stat:nth-last-child(-n+2){border-bottom:0}.stat:first-child{padding-left:17px}.workspace-shell{display:block;height:auto;min-height:100dvh;overflow:visible}.workspace-topbar{position:sticky;top:0;z-index:10;background:white;min-height:61px}.workspace-layout{display:block;overflow:visible}.material-panel{border-right:0}.material-panel>.tabs{position:sticky;top:61px;z-index:5;background:white}.material-body{padding:25px;overflow:visible;max-height:none}.material-body p,.material-body li{font-size:13px}.editor-panel{display:flex;overflow:visible;border-top:1px solid var(--line)}.editor-toolbar{min-height:48px}.editor-wrap{height:315px;flex-basis:315px}.editor-actions{min-height:62px;padding:12px 18px}.editor-actions .draft-status{max-width:none}.results-panel{min-height:250px;overflow:visible}.result-body{overflow:visible;min-height:190px}.workspace-footer{padding:10px 18px}.comparison{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr 1.1fr}.login-intro{padding:36px 30px}.login-intro h1{font-size:29px}.login-intro p{font-size:12px}.login-panel{padding:42px 32px}.content-layout{grid-template-columns:1fr}.curriculum-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px}}
@media(max-width:600px){.app-shell{display:block}.sidebar{position:relative;height:auto;padding:17px 18px 0;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:18px}.sidebar nav{flex-direction:row;margin-top:19px;gap:7px;overflow-x:auto;padding:0 0 11px}.nav-link{width:auto;flex-shrink:0;padding:8px 11px}.nav-link svg{width:15px;height:15px}.nav-label,.sidebar-bottom{display:none}.topbar{height:49px;padding:0 20px;gap:12px}.breadcrumb{font-size:10px;gap:7px}.account{gap:7px;font-size:11px}.account .avatar{width:25px;height:25px;font-size:9px}.account .button{min-height:26px;padding:2px 6px;font-size:10px}.page-content{padding:25px 20px 40px}.page-head{flex-wrap:wrap;margin-bottom:23px;gap:14px}.page-head h1{font-size:25px}.page-head h1+p{font-size:12px}.page-head .eyebrow{font-size:9px;margin-bottom:8px}.page-head>.button,.page-head>.toolbar{margin-top:0}.learning-layout{gap:25px}.continue-panel{padding:20px;margin-bottom:25px}.chapter-row{gap:11px;padding:17px 0;position:relative}.chapter-body h3{font-size:13px}.chapter-body p{font-size:11px}.chapter-row>.badge{font-size:9px;padding:1px 5px}.chapter-number{width:26px;height:26px;font-size:10px}.chapter-meta{font-size:10px;gap:7px}.filter-bar{gap:8px}.filter-bar .search-field{flex-basis:100%}.filter-bar>select{max-width:none;flex:1 1 44%}.data-table{font-size:11px}.data-table td{padding:14px 11px}.data-table th{font-size:10px}.data-table .title-cell{min-width:230px}.split,.form-grid{grid-template-columns:1fr;gap:16px}.form-grid .full,.form-grid .span-2{grid-column:auto}.stat{padding:14px}.stat:first-child{padding-left:14px}.stat strong,.stat .value{font-size:24px}.stat span,.stat .label{font-size:11px}.toolbar{gap:7px}.toolbar select,.toolbar input{min-width:100px;flex:1}.workspace-topbar{padding:10px 14px;min-height:66px;align-items:flex-start;gap:8px}.workspace-heading{gap:5px}.workspace-heading h1{font-size:13px}.workspace-heading .badge{font-size:9px}.workspace-topbar>.row{gap:5px;flex-shrink:0}.workspace-topbar .account{display:none}.workspace-topbar .button{font-size:10px;padding:4px 6px;min-height:28px}.material-panel>.tabs{top:66px;padding:0 20px;gap:25px}.material-body{padding:24px 20px 28px}.material-body h1{font-size:22px}.comparison{grid-template-columns:1fr}.editor-toolbar{padding:0 12px}.editor-wrap{height:290px;flex-basis:290px}.highlight-code,textarea#code{padding-left:12px;padding-right:12px;font-size:12px}.line-numbers{font-size:12px}.editor-actions{padding:11px 12px;gap:8px}.editor-actions .button{font-size:11px;padding-left:10px;padding-right:10px}.editor-actions .button.primary{padding-left:17px;padding-right:17px}.draft-status{font-size:9px}.results-panel>.tabs{gap:19px;padding:0 16px}.tab{font-size:11px}.result-body{padding:16px}.workspace-footer{align-items:flex-start;font-size:9px;gap:8px}.workspace-footer>span:first-child{max-width:240px}.login-shell{display:block}.login-intro{padding:25px 27px;border-right:0;border-bottom:1px solid var(--line)}.login-intro .brand{font-size:20px}.login-intro>.login-copy{padding:24px 0 0;margin:0}.login-intro h1{font-size:26px;margin:10px 0;max-width:none}.login-intro p{max-width:none;font-size:12px}.login-intro .code-block,.login-intro footer{display:none}.login-panel{padding:32px 27px 38px;max-width:490px;margin:0 auto}.login-panel h1,.login-panel h2{font-size:23px}.demo-access{margin-top:24px;padding-top:22px}dialog,dialog.wide,#dialog.wide{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.dialog-head{padding:18px}.dialog-head h2{font-size:17px}.dialog-body{padding:20px 18px}.dialog-actions{padding:13px 18px;flex-wrap:wrap}.dialog-actions .button{font-size:12px}.dialog-actions>.muted{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Components aligned to the rendered learner and administrator templates. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.row.spread{justify-content:space-between}.row.compact{gap:3px}.nav-section-label{font-size:10px;color:#9299a5;letter-spacing:1.2px;font-weight:650;padding:0 13px;margin-top:42px;margin-bottom:11px}.sidebar nav{margin-top:0}.nav-link{font-size:14px}.nav-link>span[aria-hidden]{width:18px;color:#8b96a7;text-align:center;font-size:18px;font-weight:400}.nav-link.active>span[aria-hidden]{color:var(--blue)}.nav-count{margin-left:auto;font-size:10px;background:#e2ebfc;color:#4672be;padding:0 5px;border-radius:3px}.prototype-label{font-size:9px;color:#8d98a8;letter-spacing:1.2px;font-weight:650;margin-bottom:6px}.prototype-pill{display:inline-flex;align-items:center;font-size:10px;font-weight:500;color:#8490a2;border:1px solid #e0e5ed;background:#fafbfd;padding:2px 7px;border-radius:4px;white-space:nowrap}.sidebar-user{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);margin-top:21px;padding-top:18px}.sidebar-user>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.sidebar-user strong{font-size:11px;color:#4b5b73}.sidebar-user>div>span{font-size:10px;color:#8c98a9}.sidebar-user .button{width:27px;padding:3px;min-height:27px;margin:0;justify-content:center;font-size:17px}.sidebar-user .avatar{width:29px;height:29px;font-size:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-heading h2{font-size:17px;letter-spacing:-.3px}.learning-aside .section-heading h2{font-size:14px}.learning-aside .section-heading>.small{font-size:10px}.learning-aside .section{margin-top:27px}.learning-aside .section:first-child{margin-top:0}.continue-panel{flex-direction:column;align-items:stretch;gap:0;padding:24px 25px}.continue-panel>.row{margin-bottom:20px}.continue-panel .eyebrow{margin:0}.continue-copy{display:flex;align-items:center;justify-content:space-between;gap:21px;margin-bottom:25px}.continue-copy>div{min-width:0}.continue-copy h2{font-size:21px;line-height:1.35;margin:0;letter-spacing:-.4px}.continue-copy p{font-size:13px;line-height:1.7;margin-top:7px;max-width:470px}.continue-copy .button{font-size:12px;padding:9px 14px;min-height:39px}.progress-caption{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6c7f9c;gap:14px;margin-bottom:9px}.progress-caption strong{font-weight:500}.continue-panel>.small{font-size:10px;margin:9px 0 0;color:#8c9ab0}.continue-panel .progress-track{height:4px;background:#e0e8f5}.chapter-row{display:block;padding:0}.chapter-row>summary{display:flex;align-items:center;gap:15px;list-style:none;padding:20px 0;cursor:pointer}.chapter-row>summary::-webkit-details-marker{display:none}.chapter-row>summary:hover .chapter-body>strong{color:var(--blue)}.chapter-body{display:flex;flex-direction:column;gap:4px}.chapter-body>strong{font-size:14px;font-weight:550;color:#44536c}.chapter-body>.small{font-size:12px;line-height:1.55}.chapter-meta{flex-direction:column;align-items:flex-end;gap:5px;margin:0;flex-shrink:0}.chapter-meta .badge{font-size:10px;line-height:18px}.chapter-meta>.small{font-size:10px}.chapter-row[open]>.chapter-exercises{animation:reveal 170ms ease-out}.chapter-row[open] .chapter-number{border-color:#d3e2fa;background:#eef4fe;color:#507fcd}.chevron{color:#929fb2;font-size:16px;transition:transform 160ms ease}.chapter-row[open] .chevron{transform:rotate(180deg)}.chapter-exercises{padding:0 0 12px 44px}.exercise-link{width:100%;border:0;border-radius:5px;background:none;padding:12px 8px;display:flex;align-items:center;gap:11px;text-align:left;color:#536782;font-size:13px;font-weight:400}.exercise-link:hover{background:#f5f8fe;text-decoration:none}.exercise-link>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.exercise-link small{font-size:10px;color:#9aa4b3}.exercise-link>.badge{font-size:10px}.exercise-link>span:last-child{color:#9ba9bc}.exercise-check{width:17px;text-align:center;font-size:16px;color:#b5becb;flex-shrink:0}.exercise-check.done{color:#79a38f;font-size:12px}.activity-row,.question-row{appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;padding:15px 0;color:var(--ink)}.activity-row:hover strong,.question-row:hover strong{color:var(--blue)}.activity-row strong,.question-row strong{font-size:13px;font-weight:550;line-height:1.55;color:#546782}.activity-row .small{margin:0;font-size:10px}.question-row .small{font-size:10px;line-height:1.7}.reply-indicator{font-size:10px;color:var(--blue);display:inline-flex;align-items:center;gap:6px}.reply-indicator:before{content:"";width:4px;height:4px;background:var(--blue);border-radius:50%}.learning-note{border-top:1px solid var(--line);margin-top:27px;padding-top:21px}.learning-note .eyebrow{font-size:9px;letter-spacing:1px;color:#9ca6b5}.learning-note p{font-size:12px;line-height:1.8;color:#8a96a8;margin:8px 0 12px}.learning-note a{font-size:11px;color:#6b89b6}.data-table{font-size:13px}.data-table th{font-size:12px}.data-table td .muted,.data-table td p{font-size:12px}.data-table .button{font-size:12px}.library-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:13px}.library-summary strong{font-weight:500;color:#5c6b82}.library-summary .small{font-size:11px}.filter-bar{align-items:flex-end;gap:10px}.filter-bar>.field{flex:0 1 150px;font-size:11px;font-weight:500;color:#7f8c9f;gap:6px}.filter-bar>.search-field{flex:1;min-width:195px}.filter-bar>.field select{font-size:12px}.filter-bar>.button{margin-bottom:1px;font-size:11px}.library-table td:first-child{width:45%;min-width:250px}.table-title{font-size:14px!important;font-weight:550!important}.library-table td p{font-size:12px;line-height:1.6;max-width:450px}.library-table td{padding-top:20px;padding-bottom:20px}.level-label{color:#6b7c94;font-size:12px;white-space:nowrap}.table-open{display:inline-flex;width:27px;height:29px;align-items:center;justify-content:center;color:#899bb6}.table-open:hover{background:#eff4fc;border-radius:4px;text-decoration:none}#library-count{font-size:11px;margin-top:15px;color:#939dac}
.workspace-topbar{justify-content:flex-start;gap:22px}.workspace-divider{height:25px;width:1px;background:var(--line);flex:none}.workspace-back{color:#8290a4;font-size:12px;white-space:nowrap}.workspace-back:hover{color:var(--blue);text-decoration:none}.workspace-heading{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex:1;min-width:0}.workspace-heading strong{font-size:14px;font-weight:600;line-height:1.4;color:#4a5970}.workspace-heading>.small{font-size:10px;color:#9aa3b0}.workspace-heading>.small>span{padding:0 5px}.workspace-topbar>.row{margin-left:auto;flex-shrink:0}.material-panel>.tabs{align-items:center;min-height:50px}.material-panel>.tabs .tab{align-self:stretch;font-size:13px}.tab-context{margin-left:auto;font-size:11px}.tab-context .badge{font-size:10px}.material-section>h2{font-size:24px;letter-spacing:-.5px;margin:0 0 16px;line-height:1.35}.material-section .eyebrow{font-size:10px;letter-spacing:1.1px;margin-bottom:12px}.material-body p,.material-body li{font-size:14px;line-height:1.75}.material-body p.small{font-size:12px}.material-body h3{font-size:14px;margin-top:25px;margin-bottom:10px}.material-section+.material-section{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.material-section .section-heading h2{font-size:17px;margin:0}.material-section .objective{margin-top:23px;margin-bottom:26px;padding:2px 0 2px 14px}.objective>strong{font-size:11px;color:#7690b8}.objective p{font-size:13px;margin:5px 0 0;color:#7385a0}.example-block{font:12px/1.85 "Cascadia Code",Consolas,monospace;background:#f7f9fc;border:1px solid #e3e9f2;border-radius:6px;padding:15px 17px;white-space:pre-wrap;color:#667a97;overflow-wrap:anywhere}.material-footer{margin-top:26px;padding-top:17px;border-top:1px solid var(--line);font-size:12px;color:#95a0b1}.material-footer .button{font-size:12px;padding-left:6px}.lesson-copy{white-space:pre-line}.material-section>.notice{margin:18px 0}.material-section>.button{margin-top:12px}.language-comparison .comparison-cell>.eyebrow{display:block;margin:0 0 7px;font-size:9px}.language-comparison .code-block{font-size:11px}.file-tab{font:12px/1.5 "Cascadia Code",Consolas,monospace;color:#bcc9dc;display:flex;gap:8px;align-items:center}.file-tab>span{filter:grayscale(1);opacity:.65}.editor-language{font-size:10px;color:#65768f;margin-right:10px}.line-numbers>div{height:22px}.result-tabs .tab{font-size:12px}.console-prompt{display:block;font:24px/1.5 Consolas,monospace;color:#bfccdc;margin-bottom:8px}.result-empty strong{font-weight:550;color:#8190a5;font-size:13px}.result-empty p{color:#a0aaba;font-size:12px;line-height:1.7;margin-top:7px}.demo-result-label{font-size:10px;color:#8c9aae;letter-spacing:.05px;margin-bottom:11px}.result-detail{font-size:13px!important;line-height:1.65!important;color:#697b95!important}.result-tests{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:12px}.result-tests>.row{font-size:11px;color:#76879f}.result-tests .comparison{margin:10px 0 12px}.result-tests .comparison-cell{background:#f8fafc;border:1px solid #e7edf4;border-radius:5px;padding:9px 12px}.result-tests .comparison-cell>span{font-size:10px;color:#8d9bb0}.result-tests .comparison-cell pre{font:12px/1.7 Consolas,monospace;white-space:pre-wrap;color:#536986;padding:5px 0 1px}.result-tests>p{font-size:10px!important;color:#94a1b3!important}.workspace-footer>.small{font-size:10px;color:#95a1b3}.workspace-footer>.small>span{padding:0 5px}.hint-list{margin:20px 0 10px}.hint-list .hint{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border-color:#e6ebf3;background:#fbfcfe}.hint-list .hint.revealed{background:white;border-color:#dce6f5;animation:reveal 160ms ease}.hint-list .hint strong{font-size:12px;font-weight:550;color:#6c7e99}.hint-list .hint p{padding:0;margin:4px 0 0;font-size:12px;line-height:1.8}.hint-list .hint-number{margin-top:1px}.suggested-question{margin:16px 0;padding:13px 15px;border:1px solid #dfe8f6;background:#f7faff;border-radius:6px;width:100%;text-align:left;color:#6d86ab;font-size:12px}.suggested-question>span{display:block;font-size:10px;margin-top:5px;color:#92a5c2}.suggested-question:hover{background:#edf4ff}.question-thread{margin:18px 0;padding:17px 0;border-top:1px solid var(--line)}.question-thread>.row>strong{font-size:13px;font-weight:550;color:#586d8b}.question-thread>.row{align-items:flex-start;gap:8px}.question-thread>.small{font-size:10px;margin-top:6px}.question-thread .button{font-size:11px;min-height:30px;padding:5px 8px}.question-thread>.row:last-child{flex-wrap:wrap;margin-top:14px}.question-form .button{align-self:flex-start}.check-label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:400;color:#71819a}.preview-banner{padding:9px 23px;background:#f4f7fc;border-bottom:1px solid #e1e7f0;font-size:11px;color:#7589a8;flex:none}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #e1e9f7;border-top-color:#6891d6;border-radius:50%;animation:spin 700ms linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.login-intro>div{margin:auto 0;padding:55px 0}.login-intro>.muted{font-size:11px;color:#95a1b3;max-width:none;line-height:1.65}.login-path{display:flex;flex-direction:column;margin-top:36px;gap:15px;color:#8898af;font-size:12px;letter-spacing:.1px}.login-path>span{padding-bottom:13px;border-bottom:1px solid #e3e9f2;max-width:330px}.login-path>span:last-child{border-bottom:0}.login-panel{padding:38px 15%}.login-form{gap:0;margin-top:0}.login-form>.eyebrow{font-size:10px;color:#92a0b5;letter-spacing:1.2px;margin-bottom:13px}.login-form h2{font-size:27px;margin-bottom:10px}.login-form>.muted{font-size:13px;line-height:1.75}.login-form>form{display:flex;flex-direction:column;gap:17px;margin:24px 0 17px}.login-form .field{font-size:12px;font-weight:500;color:#66788f}.login-form input{min-height:42px;font-size:13px}.login-form>p.small{font-size:11px;line-height:1.8;color:#93a0b2}.login-form form .button.primary{margin:0;justify-content:space-between;padding:10px 14px}.login-form .error:empty{display:none}.login-form .error:not(:empty){background:#fcf0ef;border:1px solid #efd3cf;color:#a9544e;font-size:12px;padding:10px 12px;border-radius:5px}.demo-access{padding-top:21px;margin-top:22px}.demo-access summary{list-style-position:inside;cursor:pointer;color:#8696ad;font-size:11px;font-weight:500}.demo-access[open] summary{margin-bottom:7px}.demo-access .row{gap:7px;margin-top:11px}.demo-access .button{font-size:10px;min-height:31px;padding:4px 8px;color:#6f86a7}.credentials,.credential-list{display:grid;grid-template-columns:110px 1fr;gap:5px 10px;margin:15px 0 0;font-size:10px;color:#9aa7b8}.credentials dt,.credential-list dt{font-weight:400}.credentials dd,.credential-list dd{margin:0;font-family:Consolas,monospace;font-size:10px;color:#8697b1}.credential-list{font-size:12px;margin:20px 0}.credential-list dd{font-size:12px}.badge.badge-passed{background:var(--success-bg);color:var(--success)}.badge.badge-neutral{background:#f1f3f6;color:#7c8798}.badge.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge.system-error,.badge.not-evaluated-in-this-prototype{background:#f1f3f6;color:#768396}.badge.compilation-error,.badge.runtime-error,.badge.time-limit-exceeded{background:var(--danger-bg);color:var(--danger)}.badge.resolved{background:var(--success-bg);color:var(--success)}.badge.awaiting-instructor{background:var(--blue-pale);color:#6481b2}.table-link{appearance:none;padding:0;border:0;background:none;text-align:left;color:#4b6487;font-size:13px;font-weight:550;line-height:1.55}.table-link:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.data-table .table-link{font-size:13px}.data-table .badge{font-size:11px}.data-table td:nth-child(2)>.badge+.badge{margin-top:4px}.admin-progress{min-width:135px;max-width:210px}.admin-progress>.row{justify-content:space-between;gap:12px;font-size:11px;margin-bottom:7px;white-space:nowrap;color:#6880a0}.admin-progress .progress-track{height:4px;background:#e9eef7}.admin-progress .progress-track>span{display:block;height:100%;background:#6690d8;border-radius:inherit}.page-content>.toolbar,.section>.toolbar{margin-bottom:19px}.content-summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 25px;margin-top:28px;border:0;border-top:1px solid var(--line);border-radius:0;background:#fafbfd}.content-summary h2{font-size:16px;margin-bottom:6px}.content-summary p{font-size:13px;color:#8996a9;line-height:1.7}.content-summary p.small{font-size:11px;margin-top:5px}.content-summary>.button{flex-shrink:0}.stat strong{margin:6px 0 8px}.stat>.muted{font-size:12px}.stat>span:last-child,.stat>.table-link{font-size:11px;color:#8c99ac;font-weight:400}.stat>.table-link{color:#6c8bbd}.section-head h2{font-size:18px}.chapter-manager{border-top:1px solid var(--line)}.chapter-manage-row{display:flex;align-items:center;gap:11px;padding:16px 0;border-bottom:1px solid var(--line)}.chapter-index{width:25px;flex:none;font-size:11px;color:#96a4b9}.chapter-manage-row strong{font-size:13px;color:#5b6e8b;font-weight:550}.chapter-manage-row .small{font-size:11px;color:#95a1b3}.chapter-manage-row .grow>.small{margin-top:4px}.chapter-manage-row .button{min-height:29px;font-size:11px;padding:4px 8px}.chapter-manage-row .icon-button{width:25px;padding:4px;min-height:27px}.admin-tabs{margin-bottom:23px}.admin-tabs>button{background:none;border:0;border-bottom:2px solid transparent;color:#8b97aa;padding:12px 1px;font-size:13px;font-weight:500;line-height:20px}.admin-tabs>button:hover{color:#627a9b}.admin-tabs>button.active{color:var(--blue);border-bottom-color:var(--blue)}.tab-count{display:inline-flex;min-width:18px;padding:0 4px;justify-content:center;margin-left:5px;background:#eff3f9;color:#8498b5;border-radius:4px;font-size:10px;line-height:18px}.question-cell{max-width:330px;min-width:210px}.assignment-progress{margin:17px 0}.assignment-progress-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;color:#657b99}.assignment-progress-row:last-child{border-bottom:0}.assignment-list{margin:21px 0;max-height:340px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:thin}.assignment-choice{display:flex;align-items:center;gap:12px;padding:13px 1px;border-bottom:1px solid var(--line)}.assignment-choice:last-child{border-bottom:0}.assignment-choice>label:first-child{display:flex;flex:1;gap:11px;align-items:center}.assignment-choice>label:first-child>span{display:flex;flex-direction:column;gap:4px}.assignment-choice strong{font-size:12px;font-weight:500;color:#627a9b}.assignment-choice .small{font-size:10px;color:#95a5ba}.assignment-choice>.version-field{width:114px;flex:none}.assignment-choice select{font-size:11px;padding:6px 8px;min-height:33px}.private-config{padding:19px;background:#f6f8fc;border:1px solid #e3e9f3;border-radius:6px}.private-config>.row{margin-bottom:8px}.private-config>.row h3{margin:0}.private-config>.small{font-size:11px;line-height:1.75;margin-bottom:15px}.code-input{font:12px/1.7 "Cascadia Code",Consolas,monospace!important;white-space:pre;tab-size:4}.submitted-source,.snapshot-code{background:#f4f7fb;font-size:12px;line-height:1.8;margin-top:13px}.thread-message{padding:13px 0 13px 13px;border-left:2px solid #dce4ef;margin:14px 0}.thread-message.instructor{border-left-color:#7c9fd6;background:#f6f9ff;padding-right:13px}.thread-message.ai{border-left-color:#b2c2dc;background:#f8fafd;padding-right:13px}.thread-message strong{font-size:12px;color:#6880a1}.thread-message .small{font-size:10px;color:#98a6b9}.thread-message p{font-size:13px;color:#6d809c;line-height:1.75;margin-top:8px;white-space:pre-line}.dialog-body>p+.field,.dialog-body>.field+.field{margin-top:18px}.dialog-body>.row{margin:14px 0}.dialog-body>p.small{font-size:11px;color:#95a2b6;line-height:1.8;margin-top:10px}.dialog-body .section>p+.row{margin-top:14px;flex-wrap:wrap}.dialog-body .section>.check-label{margin-top:19px}.dialog-body .section>p+.button{margin-top:12px}.dialog-body .section>.small{font-size:11px;line-height:1.8}.dialog-body .section>p+.field{margin-top:15px}.dialog-body .section>.field+p{margin-top:10px}.dialog-body .notice{font-size:12px;line-height:1.7}.dialog-body .section>h3{margin-bottom:13px}.dialog-head .eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:6px}.dialog-head h2{font-size:19px}.dialog-body .form-grid{gap:17px 20px}.dialog-body .field{font-size:12px;color:#6e809c}.dialog-body .field input,.dialog-body .field textarea,.dialog-body .field select{font-size:13px;color:#4f627f}.dialog-body textarea[rows="2"]{min-height:70px}.dialog-body>.notice+p{margin-top:16px}dialog[open]{display:flex;flex-direction:column;overflow:hidden}dialog>form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 58px)}dialog:has(#exercise-form){width:min(890px,calc(100vw - 48px))}.dialog-head,.dialog-actions{position:relative;flex:none}.dialog-body{overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#d4deed transparent}.dialog-body>.section:first-child{margin-top:0}.dialog-actions{box-shadow:0 -1px 0 white}.dialog-body .section .split{margin:17px 0}.dialog-body .section .split h4{margin-bottom:8px;font-size:11px;color:#8297b5}
@media(max-width:1200px){.workspace-topbar{gap:14px}.workspace-heading strong{font-size:13px}.workspace-back{font-size:11px}.workspace-topbar .brand{font-size:15px}.continue-copy{gap:17px}.continue-copy h2{font-size:19px}.continue-copy .button{padding:9px 11px;font-size:11px}.filter-bar>.field{flex-basis:126px}.filter-bar>.search-field{min-width:180px;flex:1}.library-summary{align-items:flex-start}.library-summary .small{max-width:280px;text-align:right}.chapter-meta{gap:5px}}
@media(max-width:1000px){.workspace-divider{display:none}.workspace-heading{flex-wrap:nowrap}.workspace-topbar>.brand{display:none}.continue-copy .button{font-size:12px}.continue-panel{align-items:stretch}.learning-aside .section{margin-top:0}.learning-note{grid-column:1/-1;margin-top:0}.filter-bar>.field{flex:1 1 135px}.filter-bar>.search-field{flex:1 1 230px}.library-summary{flex-wrap:wrap;gap:5px}.library-summary .small{max-width:none;text-align:left}.chapter-meta{gap:5px}.chapter-manager .chapter-manage-row>.small{display:none}}
@media(max-width:800px){.workspace-topbar{min-height:66px}.material-panel>.tabs{top:66px}.material-body p,.material-body li{font-size:14px}.continue-panel{flex-direction:column;align-items:stretch}.continue-copy{align-items:flex-start;flex-direction:column}.continue-copy .button{font-size:12px}.continue-panel>.row>.small{font-size:11px}.chapter-row>summary{gap:10px}.chapter-body>.small{font-size:11px}.chapter-meta>.small{font-size:9px}.chapter-exercises{padding-left:34px}.exercise-link{padding-left:3px;padding-right:3px;font-size:12px}.exercise-link>.badge{font-size:9px}.login-intro>div{padding:40px 0}.login-intro>.muted{font-size:10px}.login-panel{padding:32px}.login-path{font-size:11px}.content-summary{align-items:flex-start;flex-direction:column;gap:16px}.content-summary p{font-size:12px}.section-head h2{font-size:17px}.chapter-row>.summary{padding:17px 0}}
@media(max-width:600px){.sidebar nav{margin-top:0;padding-bottom:8px}.nav-section-label{margin:19px 0 7px;padding:0 7px;font-size:9px}.nav-link{font-size:12px}.sidebar-bottom{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0;padding:6px 2px 13px}.sidebar-bottom>.prototype-label,.sidebar-bottom>p{display:none}.sidebar-bottom>.button{width:auto;margin:0;padding:4px 0;font-size:10px;min-height:25px}.sidebar-user{margin:0;padding:0;border:0;gap:7px}.sidebar-user>div{flex:none}.sidebar-user strong{font-size:10px}.sidebar-user>div>span{font-size:9px}.sidebar-user .avatar{width:24px;height:24px;font-size:9px}.sidebar-user .button{width:24px;font-size:15px}.continue-panel{padding:18px;gap:0}.continue-panel>.row{margin-bottom:18px}.continue-panel>.row>.small{font-size:10px}.continue-copy{margin-bottom:20px}.continue-copy h2{font-size:19px}.continue-copy p{font-size:12px}.progress-caption{font-size:10px;gap:10px}.continue-panel>.small{font-size:9px;line-height:1.8}.chapter-meta{gap:4px}.chapter-body>strong{font-size:12px}.chapter-body>.small{font-size:10px}.chapter-row>summary{gap:9px;padding:17px 0}.chapter-meta>.small{font-size:9px;max-width:95px;text-align:right}.chapter-meta>.badge{font-size:9px}.chapter-exercises{padding-left:20px}.exercise-link{font-size:12px;gap:7px}.exercise-link>.badge{font-size:9px}.exercise-link small{font-size:9px}.learning-aside{display:block}.learning-aside .section+.section{margin-top:27px}.learning-note{margin-top:24px}.filter-bar>.field{flex:1 1 calc(50% - 8px)}.filter-bar>.search-field{flex:1 1 100%;min-width:0}.filter-bar>.button{flex:1 1 100%;justify-content:flex-start;padding-left:0;margin-top:0}.library-summary{margin-bottom:18px;padding-bottom:15px}.library-summary strong{font-size:12px}.library-summary .small{font-size:10px}.workspace-topbar{gap:10px;min-height:78px;align-items:center;padding:10px 13px}.workspace-back{font-size:0;width:22px;overflow:hidden;white-space:nowrap;flex:none}.workspace-back::before{content:"←";font-size:19px;line-height:1}.workspace-heading strong{font-size:12px}.workspace-heading>.small{font-size:9px;line-height:1.6}.workspace-heading>.small>span{padding:0 2px}.workspace-topbar>.row{gap:5px;flex-direction:column;align-items:flex-end}.workspace-topbar>.row>.prototype-pill{font-size:9px}.workspace-topbar>.row>.button{font-size:9px;min-height:20px;padding:0 3px}.material-panel>.tabs{top:78px;min-height:49px}.material-panel>.tabs .tab{font-size:12px}.material-section>h2{font-size:22px}.material-body p,.material-body li{font-size:13px}.result-detail{font-size:12px!important}.result-tests .comparison{grid-template-columns:1fr 1fr;gap:8px}.result-tests .comparison-cell{padding:8px 10px}.result-tests .comparison-cell pre{font-size:11px}.workspace-footer>.small{font-size:9px;line-height:1.7}.workspace-footer>.small>span{padding:0 2px}.question-thread>.row:first-child{flex-wrap:wrap}.question-thread>.row>strong{font-size:12px}.login-intro>div{padding:25px 0 2px;margin:0}.login-intro>.muted,.login-path{display:none}.login-intro h1{font-size:27px}.login-intro p{font-size:12px}.login-panel{padding:31px 27px}.login-form h2{font-size:25px}.credentials{grid-template-columns:102px 1fr;font-size:10px}.credentials dd{font-size:10px}.chapter-manage-row{flex-wrap:wrap;gap:7px;padding:13px 0}.chapter-manage-row .grow{flex-basis:calc(100% - 45px)}.chapter-manage-row>.icon-button:first-of-type{margin-left:31px}.chapter-manage-row .grow>.small{font-size:10px}.chapter-manage-row .grow>strong{font-size:12px}.assignment-choice{gap:8px}.assignment-choice strong{font-size:11px}.assignment-choice>.version-field{width:100px}.assignment-choice select{font-size:10px}.assignment-list{max-height:none}.dialog-body{padding:20px 18px}.dialog-head{padding:18px}.dialog-actions{padding:13px 18px;gap:7px}.dialog-actions .button{font-size:11px;min-height:34px;padding:6px 10px}dialog:has(#exercise-form){width:calc(100vw - 24px)}dialog>form{max-height:calc(100dvh - 26px)}.private-config{padding:14px}.stat>.muted{font-size:11px}.stat>span:last-child,.stat>.table-link{font-size:10px}.data-table{font-size:12px}.data-table th{font-size:11px}.data-table td .muted,.data-table td p{font-size:11px}.data-table .table-link{font-size:12px}}
