@font-face{font-family:Poppins;src:url(/fonts/poppins-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}html.book-document,body.sandbox-book{overflow-x:clip;overflow-y:visible}.sandbox-book{--book-paper:#faf9f6;--book-ink:#172d34;--book-muted:#55676d;--book-line:#dce4df;--book-teal:#076b61;--book-lime:#d9edab;--book-blue:#e6eefb;--book-orange:#f6d6b7;--book-violet:#eee8fa;margin:0;background:var(--book-paper);color:var(--book-ink);font:400 18px/1.85 Poppins,Arial,sans-serif;-webkit-font-smoothing:antialiased}.sandbox-book *{box-sizing:border-box;transition:none}.sandbox-book a{color:var(--book-teal);text-underline-offset:4px}.sandbox-book button,.sandbox-book input{font:inherit}.sandbox-book button{cursor:pointer}.sandbox-book :is(a,button,input,summary,pre,[tabindex]):focus-visible{outline:3px solid #b15b16;outline-offset:4px}.sandbox-book ::selection{background:#d9edab}.sandbox-book [hidden]{display:none!important}.sandbox-book h1,.sandbox-book h2,.sandbox-book h3{line-height:1.25;letter-spacing:-.035em}.sandbox-book h1{font-size:clamp(2.4rem,4.4vw,4.4rem);font-weight:600}.sandbox-book button{touch-action:manipulation}.book-skip{position:fixed;top:-100px;left:20px;z-index:100;background:#172d34;color:#fff!important;padding:12px 20px}.book-skip:focus{top:10px}.book-watermark{position:fixed;left:65%;top:58vh;transform:translate(-50%,-50%) rotate(-22deg);transform-origin:center;font-size:clamp(80px,12vw,190px);font-weight:700;line-height:1;letter-spacing:-.06em;color:#174b43;opacity:.035;pointer-events:none;z-index:-0;user-select:none}.book-topbar{height:78px;border-bottom:1px solid var(--book-line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 40px;background:#faf9f6;position:relative;z-index:2}.book-brand{font-size:22px;letter-spacing:-1px;font-weight:700;text-decoration:none;color:#172d34!important;white-space:nowrap}.book-brand span{color:var(--book-teal)}.book-top-label{font-size:11px;letter-spacing:2px;color:var(--book-muted)}.book-topbar nav{display:flex;gap:26px;font-size:13px}.book-topbar nav a{color:#344c51;text-decoration:none}.book-shell{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:1680px;margin:auto;position:relative}.book-sidebar{border-right:1px solid var(--book-line);height:calc(100vh - 90px);position:sticky;top:12px;padding:30px 20px 18px 28px;display:flex;flex-direction:column;background:#f0f3ed}.book-kicker{font-size:11px;letter-spacing:1.65px;font-weight:600;text-transform:uppercase;color:var(--book-teal)}.book-identity>a{display:block;font-size:28px;font-weight:600;line-height:1.16;letter-spacing:-1px;color:#203a3b;text-decoration:none;margin:13px 0 10px}.book-dot{color:#9a4b11}.book-identity p{font-size:13px;color:var(--book-muted);margin:0 0 24px}.book-menu{overflow:auto;scrollbar-width:thin;flex:1;margin:0 -10px;padding:0 10px}.book-menu>summary{display:none}.book-menu nav a{text-decoration:none}.book-overview{display:block;padding:9px 12px;color:#415b59!important;font-size:14px;border-radius:6px}.book-overview[aria-current=page]{background:var(--book-lime);font-weight:600}.book-nav-group{margin:23px 0 0}.book-nav-group h2{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#50655b;margin:0 0 8px;padding-left:12px;font-weight:600}.book-nav-group h2>span{color:#50655b;margin-right:6px}.book-nav-group ol{list-style:none;margin:0;padding:0}.book-nav-group a{display:flex;gap:11px;align-items:baseline;font-size:13px;line-height:1.6;color:#405353;padding:8px 10px;border-radius:5px;margin-bottom:2px;border-left:2px solid transparent;min-height:34px}.book-nav-group a:hover{background:#e4ebdf}.book-nav-group a[aria-current=page]{background:#dfecd7;color:#175743;border-left-color:#076b61;font-weight:600}.book-nav-number{font-family:ui-monospace,monospace;color:#50655b;font-size:12px;min-width:18px}.book-nav-check{margin-left:auto;font-weight:700;color:#076b61}.book-progress{border-top:1px solid #d4ded0;margin-top:20px;padding-top:18px}.book-progress>div{display:flex;justify-content:space-between;font-size:12px}.book-progress strong{font-weight:600}.book-progress progress{display:block;width:100%;height:5px;border:0;border-radius:9px;margin:12px 0;accent-color:#076b61;background:#dce5d6}.book-progress progress::-webkit-progress-bar{background:#dce5d6;border-radius:9px}.book-progress progress::-webkit-progress-value{background:#076b61;border-radius:9px}.book-progress p,.book-progress button{font-size:12px;line-height:1.5;color:#566c60}.book-progress button{padding:4px 0;border:0;background:none;text-decoration:underline}.book-main{min-width:0;padding:0 clamp(28px,4vw,72px) 25px;max-width:1350px}.book-edition{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--book-line);padding:26px 0 22px;font-size:11px;letter-spacing:1.6px;color:#50655b}.book-edition>span:last-child{letter-spacing:.3px}.book-lesson-hero{padding:51px 0 34px;max-width:1000px;border-bottom:1px solid var(--book-line);margin-bottom:34px}.book-lesson-hero .book-kicker span{color:#50655b;letter-spacing:.4px}.book-lesson-hero h1{margin:18px 0 20px;max-width:950px}.book-lead{font-size:clamp(18px,1.4vw,20px);line-height:1.8;color:#53686a;max-width:750px}.book-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.book-meta span{font-size:12px;padding:4px 10px;border-radius:4px;background:#e9eee5;color:#486047}.book-meta span:nth-child(2){background:var(--book-blue);color:#35567a}.book-meta span:nth-child(3){background:var(--book-violet);color:#665582}.book-lesson-grid{display:grid;grid-template-columns:minmax(0,790px) 170px;gap:38px;align-items:start}.book-prose{min-width:0;max-width:790px;font-size:18px;line-height:1.85}.book-prose>h2{font-size:25px;margin:45px 0 18px;scroll-margin-top:30px;font-weight:600}.book-prose>h2:first-child{margin-top:0}.book-prose h3{font-size:18px;margin:30px 0 12px}.book-prose p{margin:14px 0 20px}.book-prose li{margin:8px 0}.book-prose strong{font-weight:600}.book-prose :not(pre)>code{font:15px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;padding:3px 5px;background:#eaf0e7;border-radius:4px;overflow-wrap:anywhere;color:#225542}.book-prose pre{font:14px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto;max-width:100%;padding:28px 22px 24px;margin:20px 0;border:1px solid #dce4df;border-radius:9px;background:#24292e!important}.book-code{position:relative;margin:23px 0}.book-code pre{padding-top:46px;margin:0}.book-copy{position:absolute;right:10px;top:9px;font-size:12px!important;border:1px solid #c9d5c6;border-radius:5px;background:#fffefb;color:#395848;padding:5px 10px;line-height:1.5}.book-prose blockquote{border-left:3px solid #077b69;background:#edf4e6;margin:24px 0;padding:10px 22px;color:#315747;font-size:16px}.book-prose blockquote p{margin:8px 0}.book-prose details{border:1px solid #dcd8e7;background:#f7f4fb;border-radius:8px;padding:16px 20px;margin:12px 0;font-size:16px}.book-prose summary{cursor:pointer;font-weight:600;line-height:1.65;color:#51436a;padding-right:5px}.book-prose details p{margin-bottom:3px;color:#4d5261}.book-table{max-width:100%;overflow:auto}.book-prose table{border-collapse:collapse;width:100%;font-size:14px;margin:24px 0;line-height:1.7}.book-prose th,.book-prose td{padding:12px;text-align:left;border-bottom:1px solid #dce4df;vertical-align:top;min-width:120px}.book-prose th{background:#eaf0e5;color:#315c48;font-weight:600}.book-prose td{background:#fffefa}.book-prose hr{border:0;border-top:1px solid var(--book-line);margin:32px 0}.book-flow{margin:28px 0 38px;padding:22px 20px;background:#edf2e9;border:1px solid #dae4d4;border-radius:10px}.book-flow figcaption{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;font-weight:600;color:#46644a;margin-bottom:18px}.book-flow ol{display:flex;gap:22px;list-style:none;margin:0;padding:0;counter-reset:flow}.book-flow li{position:relative;flex:1;min-width:0;background:#fffefa;padding:12px;border:1px solid #d5dfcf;border-radius:5px;font-size:13px;line-height:1.65;margin:0;counter-increment:flow}.book-flow li:before{content:"0" counter(flow);display:block;font:12px ui-monospace,monospace;color:#50655b;margin-bottom:7px}.book-flow li:not(:last-child):after{content:"→";position:absolute;right:-18px;top:44%;font-size:15px;color:#50655b}.book-flow p{font-size:12px;color:#506047;line-height:1.6;margin:14px 0 0}.book-toc{position:sticky;top:30px;padding-top:4px}.book-toc summary{font-size:11px;font-weight:600;letter-spacing:1.4px;color:#50655b;list-style:none;margin-bottom:15px}.book-toc a{display:block;font-size:12px;line-height:1.7;text-decoration:none;color:#50655b;border-left:1px solid #d8e3d7;padding:6px 0 6px 14px}.book-toc a:hover{color:#076b61;border-color:#076b61}.book-completion{margin-top:40px;padding:27px;background:#e9f0df;border:1px solid #d4e1c3;border-radius:10px}.book-completion h2{font-size:22px;margin:12px 0}.book-completion p{font-size:16px}.book-fine{font-size:12px!important;line-height:1.65;color:#586f54;margin-bottom:0!important}.book-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:#096c60;color:#fff!important;padding:13px 20px;border:1px solid #096c60;border-radius:6px;font-size:14px!important;text-decoration:none;font-weight:600;line-height:1.6}.book-button:hover{background:#075348}.book-button.secondary{background:transparent;color:#076b61!important}.book-chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0 20px;border-top:1px solid var(--book-line);padding-top:25px}.book-chapter-nav a{display:block;text-decoration:none;color:#29484a;line-height:1.6}.book-chapter-nav a:last-child{text-align:right}.book-chapter-nav span{display:block;font-size:11px;letter-spacing:1.2px;color:#58766e;margin-bottom:8px}.book-chapter-nav strong{font-size:15px}.book-footer{border-top:1px solid var(--book-line);padding-top:20px;margin-top:44px;display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;font-size:12px;color:#50655b}.book-footer a{color:inherit}.book-footer button{font-size:12px;background:none;border:0;color:#466e61;text-decoration:underline}.book-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.book-hero{padding:55px 0 38px;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px;align-items:center}.book-hero h1{margin:18px 0 24px;line-height:1.11;letter-spacing:-.055em}.book-hero h1 em{font-style:normal;color:#097364}.book-hero .book-lead{font-size:18px;max-width:640px}.book-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 6px}.book-art{width:230px;height:auto;overflow:visible}.book-art text{font-family:Poppins,Arial,sans-serif}.book-hero-stats{display:flex;gap:32px;padding:22px 0 30px;border-bottom:1px solid var(--book-line);margin-bottom:35px}.book-hero-stats strong{display:block;font-size:25px;font-weight:600;line-height:1.4;letter-spacing:-1px;color:#254846}.book-hero-stats span{font-size:12px;color:#5b7269}.book-note{border-left:3px solid #c98435;background:#fbf0df;padding:18px 22px;margin:28px 0;font-size:15px;color:#765221;line-height:1.8}.book-note strong{display:block;font-weight:600;margin-bottom:5px}.book-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:44px 0 22px}.book-section-heading h2{font-size:27px;font-weight:600;margin:0}.book-section-heading p{font-size:14px;color:#61766b;margin:0}.book-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.book-part{border:1px solid #d8e4dc;border-radius:10px;overflow:hidden;background:#fffefa}.book-part header{padding:20px 23px;background:#e7eedf}.book-part:nth-child(2) header{background:var(--book-blue)}.book-part:nth-child(3) header{background:var(--book-violet)}.book-part:nth-child(4) header{background:var(--book-orange)}.book-part:nth-child(5) header{background:#dfefeb}.book-part header span{font-size:11px;letter-spacing:1.2px;color:#4d6258}.book-part h3{font-size:20px;font-weight:600;margin:7px 0 0}.book-part ol{list-style:none;margin:0;padding:7px 20px 12px}.book-part li+li{border-top:1px solid #e7ebe3}.book-part a{display:flex;align-items:baseline;gap:12px;text-decoration:none;color:#39534d;font-size:14px;padding:12px 0;line-height:1.65}.book-part a:hover{color:#087364}.book-part a span:first-child{font:12px ui-monospace,monospace;color:#50655b}.book-part a span:last-child:not(:first-child){margin-left:auto}.book-start-panel{background:#e8f0e3;padding:30px;border-radius:12px;margin:38px 0;display:grid;grid-template-columns:1fr 1fr;gap:28px;border:1px solid #d7e2d1}.book-start-panel h2{font-size:23px;margin:0 0 14px}.book-start-panel h3{font-size:17px;margin:0 0 10px}.book-start-panel p,.book-start-panel li{font-size:16px;line-height:1.85}.book-start-panel ul{padding-left:18px;margin:0}.book-supplement{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--book-line);padding:26px 0}.book-supplement h3{font-size:19px;margin:0 0 8px}.book-supplement p{font-size:15px;margin:0;color:#60766b}.book-interview-hero{padding:45px 0 15px}.book-interview-hero h1{margin:15px 0}.book-interview-hero .book-lead{max-width:780px}@media(min-width:1450px){.book-main{padding-left:70px;padding-right:65px}.book-lesson-grid{gap:48px}}@media(max-width:1250px){.book-shell{grid-template-columns:252px minmax(0,1fr)}.book-sidebar{padding-left:22px}.book-lesson-grid{grid-template-columns:minmax(0,1fr)}.book-toc{grid-row:1;position:static;padding:0 0 18px;border-bottom:1px solid var(--book-line)}.book-toc summary{margin-bottom:5px;cursor:pointer}.book-toc nav{display:flex;flex-wrap:wrap;gap:4px 15px}.book-toc a{font-size:12px;padding:3px 0;border:0}.book-hero{grid-template-columns:minmax(0,1fr) 165px}.book-art{width:165px}.book-main{padding-left:30px;padding-right:30px}}@media(max-width:1000px){.book-topbar{height:68px;padding:0 24px}.book-top-label{display:none}.book-shell{display:block}.book-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--book-line);padding:12px 24px;display:block}.book-identity{display:none}.book-menu{margin:0;padding:0;overflow:visible}.book-menu>summary{display:flex;justify-content:space-between;cursor:pointer;font-size:14px;font-weight:600;padding:8px 0}.book-menu nav{max-height:55vh;overflow:auto;padding:14px 4px 20px}.book-progress{margin:0;padding:10px 0 0}.book-progress>div{max-width:400px}.book-progress progress{max-width:400px;margin:7px 0}.book-progress p{margin:0}.book-progress button{margin-top:5px}.book-main{max-width:900px;margin:auto;padding:0 30px 25px}.book-edition{padding:19px 0}.book-hero{padding-top:35px;grid-template-columns:1fr 200px}.book-art{width:200px}.book-lesson-hero{padding-top:34px}.book-lesson-grid{gap:22px}.book-lesson-hero h1{font-size:clamp(34px,6vw,56px)}}@media(max-width:620px){.sandbox-book{font-size:17px}.book-topbar{padding:0 20px}.book-brand{font-size:20px}.book-topbar nav{gap:16px;font-size:12px}.book-sidebar{padding:10px 20px}.book-main{padding:0 20px 22px}.book-edition{font-size:10px;letter-spacing:.6px;gap:10px}.book-hero{display:block;padding:30px 0 15px;position:relative}.book-hero h1{font-size:43px;max-width:440px}.book-hero .book-lead{font-size:17px}.book-hero .book-art{display:none}.book-actions{gap:10px}.book-button{padding:12px 16px;font-size:14px!important}.book-hero-stats{gap:23px;margin-bottom:25px;padding-top:16px}.book-hero-stats strong{font-size:23px}.book-hero-stats span{font-size:11px}.book-section-heading{display:block;margin-top:30px}.book-section-heading h2{font-size:24px}.book-section-heading p{margin-top:8px}.book-path-grid{grid-template-columns:1fr}.book-part header{padding:16px 20px}.book-start-panel{display:block;padding:22px}.book-start-panel>div+div{margin-top:24px}.book-supplement{display:block}.book-supplement>a{margin-top:18px}.book-lesson-hero h1{font-size:34px;line-height:1.2}.book-lesson-hero .book-lead{font-size:17px}.book-lesson-hero{padding:30px 0 25px;margin-bottom:22px}.book-kicker{font-size:10px;letter-spacing:1px}.book-meta span{font-size:11px}.book-prose{font-size:17px;line-height:1.85}.book-prose>h2{font-size:23px;margin-top:34px}.book-prose pre{font-size:13px;padding-left:16px;padding-right:16px}.book-flow{padding:18px}.book-flow ol{display:flex;flex-direction:column;gap:18px}.book-flow li{font-size:13px}.book-flow li:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-22px}.book-prose details{padding:15px;font-size:16px}.book-completion{padding:21px}.book-completion h2{font-size:20px}.book-chapter-nav{gap:20px}.book-chapter-nav strong{font-size:14px}.book-footer{font-size:11px}.book-watermark{opacity:.025}.book-note{padding:16px 18px;font-size:14px}.book-toc nav{gap:3px 12px}}@media(prefers-reduced-motion:reduce){.sandbox-book *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.sandbox-book{font:11pt/1.65 Poppins,Arial,sans-serif;background:#fff;color:#000}.book-topbar,.book-sidebar,.book-toc,.book-edition,.book-copy,.book-completion,.book-chapter-nav,.book-footer,.book-actions,.book-announcement{display:none!important}.book-shell,.book-main,.book-lesson-grid{display:block!important;max-width:none;padding:0;margin:0}.book-watermark{position:fixed;opacity:.025;font-size:120px}.book-lesson-hero{padding:0 0 20px;margin:0 0 20px}.book-lesson-hero h1{font-size:30pt}.book-prose{max-width:none;font-size:10pt}.book-prose>h2{font-size:17pt;break-after:avoid}.book-prose p,.book-prose li{orphans:3;widows:3}.book-prose pre{white-space:pre-wrap;overflow-wrap:anywhere;overflow:visible;font-size:8pt;background:#fff!important;padding:14px}.book-prose details{break-inside:avoid;background:#fff}.book-flow{break-inside:avoid}.book-table{overflow:visible}.book-prose table{font-size:8pt}.book-prose td,.book-prose th{min-width:0}.book-hero{display:block;padding:0}.book-art{display:none}.book-path-grid{display:block}.book-part{margin-bottom:20px;break-inside:avoid}.book-start-panel{display:block}.book-button{display:none}@page{margin:18mm}}@media(max-width:620px){.book-watermark{font-size:74px;left:54%;top:56vh;opacity:.035}}@media print{.book-prose pre,.book-prose pre span{color:#111!important}}@media(max-width:620px){.book-prose :not(pre)>code{font-size:14px}.book-prose table{font-size:14px}.book-topbar nav{gap:12px}.book-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}}.book-hero{grid-template-columns:minmax(0,1fr) 350px;gap:32px}.sandbox-explainer{margin:0;min-width:0;border:1px solid #cfddce;background:#f1f4ec;border-radius:16px;padding:22px;box-shadow:0 16px 36px #183c2910}.sandbox-explainer figcaption strong{display:block;font-size:18px;line-height:1.4;margin:7px 0 14px;font-weight:600;letter-spacing:-.03em}.sandbox-modes{display:flex;gap:4px;background:#e0e8db;border-radius:8px;padding:4px;margin-bottom:16px}.sandbox-modes button{flex:1;padding:7px 4px;border:0;border-radius:5px;background:transparent;color:#344f45;font-size:12px}.sandbox-modes button[aria-pressed=true]{background:#fffefa;color:#075f50;box-shadow:0 2px 5px #173a2520;font-weight:600}.sandbox-host,.sandbox-gate{padding:12px 16px;border:1px solid #b9cdb7;border-radius:8px;background:#fffefa}.sandbox-label{display:block;font-size:10px;letter-spacing:.6px;font-weight:600;color:#435f4d}.sandbox-map strong{display:block;font-size:14px;line-height:1.5;font-weight:600}.sandbox-map small{display:block;font-size:12px;color:#42584d}.sandbox-connector{position:relative;text-align:center;line-height:23px;color:#376147;font-size:20px;height:23px}.sandbox-vm{background:#e0eecd;border:2px dashed #91ab7a;border-radius:12px;padding:12px}.sandbox-vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.sandbox-vm-grid>div{padding:10px 8px;background:#fffefa;border:1px solid #c2d2b4;border-radius:7px}.sandbox-vm-grid>div+div{background:#ece4f8;border-color:#c7badc}.sandbox-vm-grid>div>span{font-size:20px;color:#087064;line-height:1.3}.sandbox-vm>p{font-size:11px;line-height:1.5;color:#38513b;margin:12px 0 0}.sandbox-gate{background:#e4eef9;border-color:#afc3d8}.sandbox-mode-note{font-size:12px;line-height:1.7;color:#71501f;background:#f7e5ce;border-radius:6px;padding:10px 12px;margin:14px 0}.sandbox-tour p{font-size:12px;line-height:1.6;color:#345446;min-height:58px;margin:0 0 10px}.sandbox-tour>div{display:flex;gap:8px}.sandbox-tour button{font-size:12px;border:1px solid #adc2ad;color:#17533e;background:#fffefa;padding:8px 12px;border-radius:6px;min-height:40px}.sandbox-tour button:first-child{background:#086b5f;color:#fff;border-color:#086b5f}.sandbox-caption{font-size:11px;line-height:1.6;color:#455a4a;margin:14px 0 0}.sandbox-explainer[data-step="0"] [data-stage="0"],.sandbox-explainer[data-step="1"] [data-stage="1"],.sandbox-explainer[data-step="2"] [data-stage="2"],.sandbox-explainer[data-step="3"] [data-stage="3"]{outline:2px solid #0a7865;outline-offset:3px}@keyframes sandbox-travel{0%{transform:translateY(-5px)}to{transform:translateY(5px)}}.sandbox-explainer[data-playing=true] .sandbox-connector{animation:sandbox-travel 1.2s ease-in-out infinite alternate}@media(max-width:1350px){.book-hero{grid-template-columns:1fr}.sandbox-explainer{width:100%;max-width:540px}.sandbox-map{max-width:440px;margin:auto}.sandbox-tour p{min-height:0}.book-hero h1{font-size:clamp(40px,5vw,66px)}}@media(max-width:620px){.sandbox-explainer{margin-top:28px;padding:18px}.book-hero h1{font-size:42px}}@media(prefers-reduced-motion:reduce){.sandbox-explainer .sandbox-connector{animation:none!important}}@media print{.sandbox-modes,.sandbox-tour>div{display:none}.sandbox-explainer{box-shadow:none;break-inside:avoid}.sandbox-connector{animation:none!important}}.strands-book{--book-paper:#fffaf4;--book-ink:#302630;--book-muted:#695764;--book-line:#e4d6cd;--book-teal:#844126;--book-lime:#f8d8b8;--book-blue:#e4edf2;--book-orange:#f8d8b8;--book-violet:#e9ddf0;background:var(--book-paper);color:var(--book-ink)}.strands-book ::selection{background:#f5d0ac}.strands-book .book-topbar{background:#fffaf4}.strands-book .book-brand{color:#342837!important}.strands-book .book-watermark{color:#672f49}.strands-book .book-sidebar{background:#f4e9dd;border-color:#e4d6cd}.strands-book .book-identity>a{color:#432e3e}.strands-book .book-identity p,.strands-book .book-edition,.strands-book .book-lead{color:#695764}.strands-book .book-nav-group h2,.strands-book .book-nav-group h2>span,.strands-book .book-nav-number{color:#745a60}.strands-book .book-nav-group a{color:#54444e}.strands-book .book-nav-group a:hover{background:#eadacb}.strands-book .book-nav-group a[aria-current=page]{background:#f8d8b8;color:#71381f;border-left-color:#844126}.strands-book .book-overview{color:#654338!important}.strands-book .book-nav-check{color:#844126}.strands-book .book-progress{border-color:#d9c7bb}.strands-book .book-progress progress{accent-color:#844126}.strands-book .book-progress progress::-webkit-progress-value{background:#844126}.strands-book .book-progress progress::-webkit-progress-bar{background:#e5d7ca}.strands-book .book-progress p,.strands-book .book-progress button{color:#68545c}.strands-book .book-meta span:first-child{background:#f2e2d3;color:#704431}.strands-book .book-lesson-hero .book-kicker span{color:#695764}.strands-book .book-prose :not(pre)>code{background:#f3e5d8;color:#723b28}.strands-book .book-prose blockquote{background:#f4e8dd;border-left-color:#994e31}.strands-book .book-prose details{background:#f5ecf5;border-color:#ddcde1}.strands-book .book-prose details summary{color:#5c3964}.strands-book .book-button{background:#844126;border-color:#844126;color:#fffaf4}.strands-book .book-button.secondary{background:transparent;color:#71381f;border-color:#ba927c}.strands-book .book-completion{background:#f4e7d9;border-color:#dfc8b7}.strands-book .book-completion p,.strands-book .book-fine{color:#695764}.strands-book .book-copy{color:#603744;border-color:#cfb6c3}.strands-book .book-flow>div{background:#f8e6d3;border-color:#d8b9a2;color:#603c2d}.strands-book .book-flow>div:nth-child(2n){background:#eee3f1;border-color:#cdb6d6;color:#573960}.strands-book .book-flow>div small{color:#66515e}.strands-book .book-note{background:#f5e9db;border-color:#e1c9b3;color:#603f2d}.strands-book .book-note strong{color:#6b381f}.strands-book .book-part{background:#fffdf9}.strands-book .book-part:nth-child(2n){background:#f6eff8}.strands-book .book-part header{border-color:#e4d6cd}.strands-book .book-part header span,.strands-book .book-part ol a>span{color:#7e4933}.strands-book .book-start-panel{background:#f0e6f2}.strands-book .book-start-panel p,.strands-book .book-start-panel li{color:#5f4b62}.strands-book .book-hero-stats span,.strands-book .book-section-heading p,.strands-book .book-footer{color:#695764}.strands-book .book-hero h1 em{color:#844126}.strands-book .book-hero{grid-template-columns:minmax(0,1fr) 350px;gap:38px}.strands-book .book-hero h1{font-size:clamp(40px,4.2vw,64px)}.strands-explainer{margin:0;border:1px solid #d9c2b0;background:#f6e5d3;padding:24px;border-radius:18px;box-shadow:9px 9px #ece1ed}.strands-explainer figcaption>strong{display:block;font-size:25px;line-height:1.35;letter-spacing:-.04em;margin:9px 0 22px;color:#4c3448}.strands-loop{padding:0;list-style:none;display:grid;gap:10px;margin:0}.strands-loop li{display:flex;gap:12px;padding:12px;background:#fffcf6;border:1px solid #dbc7b9;border-radius:9px;align-items:center}.strands-loop li>span{font:13px ui-monospace,monospace;border:1px solid #d5bccb;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex:none;color:#714264}.strands-loop strong{display:block;font-size:13px;color:#493442}.strands-loop small{display:block;font-size:11px;color:#6f5863}.strands-explainer[data-loop-step="0"] [data-loop-node="0"],.strands-explainer[data-loop-step="1"] [data-loop-node="1"],.strands-explainer[data-loop-step="2"] [data-loop-node="2"],.strands-explainer[data-loop-step="3"] [data-loop-node="3"]{outline:2px solid #8a472c;outline-offset:2px;background:#fff3e3}.strands-loop-note{border-top:1px solid #d8bfac;margin-top:21px;padding-top:16px;min-height:132px;color:#563b4e}.strands-loop-note strong{font-size:13px}.strands-loop-note p{font-size:12px;line-height:1.7;margin:5px 0 12px}.strands-loop-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.strands-loop-controls button{font-size:12px;padding:10px 15px;border:1px solid #844126;background:#844126;color:#fff;border-radius:6px;min-height:42px}.strands-loop-controls span{font:12px ui-monospace,monospace;color:#6a475c}.strands-loop-caption{font-size:11px;line-height:1.7;color:#715647;margin:14px 0 0}.strands-book .book-version-card{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px;border:1px solid #dac9db;background:#f4edf5;border-radius:12px;margin:28px 0}.strands-book .book-version-card strong{display:block;font-size:15px;color:#50365b}.strands-book .book-version-card p{font-size:13px;line-height:1.8;color:#685268;margin:8px 0 0}@media(max-width:1350px){.strands-book .book-hero{grid-template-columns:1fr}.strands-explainer{max-width:540px}.strands-loop-note{min-height:0}}@media(max-width:620px){.strands-explainer{padding:20px;margin-top:20px}.strands-book .book-hero h1{font-size:42px}.strands-book .book-version-card{grid-template-columns:1fr}}@media print{.strands-book{background:#fff;color:#000}.strands-loop-controls{display:none}.strands-explainer{box-shadow:none;break-inside:avoid}.strands-book .book-prose blockquote,.strands-book .book-prose details{background:#fff}.strands-book .book-version-card{break-inside:avoid}}.strands-book .book-button.secondary{color:#71381f!important}.mcp-book{--book-paper:#fbf9ff;--book-ink:#2e273c;--book-muted:#635773;--book-line:#ded5e9;--book-teal:#65408b;--book-lime:#e5d7f4;--book-blue:#dfeef0;--book-orange:#e5d7f4;--book-violet:#f1e0e9;background:var(--book-paper);color:var(--book-ink)}.mcp-book ::selection{background:#dec7f2}.mcp-book .book-topbar{background:#fbf9ff}.mcp-book .book-brand{color:#30213f!important}.mcp-book .book-watermark{color:#65408b}.mcp-book .book-sidebar{background:#eee7f6;border-color:#ded5e9}.mcp-book .book-identity>a{color:#443157}.mcp-book .book-identity p,.mcp-book .book-edition,.mcp-book .book-lead{color:#635773}.mcp-book .book-nav-group h2,.mcp-book .book-nav-group h2>span,.mcp-book .book-nav-number{color:#634773}.mcp-book .book-nav-group a{color:#554261}.mcp-book .book-nav-group a:hover{background:#e4d9ef}.mcp-book .book-nav-group a[aria-current=page]{background:#e5d7f4;color:#583276;border-left-color:#65408b}.mcp-book .book-overview{color:#644576!important}.mcp-book .book-nav-check{color:#65408b}.mcp-book .book-progress{border-color:#d5c6e3}.mcp-book .book-progress progress{accent-color:#65408b}.mcp-book .book-progress progress::-webkit-progress-value{background:#65408b}.mcp-book .book-progress progress::-webkit-progress-bar{background:#e2d7ed}.mcp-book .book-progress p,.mcp-book .book-progress button{color:#665073}.mcp-book .book-meta span:first-child{background:#e9def4;color:#62427e}.mcp-book .book-lesson-hero .book-kicker span{color:#635773}.mcp-book .book-prose :not(pre)>code{background:#ede3f5;color:#61347e}.mcp-book .book-prose blockquote{background:#eee5f7;border-left-color:#764998}.mcp-book .book-prose details{background:#f0eaf7;border-color:#d8c9e6}.mcp-book .book-prose details summary{color:#59346f}.mcp-book .book-button{background:#65408b;border-color:#65408b;color:#fbf9ff}.mcp-book .book-button.secondary{background:transparent;color:#583276;border-color:#aa8cbe}.mcp-book .book-completion{background:#ece0f7;border-color:#d5bfe6}.mcp-book .book-completion p,.mcp-book .book-fine{color:#635773}.mcp-book .book-copy{color:#553668;border-color:#c9b2da}.mcp-book .book-flow>div{background:#eaddf5;border-color:#cbb2df;color:#533468}.mcp-book .book-flow>div:nth-child(2n){background:#e4edf5;border-color:#bbcedf;color:#35566c}.mcp-book .book-flow>div small{color:#5c4d6b}.mcp-book .book-note{background:#eee4f8;border-color:#d9c5e9;color:#523665}.mcp-book .book-note strong{color:#5b3378}.mcp-book .book-part{background:#fefcff}.mcp-book .book-part:nth-child(2n){background:#f2ecfa}.mcp-book .book-part header{border-color:#ded5e9}.mcp-book .book-part header span,.mcp-book .book-part ol a>span{color:#694286}.mcp-book .book-start-panel{background:#e6edf7}.mcp-book .book-start-panel p,.mcp-book .book-start-panel li{color:#455c74}.mcp-book .book-hero-stats span,.mcp-book .book-section-heading p,.mcp-book .book-footer{color:#635773}.mcp-book .book-hero h1 em{color:#65408b}.mcp-book .book-hero{grid-template-columns:minmax(0,1fr) 350px;gap:38px}.mcp-book .book-hero h1{font-size:clamp(40px,4.2vw,64px)}.kubernetes-book{--book-paper:#f7fbff;--book-ink:#243645;--book-muted:#506878;--book-line:#cddfe9;--book-teal:#2d6089;--book-lime:#d4e9f8;--book-blue:#e2ece3;--book-orange:#d4e9f8;--book-violet:#e8e2f5;background:var(--book-paper);color:var(--book-ink)}.kubernetes-book ::selection{background:#c4e2f6}.kubernetes-book .book-topbar{background:#f7fbff}.kubernetes-book .book-brand{color:#21384b!important}.kubernetes-book .book-watermark{color:#2d6089}.kubernetes-book .book-sidebar{background:#e4eff6;border-color:#cddfe9}.kubernetes-book .book-identity>a{color:#294a62}.kubernetes-book .book-identity p,.kubernetes-book .book-edition,.kubernetes-book .book-lead{color:#506878}.kubernetes-book .book-nav-group h2,.kubernetes-book .book-nav-group h2>span,.kubernetes-book .book-nav-number{color:#3d5b72}.kubernetes-book .book-nav-group a{color:#3f5d72}.kubernetes-book .book-nav-group a:hover{background:#d5e6f2}.kubernetes-book .book-nav-group a[aria-current=page]{background:#d4e9f8;color:#26567c;border-left-color:#2d6089}.kubernetes-book .book-overview{color:#355a76!important}.kubernetes-book .book-nav-check{color:#2d6089}.kubernetes-book .book-progress{border-color:#bfd5e5}.kubernetes-book .book-progress progress{accent-color:#2d6089}.kubernetes-book .book-progress progress::-webkit-progress-value{background:#2d6089}.kubernetes-book .book-progress progress::-webkit-progress-bar{background:#d3e3ed}.kubernetes-book .book-progress p,.kubernetes-book .book-progress button{color:#4d687b}.kubernetes-book .book-meta span:first-child{background:#dcebf5;color:#325b79}.kubernetes-book .book-lesson-hero .book-kicker span{color:#506878}.kubernetes-book .book-prose :not(pre)>code{background:#e0edf6;color:#2f5879}.kubernetes-book .book-prose blockquote{background:#e5eff7;border-left-color:#3d769e}.kubernetes-book .book-prose details{background:#eaf1f8;border-color:#c7d9e7}.kubernetes-book .book-prose details summary{color:#315c7a}.kubernetes-book .book-button{background:#2d6089;border-color:#2d6089;color:#f7fbff}.kubernetes-book .book-button.secondary{background:transparent;color:#26567c;border-color:#8bafc7}.kubernetes-book .book-completion{background:#deedf7;border-color:#bdd5e6}.kubernetes-book .book-completion p,.kubernetes-book .book-fine{color:#506878}.kubernetes-book .book-copy{color:#2c536e;border-color:#b4cede}.kubernetes-book .book-flow>div{background:#dcecf8;border-color:#aecde2;color:#2b526f}.kubernetes-book .book-flow>div:nth-child(2n){background:#ebe6f5;border-color:#cfc0df;color:#59416f}.kubernetes-book .book-flow>div small{color:#50667c}.kubernetes-book .book-note{background:#e3eff8;border-color:#bad4e7;color:#2e5470}.kubernetes-book .book-note strong{color:#285b80}.kubernetes-book .book-part{background:#fcfeff}.kubernetes-book .book-part:nth-child(2n){background:#edf5fb}.kubernetes-book .book-part header{border-color:#cddfe9}.kubernetes-book .book-part header span,.kubernetes-book .book-part ol a>span{color:#356589}.kubernetes-book .book-start-panel{background:#e8eef8}.kubernetes-book .book-start-panel p,.kubernetes-book .book-start-panel li{color:#4b607b}.kubernetes-book .book-hero-stats span,.kubernetes-book .book-section-heading p,.kubernetes-book .book-footer{color:#506878}.kubernetes-book .book-hero h1 em{color:#2d6089}.kubernetes-book .book-hero{grid-template-columns:minmax(0,1fr) 350px;gap:38px}.kubernetes-book .book-hero h1{font-size:clamp(40px,4.2vw,64px)}.protocol-explainer{border:1px solid var(--book-line);border-radius:16px;background:var(--book-violet);padding:25px;box-shadow:8px 8px 0 var(--book-blue)}.protocol-explainer img{width:46px;height:46px;object-fit:contain;margin-bottom:18px}.protocol-explainer>h2{font-size:25px;line-height:1.35;letter-spacing:-.04em;margin:8px 0 20px}.protocol-explainer details{border:1px solid var(--book-line);border-radius:8px;background:var(--book-paper);margin:9px 0;padding:13px}.protocol-explainer summary{font-size:14px;font-weight:600;cursor:pointer}.protocol-explainer details p{font-size:12px;line-height:1.8;margin:10px 0 0;color:var(--book-muted)}.protocol-explainer>p{font-size:11px;line-height:1.8;color:var(--book-muted)}.protocol-version{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:25px;border:1px solid var(--book-line);border-radius:12px;background:var(--book-blue);margin:30px 0}.protocol-version strong{font-size:15px}.protocol-version p{font-size:13px;line-height:1.8;color:var(--book-muted);margin:10px 0 0}.mcp-book .book-button.secondary,.kubernetes-book .book-button.secondary{color:var(--book-teal)!important}@media(max-width:1350px){.mcp-book .book-hero,.kubernetes-book .book-hero{grid-template-columns:1fr}.protocol-explainer{max-width:560px}}@media(max-width:620px){.protocol-version{grid-template-columns:1fr}.protocol-explainer{padding:20px}}@media print{.protocol-explainer{box-shadow:none}.protocol-version{break-inside:avoid}}:is(.strands-book,.mcp-book,.kubernetes-book) .book-flow:has(>div){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:mechanism;background:var(--book-blue);border-color:var(--book-line)}:is(.strands-book,.mcp-book,.kubernetes-book) .book-flow>div{position:relative;min-width:0;padding:14px 12px;border-width:1px;border-style:solid;border-radius:7px;font-size:13px;line-height:1.65;counter-increment:mechanism}:is(.strands-book,.mcp-book,.kubernetes-book) .book-flow>div:before{content:"0" counter(mechanism);display:block;font:12px ui-monospace,monospace;margin-bottom:8px;color:inherit}:is(.strands-book,.mcp-book,.kubernetes-book) .book-flow>div:not(:last-child):after{content:"→";position:absolute;right:-19px;top:43%;color:var(--book-muted)}@media(max-width:1100px){:is(.strands-book,.mcp-book,.kubernetes-book) .book-flow:has(>div){grid-template-columns:1fr;gap:22px}:is(.strands-book,.mcp-book,.kubernetes-book) .book-flow>div:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-23px}}
