.copy-announcer[data-astro-cid-wvb54dzf]{clip:rect(0 0 0 0);width:1px;height:1px;position:fixed;overflow:hidden}.lesson-page{--lesson-border:#dcd2e9}.lesson-cover{border-bottom:1px solid var(--lesson-border);padding-block:clamp(64px,9vw,112px) 54px}.breadcrumbs{color:var(--color-muted);flex-wrap:wrap;gap:8px;margin-bottom:42px;font-size:.88rem;display:flex}.breadcrumbs a{text-underline-offset:4px;text-decoration-thickness:1px}.lesson-cover h1{text-wrap:balance;max-width:930px;margin:16px 0 20px;font-size:clamp(3rem,6.6vw,6.5rem);line-height:1.02}.lesson-cover>p:not(.eyebrow){max-width:760px;color:var(--color-muted);margin:0;font-size:1.18rem}.lesson-meta{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.lesson-meta span{color:var(--color-violet-deep);background:var(--color-lavender-soft);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);padding:5px 11px;font-size:.78rem;font-weight:700}.lesson-shell{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:clamp(36px,6vw,88px);padding-block:64px 40px;display:grid}.lesson-sidebar{position:sticky;top:100px}.lesson-toc details{border-top:2px solid var(--color-violet-deep);border-bottom:1px solid var(--lesson-border)}.lesson-toc summary{cursor:pointer;min-height:48px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:700;display:flex}.lesson-toc ol{gap:4px;margin:0;padding:0 0 18px;list-style:none;display:grid}.lesson-toc a{color:var(--color-muted);border-left:2px solid #0000;padding:7px 10px;font-size:.84rem;line-height:1.45;text-decoration:none;display:block}.lesson-toc a[aria-current=true]{color:var(--color-violet-deep);background:var(--color-lavender-soft);border-color:var(--color-violet)}.lesson-content{min-width:0}.legacy-course{width:100%}.legacy-course>.hero{display:none}.legacy-course .section,.legacy-course .sources{border-bottom:1px solid var(--lesson-border);padding-block:58px}.legacy-course .section:first-of-type{padding-top:0}.legacy-course h2[id],.legacy-course h3[id]{scroll-margin-top:104px}.section-head{grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);align-items:end;gap:26px;margin-bottom:32px;display:grid}.section-kicker,.box-label,.card-label,.example-head>span,.callout>span{font-family:var(--font-mono);color:var(--color-violet-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}.section-head h2,.sources h2,.action-panel h2{font-family:var(--font-display-zh);letter-spacing:-.035em;margin:8px 0 0;font-size:clamp(2.15rem,4.3vw,4rem);line-height:1.08}.section-intro{color:var(--color-muted);margin:0;font-size:.97rem}.blocks{gap:28px;display:grid}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.card-grid.columns-4,.workflow{grid-template-columns:repeat(4,minmax(0,1fr))}.info-card,.workflow article{background:var(--color-white);border-top:2px solid var(--color-violet);border-bottom:1px solid var(--lesson-border);min-width:0;box-shadow:var(--shadow-soft);padding:22px}.info-card:nth-child(2n),.workflow article:nth-child(2n){background:var(--color-lavender-soft)}.info-card h3,.workflow h3{font-family:var(--font-display-zh);margin:9px 0 8px;font-size:1.25rem;line-height:1.35}.info-card p,.workflow p{color:var(--color-muted);margin:0;font-size:.9rem}.workflow{gap:12px;display:grid}.workflow article>span{font-family:var(--font-mono);color:var(--color-violet-strong);font-size:1.7rem;display:block}.steps{border-top:1px solid var(--lesson-border);margin:0;padding:0;list-style:none;display:grid}.steps li{border-bottom:1px solid var(--lesson-border);grid-template-columns:56px minmax(0,1fr);gap:20px;padding:22px 0;display:grid}.step-no{font-family:var(--font-mono);color:var(--color-violet-strong);font-size:.82rem}.steps h3{font-family:var(--font-display-zh);margin:0 0 5px;font-size:1.23rem}.steps p{color:var(--color-muted);margin:0}.check-panel,.review-box,.action-panel{background:var(--color-lavender-soft);border-left:3px solid var(--color-violet);padding:28px}.check-panel h3,.review-box h2{font-family:var(--font-display-zh);margin:0 0 14px;font-size:1.42rem}.check-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.check-list li{padding-left:26px;position:relative}.check-list li:before{content:"✓";color:var(--color-violet-strong);font-weight:800;position:absolute;left:0}.practice,.inline-lesson-prompt{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);align-items:stretch;gap:20px;display:grid}.prompt-box{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#f8f5fb;overflow:hidden}.prompt-box>h2,.prompt-box>h3{font-family:var(--font-display-zh);margin:22px 24px 0}.box-head{background:var(--color-white);border-bottom:1px solid var(--lesson-border);justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:10px 14px 10px 22px;display:flex}.copy-button{color:#fff;background:var(--color-violet-strong);border-radius:var(--radius-sm);cursor:pointer;border:0;min-height:40px;padding:7px 13px;font-weight:750}.copy-button[data-state=success]{color:var(--color-violet-deep);background:var(--color-mint)}.copy-button[data-state=error]{color:#6c2234;background:var(--color-rose)}.prompt-box pre,.code-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#2c2438;border-top:1px solid var(--lesson-border);max-height:580px;font-family:var(--font-mono);background:#f3eef8;margin:18px 0 0;padding:24px;font-size:.82rem;line-height:1.7;overflow:auto}.example{border:1px solid var(--lesson-border);overflow:hidden}.example-head{background:var(--color-lavender-soft);border-bottom:1px solid var(--lesson-border);justify-content:space-between;align-items:baseline;gap:20px;padding:20px 24px;display:flex}.example-head h3{font-family:var(--font-display-zh);margin:0;font-size:1.4rem}.example dl{margin:0}.example dl>div{border-bottom:1px solid var(--lesson-border);grid-template-columns:100px minmax(0,1fr);gap:20px;padding:16px 24px;display:grid}.example dl>div:last-child{border-bottom:0}.example dt{font-weight:750}.example dd{color:var(--color-muted);margin:0}.callout{background:var(--color-mint);border:1px solid #c0dace;grid-template-columns:120px minmax(0,1fr);gap:22px;padding:24px;display:grid}.callout.risk{background:var(--color-rose);border-color:#e0bfc8}.callout.note{background:var(--color-amber);border-color:#dbd1b3}.callout h3{font-family:var(--font-display-zh);margin:0 0 6px}.callout p{margin:0}.table-wrap{border:1px solid var(--lesson-border);background-color:#0000;background-image:linear-gradient(90deg,#fff 30%,#fff0),linear-gradient(270deg,#fff 30%,#fff0);background-position:0,100%;background-repeat:no-repeat;background-size:30px 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;max-width:100%;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:660px}.table-wrap th,.table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid var(--lesson-border);padding:13px 16px}.table-wrap th{color:var(--color-violet-deep);background:var(--color-lavender-soft);font-size:.85rem;position:sticky;top:0}.table-wrap tr:last-child td{border-bottom:0}.pitfalls{gap:12px;display:grid}.pitfall{background:var(--color-white);border-left:3px solid var(--color-rose);border-bottom:1px solid var(--lesson-border);padding:20px 22px}.pitfall h3,.pitfall p{margin-block:0 6px}.source-list{gap:14px;padding-left:20px;display:grid}.source-list small{color:var(--color-muted);overflow-wrap:anywhere;display:block}.lesson-end{padding-block:20px 96px}.updated{color:var(--color-muted);justify-content:space-between;gap:20px;margin:0 0 30px;font-size:.85rem;display:flex}.lesson-navigation{border-top:1px solid var(--lesson-border);border-bottom:1px solid var(--lesson-border);grid-template-columns:1fr 1fr;display:grid}.lesson-nav{align-content:center;gap:6px;min-height:126px;padding:22px 26px;text-decoration:none;display:grid}.lesson-nav+.lesson-nav{border-left:1px solid var(--lesson-border)}.lesson-nav span{color:var(--color-violet-strong);font-family:var(--font-mono);letter-spacing:.08em;font-size:.72rem}.lesson-nav strong{font-family:var(--font-display-zh);font-size:1.2rem}.lesson-nav.next{text-align:right}.lesson-nav.planned{color:var(--color-muted);background:var(--color-surface)}@media (hover:hover){.lesson-nav[href]:hover{background:var(--color-lavender-soft)}}@media (width<=1050px){.lesson-shell{grid-template-columns:1fr}.lesson-sidebar{position:static}.lesson-toc details:not([open]) ol{display:none}.card-grid.columns-4,.workflow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.lesson-cover{padding-top:54px}.lesson-cover h1{font-size:clamp(2.7rem,13vw,4rem)}.section-head,.practice,.inline-lesson-prompt{grid-template-columns:1fr}.legacy-course .section,.legacy-course .sources{padding-block:46px}.card-grid,.card-grid.columns-4,.workflow{grid-template-columns:1fr}.callout{grid-template-columns:1fr;gap:7px}.lesson-navigation{grid-template-columns:1fr}.lesson-nav+.lesson-nav{border-left:0;border-top:1px solid var(--lesson-border)}.lesson-nav.next{text-align:left}.updated{display:block}}@media (width<=420px){.box-head{flex-direction:column;align-items:flex-start}.copy-button{width:100%}.prompt-box pre{padding:18px;font-size:.75rem}.example-head{flex-direction:column;align-items:flex-start}.example dl>div{grid-template-columns:1fr;gap:4px}}
