@media(max-width:1280px){.lesson-chapter-sidebar[data-v-7c9767a9]{display:block;left:10px;right:10px;bottom:calc(var(--beian-bar-height) + 10px + env(safe-area-inset-bottom,0px));top:auto;width:auto;max-height:none;padding:0;border-radius:12px;border:1px solid rgba(13,123,232,.18);background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chapter-nav[data-v-7c9767a9]{margin:0;padding:6px 8px;border-bottom:0}.chapter-list[data-v-7c9767a9]{display:flex;gap:6px;overflow:auto}.chapter-link.level-1[data-v-7c9767a9]{min-width:max-content;padding-right:10px}.chapter-no[data-v-7c9767a9]{min-width:22px}.chapter-nav h3[data-v-7c9767a9]{display:none}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--bg: #f5f9ff;--surface: rgba(255, 255, 255, .82);--surface-strong: #ffffff;--text-primary: #13263a;--text-secondary: #3d5d79;--accent: #0d7be8;--accent-soft: #e2f0ff;--accent-2: #f59e0b;--ok: #0f9b6a;--warning: #d46a00;--danger: #d63535;--ring: rgba(13, 123, 232, .25);--shadow-1: 0 12px 34px rgba(13, 62, 108, .08);--shadow-2: 0 18px 44px rgba(13, 62, 108, .14);--radius-lg: 22px;--radius-md: 14px;--radius-sm: 10px;--slide-nav-offset: 92px;--beian-bar-height: 48px;--slide-card-gap: 14px;--slide-chapter-width: 240px;--slide-outline-width: 280px;--slide-card-min-height: clamp(430px, 60vh, 760px);--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;--font-serif: "Noto Serif SC", "Songti SC", "STSong", serif;--font-mono: "Cascadia Code", "JetBrains Mono", "Fira Code", "Consolas", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text-primary);background:linear-gradient(160deg,#f8fbff,#ecf6ff 46%,#fff8ec);font-family:var(--font-sans);line-height:1.65;overflow-x:hidden;padding-bottom:calc(var(--beian-bar-height) + env(safe-area-inset-bottom,0px))}.bg-orb{position:fixed;border-radius:999px;filter:blur(12px);z-index:-2;pointer-events:none}.orb-a{width:430px;height:430px;top:-140px;right:-140px;background:radial-gradient(circle at 30% 30%,#0d7be866,#0d7be80d)}.orb-b{width:380px;height:380px;bottom:-120px;left:-120px;background:radial-gradient(circle at 70% 50%,#f59e0b47,#f59e0b0a)}.bg-grid{position:fixed;inset:0;z-index:-3;pointer-events:none;background-image:linear-gradient(rgba(13,123,232,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(13,123,232,.04) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(circle at center,black 52%,transparent 100%);mask-image:radial-gradient(circle at center,black 52%,transparent 100%)}.progress-track{position:fixed;top:0;left:0;width:100%;height:4px;background:#0d7be81f;z-index:90}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#0d7be8,#11a982,#f59e0b);transition:width .12s linear}.top-nav{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(14px,2vw,30px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7fbffd4;border-bottom:1px solid rgba(13,123,232,.12)}.site-beian{position:fixed;left:0;right:0;bottom:0;z-index:83;min-height:var(--beian-bar-height);display:flex;align-items:center;justify-content:center;padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7fbffd9;border-top:1px solid rgba(13,123,232,.14);box-shadow:0 -10px 28px #0d3e6c1f}.site-beian a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:5px 12px;border-radius:999px;border:1px solid rgba(13,123,232,.2);background:linear-gradient(160deg,#fffffff5,#ecf6ffeb);color:#0c4e8d;font-size:.84rem;font-weight:700;transition:color .2s ease,border-color .2s ease,transform .2s ease}.site-beian a:before{content:"备案";font-size:.72rem;font-weight:800;color:#0a62be;background:#0d7be824;padding:2px 6px;border-radius:999px}.site-beian a:hover{color:var(--accent);border-color:#0d7be857;transform:translateY(-1px)}.site-beian a:focus-visible{outline:2px solid rgba(13,123,232,.36);outline-offset:2px}.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-primary)}.brand strong{font-family:var(--font-serif);font-size:1.05rem;letter-spacing:.02em}.brand-tag{padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;color:#0b4c8a;background:#0d7be829}.nav-links{display:flex;gap:clamp(8px,1.3vw,16px);flex-wrap:wrap;justify-content:flex-end}.nav-links a{text-decoration:none;color:var(--text-secondary);font-size:.9rem;font-weight:600;border-bottom:2px solid transparent;padding-bottom:2px;transition:color .2s ease,border-color .2s ease}.nav-links a:hover,.nav-links a.is-active{color:var(--accent);border-color:var(--accent)}.page{width:min(1140px,calc(100% - 24px));margin:30px auto 60px;display:grid;gap:28px}body.lesson-slide-mode{scroll-snap-type:y mandatory;scroll-padding-top:var(--slide-nav-offset)}body.lesson-slide-mode.lesson-sidebar-enabled{padding-left:calc(var(--slide-chapter-width) + 28px);padding-right:calc(var(--slide-outline-width) + 28px)}.page.is-slide-deck{margin-top:0;margin-bottom:0;gap:0}.page.is-slide-deck>.hero,.page.is-slide-deck>.section{height:calc(100dvh - var(--slide-nav-offset) - var(--beian-bar-height) - 10px);min-height:calc(100dvh - var(--slide-nav-offset) - var(--beian-bar-height) - 10px);max-height:calc(100dvh - var(--slide-nav-offset) - var(--beian-bar-height) - 10px);scroll-margin-top:calc(var(--slide-nav-offset) + 6px);scroll-snap-align:start;scroll-snap-stop:always;overflow:visible;display:grid;place-items:center;background:transparent;border:0;box-shadow:none;padding:0}.lesson-slide-mode.lesson-sidebar-enabled .page.is-slide-deck{width:min(980px,calc(100% - 32px));margin-left:auto;margin-right:auto}.page.is-slide-deck>.hero:after{display:none}.page.is-slide-deck>.hero>.slide-card-body,.page.is-slide-deck>.section>.slide-card-body{width:min(980px,calc(100% - 16px));min-height:var(--slide-card-min-height);max-height:calc(100dvh - var(--slide-nav-offset) - var(--beian-bar-height) - 24px);padding:clamp(18px,2.4vw,34px);border-radius:var(--radius-lg);border:1px solid rgba(13,123,232,.14);background:var(--surface);box-shadow:var(--shadow-1);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.page.is-slide-deck>.hero>.slide-card-body{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(circle at 88% 12%,rgba(13,123,232,.22),transparent 42%),radial-gradient(circle at 2% 90%,rgba(245,158,11,.18),transparent 35%),#ffffffe6}.page.is-slide-deck>.hero>.slide-card-body:after{content:"";position:absolute;width:230px;height:230px;right:-58px;bottom:-58px;border-radius:28px;border:1px solid rgba(13,123,232,.12);transform:rotate(32deg)}.lesson-chapter-sidebar,.lesson-outline-sidebar{position:fixed;top:calc(var(--slide-nav-offset) + 8px);max-height:calc(100dvh - var(--slide-nav-offset) - var(--beian-bar-height) - 18px);overflow:auto;padding:2px 2px 8px 8px;z-index:82}.lesson-chapter-sidebar{left:16px;width:var(--slide-chapter-width)}.lesson-outline-sidebar{right:16px;width:var(--slide-outline-width)}.lesson-chapter-sidebar h3,.lesson-outline-sidebar h3{margin:0;font-family:var(--font-sans);font-size:.78rem;font-weight:800;letter-spacing:.03em;color:#5b7489;text-transform:none}.chapter-nav{margin-bottom:12px;padding:0 6px 8px 2px;border-bottom:1px solid rgba(13,123,232,.14)}.slide-outline{padding:0 6px 0 2px}.slide-outline .outline-current{margin-top:6px;font-size:.76rem;color:#5e7a92}.chapter-list,.slide-outline .outline-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:3px}.chapter-link,.slide-outline .outline-btn{width:100%;border:0;background:none;color:#385a74;padding:5px 0 5px 10px;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px;line-height:1.35;text-align:left;cursor:pointer;font-family:var(--font-sans);text-decoration:none;border-left:2px solid transparent;transition:color .18s ease,border-color .18s ease,transform .12s ease}.chapter-link:hover,.slide-outline .outline-btn:hover{color:#0f6ac5}.chapter-link.is-active,.slide-outline .outline-btn.is-active{color:#0f6ac5;border-left-color:#0d7be8b3}.chapter-link.level-2,.slide-outline .outline-btn.level-2{padding-left:18px}.chapter-link.level-3,.slide-outline .outline-btn.level-3{padding-left:26px}.chapter-no,.slide-outline .outline-no{min-width:30px;font-weight:700;font-size:.72rem;color:#7d97ab}.chapter-text,.slide-outline .outline-text{font-size:.82rem;line-height:1.32;overflow-wrap:anywhere;word-break:break-word}.chapter-link.is-active .chapter-no,.slide-outline .outline-btn.is-active .outline-no{color:#0f6ac5}.chapter-link[aria-disabled=true]{opacity:.48;pointer-events:none}.chapter-link.is-active,.slide-outline .outline-btn.is-active{font-weight:700}.slide-outline .outline-btn{font:inherit}.slide-outline .outline-btn:focus-visible,.chapter-link:focus-visible{outline:2px solid rgba(13,123,232,.35);outline-offset:2px;border-radius:4px}.lesson-chapter-sidebar::-webkit-scrollbar,.lesson-outline-sidebar::-webkit-scrollbar{width:6px}.lesson-chapter-sidebar::-webkit-scrollbar-thumb,.lesson-outline-sidebar::-webkit-scrollbar-thumb{background:#0d7be83d;border-radius:999px}.lesson-chapter-sidebar::-webkit-scrollbar-track,.lesson-outline-sidebar::-webkit-scrollbar-track{background:transparent}.page.is-slide-deck h1{font-size:clamp(1.6rem,3.1vw,2.55rem)}.page.is-slide-deck .section-head h2{font-size:clamp(1.32rem,2.35vw,1.9rem)}.page.is-slide-deck .hero-intro{margin-top:10px;font-size:1.04rem;line-height:1.66}.page.is-slide-deck>.hero>.slide-card-body :is(p,li),.page.is-slide-deck>.section>.slide-card-body :is(p,li){font-size:clamp(.98rem,.25vw + .92rem,1.08rem);line-height:1.7}.page.is-slide-deck .goal-cards{margin-top:14px;gap:10px}.page.is-slide-deck .goal-cards article{padding:12px 12px 13px}.page.is-slide-deck .section-note{margin-top:8px;font-size:.98rem}.page.is-slide-deck .concept-grid,.page.is-slide-deck .command-layout,.page.is-slide-deck .mirror-grid,.page.is-slide-deck .pitfall-grid,.page.is-slide-deck .timeline,.page.is-slide-deck .summary .flow,.page.is-slide-deck .final-snippet{margin-top:10px}.page.is-slide-deck .concept-card,.page.is-slide-deck .command-card,.page.is-slide-deck .mirror-card,.page.is-slide-deck .pitfall{padding:12px}.page.is-slide-deck .concept-card h3,.page.is-slide-deck .command-card h3,.page.is-slide-deck .mirror-card h3,.page.is-slide-deck .pitfall h3{font-size:1rem}.page.is-slide-deck .concept-card p,.page.is-slide-deck .command-card p,.page.is-slide-deck .mirror-card p,.page.is-slide-deck .pitfall p,.page.is-slide-deck .timeline h3{font-size:.88rem;line-height:1.5}.page.is-slide-deck .command-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.page.is-slide-deck .cmd-line{gap:8px;padding:7px 8px 7px 9px}.page.is-slide-deck .cmd-line code{font-size:.8rem}.page.is-slide-deck .copy-btn{padding:5px 8px;font-size:.76rem}.page.is-slide-deck .code-shell{margin-top:8px}.page.is-slide-deck .code-pre code{font-size:.88rem;line-height:1.52}.page.is-slide-deck .timeline{gap:10px}.page.is-slide-deck .timeline li{gap:6px}.hero,.section{padding:clamp(22px,3.1vw,40px);border-radius:var(--radius-lg);border:1px solid rgba(13,123,232,.14);background:var(--surface);box-shadow:var(--shadow-1)}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 12%,rgba(13,123,232,.22),transparent 42%),radial-gradient(circle at 2% 90%,rgba(245,158,11,.18),transparent 35%),#ffffffe6}.hero:after{content:"";position:absolute;width:230px;height:230px;right:-58px;bottom:-58px;border-radius:28px;border:1px solid rgba(13,123,232,.12);transform:rotate(32deg)}.kicker{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.11em;color:#0a62be}h1,h2,h3{margin:0;color:var(--text-primary);font-family:var(--font-serif);line-height:1.3}h1{margin-top:12px;font-size:clamp(1.7rem,4vw,3rem)}.hero-intro{max-width:820px;margin:14px 0 0;color:var(--text-secondary);font-size:1.03rem}code{font-family:var(--font-mono);background:#0d7be81a;color:#0957a2;border-radius:6px;padding:2px 6px}.code-shell{margin-top:12px;position:relative;border:1px solid rgba(111,161,214,.42);border-radius:12px;background:linear-gradient(180deg,#0e1c2f,#0a1626);box-shadow:0 10px 22px #0a223a42,inset 0 0 0 1px #ffffff08;overflow:hidden}.code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(146,185,228,.2);background:linear-gradient(180deg,#0d2238eb,#0a1d31eb)}.code-lang{font-size:.72rem;font-weight:700;letter-spacing:.05em;color:#a6ceff;text-transform:uppercase}.code-copy-btn{border:1px solid rgba(156,198,241,.4);background:#123b5ed1;color:#def0ff;padding:4px 9px;border-radius:8px;font-size:.76rem;font-weight:700;cursor:pointer;transition:background .18s ease,transform .12s ease,border-color .18s ease}.code-copy-btn:hover{background:#1a5283f0;border-color:#b9d8f89e}.code-copy-btn:active{transform:translateY(1px)}.code-pre{margin:0;padding:0;overflow:auto;background:transparent}.code-pre code{display:block;min-width:100%;background:transparent;color:#eaf4ff;padding:6px 24px 16px;margin:0;font-family:var(--font-mono);font-size:.91rem;line-height:1.56;tab-size:4;white-space:pre}.code-pre code.hljs{background:transparent;padding:6px 24px 16px}.code-pre code .hljs-comment,.code-pre code .hljs-quote{color:#7e9ab4;font-style:italic}.code-pre code .hljs-keyword,.code-pre code .hljs-selector-tag,.code-pre code .hljs-literal,.code-pre code .hljs-section,.code-pre code .hljs-name{color:#f3b3ff;font-weight:700}.code-pre code .hljs-built_in,.code-pre code .hljs-title.class_,.code-pre code .hljs-type{color:#91d6ff}.code-pre code .hljs-string,.code-pre code .hljs-attr,.code-pre code .hljs-template-tag,.code-pre code .hljs-template-variable{color:#9ce7ab}.code-pre code .hljs-number,.code-pre code .hljs-symbol,.code-pre code .hljs-bullet{color:#ffd089}.code-pre code .hljs-variable,.code-pre code .hljs-constant,.code-pre code .hljs-params{color:#ffc6a2;font-weight:600}.goal-cards{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.goal-cards article{padding:14px 14px 16px;border-radius:var(--radius-md);background:#ffffffeb;border:1px solid rgba(13,123,232,.12)}.goal-cards.fly-in-seq article{opacity:0;transform:translate3d(-26px,42px,0) scale(.94) rotate(-2deg)}#goals.is-visible .goal-cards.fly-in-seq article{animation:goalCardFlyIn .76s cubic-bezier(.22,.61,.36,1) forwards}#goals.is-visible .goal-cards.fly-in-seq article:nth-child(2){animation-delay:.14s}#goals.is-visible .goal-cards.fly-in-seq article:nth-child(3){animation-delay:.3s}.goal-cards h2{font-size:1.06rem;color:#0a62be}.goal-cards p{margin:8px 0 0;color:var(--text-secondary)}.section-head{display:grid;gap:10px}.section-head h2{font-size:clamp(1.4rem,3vw,2rem)}.section-note{margin:10px 0 0;color:var(--text-secondary)}.auto-knowledge-tip,.auto-teaching-tip{margin-top:14px;padding:10px 12px;border-radius:10px;border:1px solid rgba(13,123,232,.2);border-left-width:3px;background:linear-gradient(90deg,#0d7be814,#11a98212)}.auto-knowledge-tip .label,.auto-teaching-tip .label{display:block;margin:0;font-size:.78rem;font-weight:800;letter-spacing:.02em;color:#0e5da8}.auto-knowledge-tip p,.auto-teaching-tip p{margin:4px 0 0;color:#274663}.page.is-slide-deck>.hero>.slide-card-body h3{margin-top:10px;font-size:clamp(1.2rem,2.2vw,1.58rem)}.hero-lead{margin-top:22px;color:#0e65bb;font-size:clamp(1.06rem,1.5vw,1.3rem);font-weight:600}.hero-checklist{margin:16px 0 0;padding-left:20px;display:grid;gap:8px}.hero-checklist li{color:#21415d;font-size:clamp(.98rem,.3vw + .92rem,1.08rem)}.hero-chapter-mark{margin-top:18px;color:#48647f;font-size:1rem;letter-spacing:.02em}.concept-grid{margin-top:16px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.concept-card{grid-column:span 6;padding:16px;border-radius:var(--radius-md);border:1px solid rgba(13,123,232,.13);background:#fffffff2;display:grid;gap:8px}.concept-card:last-child{grid-column:span 12;background:linear-gradient(120deg,#0d7be814,#11a9821f),#fff}.concept-card h3{font-size:1.18rem}.concept-card p{margin:0;color:var(--text-secondary)}.command-layout{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.command-card{padding:16px;border-radius:var(--radius-md);border:1px solid rgba(13,123,232,.15);background:#fffffff0;display:grid;gap:9px}.command-card h3{color:#0a62be;font-size:1.15rem}.command-card p{margin:0 0 2px;color:var(--text-secondary);font-size:.95rem}.cmd-line{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 10px 10px 12px;border-radius:var(--radius-sm);border:1px solid rgba(13,123,232,.18);background:linear-gradient(180deg,#f7fbff,#f1f8ff)}.cmd-line code{flex:1 1 260px;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;background:transparent;padding:0;color:#0d2a45;font-size:.92rem}.copy-btn{border:0;border-radius:8px;background:var(--accent);color:#fff;padding:7px 10px;font-weight:700;cursor:pointer;transition:transform .15s ease,filter .15s ease;flex-shrink:0;align-self:flex-start}.copy-btn:hover{filter:brightness(1.08)}.copy-btn:active{transform:translateY(1px)}.timeline{margin:16px 0 0;list-style:none;padding:0 0 0 20px;border-left:2px solid rgba(13,123,232,.24);display:grid;gap:16px}.timeline li{position:relative;padding:4px 0 0 16px;display:grid;gap:10px}.timeline li:before{content:"";position:absolute;left:-27px;top:13px;width:12px;height:12px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px #0d7be826}.timeline h3{font-size:1.12rem}.os-switch{display:inline-flex;gap:8px;flex-wrap:wrap}.os-btn{border:1px solid rgba(13,123,232,.2);background:#fff;border-radius:999px;padding:6px 12px;font-weight:700;color:#24557f;cursor:pointer}.os-btn.is-active{background:var(--accent-soft);color:#0a62be;border-color:#0d7be861}.os-panel{display:none}.os-panel.is-active{display:block}.mirror-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mirror-card{padding:16px;border-radius:var(--radius-md);border:1px solid rgba(245,158,11,.22);background:linear-gradient(165deg,#fffffff2,#fff7eadb);display:grid;gap:10px}.mirror-card h3{font-size:1.15rem;color:#ad5f00}.mirror-card p{margin:0;color:#7a5216}.pitfall-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pitfall{padding:16px;border-radius:var(--radius-md);border:1px solid rgba(214,53,53,.18);background:#fffffff2;display:grid;gap:8px}.pitfall:last-child{grid-column:span 2}.pitfall-grid.compact-grid .pitfall:last-child{grid-column:span 1}.pitfall h3{color:#b92a2a;font-size:1.15rem}.pitfall .problem,.pitfall .solution{margin:0}.pitfall .problem{color:#844242}.pitfall .solution{color:#224b34}.summary .flow{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}.summary .flow span{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 14px;background:#0d7be81a;color:#0d4f8d;font-weight:700}.summary .flow span:after{content:">";opacity:.45}.summary .flow span:last-child:after{content:""}.final-snippet{margin:16px 0 0;padding:14px;border-radius:var(--radius-md);background:#0f1f30;color:#e7f3ff;border:1px solid rgba(102,161,219,.35);overflow-x:auto}.final-snippet code{background:transparent;color:inherit;padding:0}.footer{margin:0 auto 36px;width:min(1140px,calc(100% - 24px));padding:0 4px;color:var(--text-secondary)}.copy-toast{position:fixed;right:14px;bottom:calc(var(--beian-bar-height) + 14px);padding:10px 14px;border-radius:10px;color:#fff;background:#086d54f2;box-shadow:var(--shadow-2);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:95}.copy-toast.show{opacity:1;transform:translateY(0)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.lesson-slide-mode .fragment{display:block;opacity:0;transform:translateY(10px);filter:blur(2px);max-height:0;overflow:hidden;pointer-events:none;transition:opacity .32s ease,transform .32s ease,filter .32s ease,max-height .32s ease}.lesson-slide-mode .fragment.is-fragment-visible{opacity:1;transform:translateY(0);filter:none;max-height:1600px;pointer-events:auto}@keyframes goalCardFlyIn{0%{opacity:0;transform:translate3d(-26px,42px,0) scale(.94) rotate(-2deg)}58%{opacity:1;transform:translate3d(7px,-4px,0) scale(1.02) rotate(.6deg)}to{opacity:1;transform:translateZ(0) scale(1) rotate(0)}}@media(max-width:980px){body.lesson-slide-mode{scroll-snap-type:none}body.lesson-slide-mode.lesson-sidebar-enabled{padding-left:0;padding-right:0}.goal-cards{grid-template-columns:1fr}.concept-card,.concept-card:last-child{grid-column:span 12}.command-layout,.mirror-grid,.pitfall-grid{grid-template-columns:1fr}.pitfall:last-child{grid-column:span 1}.top-nav{flex-direction:column;align-items:flex-start}.nav-links{width:100%;justify-content:flex-start}.page{margin-top:18px}.page.is-slide-deck>.hero,.page.is-slide-deck>.section{height:auto;min-height:0;overflow:visible;scroll-snap-align:none;scroll-snap-stop:normal;justify-content:flex-start}.page.is-slide-deck>.hero>.slide-card-body,.page.is-slide-deck>.section>.slide-card-body{width:100%;min-height:0;max-height:none;overflow:visible}.page.is-slide-deck .command-layout{grid-template-columns:1fr}}@media(max-width:1280px){body.lesson-slide-mode.lesson-sidebar-enabled{padding-left:0;padding-right:0}.lesson-chapter-sidebar,.lesson-outline-sidebar{display:none}.lesson-slide-mode.lesson-sidebar-enabled .page.is-slide-deck{width:min(1140px,calc(100% - 24px));margin-left:auto;margin-right:auto}}@media(max-width:640px){.hero,.section{padding:16px;border-radius:16px}.cmd-line{flex-direction:column;align-items:flex-start}.copy-btn{width:100%}.site-beian{min-height:44px;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px))}.site-beian a{font-size:.78rem;padding:4px 10px}.code-pre code,.code-pre code.hljs{padding:6px 14px 14px}}:root{--neon-pink: #e85d75;--neon-blue: #0f7ae5;--neon-yellow: #a16207;--bg-gradient: linear-gradient(135deg, #f8fbff 0%, #ebf7ff 48%, #f5fff6 100%);--text-main: #213547;--text-soft: #3f5568;--surface: rgba(255, 255, 255, .72)}.legacy-reveal{background:var(--bg-gradient);color:var(--text-main)}.legacy-reveal h1,.legacy-reveal h2,.legacy-reveal h3{text-transform:none;font-family:Microsoft YaHei,sans-serif;letter-spacing:.03em}.legacy-reveal h1{color:var(--neon-pink);text-shadow:0 1px 0 rgba(255,255,255,.6)}.legacy-reveal h2{color:var(--neon-blue);text-shadow:none;border-bottom:2px solid var(--neon-blue);display:inline-block;padding-bottom:10px}.legacy-reveal h3{color:var(--neon-yellow);text-shadow:none}.legacy-reveal p,.legacy-reveal li{font-family:Microsoft YaHei,sans-serif;font-size:.9em;line-height:1.65;color:var(--text-main)}.legacy-reveal strong{color:#10273a}.legacy-reveal code{font-family:Consolas,Monaco,monospace;background:#0f7ae517;color:#0d5fb3;padding:.06em .25em;border-radius:4px}.legacy-reveal pre code{padding:18px;border-radius:10px;font-size:1rem;max-height:500px;border:1px solid rgba(129,170,218,.8);box-shadow:0 6px 20px #133a6229;background:#0f1b2e;color:#e7efff}.highlight-line{background-color:#94a3b82e;display:block;margin:0 -10px;padding:0 10px}.fragment.visible:not(.current-fragment){opacity:.7}.important{color:var(--neon-pink);font-weight:700;text-shadow:none}.note{font-size:.7em;color:#23547f;font-style:italic;border-left:3px solid var(--neon-blue);padding-left:10px;background:#ebf7ffe6}.tip{font-size:.72em;color:#275274;border-left:3px solid #43c8ff;padding:6px 0 6px 10px;margin-top:14px;background:#ecfbffd9}.two-col{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.col{flex:1;min-width:280px;margin:0}.table-wrap{overflow-x:auto;border:1px solid rgba(15,122,229,.35);border-radius:8px;padding:0;background:#ffffffc2;box-shadow:0 4px 14px #0f7ae514}.table-wrap .ops-table{width:100%;min-width:560px;margin:0;border-collapse:separate;border-spacing:0;font-size:.72em;line-height:1.45;color:var(--text-main)}.ops-table thead th{text-align:left;padding:11px 12px;background:linear-gradient(90deg,#0f7ae52e,#34d39929);border-bottom:1px solid rgba(15,122,229,.35);color:#0e3d68;font-weight:700}.ops-table tbody td{padding:10px 12px;border-bottom:1px solid rgba(15,122,229,.15);vertical-align:middle}.ops-table tbody tr:nth-child(2n){background:#0f7ae50d}.ops-table tbody tr:last-child td{border-bottom:0}.ops-table .ops-symbol{white-space:nowrap;font-weight:600}.var-attach-scene{--tag-move-x: 186px;--tag-move-y: 58px;position:relative;max-width:640px;height:220px;margin:10px auto 12px;border:1px solid rgba(15,122,229,.2);border-radius:14px;background:linear-gradient(180deg,#f0f9ffe6,#ecfdf5e6);box-shadow:inset 0 0 0 1px #ffffff80,0 6px 16px #0f7ae514;overflow:hidden}.var-slot{position:absolute;left:50%;bottom:18px;width:320px;transform:translate(-50%)}.var-slot svg{width:100%;height:128px;display:block}.var-slot:before{content:"";position:absolute;left:50%;top:24px;width:18px;height:18px;transform:translate(-50%);border-radius:999px;background:#0e749040;box-shadow:0 0 #0e749040;animation:anchorPulse 4.8s ease-in-out infinite}.var-slot-value{position:absolute;left:50%;top:67px;transform:translate(-50%);font-size:.62em;font-weight:700;color:#8b5a00;background:#fef3c7f2;border:1px solid rgba(217,119,6,.35);border-radius:999px;padding:2px 10px}.var-tag{position:absolute;left:44px;top:18px;width:176px;transform-origin:24px 24px;animation:tagAttach 4.8s cubic-bezier(.45,.02,.3,1) infinite;z-index:2}.var-tag svg{width:100%;height:76px;display:block;filter:drop-shadow(0 5px 10px rgba(2,132,199,.22))}.var-tag-label{position:absolute;left:30px;top:30px;font-size:.56em;font-weight:700;color:#0c4a6e;letter-spacing:.01em}.var-scene-title{position:absolute;right:16px;top:12px;font-size:.54em;color:#355a76;background:#fffc;border:1px solid rgba(15,122,229,.2);border-radius:999px;padding:4px 10px}.list-visual-note{font-size:.58em;color:#355a76;margin:0 0 8px;text-align:center}@keyframes tagAttach{0%,16%{transform:translate(0) rotate(-8deg) scale(1)}44%,70%{transform:translate(var(--tag-move-x),var(--tag-move-y)) rotate(0) scale(1.03)}84%,to{transform:translate(0) rotate(-8deg) scale(1)}}@keyframes anchorPulse{0%,30%{opacity:0;box-shadow:0 0 #0e749040}50%,70%{opacity:1;box-shadow:0 0 0 8px #0e749000}to{opacity:0;box-shadow:0 0 #0e749000}}.task-intro-scene{position:relative;max-width:660px;height:154px;margin:10px auto 8px;border:1px solid rgba(15,122,229,.2);border-radius:14px;background:linear-gradient(180deg,#f0f9ffe6,#ecfdf5db);box-shadow:inset 0 0 0 1px #ffffff73,0 6px 16px #0f7ae514;overflow:hidden}.task-intro-scene .intro-tag{position:absolute;left:14px;top:10px;font-size:.5em;color:#355a76;background:#ffffffd1;border:1px solid rgba(15,122,229,.2);border-radius:999px;padding:3px 9px}.task-intro-scene .hint{position:absolute;right:14px;bottom:10px;font-size:.52em;color:#2b556f;background:#fffc;border:1px solid rgba(15,122,229,.16);border-radius:999px;padding:3px 9px}.task-intro-scene .chip{position:absolute;font-size:.6em;font-weight:700;border-radius:999px;padding:4px 11px;border:1px solid rgba(15,122,229,.25);background:#fffffff2;color:#0c4a6e;box-shadow:0 4px 8px #0284c71f;white-space:nowrap}.task3-scene .c1{left:80px;top:52px;animation:introFloat 3s ease-in-out infinite}.task3-scene .c2{left:250px;top:40px;animation:introFloat 3s ease-in-out infinite .6s}.task3-scene .c3{left:430px;top:56px;animation:introFloat 3s ease-in-out infinite 1.1s}.task3-scene .track{position:absolute;left:70px;right:70px;bottom:40px;height:7px;border-radius:999px;background:linear-gradient(90deg,#0ea5e926,#22c55e4d,#0ea5e926);background-size:200% 100%;animation:introFlow 3.2s linear infinite}.task3-scene .formula{position:absolute;left:50%;bottom:14px;transform:translate(-50%);font-size:.55em;color:#1d4e89;letter-spacing:.02em}.task4-scene .raw{left:42px;top:56px}.task4-scene .op{position:absolute;left:250px;top:63px;font-size:.56em;color:#0f7ae5;font-weight:700;animation:introGlow 1.8s ease-in-out infinite}.task4-scene .clean{left:390px;top:56px;animation:introGlow 1.8s ease-in-out infinite .4s}.task4-scene .caret{position:absolute;left:560px;top:60px;font-size:.72em;color:#0f7ae5;animation:introCaret .95s steps(1,end) infinite}.task5-scene .slot{position:absolute;top:58px;width:120px;height:34px;border-radius:10px;border:1px dashed rgba(15,122,229,.45);background:#ffffffb3;display:flex;align-items:center;justify-content:center;font-size:.54em;color:#355a76}.task5-scene .s1{left:70px}.task5-scene .s2{left:208px}.task5-scene .s3{left:346px}.task5-scene .incoming{left:518px;top:26px;background:#fef3c7f5;border-color:#d9770652;color:#a16207;animation:introInsert 3.4s ease-in-out infinite}.task6-scene .tuple-card{position:absolute;left:120px;top:50px;font-size:.78em;font-weight:700;color:#1d4e89;background:#ffffffeb;border:1px solid rgba(15,122,229,.25);border-radius:11px;padding:8px 15px}.task6-scene .lock-badge{position:absolute;left:360px;top:46px;font-size:1.2em;animation:introLockPulse 1.7s ease-in-out infinite}.task6-scene .warn{position:absolute;left:220px;top:98px;font-size:.56em;color:#b91c1c;background:#fee2e2d9;border:1px solid rgba(248,113,113,.32);border-radius:999px;padding:3px 9px}.task7-scene .orb{position:absolute;width:76px;height:76px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.56em;font-weight:700;color:#0c4a6e;border:1px solid rgba(15,122,229,.28);background:#e0f2fee0;box-shadow:0 5px 10px #0284c71a}.task7-scene .o1{left:168px;top:46px}.task7-scene .o2{left:302px;top:46px;animation:introMerge 3.6s ease-in-out infinite}.task7-scene .o3{left:438px;top:46px;background:#d1fae5e0;border-color:#10b98159}.task8-scene .pair{position:absolute;display:flex;align-items:center;gap:8px;font-size:.56em;color:#0c4a6e}.task8-scene .p1{left:94px;top:52px}.task8-scene .p2{left:94px;top:94px}.task8-scene .key,.task8-scene .val{border-radius:999px;padding:4px 10px;border:1px solid rgba(15,122,229,.22);background:#ffffffe6;font-weight:700}.task8-scene .key{color:#0369a1}.task8-scene .val{color:#166534;border-color:#16a34a38}.task8-scene .arrow{color:#0f7ae5;font-weight:700;animation:introFlowArrow 1.6s ease-in-out infinite}.task8-scene .dict-shell{position:absolute;right:58px;top:42px;font-size:.86em;color:#1d4e89;opacity:.6}.task9-scene .code-line{position:absolute;left:84px;width:500px;height:26px;border-radius:8px;background:#ffffffd1;border:1px solid rgba(15,122,229,.2);display:flex;align-items:center;font-size:.53em;color:#1e3a56;padding-left:12px}.task9-scene .l1{top:34px}.task9-scene .l2{top:66px;animation:introFixIndent 3.8s ease-in-out infinite}.task9-scene .l3{top:98px}.task9-scene .indent{width:10px;height:16px;border-left:2px solid rgba(15,122,229,.45);margin-right:6px}@keyframes introFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes introGlow{0%,to{filter:saturate(1);opacity:.82}50%{filter:saturate(1.25);opacity:1}}@keyframes introCaret{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes introInsert{0%,20%{transform:translate(0)}45%,70%{transform:translate(-448px,36px)}to{transform:translate(0)}}@keyframes introLockPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes introMerge{0%,25%{transform:translate(0);opacity:1}45%,65%{transform:translate(-134px);opacity:.45}to{transform:translate(0);opacity:1}}@keyframes introFlow{0%{background-position:0% 0}to{background-position:200% 0}}@keyframes introFlowArrow{0%,to{transform:translate(0);opacity:.55}50%{transform:translate(4px);opacity:1}}@keyframes introFixIndent{0%,30%{transform:translate(-14px);border-color:#ef444466}55%,75%{transform:translate(0);border-color:#22c55e6b}to{transform:translate(-14px);border-color:#ef444466}}.legacy-reveal .slides>section,.legacy-reveal .slides>section>section{box-sizing:border-box;background:var(--surface);border:1px solid rgba(15,122,229,.14);border-radius:16px;box-shadow:0 10px 26px #1b435f14;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);height:100%;padding:24px 30px}.legacy-reveal .slides>section.stack{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.legacy-reveal .progress span{background:linear-gradient(90deg,#0f7ae5,#34d399)}.legacy-reveal .controls{color:#0f7ae5}@media(max-width:900px){.two-col{flex-wrap:wrap}.col{min-width:100%}.legacy-reveal pre code{font-size:.9rem;padding:14px;max-height:420px}.legacy-reveal h1{font-size:1.8em}.legacy-reveal h2{font-size:1.35em}.legacy-reveal .slides>section,.legacy-reveal .slides>section>section{padding:16px 18px}.table-wrap .ops-table{min-width:500px;font-size:.68em}.var-attach-scene{--tag-move-x: 124px;--tag-move-y: 66px;height:196px}.var-slot{width:250px;bottom:12px}.var-slot svg{height:110px}.var-slot-value{top:58px;font-size:.56em}.var-tag{width:146px;left:24px;top:14px}.var-tag svg{height:62px}.task-intro-scene{height:132px}.task-intro-scene .chip{font-size:.54em;padding:3px 9px}.task3-scene .c1{left:28px;top:48px}.task3-scene .c2{left:152px;top:38px}.task3-scene .c3{left:262px;top:52px}.task3-scene .track{left:20px;right:20px;bottom:36px}.task3-scene .formula{font-size:.5em;bottom:12px}.task4-scene .raw{left:14px;top:52px}.task4-scene .op{left:142px;top:58px;font-size:.5em}.task4-scene .clean{left:228px;top:52px}.task4-scene .caret{left:338px;top:56px}.task5-scene .slot{width:96px;height:30px;font-size:.5em}.task5-scene .s1{left:12px}.task5-scene .s2{left:116px}.task5-scene .s3{left:220px}.task5-scene .incoming{left:326px;top:24px;animation-name:introInsertMobile}.task6-scene .tuple-card{left:40px;top:48px;font-size:.66em}.task6-scene .lock-badge{left:212px;top:48px}.task6-scene .warn{left:84px;top:92px;font-size:.5em}.task7-scene .orb{width:60px;height:60px;font-size:.5em}.task7-scene .o1{left:88px;top:44px}.task7-scene .o2{left:168px;top:44px;animation-name:introMergeMobile}.task7-scene .o3{left:248px;top:44px}.task8-scene .p1{left:12px;top:46px}.task8-scene .p2{left:12px;top:84px}.task8-scene .dict-shell{right:12px;top:50px;font-size:.7em}.task9-scene .code-line{left:10px;width:340px;font-size:.5em}.task9-scene .l2{animation-name:introFixIndentMobile}}@keyframes introInsertMobile{0%,20%{transform:translate(0)}45%,70%{transform:translate(-314px,34px)}to{transform:translate(0)}}@keyframes introMergeMobile{0%,25%{transform:translate(0);opacity:1}45%,65%{transform:translate(-80px);opacity:.45}to{transform:translate(0);opacity:1}}@keyframes introFixIndentMobile{0%,30%{transform:translate(-10px);border-color:#ef444466}55%,75%{transform:translate(0);border-color:#22c55e6b}to{transform:translate(-10px);border-color:#ef444466}}.page.is-slide-deck>.core-goals-focus>.slide-card-body{display:grid;align-content:center;justify-items:center;gap:12px}.page.is-slide-deck>.core-goals-focus>.slide-card-body>:is(h3,p,ul,div){width:min(860px,100%)}.core-goals-focus h3{margin:0;text-align:center;font-size:clamp(1.38rem,2.35vw,1.9rem)}.core-goals-focus .core-goal-intro,.core-goals-focus .core-goal-subtitle{margin:0;text-align:center;color:#2e516c}.core-goals-focus .core-goal-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.core-goals-focus .core-goal-pillars article{padding:12px;border-radius:12px;border:1px solid rgba(15,122,229,.2);background:linear-gradient(180deg,#fffffff5,#f0f9ffe6);box-shadow:0 4px 12px #0f7ae514}.core-goals-focus .core-goal-pillars h4{margin:0;color:#0f7ae5;font-size:.9em}.core-goals-focus .core-goal-pillars p{margin:6px 0 0;font-size:.82em;color:#355a76}.core-goals-focus ul{margin:0;display:grid;gap:6px}.core-goals-focus .core-goal-check{margin:0;padding:10px 12px;border-radius:10px;border:1px solid rgba(22,163,74,.22);background:linear-gradient(90deg,#ecfdf5f2,#f0f9ffe6);color:#24557f;font-size:.86em;text-align:center}.page.is-slide-deck>.naming-focus>.slide-card-body{display:grid;align-content:center;justify-items:center;gap:12px}.page.is-slide-deck>.naming-focus>.slide-card-body>:is(h3,p,ul,pre,div){width:min(860px,100%)}.naming-focus h3{text-align:center;font-size:clamp(1.36rem,2.25vw,1.82rem)}.naming-focus .naming-lead,.naming-focus .naming-formula{margin:0;text-align:center}.naming-focus .naming-core{margin:0;padding:12px 14px;border-radius:12px;border:1px solid rgba(15,122,229,.18);background:linear-gradient(180deg,#fffffffa,#ebf7ffe0)}.naming-focus .naming-core h4{margin:0;color:#0f7ae5;font-size:.96em;text-align:center}.naming-focus .naming-core-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}.naming-focus .naming-core-list li{margin:0;padding:8px 10px;border-radius:10px;color:#274663;background:#ffffffd1;border:1px solid rgba(15,122,229,.14);font-size:.84em;line-height:1.52}.naming-focus .naming-contrast{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.naming-focus .naming-contrast article{margin:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(15,122,229,.16);background:#ffffffeb}.naming-focus .naming-contrast h5{margin:0;font-size:.84em}.naming-focus .naming-contrast p{margin:6px 0 0;font-size:.78em;color:#355a76}.naming-focus .naming-contrast article.bad h5{color:#b45309}.naming-focus .naming-contrast article.good h5{color:#0f766e}.naming-focus .naming-formula{color:#24557f;font-size:.95em}.naming-focus .naming-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.naming-focus .naming-rule-grid article{padding:12px;border-radius:12px;border:1px solid rgba(15,122,229,.2);background:linear-gradient(180deg,#fffffff5,#f0f9ffe6);box-shadow:0 4px 12px #0f7ae514}.naming-focus .naming-rule-grid h4{margin:0;color:#0f7ae5;font-size:.9em}.naming-focus .naming-rule-grid p{margin:6px 0 0;font-size:.82em;color:#355a76}.naming-focus ul{margin:0}@media(max-width:980px){.core-goals-focus .core-goal-pillars,.naming-focus .naming-rule-grid,.naming-focus .naming-contrast{grid-template-columns:1fr}}
