.lesson-page{min-height:100svh;color:var(--ink);background:radial-gradient(circle at 74% 18%,#9dff3a14,#0000 27%),radial-gradient(circle at 18% 82%,#2d622b1f,#0000 28%),#030604;position:relative;overflow-x:hidden}.lesson-grid-bg{pointer-events:none;background-image:linear-gradient(#8dcd750b 1px,#0000 1px),linear-gradient(90deg,#8dcd750b 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 92%);mask-image:linear-gradient(#000,#0000 92%)}.lesson-topbar{border-bottom:1px solid var(--line);z-index:5;grid-template-columns:1fr auto 1fr auto auto;align-items:center;gap:26px;height:74px;padding:0 clamp(20px,4vw,64px);display:grid;position:relative}.lesson-back,.lesson-brand{color:#869287;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:9px;text-decoration:none}.lesson-back{justify-self:start;align-items:center;gap:10px;display:flex}.lesson-back:hover{color:var(--green)}.lesson-brand{color:var(--ink);justify-self:center}.lesson-brand strong{color:var(--green)}.lesson-identity{text-align:right;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;justify-self:end;gap:3px;display:grid}.lesson-identity span{color:var(--green);font-size:7px}.lesson-identity strong{font-size:9px;font-weight:500}.lesson-page[data-locale=zh-CN] .lesson-identity{letter-spacing:.035em}.lesson-page[data-locale=zh-CN] .lesson-identity strong{font-size:10px;font-weight:580}.lesson-reading-entry{justify-self:end;position:relative}.lesson-reading-link{color:#879489;min-height:34px;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;border:1px solid #9dff3a38;align-items:center;gap:9px;padding:0 11px;font-size:8px;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:flex}.lesson-reading-entry[data-open=true] .lesson-reading-link{color:var(--green);border-color:#9dff3a7a}.lesson-reading-link:hover{border-color:var(--green);color:var(--green);background:#9dff3a0f}.lesson-reading-link i{color:var(--green);font-size:12px;font-style:normal}.lesson-reading-hint{z-index:8;width:294px;min-height:68px;color:var(--ink);font-family:var(--font-geist-mono), monospace;background:#050c07f7;border:1px solid #9dff3a6b;grid-template-columns:1fr auto;gap:13px;padding:14px 13px 14px 16px;animation:.24s ease-out both lesson-reading-hint-in;display:grid;position:absolute;top:calc(100% + 16px);right:0;box-shadow:0 14px 40px #00000057,0 0 22px #9dff3a12}.lesson-reading-hint:before{content:"";background:#050c07;border-top:1px solid #9dff3a6b;border-left:1px solid #9dff3a6b;width:9px;height:9px;position:absolute;top:-6px;right:17px;transform:rotate(45deg)}.lesson-reading-hint>div{gap:7px;display:grid}.lesson-reading-hint strong{color:var(--green);letter-spacing:.11em;font-size:8px;font-weight:550}.lesson-reading-hint p{color:#b2bdb4;font-family:var(--font-geist-sans), Arial, sans-serif;text-wrap:pretty;margin:0;font-size:13px;line-height:1.55}.lesson-reading-hint button{color:#7f8c81;cursor:pointer;background:0 0;border:1px solid #9dff3a2e;place-items:center;width:28px;height:28px;padding:0;font-size:17px;line-height:1;display:grid}.lesson-reading-hint button:hover{color:var(--green);border-color:#9dff3a80}.lesson-reading-hint button:focus-visible{outline-offset:3px;outline:2px solid #fff}.lesson-topbar:has(.lesson-reading-entry[data-open=true])+.lesson-progress{margin-top:104px}.lesson-progress{transition:margin-top .2s}@keyframes lesson-reading-hint-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.lesson-progress{z-index:2;grid-template-columns:repeat(4,1fr);width:min(1100px,100% - 40px);margin:22px auto 0;padding:0;list-style:none;display:grid;position:relative}.lesson-progress:before{content:"";background:#9dff3a24;height:1px;position:absolute;top:13px;left:4%;right:4%}.lesson-progress li{color:#465148;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;justify-items:center;gap:7px;font-size:7px;display:grid}.lesson-progress li>span{z-index:1;background:#050806;border:1px solid #263127;place-items:center;width:27px;height:27px;display:grid;position:relative}.lesson-progress li strong{font-size:7px;font-weight:500}.lesson-progress li.is-active{color:var(--green)}.lesson-progress li.is-active>span{border-color:var(--green);background:var(--green);color:#071005;box-shadow:0 0 16px #9dff3a40}.lesson-progress li.is-complete{color:#8ba181}.lesson-progress li.is-complete>span{color:var(--green);border-color:#9dff3a73}.lesson-stage{z-index:1;width:min(1260px,100% - 40px);margin:0 auto;padding:clamp(36px,6vh,70px) 0 58px;animation:.32s cubic-bezier(.16,.75,.24,1) lesson-stage-in;position:relative}.lesson-stage-heading,.completion-heading{padding-left:clamp(16px,1.8vw,24px);position:relative}.lesson-stage-heading{max-width:1040px;margin-bottom:34px}.lesson-stage-heading:before,.completion-heading:before{content:"";background:linear-gradient(180deg, var(--green), #9dff3a14 72%, transparent);width:2px;position:absolute;top:2px;bottom:4px;left:0;box-shadow:0 0 13px #9dff3a2e}.lesson-stage-heading>p,.completion-heading>p{color:var(--green);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;margin:0 0 14px;font-size:8px}.lesson-stage-heading h1,.completion-heading h1{max-width:16ch;font-family:var(--font-geist-sans), Arial, sans-serif;font-kerning:normal;letter-spacing:-.052em;text-wrap:balance;margin:0;font-size:clamp(40px,5.3vw,74px);font-weight:640;line-height:.94}.lesson-page[data-locale=en] .lesson-stage-heading h1,.lesson-page[data-locale=en] .completion-heading h1{text-transform:uppercase}.lesson-page[data-locale=zh-CN] .lesson-stage-heading h1,.lesson-page[data-locale=zh-CN] .completion-heading h1{letter-spacing:-.042em;line-break:strict;max-width:13em;font-size:clamp(38px,5vw,66px);font-weight:670;line-height:1.08}.lesson-stage-heading>span,.completion-heading>span{color:#8b978d;max-width:720px;margin-top:20px;font-size:14px;line-height:1.72;display:block}.lesson-stage-heading--center{text-align:center;margin-left:auto;margin-right:auto;padding-left:0}.lesson-stage-heading--center:before{display:none}.lesson-stage-heading--center h1,.lesson-stage-heading--center>span{margin-left:auto;margin-right:auto}.observe-workspace,.code-transfer{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:16px;display:grid}.lesson-panel{border:1px solid var(--line);background:#070d09d1;min-width:0;box-shadow:inset 0 0 52px #9dff3a05}.lesson-panel>header{border-bottom:1px solid var(--line);min-height:44px;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.lesson-panel>header span{color:var(--ink);font-size:8px}.lesson-panel>header small{color:#59655b;font-size:7px}.lesson-code{--code-indent:clamp(14px,1.45vw,22px);background:#00000029;gap:9px;padding:22px 18px;display:grid;overflow-x:auto}.lesson-code-line{grid-template-columns:26px minmax(0,1fr);align-items:center;min-width:max-content;min-height:22px;display:grid}.lesson-code-line>span{color:#3f4a41;font-family:var(--font-geist-mono), monospace;font-size:8px}.lesson-code-line code,.lesson-code-line button{box-sizing:border-box;font-family:var(--font-geist-mono),monospace;font-size:clamp(10px,1.1vw,13px);transition:padding-left .14s}.lesson-code-line code{color:#b8c2b8;white-space:nowrap}.lesson-code-line--indent-1 code,.lesson-code-line--indent-1 button{padding-left:var(--code-indent)}.lesson-code-line--indent-2 code,.lesson-code-line--indent-2 button{padding-left:calc(var(--code-indent) * 2)}.lesson-code-line code b{color:#d3a9ff;font-weight:500}.lesson-code-line code em{color:#73c9ff;font-style:normal}.lesson-code-line code mark{color:var(--green);background:#9dff3a1f;padding:3px 5px}.cpu-worker{background:#050906;border:1px solid #253127;align-items:center;gap:14px;margin:0 18px 18px;padding:15px;display:flex}.cpu-worker__core{color:#849187;width:48px;height:48px;font-family:var(--font-geist-mono), monospace;border:1px solid #3c4a3e;place-items:center;font-size:9px;display:grid}.cpu-worker>div{gap:5px;display:grid}.cpu-worker small{color:#59665c;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:7px}.cpu-worker strong{font-family:var(--font-geist-mono), monospace;font-size:12px;font-weight:500}.cpu-worker--running{border-color:#9dff3a73}.cpu-worker--running .cpu-worker__core{border-color:var(--green);color:var(--green);animation:.7s ease-in-out infinite cpu-pulse;box-shadow:0 0 18px #9dff3a1f}.data-panel{padding-bottom:18px;position:relative}.lesson-data-grid{aspect-ratio:1;grid-template-columns:repeat(16,1fr);gap:3px;width:min(100% - 36px,490px);margin:18px auto 14px;display:grid}.data-cell{background:#4f5b5014;border:1px solid #85a07e1c;min-width:0;transition:background 80ms linear,border-color 80ms linear,box-shadow 80ms linear}.data-cell--block-1{background:#67735b13}.data-cell--block-2{background:#39553e17}.data-cell--block-3{background:#685a430f}.data-cell--filled{background:#9dff3a73;border-color:#9dff3a57}.data-cell--active{background:var(--green);border-color:var(--green);box-shadow:0 0 9px #9dff3abf}.lesson-data-grid--parallel .data-cell--block-1.data-cell--filled{background:#bcff618c}.lesson-data-grid--parallel .data-cell--block-2.data-cell--filled{background:#70eb5d80}.lesson-data-grid--parallel .data-cell--block-3.data-cell--filled{background:#4ccd6f80}.serial-meter{background:#182019;height:2px;margin:0 18px;overflow:hidden}.serial-meter span{background:var(--green);height:100%;box-shadow:0 0 8px var(--green);transition:width 50ms linear;display:block}.serial-count{font-family:var(--font-geist-mono), monospace;justify-content:flex-end;align-items:baseline;gap:5px;margin:8px 18px 0;display:flex}.serial-count strong{color:var(--green);font-size:17px;font-weight:500}.serial-count span{color:#566159;font-size:8px}.lesson-action-row{grid-template-columns:auto 1fr auto;align-items:stretch;gap:14px;margin-top:16px;display:grid}.lesson-button{color:#b0bdb1;cursor:pointer;min-height:48px;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;background:0 0;border:1px solid #9dff3a59;justify-content:space-between;align-items:center;gap:28px;padding:0 18px;font-size:8px;text-decoration:none;display:inline-flex}.lesson-button i{color:var(--green);font-size:13px;font-style:normal}.lesson-button--primary,.lesson-button--launch{border-color:var(--green);background:var(--green);color:#071005;font-weight:650}.lesson-button--primary i,.lesson-button--launch i{color:#071005}.lesson-button:hover:not(:disabled){border-color:var(--green);transform:translateY(-1px)}.lesson-button:disabled{color:#465047;cursor:not-allowed;opacity:.58;border-color:#222b24}.lesson-button:focus-visible{outline-offset:3px;outline:2px solid #fff}.code-token:focus-visible{outline-offset:3px;outline:2px solid #fff}.kernel-drop:focus-visible{outline-offset:3px;outline:2px solid #fff}.block-options button:focus-visible{outline-offset:3px;outline:2px solid #fff}.text-action:focus-visible{outline-offset:3px;outline:2px solid #fff}.simulator-editor button:focus-visible{outline-offset:3px;outline:2px solid #fff}.simulator-editor textarea:focus-visible{outline-offset:3px;outline:2px solid #fff}.launch-config input:focus-visible{outline-offset:3px;outline:2px solid #fff}.launch-config select:focus-visible{outline-offset:3px;outline:2px solid #fff}.observation-result{border:1px solid var(--line);background:#9dff3a06;padding:12px 17px}.observation-result span{color:var(--green);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:7px}.observation-result p{color:#818d83;margin:6px 0 0;font-size:11px;line-height:1.55}.code-transfer{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:stretch}.transfer-arrow{place-items:center;display:grid}.transfer-arrow span{width:35px;height:35px;color:var(--green);border:1px solid #9dff3a47;place-items:center;display:grid}.lesson-code--transfer{align-content:start;min-height:186px}.code-token,.kernel-drop{border:1px solid var(--green);width:100%;min-height:31px;color:var(--green);cursor:grab;text-align:left;background:#9dff3a1f;padding:6px 9px}.code-token:active{cursor:grabbing}.code-placeholder{font-style:italic;color:#566159!important}.kernel-drop{color:#657067;cursor:pointer;letter-spacing:.06em;background:#ffffff03;border-style:dashed;font-size:9px!important}.kernel-drop--filled{color:var(--green);letter-spacing:0;background:#9dff3a1f;border-style:solid;font-size:clamp(10px,1.1vw,13px)!important}.text-action{color:#738076;cursor:pointer;font-family:var(--font-geist-mono), monospace;background:0 0;border:0;margin:0 18px 15px auto;font-size:7px;text-decoration:underline;display:block}.thread-config{border:1px solid var(--line);opacity:.55;background:#070d09b8;grid-template-columns:minmax(220px,.72fr) minmax(360px,1.35fr) minmax(170px,.5fr);align-items:center;gap:20px;margin-top:18px;padding:21px;transition:opacity .18s,border-color .18s;display:grid}.thread-config--ready{opacity:1;border-color:#9dff3a47}.thread-config__intro>span{color:var(--green);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:8px}.thread-config__intro p{color:#7c887e;margin:8px 0 0;font-size:11px;line-height:1.55}.block-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.block-options button{color:#748076;cursor:pointer;text-align:left;background:#050906;border:1px solid #263128;align-content:center;justify-items:start;gap:4px;min-height:83px;padding:10px;display:grid}.block-options button strong{color:var(--ink);font-family:var(--font-geist-mono), monospace;font-size:18px;font-weight:500}.block-options button span,.block-options button small{font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;font-size:6px}.block-options button small{color:#505b52}.block-options button.is-selected{border-color:var(--green);color:var(--green);background:#9dff3a13}.block-options button:disabled{cursor:not-allowed;opacity:.48}.mapping-equation{font-family:var(--font-geist-mono), monospace;gap:6px;display:grid}.mapping-equation span{color:#657168;font-size:8px}.mapping-equation strong{color:var(--ink);font-size:12px;font-weight:500}.mapping-equation i{color:var(--green);font-size:7px;font-style:normal}.mapping-feedback{color:#ffb25f;grid-column:1/3;margin:0;font-size:10px;line-height:1.5}.mapping-feedback.is-correct{color:var(--green)}.lesson-button--launch{grid-area:2/3}.simulator-workspace{grid-template-columns:minmax(0,1.42fr) minmax(260px,.58fr);align-items:stretch;gap:16px;display:grid}.simulator-editor,.launch-config,.simulation-result{border-color:#9dff3a3b}.simulator-editor__toolbar{min-height:47px;font-family:var(--font-geist-mono), monospace;background:#9dff3a06;border-bottom:1px solid #c1ffa81a;justify-content:space-between;align-items:center;gap:14px;padding:8px 15px;display:flex}.simulator-editor__toolbar>span{color:#9aa69b;letter-spacing:.08em;font-size:8px}.simulator-editor__toolbar button{min-height:29px;color:var(--green);cursor:pointer;font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;background:0 0;border:1px solid #9dff3a45;padding:0 10px;font-size:7px}.simulator-editor__toolbar button:hover{border-color:var(--green);background:#9dff3a14}.simulator-editor__field{background:linear-gradient(90deg,#ffffff05 43px,#0000 43px),#030705;grid-template-columns:43px minmax(0,1fr);min-height:304px;display:grid}.simulator-editor__field>span{color:#3f4a41;font-family:var(--font-geist-mono), monospace;-webkit-user-select:none;user-select:none;border-right:1px solid #c1ffa814;grid-auto-rows:23.8px;align-content:start;justify-items:center;padding:20px 0;font-size:9px;line-height:1.7;display:grid}.simulator-editor__field i{font-style:normal}.simulator-editor__field textarea{resize:vertical;color:#d5ddd4;width:100%;min-height:304px;caret-color:var(--green);font-family:var(--font-geist-mono), monospace;font-variant-ligatures:none;tab-size:2;white-space:pre;background:0 0;border:0;outline:0;padding:20px 18px;font-size:12px;line-height:1.98}.simulator-editor__field textarea::selection{color:#fff;background:#9dff3a38}.simulator-safety{color:#657168;border-top:1px solid #c1ffa814;align-items:center;gap:9px;min-height:42px;margin:0;padding:10px 15px;font-size:9px;line-height:1.5;display:flex}.simulator-safety i{color:var(--green);font-style:normal}.launch-config{flex-direction:column;display:flex}.launch-config__fields{gap:15px;padding:20px;display:grid}.launch-config label{gap:7px;display:grid}.launch-config label>span{color:#778379;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;font-size:7px}.launch-config input,.launch-config select{width:100%;height:43px;color:var(--ink);font-family:var(--font-geist-mono), monospace;background:#040806;border:1px solid #273229;border-radius:0;outline:0;padding:0 12px;font-size:13px}.launch-config input:hover,.launch-config select:hover{border-color:#9dff3a6b}.launch-equation{font-family:var(--font-geist-mono), monospace;border-top:1px solid #c1ffa81a;gap:6px;margin:auto 20px 0;padding:15px 0;display:grid}.launch-equation span{color:#6f7b71;font-size:8px}.launch-equation strong{color:var(--green);font-size:13px;font-weight:500}.launch-equation small{color:#4f5a51;font-size:7px}.simulator-run{width:calc(100% - 40px);margin:0 20px 20px}.simulation-result{border:1px solid var(--line);background:#050a07c7;min-height:156px;margin-top:16px;transition:border-color .18s,box-shadow .18s}.simulation-result.is-visible{border-color:#ffb25f57}.simulation-result.is-passed{border-color:#9dff3a75;box-shadow:inset 0 0 70px #9dff3a06}.simulation-empty{text-align:center;place-content:center;justify-items:center;gap:8px;min-height:154px;padding:26px;display:grid}.simulation-empty span{color:#435047;font-family:var(--font-geist-mono), monospace;letter-spacing:.15em;font-size:8px}.simulation-empty strong{color:#7b877d;font-size:14px;font-weight:520}.simulation-empty p{color:#536057;max-width:540px;margin:0;font-size:10px;line-height:1.6}.simulation-result__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:13px 18px;display:flex}.simulation-result__header>div{gap:5px;display:grid}.simulation-result__header span,.simulation-result__header small{font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:7px}.simulation-result__header span{color:var(--green)}.simulation-result__header strong{font-size:15px;font-weight:560}.simulation-result__header small{color:#69766b;border:1px solid #9dff3a2e;padding:7px 9px}.simulation-metrics{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid}.simulation-metrics>div{border-right:1px solid var(--line);gap:7px;min-width:0;padding:16px 18px;display:grid}.simulation-metrics>div:last-child{border-right:0}.simulation-metrics span{color:#626e64;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:7px}.simulation-metrics strong{color:var(--green);font-family:var(--font-geist-mono), monospace;font-size:21px;font-weight:500}.simulation-metrics strong small{color:#5b675e;font-size:10px}.simulation-metrics .has-problem strong{color:#ffb25f}.simulation-report-grid{grid-template-columns:minmax(0,1.34fr) minmax(270px,.66fr);display:grid}.simulation-map{border-right:1px solid var(--line);padding:18px}.simulation-map__heading{font-family:var(--font-geist-mono), monospace;justify-content:space-between;gap:15px;margin-bottom:12px;display:flex}.simulation-map__heading span{color:#8b978d;letter-spacing:.1em;font-size:8px}.simulation-map__heading small{color:#4e5a51;font-size:8px}.simulation-data-grid{grid-template-columns:repeat(25,minmax(4px,1fr));gap:3px;min-height:116px;display:grid}.simulation-data-grid>span{border:1px solid #0000;min-width:0;min-height:8px}.simulation-data-grid>.is-covered{background:#9dff3a6b;border-color:#9dff3a57}.simulation-data-grid>.is-missing{background:#ffb25f17;border-color:#ffb25f42}.simulation-data-grid>.is-collision{background:#ff54547a;border-color:#ff63639e;box-shadow:0 0 5px #ff545447}.simulation-legend{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.simulation-legend span{color:#626e64;font-family:var(--font-geist-mono), monospace;align-items:center;gap:6px;font-size:7px;display:flex}.simulation-legend i{border:1px solid;width:8px;height:8px;display:inline-block}.simulation-legend i.is-covered{background:#9dff3a6b;border-color:#9dff3a80}.simulation-legend i.is-missing{background:#ffb25f17;border-color:#ffb25f66}.simulation-legend i.is-collision{background:#ff54547a;border-color:#ff6363b3}.simulation-diagnostics{padding:18px}.simulation-diagnostics>span,.thread-trace>span{color:#8b978d;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;font-size:8px}.simulation-diagnostics ul{gap:10px;margin:13px 0 0;padding:0;list-style:none;display:grid}.simulation-diagnostics li{grid-template-columns:20px 1fr;gap:8px;display:grid}.simulation-diagnostics li i{color:#ffb25f;width:18px;height:18px;font-family:var(--font-geist-mono), monospace;border:1px solid;place-items:center;font-size:9px;font-style:normal;display:grid}.simulation-diagnostics li.is-error i{color:#ff6d6d}.simulation-diagnostics li.is-success i{color:var(--green)}.simulation-diagnostics p{color:#818d83;margin:0;font-size:10px;line-height:1.55}.thread-trace{border-top:1px solid var(--line);grid-template-columns:170px 1fr;align-items:center;gap:15px;padding:15px 18px;display:grid}.thread-trace>div{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.thread-trace code{color:#9ba79d;font-family:var(--font-geist-mono), monospace;background:#030705;border:1px solid #243027;padding:6px 8px;font-size:8px}.thread-trace code i{color:var(--green);margin:0 6px;font-style:normal}.thread-trace small{color:#4f5b52;font-family:var(--font-geist-mono), monospace;font-size:7px}.simulation-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:10px 18px;display:flex}.simulation-actions p{color:#7d897f;max-width:720px;margin:0;font-size:10px;line-height:1.55}.simulation-actions .lesson-button--launch{flex:none;grid-area:auto}.kernel-visualizer{background:#050a07c7;border:1px solid #9dff3a42;padding:24px}.block-rack{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px;display:grid}.gpu-block{background:#060a07;border:1px solid #2b372d;gap:5px;min-height:68px;padding:12px;display:grid;position:relative;overflow:hidden}.gpu-block:before{content:"";width:var(--block-fill);background:linear-gradient(90deg,#9dff3a29,#9dff3a0a);transition:width 60ms linear;position:absolute;inset:0}.gpu-block span,.gpu-block strong{z-index:1;font-family:var(--font-geist-mono),monospace;position:relative}.gpu-block span{color:var(--green);letter-spacing:.12em;font-size:7px}.gpu-block strong{font-size:10px;font-weight:500}.gpu-block i{z-index:1;background:#182119;height:2px;position:relative}.gpu-block i:after{content:"";height:100%;width:var(--block-fill);background:var(--green);box-shadow:0 0 8px var(--green);display:block}.kernel-data>header{font-family:var(--font-geist-mono),monospace;justify-content:space-between;gap:16px;margin-bottom:13px;display:flex}.kernel-data>header span{color:var(--green);letter-spacing:.12em;font-size:8px}.kernel-data>header strong{color:#738075;font-size:8px;font-weight:500}.kernel-data .lesson-data-grid{aspect-ratio:2;grid-template-columns:repeat(32,1fr);width:min(100%,620px);margin:0 auto}.model-note{color:#5e6a60;text-align:center;max-width:680px;margin:15px auto 0;font-size:10px;line-height:1.55}.completion-heading{max-width:1120px;margin-bottom:34px}.completion-heading h1{max-width:23ch;font-size:clamp(36px,4.45vw,61px);line-height:.98}.lesson-page[data-locale=zh-CN] .completion-heading h1{max-width:18em;font-size:clamp(36px,4.45vw,58px);line-height:1.12}.model-comparison{grid-template-columns:1fr 50px 1fr;align-items:stretch;display:grid}.model-comparison>article{border:1px solid var(--line);background:#070d09bf;padding:25px}.model-comparison>article.is-gpu{background:#9dff3a0a;border-color:#9dff3a6e}.model-comparison>div{color:var(--green);place-items:center;font-size:20px;display:grid}.model-comparison article>span{color:#667268;font-family:var(--font-geist-mono),monospace;letter-spacing:.14em;font-size:7px}.model-comparison h2{margin:8px 0 21px;font-size:20px;font-weight:500}.model-comparison strong{color:var(--green);font-family:var(--font-geist-mono),monospace;font-size:18px;font-weight:500}.model-comparison p{color:#7e8a80;margin:8px 0 0;font-size:11px}.core-principle{border:1px solid var(--line);background:#050906;grid-template-columns:110px minmax(290px,1fr) 1fr;align-items:center;gap:18px;margin-top:16px;padding:22px;display:grid}.core-principle>span{color:var(--green);font-family:var(--font-geist-mono),monospace;letter-spacing:.12em;font-size:8px}.core-principle code{color:var(--green);font-family:var(--font-geist-mono),monospace;background:#9dff3a14;padding:10px 12px;font-size:11px}.core-principle p{color:#89958b;margin:0;font-size:11px;line-height:1.55}.core-principle small{color:#58635a;grid-column:2/-1;font-size:9px;line-height:1.5}.lesson-research{margin-top:28px}.lesson-research>h2{color:#7f8c81;font-family:var(--font-geist-mono),monospace;letter-spacing:.14em;margin:0 0 12px;font-size:8px;font-weight:500}.lesson-research>div{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.lesson-research details{border:1px solid var(--line);background:#070d09b3}.lesson-research summary{cursor:pointer;min-height:54px;font-family:var(--font-geist-mono),monospace;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:0 15px;font-size:9px;list-style:none;display:grid}.lesson-research summary::-webkit-details-marker{display:none}.lesson-research summary span{color:var(--green);font-size:7px}.lesson-research summary i{color:var(--green);font-size:14px;font-style:normal;transition:transform .16s}.lesson-research details[open] summary i{transform:rotate(45deg)}.lesson-research details p{color:#7d897f;margin:0;padding:0 16px 17px 55px;font-size:11px;line-height:1.65}.completion-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@keyframes lesson-stage-in{0%{opacity:0;transform:translateY(10px)}}@keyframes cpu-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (max-width:980px){.lesson-topbar{grid-template-columns:1fr auto auto auto}.lesson-brand{display:none}.observe-workspace{grid-template-columns:.75fr 1.25fr}.thread-config{grid-template-columns:1fr 1.5fr}.mapping-equation{grid-column:1}.mapping-feedback{grid-column:2}.lesson-button--launch{grid-area:3/2;justify-self:end}.core-principle{grid-template-columns:100px 1fr}.core-principle p,.core-principle small{grid-column:1/-1}.simulator-workspace{grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr)}.simulation-metrics{grid-template-columns:repeat(3,1fr)}.simulation-metrics>div:nth-child(3){border-right:0}.simulation-metrics>div:nth-child(n+4){border-top:1px solid var(--line)}.simulation-report-grid{grid-template-columns:1fr}.simulation-map{border-right:0;border-bottom:1px solid var(--line)}}@media (max-width:760px){.lesson-topbar{grid-template-columns:1fr auto auto;gap:8px;height:66px;padding:0 16px}.lesson-identity,.lesson-back span{display:none}.lesson-reading-link{min-height:35px;padding:0 9px}.lesson-reading-link span{display:none}.lesson-reading-hint{width:auto;min-height:70px;position:fixed;top:76px;left:14px;right:14px}.lesson-reading-hint:before{right:84px}.lesson-topbar:has(.lesson-reading-entry[data-open=true])+.lesson-progress{margin-top:112px}.lesson-progress{width:calc(100% - 28px);margin-top:16px}.lesson-progress li strong{font-size:6px}.lesson-stage{width:calc(100% - 28px);padding-top:35px}.lesson-stage-heading,.completion-heading{padding-left:15px}.lesson-stage-heading--center{padding-left:0}.lesson-stage-heading h1{max-width:18ch;font-size:clamp(36px,10.8vw,54px);line-height:.98}.completion-heading h1{max-width:24ch;font-size:clamp(32px,9.4vw,48px);line-height:1.02}.lesson-page[data-locale=zh-CN] .lesson-stage-heading h1{max-width:12em;font-size:clamp(35px,10vw,49px);line-height:1.12}.lesson-page[data-locale=zh-CN] .completion-heading h1{max-width:15em;font-size:clamp(32px,8.9vw,44px);line-height:1.15}.lesson-stage-heading>span,.completion-heading>span{font-size:12px}.observe-workspace,.lesson-action-row{grid-template-columns:1fr}.lesson-button{width:100%}.code-transfer{grid-template-columns:1fr}.transfer-arrow{min-height:36px;transform:rotate(90deg)}.lesson-code--transfer{min-height:0}.thread-config{grid-template-columns:1fr;padding:16px}.block-options{grid-template-columns:repeat(3,minmax(0,1fr))}.block-options button{padding:8px}.block-options button strong{font-size:16px}.mapping-equation,.mapping-feedback,.lesson-button--launch{grid-area:auto/1}.lesson-button--launch{justify-self:stretch}.block-rack{grid-template-columns:repeat(2,1fr)}.kernel-data>header{flex-direction:column;align-items:flex-start}.kernel-data .lesson-data-grid{aspect-ratio:1;grid-template-columns:repeat(16,1fr)}.model-comparison{grid-template-columns:1fr}.model-comparison>div{min-height:40px;transform:rotate(90deg)}.core-principle{grid-template-columns:1fr}.core-principle code{white-space:nowrap;overflow-x:auto}.core-principle p,.core-principle small{grid-column:1}.lesson-research>div{grid-template-columns:1fr}.completion-actions{flex-direction:column;align-items:stretch}.simulator-workspace{grid-template-columns:1fr}.simulator-editor__field{min-height:286px}.simulator-editor__field textarea{min-height:286px;font-size:10px;line-height:2.25}.launch-config__fields{grid-template-columns:1fr 1fr}.launch-config__fields label:last-child{grid-column:1/-1}.launch-equation{margin-top:0}.simulation-result__header{flex-direction:column;align-items:flex-start}.simulation-metrics{grid-template-columns:repeat(2,1fr)}.simulation-metrics>div,.simulation-metrics>div:nth-child(3){border-right:1px solid var(--line);border-top:1px solid var(--line)}.simulation-metrics>div:nth-child(-n+2){border-top:0}.simulation-metrics>div:nth-child(2n){border-right:0}.simulation-data-grid{grid-template-columns:repeat(20,minmax(4px,1fr))}.thread-trace{grid-template-columns:1fr}.simulation-actions{flex-direction:column;align-items:stretch}.simulation-actions .lesson-button--launch{width:100%}}@media (max-width:420px){.lesson-code{--code-indent:13px}.lesson-code-line{grid-template-columns:20px minmax(0,1fr)}.lesson-code-line code,.lesson-code-line button{font-size:9px}.lesson-data-grid{gap:2px}.block-options button span{display:none}.block-options button small{line-height:1.4}.simulator-editor__toolbar{flex-direction:column;align-items:flex-start}.simulator-editor__field{grid-template-columns:32px minmax(0,1fr)}.simulator-editor__field textarea{padding-left:12px;font-size:9px}.launch-config__fields{grid-template-columns:1fr}.launch-config__fields label:last-child{grid-column:1}.simulation-data-grid{grid-template-columns:repeat(15,minmax(4px,1fr));gap:2px}.simulation-map,.simulation-diagnostics{padding:14px}}@media (prefers-reduced-motion:reduce){.lesson-stage,.cpu-worker--running .cpu-worker__core{animation:none}.data-cell,.serial-meter span,.gpu-block:before,.lesson-code-line code,.lesson-code-line button{transition:none}}
