/* Scoped pilot design: only the lab setup lesson. */
.lesson-page{--lesson-accent:#6ba5ff;--lesson-soft:rgba(96,165,250,.09);--lesson-border:#29364e;--lesson-surface:#101b2e;--lesson-muted:#a6b4ca;--lesson-text:#f1f5fc;color:var(--lesson-text)}
.lesson-page.light-mode{--lesson-accent:#1d55c4;--lesson-soft:#edf3ff;--lesson-border:#dce4ef;--lesson-surface:#fff;--lesson-muted:#52647d;--lesson-text:#14243c;background:#f7f9fc}
.lesson-page .lesson-shell{width:calc(100% - 64px);max-width:1180px;margin-inline:auto}.lesson-page a{transition:background .15s,border-color .15s,color .15s}.lesson-page :is(a,button,input,summary,pre):focus-visible{outline:3px solid var(--lesson-accent);outline-offset:4px}.lesson-skip{position:fixed;top:-100px;left:16px;z-index:10001;background:var(--lesson-surface);padding:12px 20px}.lesson-skip:focus{top:10px}
.lesson-hero{padding:104px 0 44px;border-bottom:1px solid var(--lesson-border);background:radial-gradient(ellipse at 85% 40%,var(--lesson-soft),transparent 65%)}.lesson-breadcrumb{display:flex;gap:12px;align-items:center;font-size:.82rem;color:var(--lesson-muted);margin-bottom:36px}.lesson-breadcrumb a{color:var(--lesson-accent);text-decoration:none}.lesson-page .lesson-eyebrow{font-size:.68rem;font-weight:800;letter-spacing:1.8px;color:var(--lesson-accent);margin:0 0 10px}.lesson-eyebrow span{margin:0 8px}.lesson-hero h1{font-size:clamp(2.4rem,4.5vw,3.7rem);letter-spacing:-2px;line-height:1.09;font-weight:780;margin:0 0 22px}.lesson-hero h1 span{color:var(--lesson-accent)}.lesson-intro{max-width:610px;color:var(--lesson-muted);font-size:1.06rem;line-height:1.8;margin-bottom:24px}.lesson-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.lesson-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:9px;font-size:.86rem;font-weight:650;min-height:46px;padding:11px 18px;white-space:normal;text-align:left}.lesson-page .btn-primary{background:#2463df;border-color:#2463df;color:#fff;box-shadow:0 3px 8px #1245a219}.lesson-page .btn-primary:hover{background:#184cb7;border-color:#184cb7}.lesson-page .lesson-btn-secondary{background:var(--lesson-surface);border:1px solid var(--lesson-border);color:var(--lesson-text)}.lesson-page .lesson-btn-secondary:hover{border-color:var(--lesson-accent);background:var(--lesson-soft)}.lesson-page .lesson-meta{font-size:.76rem;color:var(--lesson-muted);margin:20px 0 0}.lesson-meta span{margin:0 8px}.hero-network{padding:27px 20px;border:1px solid var(--lesson-border);border-radius:16px;background:var(--lesson-surface);box-shadow:0 15px 45px #0b23400a}.network-title{font-size:.6rem;letter-spacing:1.5px;font-weight:800;color:var(--lesson-muted)}.network-line{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:28px 0}.network-line>div{display:grid;text-align:center;gap:10px;font-size:.73rem}.network-line i{font-size:1.35rem;color:var(--lesson-accent)}.network-line>span{color:var(--lesson-accent)}.network-subnet{border-top:1px solid var(--lesson-border);padding-top:16px;text-align:center;font-size:.65rem;color:var(--lesson-muted)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#24a57a;margin-right:5px}
.lesson-page .lesson-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:60px;padding:48px 0 72px!important;min-height:0}.lesson-toc{position:sticky;top:100px}.lesson-toc>a{display:flex;gap:12px;font-size:.8rem;color:var(--lesson-muted);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--lesson-border)}.lesson-toc>a:hover,.lesson-toc>a[aria-current]{color:var(--lesson-accent)}.lesson-toc>a span{font-family:monospace;font-size:.7rem;opacity:.8}.toc-note{padding-top:24px;color:var(--lesson-muted);font-size:.77rem;line-height:1.8}.toc-note i{color:var(--lesson-accent);margin-bottom:10px}.lesson-body{min-width:0;max-width:820px}.lesson-page .lesson-section{scroll-margin-top:100px;margin:0 0 44px;padding-bottom:40px;border-bottom:1px solid var(--lesson-border)}.section-heading{display:flex;gap:16px;align-items:center;margin-bottom:20px}.step-index{display:grid;place-items:center;min-width:42px;height:42px;background:var(--lesson-soft);border:1px solid var(--lesson-border);border-radius:11px;font-size:.82rem;font-weight:750;color:var(--lesson-accent)}.section-heading .lesson-eyebrow{margin-bottom:4px}.lesson-page h2{font-size:1.55rem;letter-spacing:-.5px;font-weight:750;margin:0;border:0;padding:0;text-align:left;line-height:1.3;background:none}.lesson-page h3{font-size:1.1rem;font-weight:700;margin:26px 0 12px}.lesson-body p{font-size:.93rem;line-height:1.85;color:var(--lesson-muted);margin-bottom:16px}.lesson-body strong{color:var(--lesson-text)}.lesson-page code{color:var(--lesson-accent);font-size:.88em;background:var(--lesson-soft);padding:3px 6px;border-radius:4px}.resource-button{width:100%;justify-content:flex-start!important}.link-meta{margin-left:auto;font-size:.7rem;color:var(--lesson-muted)}.setup-steps{list-style:none;counter-reset:setup;padding:0;margin:28px 0 12px}.setup-steps li{counter-increment:setup;position:relative;padding:0 0 14px 40px}.setup-steps li:before{content:counter(setup);position:absolute;left:0;top:0;width:26px;height:26px;background:var(--lesson-soft);border-radius:50%;display:grid;place-items:center;color:var(--lesson-accent);font-size:.75rem;font-weight:700}.setup-steps p{margin:4px 0 0;font-size:.88rem}.address-card{background:var(--lesson-surface);border:1px solid var(--lesson-border);border-radius:12px;padding:20px}.device-label{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;margin-bottom:16px}.device-label i{color:var(--lesson-accent)}.address-card dl{margin:0;display:grid;grid-template-columns:auto auto;gap:8px 10px;align-items:center}.address-card dt{font-size:.7rem;font-weight:500;color:var(--lesson-muted)}.address-card dd{margin:0;text-align:right}.address-card code{font-size:.77rem}.lesson-note{border-left:3px solid var(--lesson-accent);border-radius:0 8px 8px 0;background:var(--lesson-soft);padding:16px 20px;margin:22px 0}.lesson-note strong{font-size:.88rem}.lesson-note p{font-size:.86rem;margin:5px 0 0}.lesson-body .lesson-small{font-size:.78rem}.prompt-list{border:1px solid var(--lesson-border);border-radius:12px;overflow:hidden;margin:24px 0;background:var(--lesson-surface)}.prompt-list>div{display:grid;grid-template-columns:185px 1fr;gap:20px;padding:18px 20px;border-bottom:1px solid var(--lesson-border);align-items:center}.prompt-list>div:last-child{border:0}.prompt-list>div>code{font-size:.78rem;width:fit-content}.prompt-list strong{font-size:.85rem}.prompt-list p{font-size:.8rem;margin:4px 0 0;line-height:1.6}.lesson-terminal{margin:20px 0;border:1px solid #30435c;border-radius:12px;overflow:hidden;background:#0d1728;color:#e0ebff}.lesson-terminal figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#18263a;border-bottom:1px solid #30435c;color:#c3d2e8;font-size:.72rem}.terminal-dot{display:inline-block;width:7px;height:7px;background:#6ed9ba;border-radius:50%;margin-right:9px}.lesson-page .copy-command{border:1px solid #536881;background:transparent;color:#e3edff;border-radius:6px;padding:7px 10px;font-size:.7rem;min-height:34px;flex-shrink:0}.copy-command:hover{background:#30435c}.lesson-terminal pre{margin:0;padding:24px 20px;overflow:auto;line-height:1.9;font-size:.82rem;white-space:pre;tab-size:2}.lesson-terminal pre code{color:#f1f5ff;background:transparent;padding:0;font-size:inherit}.cli-prompt{color:#78b5ff}.cli-output{color:#a3b4cc}.lesson-terminal .terminal-caption{padding:10px 18px;margin:0;border-top:1px solid #26374d;background:#101d30;color:#a3b4cc;font-size:.67rem;line-height:1.7}.command-tips{display:flex;flex-wrap:wrap;gap:12px 24px}.command-tips p{display:flex;align-items:center;gap:10px;font-size:.75rem;margin-bottom:0}.experiment-list{padding-left:22px;font-size:.89rem;line-height:1.85;color:var(--lesson-muted)}.experiment-list li{padding-left:6px;margin-bottom:12px}.answer-reveal,.source-details{border:1px solid var(--lesson-border);border-radius:10px;background:var(--lesson-surface)}.answer-reveal summary,.source-details summary{cursor:pointer;font-size:.85rem;font-weight:650;padding:18px 20px;color:var(--lesson-text)}.answer-reveal summary span{float:right}.answer-reveal[open] summary span{transform:rotate(45deg)}.answer-reveal>div{padding:0 20px 5px}.lesson-page .quiz-panel{padding:28px;border:1px solid var(--lesson-border);border-radius:14px;background:var(--lesson-soft)}.quiz-panel h2{margin-bottom:22px}.quiz-panel legend{font-size:.93rem;font-weight:600;margin-bottom:16px}.quiz-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--lesson-border);border-radius:9px;background:var(--lesson-surface);margin-bottom:10px;font-size:.86rem;cursor:pointer}.quiz-option:has(input:checked){border-color:var(--lesson-accent);box-shadow:0 0 0 1px var(--lesson-accent)}.quiz-option input{accent-color:#2463df;width:17px;height:17px;flex-shrink:0}.quiz-panel .btn{margin-top:10px}.quiz-feedback:empty{display:none}.quiz-panel .quiz-feedback{margin:18px 0 0;color:var(--lesson-text);font-size:.86rem}.lesson-resource-card{display:flex;flex-direction:column;gap:12px;height:100%;border:1px solid var(--lesson-border);border-radius:12px;background:var(--lesson-surface);padding:22px;text-decoration:none;color:var(--lesson-muted);font-size:.82rem}.lesson-resource-card:hover{background:var(--lesson-soft);border-color:var(--lesson-accent)}.resource-type{color:var(--lesson-accent);font-size:.6rem;font-weight:800;letter-spacing:1.3px}.lesson-resource-card strong{font-size:.94rem;display:flex;justify-content:space-between;gap:12px}.source-details{margin-top:28px}.source-details>p,.source-details>.lesson-actions{margin:0 20px 20px}.source-details .btn{font-size:.75rem;min-height:42px}.lesson-page .completion-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:28px;border:1px solid var(--lesson-border);background:var(--lesson-surface);border-radius:14px;margin:0 0 28px}.completion-panel h2{font-size:1.3rem}.completion-panel p{font-size:.84rem;max-width:430px;margin:10px 0 0}.completion-panel [data-progress-message]{flex-basis:100%;margin:0;font-size:.78rem}.completion-panel [data-progress-message]:empty{display:none}.completion-panel button[aria-pressed=true]{background:#146947;border-color:#146947}.lesson-pagination{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lesson-pagination a{display:flex;flex-direction:column;gap:8px;padding:18px 0;text-decoration:none;color:var(--lesson-text)}.lesson-pagination a:last-child{text-align:right}.lesson-pagination span{font-size:.63rem;color:var(--lesson-accent);letter-spacing:1px;font-weight:750}.lesson-pagination strong{font-size:.85rem}.lesson-pagination a:hover strong{text-decoration:underline}
@media(max-width:991px){.lesson-page .lesson-layout{grid-template-columns:1fr;gap:28px}.lesson-toc{position:static;display:flex;flex-wrap:wrap;gap:8px}.lesson-toc .lesson-eyebrow{width:100%}.lesson-toc>a{padding:8px 12px;border:1px solid var(--lesson-border);border-radius:7px}.toc-note{display:none}.lesson-body{max-width:none}.hero-network{max-width:440px}.lesson-hero{padding-bottom:32px}}
@media(max-width:575px){.lesson-page .lesson-shell{width:calc(100% - 32px)}.lesson-hero{padding-top:92px}.lesson-breadcrumb{margin-bottom:26px}.lesson-hero h1{letter-spacing:-1px}.lesson-intro{font-size:.94rem}.lesson-page .lesson-layout{padding-top:28px!important}.lesson-page h2{font-size:1.3rem}.lesson-page .lesson-section{padding-bottom:28px;margin-bottom:30px}.lesson-toc>a{font-size:.72rem;gap:8px}.prompt-list>div{grid-template-columns:1fr;gap:9px;padding:16px}.lesson-page .quiz-panel,.lesson-page .completion-panel{padding:20px}.lesson-terminal figcaption{padding:10px 12px;font-size:.65rem}.lesson-terminal pre{padding:18px 14px;font-size:.73rem}.lesson-meta span{margin:0 4px}.lesson-pagination{gap:16px}.lesson-pagination strong{font-size:.77rem}.resource-button{flex-wrap:wrap}.link-meta{margin-left:0}.lesson-page .lesson-actions .btn{flex-grow:1}.section-heading{gap:12px}}
@media(prefers-reduced-motion:reduce){.lesson-page *{transition:none!important;scroll-behavior:auto!important}}
