/* Scope every rule to the additive workshops; preserve the published course design. */
.dw-index,.dw-workshop{color:var(--text);max-width:1240px;margin:auto}.dw-index>p,.dw-workshop header>p{max-width:850px;font-size:15px;line-height:1.9}.dw-index h1{max-width:820px;font-size:44px}.dw-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}.dw-cards>a{display:block;padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}.dw-cards>a:hover{border-color:var(--purple)}.dw-cards>a>span{font-family:monospace;color:var(--muted);font-size:12px}.dw-cards h2{font-size:25px;margin:17px 0}.dw-cards p{font-size:13px}.dw-cards small{color:var(--purple);font-size:11px}.dw-boundary{border-top:1px solid var(--line);padding-top:24px;color:var(--muted)}.dw-workshop>header{margin:26px 0}.dw-workshop>header h1{font-size:39px;max-width:980px}.dw-prerequisites{font-size:12px;color:var(--muted);line-height:1.8}.dw-workshop>nav{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:25px 0;overflow:auto;white-space:nowrap}.dw-workshop>nav>a{display:block;font-size:12px;padding:10px 0 15px;border-bottom:2px solid transparent;color:var(--muted)}.dw-workshop>nav>a[aria-current]{border-color:var(--purple);color:var(--purple)}.dw-reading{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:36px}.dw-step{padding:32px 0;border-bottom:1px solid var(--line);outline:none;scroll-margin-top:20px}.dw-step h2{font-size:28px}.dw-step p{font-size:15px;line-height:1.95}.dw-worked{padding:23px;background:var(--surface-2);border-left:3px solid var(--teal,#237c7d);border-radius:0 8px 8px 0;margin:23px 0}.dw-worked strong{font-size:12px}.dw-worked p{font-size:13px;margin:10px 0 0}.dw-step details,.dw-phase-reading details{padding:18px 0}.dw-step summary,.dw-phase-reading summary{cursor:pointer;font-size:13px;line-height:1.8;font-weight:600}.dw-step details p{padding:17px;background:var(--mint);font-size:13px;margin-top:15px}.dw-outline{position:sticky;top:24px;align-self:start;background:var(--surface);padding:21px;border:1px solid var(--line);border-radius:9px}.dw-outline button{display:block;width:100%;background:none;color:var(--text);text-align:left;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.7}.dw-outline button>span{color:var(--muted);font-family:monospace;margin-right:8px}.dw-outline>a{display:block;margin-top:19px;font-size:11px}.dw-predict{background:var(--lavender);padding:24px;border-radius:9px}.dw-predict p{font-size:14px;color:var(--text);margin:0;line-height:1.9}.dw-reading>div>section:not(.dw-step){padding-top:30px}.dw-reading pre{font-size:12px;max-height:690px;overflow:auto}.dw-sources a{display:block;margin:12px 0;font-size:13px}.dw-footer{border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.dw-footer strong{font-size:12px}.dw-footer p{font-size:12px;max-width:900px;margin-top:12px}.dw-footer[data-storage=unavailable]:before{content:'Browser storage is unavailable; export your code to preserve this draft.';display:block;padding:14px;background:var(--lavender);font-size:12px}.dw-model{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.dw-model>header{padding:23px;border-bottom:1px solid var(--line)}.dw-model>header p{font-size:12px;margin:0}.dw-model-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px}.dw-scroll{overflow:auto}.dw-scroll>svg{width:100%;min-width:590px;height:auto;display:block;aspect-ratio:2/1}.dw-scroll svg text{fill:var(--text);font:16px system-ui}.dw-scroll svg .title{font-size:19px;font-weight:500}.dw-scroll svg .small{font-size:13px}.dw-scroll svg .mono{font:14px monospace}.dw-scroll svg rect,.dw-scroll svg path{fill:var(--surface-2);stroke:var(--line);stroke-width:1.5}.dw-scroll svg line{stroke:var(--muted);stroke-width:1.5}.dw-scroll svg .teal{fill:var(--mint);stroke:#70a999}.dw-scroll svg .violet{fill:var(--lavender);stroke:#9aadd9}.dw-scroll svg .amber{fill:#f6eadb;stroke:#c6a579}.dw-controls{padding:21px;border-left:1px solid var(--line);min-width:0}.dw-controls>label{display:block;font-size:12px;color:var(--muted);margin-bottom:23px}.dw-controls input:not([type=checkbox]),.dw-controls select{display:block;width:100%;margin-top:10px;font-size:12px;min-width:0}.dw-controls input[type=range]{accent-color:var(--purple)}.dw-controls output{font-family:monospace;float:right}.dw-controls .dw-toggle{display:flex;gap:9px;align-items:center}.dw-controls button{display:block;width:100%;padding:12px;margin:10px 0;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:12px}.dw-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding:20px;gap:14px}.dw-metrics span{display:block;color:var(--muted);font-size:11px;min-height:32px}.dw-metrics output{display:block;word-break:break-word;font-size:24px;line-height:1.3}.dw-result{padding:19px 21px;margin:0!important;border-top:1px solid var(--line);font-size:12px;line-height:1.9}.dw-phase-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px;border-top:1px solid var(--line);background:var(--surface-2)}.dw-phase-nav>span{font-family:monospace;font-size:11px;color:var(--muted)}.dw-phase-reading{padding:29px}.dw-phase-reading p{font-size:14px;line-height:1.95}.dw-phase-example{background:var(--surface-2);padding:19px;border-radius:7px}.dw-model>details{padding:20px 29px;border-top:1px solid var(--line);font-size:12px}.dw-model>details>summary{cursor:pointer}.dw-quiz{max-width:850px;border:1px solid var(--line);border-radius:10px;padding:29px;background:var(--surface)}.dw-quiz label{display:flex;gap:12px;align-items:flex-start;padding:17px;margin:10px 0;border:1px solid var(--line);border-radius:7px;font-size:14px}.dw-quiz input{flex-shrink:0;margin-top:5px}.dw-quiz legend{font-size:12px;color:var(--muted)}.dw-feedback:not(:empty){padding:22px;background:var(--mint);margin-top:22px;border-radius:7px;font-size:13px}.dw-feedback p{margin:9px 0 0}.dw-transfer{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}.dw-transfer p{font-size:14px}.dw-workshop button:focus-visible,.dw-workshop a:focus-visible,.dw-index a:focus-visible{outline:3px solid var(--purple);outline-offset:4px}:root[data-theme=dark] .dw-scroll svg .amber{fill:#463a2b;stroke:#987747}@media(max-width:1100px){.dw-reading{grid-template-columns:1fr}.dw-outline{position:static;order:-1}.dw-outline button{padding:10px 0}.dw-model-grid{grid-template-columns:1fr}.dw-controls{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.dw-controls>label{margin-bottom:13px}.dw-controls button{margin:0;align-self:end}.dw-cards h2{font-size:23px}}@media(max-width:680px){.dw-index h1,.dw-workshop>header h1{font-size:32px}.dw-index>p,.dw-workshop header>p{font-size:13px}.dw-cards{grid-template-columns:1fr}.dw-cards>a{padding:23px}.dw-reading{gap:22px}.dw-step h2{font-size:26px}.dw-step p{font-size:14px}.dw-worked{padding:20px}.dw-worked p{font-size:12px}.dw-phase-nav{padding:15px;gap:7px}.dw-phase-nav button{font-size:10px;padding:10px}.dw-phase-nav>span{font-size:9px}.dw-metrics{gap:9px;padding:17px}.dw-metrics span{font-size:9px}.dw-metrics output{font-size:21px}.dw-phase-reading{padding:23px}.dw-phase-reading h2{font-size:26px}.dw-phase-reading p{font-size:13px}.dw-quiz{padding:23px}.dw-quiz h2{font-size:26px}.dw-quiz label{font-size:13px;padding:15px}.dw-workshop>nav{gap:22px}.dw-workshop>nav>a{font-size:11px}.dw-sources a{font-size:12px}.dw-controls{padding:19px;gap:18px}.dw-model>details{padding:20px}.dw-predict{padding:21px}.dw-predict p{font-size:13px}}@media(prefers-reduced-motion:reduce){.dw-workshop *{scroll-behavior:auto!important}}

.dw-inline-model{border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:30px 0;overflow:hidden}.dw-inline-heading{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.dw-inline-heading .eyebrow{margin:0;font-size:8px}.dw-inline-model figcaption{font-size:12px;line-height:1.9;padding:18px 20px;border-top:1px solid var(--line);color:var(--muted)}.dw-inline-model>a{display:block;padding:0 20px 20px;font-size:12px}@media(max-width:680px){.dw-inline-heading{flex-direction:column;align-items:stretch}.dw-inline-heading .small{font-size:11px}.dw-inline-model figcaption{font-size:11px}}

.dw-practice-cases article{padding:23px;margin:18px 0;background:var(--surface);border:1px solid var(--line);border-radius:8px}.dw-practice-cases h3{font-size:21px}.dw-practice-cases p{font-size:13px;line-height:1.9}.dw-practice-cases summary{cursor:pointer;font-size:12px;color:var(--purple)}
