:root{--paper:#eff3f7;--white:#fffefa;--ink:#27303a;--muted:#6c7f97;--line:#d7dee7;--green:#38475a;--accent:#8db4e3;--code:#1e232a;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,a,textarea{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #3d6596;outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.sidebar{width:254px;position:fixed;inset:0 auto 0 0;background:#e1e8f0;border-right:1px solid var(--line);padding:32px 25px;display:flex;flex-direction:column}.brand{display:flex;gap:13px;align-items:center;font-size:18px;font-weight:650;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:2.2px;font-weight:500;margin-top:6px;color:#6b7e96}.brand-icon{background:#313b48;color:#d9e6f6;font:700 32px var(--mono);border-radius:11px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;letter-spacing:-5px;padding-right:5px}.brand-icon span{color:var(--accent)}.course-label{margin-top:58px;font-size:11px;color:#677a91;display:flex;justify-content:space-between;letter-spacing:1px}.course-label span{font:10px var(--mono)}.course-title{font-size:29px;line-height:1.5;letter-spacing:1px;font-weight:550;margin:16px 0 10px}.course-title span{color:#587ca7}.course-copy{font-size:12px;line-height:1.9;color:#71839a;margin:0 0 32px}#tasks{display:flex;flex-direction:column;gap:9px}.task-button{display:flex;align-items:center;text-align:left;gap:12px;padding:15px 10px;border:1px solid transparent;border-radius:8px;width:100%;transition:background .15s}.task-button:hover{background:#d5dee9}.task-button.active{background:#c9d8eb;border-color:#bccde1}.task-number{font:12px var(--mono);color:#6f8299}.task-info{flex:1;font-size:13px;font-weight:550}.task-info small{display:block;font-size:10px;font-weight:400;margin-top:6px;color:#6f8299}.task-mark{color:#365173;font-size:14px}.progress-card{margin-top:38px;border-top:1px solid #ced7e2;padding:23px 2px 0}.progress-card>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:#5f7085}.progress-card strong{font:12px var(--mono)}.progress-track{height:4px;background:#cdd7e4;border-radius:2px;margin:13px 0}.progress-track div{background:#406490;height:4px;width:0;transition:width .3s}.progress-card p{font-size:10px;color:#7b8da2}.sidebar-bottom{margin-top:auto;padding-top:28px;display:flex;align-items:center;font-size:10px;color:#74869d;gap:7px}.dot{width:6px;height:6px;border-radius:100%;background:#4971a3}.sidebar-bottom button{margin-left:auto;font-size:16px}main{margin-left:254px;padding:0 36px;max-width:1900px}.topbar{height:77px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;color:#74869c}.topbar strong{font-weight:450;color:#445160}.topbar>div>span{margin:0 13px;color:#a5b1bf}.top-actions{display:flex;align-items:center;gap:16px}.preview{font:10px var(--mono);border:1px solid #cfd8e3;padding:5px 8px;border-radius:4px}.text-button{font-size:11px}.text-button:hover{color:#365984}.page-heading{padding:34px 0 28px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#708299}.page-heading h2{font-size:28px;letter-spacing:.5px;font-weight:580;margin:12px 0 9px}.page-heading p{color:#73859c;font-size:12px;margin:0}.heading-index{font:46px var(--mono);color:#a6b6c9;letter-spacing:-3px;align-self:center}.heading-index span{font-size:13px;letter-spacing:0;margin-left:10px;color:#8898ab}.workspace{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(380px,1.15fr);border:1px solid #d0d8e2;border-radius:12px;overflow:hidden;background:var(--white);min-height:650px;box-shadow:0 5px 20px #212a3404}.problem-panel{display:flex;flex-direction:column;border-right:1px solid var(--line);min-width:0}.panel-tabs{height:54px;display:flex;gap:26px;padding:0 26px;border-bottom:1px solid var(--line);flex-shrink:0}.panel-tabs button{font-size:12px;color:#77899f;padding:0;position:relative}.panel-tabs button.active{color:#2a3b4f;font-weight:600}.panel-tabs button.active:after{content:"";position:absolute;bottom:-1px;height:2px;left:0;right:0;background:#496588}.panel-tabs span{background:#e6ebf1;border-radius:3px;font:9px var(--mono);padding:2px 4px;margin-left:3px}.problem-content{padding:26px;flex:1;font-size:12px;line-height:1.9}.tags{display:flex;gap:7px;margin-bottom:22px}.tag{border:1px solid #d3dce7;border-radius:4px;font-size:10px;line-height:1.4;padding:4px 7px;color:#61748b}.tag.level{background:#e0eaf7;border-color:#e0eaf7;color:#3c5e87}.problem-content h3{font-size:13px;font-weight:650;margin:22px 0 9px}.problem-content p{color:#5f7187;margin:0 0 14px}.formula{font:12px var(--mono);line-height:1.9;background:#e8edf4;border:1px solid #dae2ec;border-radius:6px;padding:16px 13px;margin:16px 0 20px;color:#3b5371;overflow-x:auto}.formula math{font-family:"STIX Two Math","Cambria Math","Latin Modern Math",math;font-size:20px;margin:4px auto;white-space:nowrap;overflow-wrap:normal}.example{border-left:2px solid #c0cfe2;background:#f1f5fa;padding:12px 14px}.example span{font-size:10px;color:#8191a5}.example pre{font:11px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 12px;color:#495769}.example pre:last-child{margin-bottom:0}.rules{padding:12px 14px;background:#eef2f7;border-radius:6px;margin-top:19px}.rules p{font-size:11px;margin:5px 0}.rules strong{font-weight:550;color:#42556c}.rules .forbid strong{color:#a27448}.problem-footer{padding:16px 25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#7c8da2}.problem-footer button{color:#3f5e84}.coding-panel{display:flex;flex-direction:column;min-width:0;background:var(--white)}.editor-bar{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 21px;background:#242b33;color:#b5bfcc;font:11px var(--mono);flex-shrink:0}.editor-bar>div{display:flex;align-items:center;gap:10px}.file-dot{width:6px;height:6px;background:#7ba8de;border-radius:50%}.editor-language{font-size:9px;color:#677a91;margin-left:5px}.editor-bar button{font-size:11px;color:#8797aa}.editor-bar button:hover{color:#c3d1e3}.editor-wrap{display:flex;background:var(--code);height:320px;min-height:220px;overflow:hidden}.editor-wrap pre{margin:0;padding:19px 10px 19px 18px;color:#4c596a;font:12px/24px var(--mono);text-align:right;user-select:none;width:49px;flex-shrink:0;overflow:hidden}.editor-wrap textarea{background:transparent;color:#c4d7ee;caret-color:#9dbee6;border:0;outline:none;resize:none;white-space:pre;overflow:auto;tab-size:4;padding:19px 20px 19px 7px;flex:1;min-width:0;font:12px/24px var(--mono)}.editor-wrap textarea::selection{background:#374a61}.editor-footer{background:var(--code);border-top:1px solid #2c343d;color:#6a7e96;display:flex;justify-content:space-between;padding:10px 18px;font:9px var(--mono)}.separator{margin:0 6px}.run-bar{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:10px}.run-bar>div{display:flex;gap:8px;align-items:center;font-size:10px;color:#51647b}.run-bar small{display:block;font-size:9px;color:#8b9aad;margin-top:4px}.shield{font-size:24px;color:#59779c}.primary{background:#37485c;color:#e7eef7;border-radius:6px;padding:11px 16px;font-size:12px;font-weight:500;display:inline-flex;gap:8px;align-items:center;justify-content:center}.primary:hover{background:#2a3a4d}.primary kbd{color:#94a6bc;font:10px var(--mono);margin-left:6px}.results{padding:19px 22px;flex:1;min-height:206px}.results-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.results-heading h3{font-size:12px;margin:0;font-weight:600}.results-heading>span{font:10px var(--mono);color:#77899e}.empty-state{min-height:135px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-icon{font:40px var(--mono);color:#99aec7;margin-bottom:4px}.empty-state strong{font-size:12px;font-weight:500;color:#6c7f97}.empty-state p{font-size:10px;color:#8e9cae;margin:8px 0}.result-banner{border-radius:5px;background:#e4ecf6;color:#39587e;font-size:12px;padding:12px;margin-bottom:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.result-banner.wrong,.result-banner.error,.result-banner.timeout{background:#fcf1e5;color:#a4753f}.result-banner.blocked{background:#faefdf;color:#9f743b}.test-case{border-top:1px solid var(--line);font-size:11px;padding:10px 0}.test-case summary{cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none}.test-case summary:before{content:"›";color:#73859c}.test-case[open] summary:before{content:"⌄"}.test-case .status-icon{color:#4d6d94}.test-case.failed .status-icon{color:#b67c4a}.test-case time{margin-left:auto;color:#8797aa;font:9px var(--mono)}.test-case pre,.result-log{font:11px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#eef2f8;padding:11px;color:#5e6f84;border-radius:4px}.issue{font-size:11px;line-height:1.8;color:#986c3e;padding:8px 0;border-bottom:1px solid #ece6d8}.page-footer{display:flex;justify-content:space-between;font-size:10px;color:#8595a9;padding:21px 0 28px}.page-footer>span:last-child{font:10px var(--mono)}.page-footer>span>span{margin:0 9px}.hint-card{border:1px solid #d4deeb;border-radius:6px;margin:14px 0;overflow:hidden}.hint-card summary{padding:14px;cursor:pointer;color:#435c7a}.hint-card p{padding:0 14px 14px;margin:0}.hint-intro{margin-top:7px!important}.small-note{font-size:10px;color:#7f90a5!important;margin-top:20px!important}dialog{border:1px solid #cdd7e4;border-radius:12px;background:var(--white);color:var(--ink);padding:26px;width:min(580px,calc(100vw - 32px));box-shadow:0 20px 90px #16233333}dialog::backdrop{background:#1a222b70;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.dialog-head h2{font-size:19px;margin:0}.dialog-head button{font-size:26px;color:#8696aa}#dialog-content{font-size:13px;line-height:1.9;color:#63758c}#dialog-content pre{background:var(--code);color:#c4d7ee;border-radius:6px;padding:18px;font:12px/1.9 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:18px;margin-top:22px;font-size:12px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#2e3b4a;color:#e7eef7;padding:12px 22px;border-radius:8px;box-shadow:0 4px 25px #1a222b22;font-size:12px;z-index:10}.loading-dot{animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.3}}
@media(min-width:1550px){.workspace{min-height:740px}.editor-wrap{height:390px}.problem-content{font-size:13px;padding:30px}.problem-content h3{margin-top:26px}}
@media(max-width:1150px){.sidebar{width:210px;padding:26px 18px}.brand{font-size:16px;gap:10px}.brand-icon{width:39px;height:39px;font-size:28px}.course-title{font-size:26px}.course-label{margin-top:40px}.task-button{padding:13px 8px;gap:8px}main{margin-left:210px;padding:0 22px}.workspace{grid-template-columns:minmax(270px,.85fr) minmax(325px,1.15fr)}.problem-content{padding:20px}.run-bar{padding:15px}.primary{padding:11px}.primary kbd{display:none}.heading-index{font-size:38px}}
@media(max-width:900px){.sidebar{position:static;width:auto;padding:17px 22px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:16px}.brand small{font-size:8px}.course-label,.course-title,.course-copy,.progress-card,.sidebar-bottom{display:none}#tasks{flex-direction:row;margin-top:18px;gap:7px}.task-button{flex:1;padding:11px 9px;width:auto;min-width:0}.task-info{font-size:11px}.task-info small{font-size:9px}.task-number{font-size:10px}.task-mark{font-size:10px}main{margin-left:0;padding:0 22px}.topbar{height:55px}.page-heading{padding:24px 0}.eyebrow{font-size:8px;letter-spacing:1px}.page-heading h2{font-size:25px}.workspace{grid-template-columns:1fr}.problem-panel{border-right:0;border-bottom:1px solid var(--line)}.problem-content{max-height:420px;overflow:auto}.coding-panel{min-height:630px}.editor-wrap{height:300px}.page-footer{gap:20px}.preview{display:none}}
.run-bar .run-actions{display:flex;gap:8px;flex-shrink:0}.secondary{border:1px solid #bbc8d8;border-radius:6px;padding:10px 12px;font-size:12px;background:#eff3f9;color:#395373;white-space:nowrap}.secondary:hover{background:#dce6f3}.output-tabs{display:flex;gap:20px;align-items:center}.output-tabs button{font-size:12px;padding:7px 0;color:#7e8fa3;border-bottom:2px solid transparent;white-space:nowrap}.output-tabs button.active{color:#2f4661;border-color:#456892;font-weight:600}.output-tabs button span{font-size:9px;padding:2px 4px;margin-left:3px;background:#dce7f4;border-radius:3px;font-weight:400;color:#48678d}.output-label{font-size:11px;color:#566980;margin-top:14px}.output-label.minor{font-size:10px;color:#788aa0}.result-log{max-height:240px;overflow:auto;margin:9px 0 16px}.result-log.output-empty{color:#8f9daf;min-height:84px}.results-heading{gap:10px;flex-wrap:wrap}.run-bar .primary{white-space:nowrap}
@media(max-width:1150px) and (min-width:901px){.run-bar{flex-wrap:wrap}.run-bar .run-actions{margin-left:auto}}
@media(max-width:460px){.run-bar{flex-wrap:wrap;gap:14px}.run-bar .run-actions{margin-left:auto}.output-tabs{gap:16px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Keep a growing question bank reachable on short screens and phones. */
.sidebar{overflow-y:auto}.sidebar>*{flex-shrink:0}
@media(max-width:900px){#tasks{overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.task-button{flex:0 0 155px}.task-info{white-space:normal}}
@media(max-width:460px){.formula math{font-size:16px}}

/* Long signatures in advanced exercises must stay inside the problem column. */
.problem-content p{overflow-wrap:anywhere}
.heading-index{white-space:nowrap;flex-shrink:0}

/* Learning path preview: quiet stages, readable notes, reusable knowledge cards. */
.learning-path{margin:-8px 0 26px;border:1px solid var(--line);background:#f5f9fd;border-radius:12px;padding:20px 24px}
.path-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;font-size:11px;color:#7e8fa3}.path-eyebrow{font-size:10px;font-weight:600;letter-spacing:1.2px;color:#5f7a9b}
.stage-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stage-option{display:flex;gap:14px;align-items:center;padding:17px 18px;border:1px solid #d3dce7;border-radius:8px;background:#fffefa;text-align:left}.stage-option.active{background:#e1eaf4;border-color:#809cbe}.stage-number{font:18px var(--mono);color:#8197b2}.stage-option.active .stage-number{color:#355174}.stage-option small{display:block;font-size:10px;color:#6f8198;margin-bottom:5px}.stage-option strong{font-size:14px;font-weight:550}.stage-arrow{margin-left:auto;font-size:10px;color:#6c8098;white-space:nowrap}.stage-question{border-top:1px solid #d8e1ec;margin-top:16px;padding-top:14px;font-size:12px;line-height:1.8}.stage-question>span{color:#5e7898;font-size:10px;letter-spacing:.8px}.stage-question p{margin:4px 0 0;color:#5f7186}.next-stage{padding:8px 0 0;color:#2d4f78;font-size:12px;font-weight:600}
.panel-tabs{gap:16px}.solution-content{max-height:920px;overflow:auto;scrollbar-width:thin}.solution-heading h3{margin-top:10px}.solution-tools{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.small-action{border:1px solid #c6d3e2;background:#f1f6fc;border-radius:5px;padding:7px 10px;font-size:11px;color:#38577d}.small-action:hover{background:#dce8f6}.solution-overview{line-height:1.9;color:#4c5d72}.explain-step{display:flex;gap:12px;margin-top:22px}.explain-step>span{flex-shrink:0;border:1px solid #c8d7e9;border-radius:50%;width:23px;height:23px;text-align:center;line-height:22px;font:12px/22px var(--mono);color:#496991}.explain-step>div{min-width:0;flex:1}.explain-step h4{margin:1px 0 8px;font-size:13px}.explain-step p{margin:0 0 10px}.solution-content pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#ecf1f7;border-radius:6px;padding:14px;font:11px/1.8 var(--mono);color:#475567}.reference-code{margin:24px 0;border:1px solid #d4dde7;border-radius:7px;padding:14px}.reference-code summary{font-size:12px;cursor:pointer}.reference-code summary span{float:right;font-size:10px;color:#77899e}.knowledge-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:30px}.knowledge-heading h3{margin:0}.knowledge-heading>span{font-size:10px;color:#7d8ea3}.knowledge-card{border:1px solid #ccd8e7;background:#fcfdfe;border-radius:9px;margin:15px 0;overflow:hidden}.knowledge-card>summary{display:flex;align-items:center;gap:10px;padding:16px 14px;cursor:pointer;list-style:none}.knowledge-card>summary::-webkit-details-marker{display:none}.knowledge-kind{font-size:9px;white-space:nowrap;background:#e1eaf5;color:#5a7494;padding:4px 6px;border-radius:4px}.knowledge-card summary strong{font-size:13px;font-weight:550}.card-chevron{margin-left:auto;color:#7a90ab}.knowledge-card[open] .card-chevron{transform:rotate(45deg)}.knowledge-body{padding:0 16px 18px;border-top:1px solid #e8edf3}.card-summary{font-weight:550;color:#3c5676}.knowledge-formula{font:12px/1.9 var(--mono);padding:12px;border-left:2px solid #829ec1;background:#edf2f8;overflow-wrap:anywhere}.card-pitfall{border-top:1px dashed #ccd8e7;padding-top:13px;margin-top:16px}.card-pitfall strong{font-size:10px;color:#a47d48}.card-pitfall p{margin:6px 0}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px}.card-footer small{font:9px var(--mono);color:#8d9cae}.related-tasks{border-top:1px solid #dbe6f3;padding-top:13px;margin-top:16px;display:flex;gap:7px;flex-wrap:wrap}.related-tasks>span{width:100%;font-size:10px;color:#7488a0}.related-link{font-size:11px;color:#405f85;padding:6px 8px;background:#e7eef7;border-radius:4px}.related-link:hover{background:#d4e1f1}.next-reading{margin-top:22px}.next-reading .related-link{margin:0 6px 7px 0}.clipboard-fallback{position:fixed;left:-9999px;top:0}
@media(max-width:1150px){.stage-arrow{display:none}.stage-option{padding:14px}.panel-tabs{gap:12px}.panel-tabs button{font-size:11px}}
@media(max-width:900px){.learning-path{margin:0 0 22px;padding:16px}.stage-options{gap:8px}.stage-option{padding:12px 9px;gap:9px}.stage-option strong{font-size:12px}.stage-number{font-size:15px}.path-heading{align-items:flex-start}.path-heading>span:last-child{font-size:9px}.solution-content{max-height:650px}.card-footer small{display:none}.stage-question{font-size:11px}}

.interview-question { margin: 16px 0; padding: 14px; border-left: 3px solid #6c8aaf; background: #e6edf6; }
.interview-question p { margin-bottom: 0; }
.interview-answer { margin: 16px 0; }
.interview-answer > summary { cursor: pointer; font-weight: 600; margin-bottom: 16px; }

/* Persistent, user-adjustable workspace layout. */
.breadcrumb-group{display:flex;align-items:center;gap:12px;min-width:0}
body.sidebar-collapsed .sidebar{display:none}
body.sidebar-collapsed main{margin-left:0}
#workspace-divider{display:none}
@media(min-width:901px){
 main{max-width:none}
 .workspace{grid-template-columns:minmax(0,var(--problem-share,42.5%)) 10px minmax(0,1fr)}
 .problem-panel{border-right:0}
 #workspace-divider{display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;background:#e8edf3;border-inline:1px solid var(--line)}
 #workspace-divider span{height:44px;width:3px;border-radius:3px;background:#8ea1b8}
 #workspace-divider:hover,#workspace-divider:focus-visible{background:#c8d7e9;outline-offset:-2px}
 body.resizing-workspace{cursor:col-resize;user-select:none}
 body.resizing-workspace #code{pointer-events:none}
 .run-bar{flex-wrap:wrap}.run-actions{margin-left:auto}
 .panel-tabs{flex-wrap:wrap}
}
@media(max-width:600px){.breadcrumb-group{gap:8px;font-size:11px}.breadcrumb-group>span{display:none}.top-actions{gap:6px}.topbar{gap:8px}#sidebar-toggle{padding:7px;font-size:11px}}

#sidebar-edge-toggle{position:fixed;left:240px;top:50%;transform:translateY(-50%);z-index:5;width:28px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid #bbc9db;border-radius:9px;background:#edf3fa;color:#445f80;box-shadow:0 2px 8px #212a3412;font:28px/1 sans-serif;padding:0}
#sidebar-edge-toggle:hover{background:#d4e0ef;color:#223853;border-color:#7692b4}
@media(min-width:901px) and (max-width:1150px){#sidebar-edge-toggle{left:196px}}
body.sidebar-collapsed #sidebar-edge-toggle{left:0;border-radius:0 9px 9px 0}
@media(max-width:900px){#sidebar-edge-toggle{left:0;border-radius:0 9px 9px 0;width:22px;height:48px}}

.knowledge-table-wrap{overflow-x:auto;margin:18px 0}.knowledge-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.7}.knowledge-table th,.knowledge-table td{padding:10px 8px;text-align:left;border:1px solid var(--line);vertical-align:top}.knowledge-table th{background:#e3ebf4}.knowledge-table td:first-child{font-weight:600;white-space:nowrap}

/* Powder blue surfaces with restrained lilac and mint accents. */
:root{--paper:#f7fbff;--white:#ffffff;--ink:#24364c;--muted:#64758a;--line:#dce5f1;--green:#4269a0;--accent:#b8d9f4;--code:#2b3e56}
.sidebar{background:linear-gradient(165deg,#e5f4ff 0%,#f2f0ff 100%)}
.brand-icon{background:#397fbc;color:#f5f9ff;box-shadow:0 4px 12px #4269a018}
.brand-icon span{color:#c3e7e8}.course-title span{color:#65a7db}
.task-button{border-radius:12px}.task-button:hover{background:#e4f3ff}
.task-button.active{background:#d5edff;border-color:#a8d7f7;box-shadow:0 2px 8px #4269a009}
.task-info small,.task-number{color:#667990}.task-mark{color:#426c9e}
.workspace{border-color:#dbe4f0;border-radius:16px;box-shadow:0 8px 32px #314c7510}
.panel-tabs button.active{color:#365d91}.panel-tabs button.active:after{background:#5ca3df}
.tag.level{background:#f3edff;border-color:#e8def5;color:#766091}
.knowledge-card{background:#fff;border-color:#dce5f1;border-radius:13px}
.knowledge-card>summary{padding:18px 16px}.knowledge-card[open]{box-shadow:0 4px 16px #375b8707}
.knowledge-kind{background:#f0edff;color:#68759b}.knowledge-body{border-color:#edf1f7}
.interview-question{background:#f2effa;border-color:#b4a5d7}
.knowledge-formula,.formula{background:#f0f9ff;color:#3e5c80;border-color:#dbe7f5}
.related-link{background:#ebf7ff;color:#436b9a}.related-link:hover{background:#dfeefa}
.knowledge-table th{background:#edf4fc}.stage-option.active{background:#e3f3ff;border-color:#a8c4e5}
.primary{background:#307bb7;color:#fff;border-radius:9px}.primary:hover{background:#286a9f}
.primary kbd{color:#d1e1f5}.editor-bar{background:#344c69;color:#d7e4f5}
.editor-wrap textarea{color:#dce8f8;caret-color:#b6d9ff}.editor-wrap textarea::selection{background:#425e82}
.editor-wrap pre{color:#a4b9d0}.editor-footer{color:#b9cbe0;border-color:#49607b}
.editor-language,.editor-bar button{color:#bfd0e4}.file-dot{background:#a8dcd6}
#sidebar-edge-toggle{background:#f5f9ff;color:#5275a1;border-color:#c8d9ef;box-shadow:0 3px 12px #286a9f12}
#sidebar-edge-toggle:hover{background:#e3effc;color:#286a9f;border-color:#a6c0e0}
.problem-content p,.solution-content p{color:#586b82}

/* Caiyu identity and description-only trial previews. */
.brand{gap:12px;font-size:26px;letter-spacing:3px}.brand-mark{width:44px;height:58px;object-fit:contain;flex-shrink:0}.brand small{font-size:9px;letter-spacing:0;line-height:1.6;color:#7e7293}
.trial-offer{position:fixed;right:32px;bottom:28px;width:350px;max-width:calc(100vw - 48px);z-index:4;padding:24px;background:#fff;border:1px solid #ddd3f4;border-radius:20px;box-shadow:0 12px 48px #65519222}
.offer-label{font-size:11px;letter-spacing:1px;color:#7857bc}.trial-offer h3{font-size:22px;margin:12px 0}.trial-offer p{font-size:13px;line-height:1.9;color:#617188}.offer-features{font-size:11px;color:#82718f;margin:16px 0}.trial-offer .primary{background:#7655c3}.trial-offer .text-button{display:block;margin:14px auto 0;color:#687c95}.trial-offer .primary{width:100%}
body.task-locked .workspace{display:block;min-height:500px;margin-right:382px}body.task-locked .problem-panel{border-right:0}body.task-locked .panel-tabs button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1150px){body.task-locked .workspace{margin-right:0}.trial-offer{position:static;width:auto;max-width:none;margin:24px 0}.brand{font-size:23px}}
