:root{--code-ink:#dcebe2;--code-panel:#17231f;--code-panel-deep:#101915;--code-line:#294138;--code-accent:#86d5a7;--code-muted:#789187}
.lesson-content-body pre,.ai-code,.exercise-reference pre,.projects-reference pre,.exercise-expected-box pre,.projects-expected pre{position:relative;margin:18px 0;padding:22px 20px 18px;border:1px solid #2b4439;border-radius:12px;background:linear-gradient(135deg,#1d3028 0%,#14221e 100%);box-shadow:0 12px 26px rgba(27,55,42,.12),inset 0 1px rgba(255,255,255,.04);color:var(--code-ink);font:12px/1.85 "DM Mono","Cascadia Code",Consolas,monospace;white-space:pre;tab-size:4;overflow:auto;scrollbar-color:#4c705d #17251f;scrollbar-width:thin}
.lesson-content-body pre::before,.ai-code::before,.exercise-reference pre::before,.projects-reference pre::before{content:"C SOURCE";position:absolute;top:7px;right:12px;color:#78b994;font:700 8px/1 "DM Mono",monospace;letter-spacing:.12em;opacity:.8}
.lesson-content-body pre code,.ai-code code{display:block;padding:0;background:transparent;color:inherit;font:inherit;white-space:inherit}
.lesson-content-body pre:hover,.ai-code:hover,.exercise-reference pre:hover,.projects-reference pre:hover{border-color:#47775f;box-shadow:0 15px 32px rgba(27,55,42,.17),inset 0 1px rgba(255,255,255,.05)}
.lesson-content-body>p code,.lesson-content-body li code,.review-card code,.exercise-panel p code{padding:3px 6px;border:1px solid #d9e9de;border-radius:5px;background:#f0f7f1;color:#377b57;font:10px/1.4 "DM Mono",monospace;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.format-card pre{box-shadow:inset 0 1px rgba(255,255,255,.04)}
.output-result pre,.exercise-output pre,.projects-output pre{position:relative;border:1px solid #dce9df;border-radius:10px;background:linear-gradient(135deg,#f4f8f4,#edf4ee);box-shadow:none;color:#4d6357;font:11px/1.8 "DM Mono",monospace;white-space:pre-wrap;overflow:auto}
.output-result pre::before,.exercise-output pre::before,.projects-output pre::before{content:"OUTPUT";display:block;margin-bottom:8px;color:#83a08e;font:700 8px/1 "DM Mono",monospace;letter-spacing:.12em}
.exercise-expected-box pre,.projects-expected pre,.challenge-expected pre{border-color:#ead7b8;background:linear-gradient(135deg,#fffaf0,#fff4df);box-shadow:none;color:#80643b;white-space:pre-wrap}
.exercise-expected-box pre::before,.projects-expected pre::before,.challenge-expected pre::before{content:"EXPECTED";display:block;margin-bottom:8px;color:#b08855;font:700 8px/1 "DM Mono",monospace;letter-spacing:.12em}
.lesson-example-code{border-top:1px solid #31493f;border-bottom:1px solid #31493f;scrollbar-color:#4b705c #1a2722}
.lesson-example-code .ex-line-code{letter-spacing:.01em}.lesson-example-code .ex-line-num{font-variant-numeric:tabular-nums}
.exercise-reference,.projects-reference{box-shadow:0 14px 30px rgba(18,39,29,.14)}.exercise-reference pre,.projects-reference pre{margin:0;border:0;border-radius:0;box-shadow:none}
.code-review pre{margin:10px 0;padding:12px 14px;border-radius:9px;background:#f2f7f3;color:#536a5c;font:10px/1.75 "DM Mono",monospace;white-space:pre-wrap;overflow:auto}
@media(max-width:760px){.lesson-content-body pre,.ai-code,.exercise-reference pre,.projects-reference pre{padding:20px 13px 14px;font-size:11px;line-height:1.75}.lesson-content-body pre::before,.ai-code::before,.exercise-reference pre::before,.projects-reference pre::before{right:9px;font-size:7px}}

/* 全站源码展示：课程、AI、练习、项目、错题本与规范库使用同一阅读语言。 */
.mistake-code,.format-card-code pre,.format-preview-code pre{overflow:auto;background:linear-gradient(135deg,#1d3028 0%,#14221e 100%);color:var(--code-ink);font-family:"DM Mono","Cascadia Code",Consolas,monospace;tab-size:4;scrollbar-color:#4c705d #17251f;scrollbar-width:thin}.mistake-code{position:relative;margin:16px 0 0;padding:22px 20px 18px;border:1px solid #2b4439;border-radius:12px;box-shadow:0 12px 26px rgba(27,55,42,.12),inset 0 1px rgba(255,255,255,.04);font-size:12px;line-height:1.85}.mistake-code::before{content:"C SOURCE";position:absolute;top:7px;right:12px;color:#78b994;font:700 8px/1 "DM Mono",monospace;letter-spacing:.12em;opacity:.8}.format-card-code{overflow:hidden;border:1px solid #2b4439;border-radius:10px;box-shadow:0 10px 22px rgba(27,55,42,.12)}.format-card-code>div,.format-preview-code>div{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border-bottom:1px solid #2b4439;background:#22362e;color:#9bd4af;font:700 8px/1 "DM Mono",monospace;letter-spacing:.12em}.format-card-code small,.format-preview-code small{color:#91a99c;font:400 8px/1 "DM Mono",monospace;letter-spacing:0}.format-card-code pre,.format-preview-code pre{margin:0;padding:8px 0;white-space:pre;font-size:9px;line-height:1.8}.format-card-code code,.format-preview-code code{display:block;min-width:max-content}.format-card-code code span,.format-preview-code code span{display:flex;min-height:17px;padding-right:14px}.format-card-code code span:nth-child(even),.format-preview-code code span:nth-child(even){background:rgba(255,255,255,.025)}.format-card-code code i,.format-preview-code code i{width:34px;flex:none;margin-right:10px;padding-right:9px;border-right:1px solid #365045;color:#89a497;font:8px/17px "DM Mono",monospace;font-style:normal;text-align:right;user-select:none}.format-card-code code b,.format-preview-code code b{font:inherit;font-weight:400}.format-preview-button{display:block;margin:10px 0 0 auto;padding:6px 9px;border:1px solid #b9d9c4;border-radius:6px;background:#f4fbf6;color:#40795a;font-size:9px;font-weight:800}.format-preview-button:hover{border-color:#6cab80;background:#e5f5e9}.format-preview{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:7vh 7vw;background:rgba(16,31,23,.52);backdrop-filter:blur(5px)}.format-preview-panel{display:flex;flex-direction:column;width:min(1060px,100%);max-height:86vh;overflow:hidden;border:1px solid #b8d6c1;border-radius:18px;background:#f8fcf9;box-shadow:0 28px 75px rgba(13,31,21,.35)}.format-preview-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #dbe9df;background:#fff;color:#609573;font:800 9px/1 "DM Mono",monospace;letter-spacing:.13em}.format-preview-close{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d9e8dd;border-radius:7px;color:#668273;font:20px/1 Arial,sans-serif}.format-preview-close:hover{border-color:#82b993;background:#e9f6ec;color:#316848}.format-preview-content{overflow:auto;padding:30px clamp(22px,5vw,64px) 42px}.format-preview-meta span{color:#6ba17c;font-size:10px;font-weight:800;letter-spacing:.08em}.format-preview-meta h2{margin:8px 0 10px;color:#2e563e;font-size:28px;letter-spacing:-.7px}.format-preview-content>p{max-width:800px;margin:0 0 21px;color:#587061;font-size:14px;line-height:1.9}.format-preview-code{overflow:hidden;border:1px solid #2d473a;border-radius:12px;box-shadow:0 16px 34px rgba(20,48,33,.16)}.format-preview-code>div{padding:11px 15px;font-size:10px}.format-preview-code pre{padding:12px 0;font-size:13px;line-height:1.85}.format-preview-code code span{min-height:24px;padding-right:21px}.format-preview-code code i{width:51px;margin-right:15px;padding-right:13px;font-size:10px;line-height:24px}.format-preview-open{overflow:hidden}@media(max-width:760px){.format-preview{padding:14px}.format-preview-content{padding:22px 17px 28px}.format-preview-meta h2{font-size:23px}.format-preview-content>p{font-size:12px}.format-preview-code pre{font-size:10px}.mistake-code{padding:20px 13px 14px;font-size:11px;line-height:1.75}}
