.learning-layout{display:grid;grid-template-columns:222px minmax(0,1fr);gap:38px;align-items:start}
.course-outline{position:sticky;top:18px;min-width:0;border:1px solid #dce2e7;background:#fff;font-size:13px}
.outline-container>summary{font-size:15px;font-weight:600;padding:13px 15px;background:#f6f8fa;border-bottom:1px solid #e2e7ec;color:#3a4b5b}
.outline-container>summary small{float:right;font-size:11px;font-weight:400;color:#8d99a5;margin-top:3px}
.outline-chapter{border-bottom:1px solid #edf0f3}
.outline-chapter:last-child{border:0}
.outline-chapter>summary{padding:12px 13px;color:#5b6671;line-height:1.6;list-style-position:outside;margin-left:14px}
.outline-chapter[open]>summary{color:#0076c0;font-weight:600}
.outline-item{display:flex;width:100%;gap:8px;text-align:left;padding:9px 13px 9px 18px;border:0;border-left:3px solid transparent;font-size:12px;line-height:1.7;background:#fff;color:#67717b;overflow-wrap:anywhere}
.outline-item>span{min-width:25px;color:#9aa6b3;font-size:11px}
.outline-item.selected{background:#eef6fc;border-left-color:#0076c0;color:#006bab;font-weight:600}
.outline-item:hover{background:#f5f8fb;color:#0076c0}
.outline-locked{padding:12px 15px;border-bottom:1px solid #edf0f3;color:#8c949d;font-size:12px}
.outline-locked small{display:block;color:#a4abb2;font-size:10px;margin-top:3px}
.outline-footer{display:grid;gap:9px;padding:15px;border-top:1px solid #e7edf2;font-size:12px}
.lesson-article{min-width:0}.lesson-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;color:#939da7;font-size:12px;padding:1px 0 17px;margin-bottom:25px;border-bottom:1px solid #edf0f3}
.lesson-heading>span,.exercise-kind{font-size:12px;color:#0080bf;display:block;margin-bottom:8px}
.lesson-heading h1{font-size:27px;color:#333;line-height:1.5;margin-bottom:27px}
.lesson-explanation{font-size:15px;line-height:2;color:#4b525a}
.learning-objectives{border-left:3px solid #d9e6f0;background:#f7fafd;margin:20px 0;padding:11px 15px;font-size:12px;color:#728396}
.learning-objectives ul{margin:10px 0 0;padding-left:18px}.learning-objectives li{margin:5px 0}
.follow-example .section-heading{margin-top:28px}.answer-instruction{color:#7a838c;font-size:13px;line-height:1.8;margin:12px 0 17px}
.lesson-navigation{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:36px 0 5px;padding-top:22px;border-top:1px solid #e6ebef}
.lesson-navigation>span{font-size:12px;color:#9aa4af}.lesson-navigation button{font-size:13px}
.lesson-quiz{padding-top:4px}.lesson-quiz h2{font-size:20px;line-height:1.7;margin-top:24px}
.run-actions{display:flex;align-items:center;gap:12px;margin:15px 0;flex-wrap:wrap}
.run-actions>span{font-size:11px;color:#9aa2ab}.run-actions button{border-color:#92b8d1;color:#0076c0;background:#f7fbff;font-size:13px}
.execution-result{margin:17px 0 22px}.execution-result>h3{font-size:13px;font-weight:600;color:#6e7984;margin-bottom:8px}
.execution-result .output{background:#f8fafc;border-color:#e2e7ec;min-height:64px;margin:0;font-size:13px;color:#425264}
.automatic-input{background:#f8fafc;border:1px solid #e6ebef;padding:10px 12px;font-size:11px;color:#8a97a4;margin-bottom:15px}
.example-select{display:inline-flex;gap:8px;align-items:center;margin-right:12px}
.example-select select{display:inline-block!important;width:auto!important;margin:0!important;padding:3px 6px;font-size:11px}
.custom-input{margin-top:7px;color:#677f92}.custom-input label{margin:12px 0 5px;color:#596c7b}.custom-input small{font-size:11px;color:#929da7}
.execution-error{padding:14px 16px;border:1px solid #ebc5c3;border-left:3px solid #ce6a66;background:#fff6f5;margin:16px 0;color:#9d4c48;font-size:13px}
.execution-error strong{font-size:17px}.execution-error p{margin:9px 0}.execution-error code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
.solve-steps{display:flex;gap:0;list-style:none;counter-reset:solve;padding:0;margin:0 0 25px;font-size:11px;color:#94a2ae}
.solve-steps li{counter-increment:solve}.solve-steps li:before{content:counter(solve);display:inline-grid;place-items:center;width:17px;height:17px;margin-right:6px;border:1px solid #cfdbe5;color:#69869d;border-radius:50%;font-size:10px}
.solve-steps li+li:before{margin-left:15px}.exercise-meta{display:flex;gap:0;border-top:1px solid #e5ebef;border-bottom:1px solid #e5ebef;margin-bottom:27px;padding:10px 0;color:#8693a1;font-size:12px}
.exercise-meta span{padding:0 16px;border-right:1px solid #e0e7ee}.exercise-meta span:first-child{padding-left:0}.exercise-meta span:last-child{border:0}
.problem-description .prose{line-height:1.95}.example-caption{color:#8b9ca9;font-size:11px;margin:18px 0 8px}
.problem-examples .example-pair{margin-bottom:18px;gap:18px}.problem-examples h3{font-size:12px;color:#6b7e8d;margin:0 0 8px}
.problem-examples pre{background:#f8fafc;border-color:#e0e7ed;font-size:13px;min-height:52px}
.submission-actions{display:flex;align-items:center;gap:15px;padding:20px 0 5px;border-top:1px solid #e6ebef;margin-top:25px}
.submission-actions span{font-size:12px;color:#98a4af}
.feedback-card{padding:20px;border:1px solid #dfe7ed;border-left:3px solid #8eacc3;background:#f7fafc;margin:25px 0 20px;scroll-margin-top:25px}
.feedback-card.correct{border-color:#cbded3;border-left-color:#4e9470;background:#f5faf7}
.feedback-card.incorrect{border-color:#e9cdcb;border-left-color:#cc7771;background:#fff8f7}
.feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.feedback-heading h2,.feedback-card>h3{font-size:19px;margin:0;color:#526575}
.feedback-card.incorrect h2{color:#ad5852}.feedback-card.correct h2{color:#41815d}
.feedback-heading strong{font-size:17px;color:#647a8b;font-weight:500}.feedback-card p{font-size:13px;margin:12px 0;line-height:1.8}
.feedback-card .test-count{font-size:11px;color:#91a0ac;margin-top:5px}.feedback-card .error-detail{background:#fff;border-color:#ecd8d6;color:#a7524d;font-size:12px;white-space:pre-wrap}
.feedback-card .grid2 h3{font-size:12px}.feedback-card .grid2 pre{font-size:12px;background:#fff}
.answer-explanation{background:#fffdf5;border:1px solid #eee7cc;padding:17px 20px;color:#8b7854;margin:18px 0}
.answer-explanation h3{font-size:14px;margin-bottom:8px}.answer-explanation .prose{font-size:13px}
.solution-disclosure{font-size:12px;color:#7d8fa0;margin:18px 0}.solution-disclosure pre{margin-top:12px}
.submission-heading span{font-size:11px;color:#99a6b2}.submission-heading h2{font-size:24px;margin:7px 0 22px}
.submission-table{max-height:44vh;overflow:auto}.submission-table th{position:sticky;top:0}
.submission-answer-label{font-size:13px;margin:21px 0 8px}.submission-answer{max-height:230px;overflow:auto;font-size:12px}
.missing-answer{color:#bf645d;font-weight:500}dialog:has(.submission-heading){max-width:760px}dialog>.row{margin-top:22px}
@media(max-width:900px){.learning-layout{grid-template-columns:1fr;gap:22px}.course-outline{position:static}.outline-container>summary{padding:10px 13px;font-size:13px}.outline-container nav{max-height:300px;overflow:auto}.outline-footer{display:flex;gap:20px;padding:10px 13px}.lesson-heading h1{font-size:25px}.lesson-breadcrumb{margin-bottom:20px}.lesson-explanation{font-size:14px}}
@media(max-width:500px){.lesson-heading h1{font-size:22px}.lesson-explanation{font-size:13px}.lesson-breadcrumb{font-size:11px}.solve-steps{font-size:10px}.solve-steps li+li:before{margin-left:8px}.exercise-meta{font-size:11px}.exercise-meta span{padding:0 9px}.problem-examples .grid2{grid-template-columns:1fr 1fr;gap:10px}.problem-examples pre{font-size:12px;padding:10px}.feedback-card{padding:14px}.feedback-heading h2{font-size:17px}.feedback-heading strong{font-size:15px}.run-actions{gap:7px}.run-actions>span{font-size:10px}.answer-explanation{padding:13px 15px}.lesson-navigation{gap:8px}.lesson-navigation button{font-size:12px;padding:6px 10px}dialog{padding:19px}.submission-heading h2{font-size:21px}.submission-table th,.submission-table td{font-size:11px;padding:7px}.submission-table th:last-child,.submission-table td:last-child{display:none}}
.cm-line.cm-debug-line-error {background:#fff0f0 !important; box-shadow:inset 3px 0 #d9363e;}
.cm-line.cm-debug-line-warning {background:#fff9db !important; box-shadow:inset 3px 0 #e1af00;}
.cm-lintRange-error {border-bottom:2px solid #d9363e; background-image:none !important;}
.cm-lintRange-warning {border-bottom:2px solid #dfad00; background-image:none !important;}
.cm-lint-marker {cursor:help;}
.cm-tooltip-lint {max-width:440px; white-space:pre-wrap; font:13px/1.7 Arial,'Malgun Gothic',sans-serif;}
.debug-panel {margin:16px 0 20px; border:1px solid #dfe5eb; background:#fff;}
.debug-heading {display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; padding:12px 16px; background:#f7f9fb; border-bottom:1px solid #dfe5eb;}
.debug-heading h3 {margin:0; font-size:16px;}
.debug-heading span {font-size:12px; color:#627184;}
.debug-item {padding:15px 17px; border-left:3px solid; border-bottom:1px solid #e8edf1;}
.debug-item.error {border-left-color:#d9363e; background:#fff8f8;}
.debug-item.warning {border-left-color:#d7a900; background:#fffdf1;}
.debug-item-title {display:flex; flex-wrap:wrap; align-items:center; gap:10px;}
.debug-item-title strong {font-size:15px;}
.debug-severity {font-size:12px; font-weight:700; color:#b82932;}
.warning .debug-severity {color:#856600;}
button.debug-line-link {background:none; color:#0076c0; border:0; border-bottom:1px dotted #0076c0; padding:0; font-size:12px;}
.debug-item p {font-size:13px; line-height:1.9; margin:9px 0 0; word-break:keep-all; overflow-wrap:anywhere;}
.debug-item p b {display:inline-block; margin-right:8px;}
.debug-item details,.debug-trace {font-size:12px; margin-top:12px; color:#596777;}
.debug-item pre,.debug-trace pre {white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px;}
.debug-trace {padding:0 16px 14px;}
.debug-clean {padding:14px 16px; font-size:13px; color:#47634f;}
.diagnostics-stale {font-size:12px; color:#667586; margin:14px 0;}
.execution-failed {color:#b82932; border-left:3px solid #d9363e; padding:12px; background:#fff8f8;}
