.w0{--w0-ink:var(--color-text,#182128);--w0-bg:var(--color-bg,#fafafa);--w0-accent:#087f72;--w0-secondary:#7961c7;--w0-muted:color-mix(in srgb, var(--w0-ink) 72%, var(--w0-bg));--w0-line:color-mix(in srgb, var(--w0-ink) 17%, var(--w0-bg));--w0-tint:color-mix(in srgb, var(--w0-accent) 7%, var(--w0-bg));color:var(--w0-ink);isolation:isolate;width:100%;max-width:1120px;margin-inline:auto;padding:clamp(20px,4vw,56px) clamp(16px,3vw,36px);line-height:1.75}.w0 *,.w0 :before,.w0 :after{box-sizing:border-box}.w0 h1,.w0 h2,.w0 h3,.w0 p,.w0 figure{margin:0}.w0 h1{letter-spacing:-.04em;text-wrap:balance;margin-block:18px 22px;font-size:clamp(30px,4.2vw,52px);line-height:1.14}.w0 h2{letter-spacing:-.025em;margin-block:10px 18px;font-size:clamp(23px,2.6vw,30px);line-height:1.25}.w0 h3{margin-block:8px 14px;font-size:clamp(21px,2.4vw,27px);line-height:1.3}.w0 p+p{margin-top:16px}.w0 p{color:var(--w0-muted)}.w0 strong{color:var(--w0-ink)}.w0 .w0-eyebrow{letter-spacing:.13em;color:var(--w0-accent);font:700 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.w0 .w0-hero{grid-template-columns:1.3fr 1fr;align-items:center;gap:24px;padding-block:12px 40px;display:grid;position:relative}.w0 .w0-hero:before{content:"";background:radial-gradient(ellipse, var(--w0-tint), transparent 70%);z-index:-1;pointer-events:none;position:absolute;inset:-20px 0 0 40%}.w0 .w0-hero p{max-width:58ch;font-size:18px}.w0 .w0-jump{color:var(--w0-accent);text-underline-offset:5px;align-items:center;gap:18px;margin-top:24px;font-weight:650;display:inline-flex}.w0 .w0-jump span{transition:transform .2s}.w0 .w0-jump:hover span{transform:translateY(4px)}.w0 svg{width:100%;height:auto;display:block;overflow:visible}.w0 svg text{fill:var(--w0-muted);font:12px system-ui,sans-serif}.w0 .w0-wire{stroke:var(--w0-accent);stroke-width:1.5px;stroke-dasharray:6 8;opacity:.45;animation:6s linear infinite w0-signal}.w0 .w0-neuron{fill:var(--w0-bg);stroke:var(--w0-accent);stroke-width:1.7px}.w0 .w0-neuron-1{fill:var(--w0-tint)}.w0 .w0-neuron-2{stroke:var(--w0-secondary)}.w0 .w0-callout{border-left:3px solid var(--w0-accent);background:var(--w0-tint);border-radius:0 12px 12px 0;margin-block:16px 28px;padding:24px 28px}.w0 .w0-callout>strong{margin-bottom:7px;font-size:18px;display:block}.w0 .w0-topic{border-top:1px solid var(--w0-line);grid-template-columns:1.05fr 1fr;align-items:start;gap:clamp(24px,4vw,52px);padding-block:42px;display:grid}.w0 .w0-topic-copy,.w0 .w0-code,.w0 .w0-lab-grid>*{min-width:0}.w0 .w0-tip{border-left:2px solid var(--w0-line);padding-left:14px;font-size:14px}.w0 p code{background:var(--w0-tint);overflow-wrap:anywhere;border-radius:4px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.87em}.w0 .w0-code{color:#d6ebe6;background:#14232b;border:1px solid #2c4149;border-radius:14px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 12px 28px #0000000a}.w0 .w0-code-label{letter-spacing:.12em;color:#9bb8b8;border-bottom:1px solid #2c4149;padding:12px 20px;font:10px ui-monospace,monospace;display:block}.w0 .w0-code pre{color:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:20px;font-size:13px;line-height:1.85;overflow-x:auto}.w0 .w0-code code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:inherit;color:inherit;white-space:pre;background:0 0;padding:0}.w0 .w0-lab{border:1px solid var(--w0-line);background:var(--w0-tint);border-radius:18px;margin-bottom:40px;padding:clamp(20px,3vw,32px)}.w0 .w0-lab-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.w0 .w0-lab-grid{grid-template-columns:1fr 1fr;align-items:center;gap:30px;display:grid}.w0 button{appearance:none;border:1px solid var(--w0-accent);background:var(--w0-accent);color:#fff;cursor:pointer;border-radius:8px;min-height:44px;padding:11px 16px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;transition:transform .2s,box-shadow .2s}.w0 button:disabled{opacity:.55;cursor:default}.w0 .w0-secondary{color:var(--w0-ink);background:var(--w0-bg);border-color:var(--w0-line)}.w0 :is(button,a,input,summary):focus-visible{outline:3px solid var(--w0-secondary);outline-offset:5px}.w0 .w0-slider{margin-top:20px;font-size:14px;display:block}.w0 .w0-slider>span{justify-content:space-between;gap:12px;display:flex}.w0 output{font-variant-numeric:tabular-nums;font-weight:700}.w0 input[type=range]{width:100%;accent-color:var(--w0-accent);cursor:pointer;min-height:30px;margin:6px 0 0}.w0 .w0-result{margin-top:16px;font-size:15px}.w0 .w0-axis{fill:none;stroke:var(--w0-line);stroke-width:1.5px}.w0 .w0-curve{fill:none;stroke:var(--w0-accent);stroke-width:3px}.w0 .w0-point{fill:var(--w0-secondary);stroke:var(--w0-bg);stroke-width:2px}.w0 figcaption{text-align:center;color:var(--w0-muted);margin-top:8px;font-size:12px}.w0 .w0-formula{background:var(--w0-bg);border:1px solid var(--w0-line);overflow-wrap:anywhere;border-radius:9px;margin-block:18px;padding:16px 18px;font:14px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace}.w0 .w0-small{color:var(--w0-muted);font-size:13px}.w0 .w0-legend{gap:22px;margin-top:18px;font-size:13px;display:flex}.w0 .w0-legend span:last-child{color:var(--w0-secondary)}.w0 .w0-boundary{fill:none;stroke:var(--w0-accent);stroke-width:2px;stroke-dasharray:7 6}.w0 .w0-class-zero{fill:var(--w0-bg);stroke:var(--w0-accent);stroke-width:3px}.w0 .w0-class-one{fill:var(--w0-secondary);stroke:var(--w0-bg);stroke-width:2px}.w0 .w0-sample{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.w0 .w0-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;display:grid}.w0 .w0-stats>div{border-left:2px solid var(--w0-line);padding-left:14px}.w0 .w0-stats span{color:var(--w0-muted);font-size:12px;display:block}.w0 .w0-stats strong{font-variant-numeric:tabular-nums;font-size:clamp(18px,2.5vw,25px);display:block}.w0 .w0-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.w0 .w0-review{margin-block:52px 40px}.w0 .w0-review>p{margin-bottom:24px}.w0 details{border-top:1px solid var(--w0-line)}.w0 details:last-child{border-bottom:1px solid var(--w0-line)}.w0 summary{cursor:pointer;padding:20px 8px;font-weight:600}.w0 .w0-question-number{color:var(--w0-accent);margin-right:16px;font:12px ui-monospace,monospace;display:inline-block}.w0 details p{max-width:82ch;padding:0 24px 22px 42px}.w0 details[open]{background:var(--w0-tint)}.w0 .w0-back{color:var(--w0-accent);text-underline-offset:5px;margin-top:12px;display:inline-block}.w0 [id]{scroll-margin-top:90px}@keyframes w0-signal{to{stroke-dashoffset:-84px}}@media (hover:hover){.w0 .w0-code:hover{transform:translateY(-3px);box-shadow:0 18px 32px #00000012}.w0 button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 14px #00000015}}@media (max-width:760px){.w0 .w0-hero,.w0 .w0-topic,.w0 .w0-lab-grid{grid-template-columns:1fr}.w0 .w0-network{max-width:400px;margin-inline:auto}.w0 .w0-topic{gap:22px;padding-block:30px}.w0 .w0-stats{grid-template-columns:repeat(2,1fr)}.w0 .w0-callout{padding:20px}.w0 .w0-hero{padding-bottom:18px}}[data-theme=dark] .w0,.dark .w0{--w0-accent:#57c5b5;--w0-secondary:#b8a4f7}[data-theme=dark] .w0 button,.dark .w0 button{color:#102722}[data-theme=dark] .w0 .w0-secondary,.dark .w0 .w0-secondary{color:var(--w0-ink)}@media (prefers-reduced-motion:reduce){.w0 *,.w0 :before,.w0 :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.w1{--w1-ink:var(--color-text,#19242b);--w1-bg:var(--color-bg,#fafafa);--w1-accent:#0a776d;--w1-purple:#7353b6;--w1-orange:#b85b22;--w1-muted:color-mix(in srgb, var(--w1-ink) 73%, var(--w1-bg));--w1-line:color-mix(in srgb, var(--w1-ink) 17%, var(--w1-bg));--w1-tint:color-mix(in srgb, var(--w1-accent) 6%, var(--w1-bg));color:var(--w1-ink);isolation:isolate;width:100%;max-width:1120px;margin-inline:auto;padding:clamp(22px,4vw,56px) clamp(16px,3vw,36px);line-height:1.75}.w1 *,.w1 :before,.w1 :after{box-sizing:border-box}.w1 h1,.w1 h2,.w1 h3,.w1 p,.w1 figure{margin:0}.w1 h1{letter-spacing:-.04em;text-wrap:balance;max-width:22ch;margin-block:18px 24px;font-size:clamp(30px,4.4vw,54px);line-height:1.13}.w1 h2{letter-spacing:-.025em;margin-block:10px 20px;font-size:clamp(23px,2.6vw,31px);line-height:1.25}.w1 h3{margin-block:9px 18px;font-size:clamp(21px,2.3vw,27px);line-height:1.3}.w1 p{color:var(--w1-muted)}.w1 p+p{margin-top:16px}.w1 strong{color:var(--w1-ink)}.w1 .w1-eyebrow{color:var(--w1-accent);letter-spacing:.12em;font:700 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.w1 .w1-hero{padding-block:12px 28px;position:relative}.w1 .w1-hero:before{content:"";z-index:-1;background:radial-gradient(ellipse, var(--w1-tint), transparent 70%);pointer-events:none;position:absolute;inset:-20px 0 0 30%}.w1 .w1-hero>p{max-width:76ch;font-size:18px}.w1 .w1-navigation{flex-wrap:wrap;gap:12px 26px;margin-top:24px;display:flex}.w1 a{color:var(--w1-accent);text-underline-offset:5px}.w1 .w1-navigation a{padding-block:5px;font-size:14px;font-weight:650}.w1 .w1-hero-equation{color:var(--w1-accent);overflow-wrap:anywhere;letter-spacing:-.045em;padding:30px 0 12px;font:500 clamp(21px,3.8vw,42px)/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.w1 .w1-hero-equation span{color:var(--w1-muted)}.w1 .w1-callout{background:var(--w1-tint);border-left:3px solid var(--w1-accent);border-radius:0 12px 12px 0;margin-block:16px 32px;padding:24px 28px}.w1 .w1-callout>strong{margin-bottom:7px;font-size:18px;display:block}.w1 .w1-topic{border-top:1px solid var(--w1-line);padding-block:38px}.w1 .w1-topic-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(24px,4vw,48px);display:grid}.w1 .w1-topic-grid>*,.w1 .w1-lab-grid>*{min-width:0}.w1 .w1-check{border-left:2px solid var(--w1-line);margin-top:22px;padding-left:15px;font-size:14px}.w1 .w1-check strong{margin-bottom:5px;display:block}.w1 p code{background:var(--w1-tint);overflow-wrap:anywhere;border-radius:4px;padding:3px 5px;font-size:.86em}.w1 .w1-code{color:#d7e9e5;background:#14232b;border:1px solid #31454e;border-radius:14px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 12px 28px #00000009}.w1 .w1-code-heading{letter-spacing:.08em;color:#a1bdbf;border-bottom:1px solid #31454e;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:13px 19px;font:10px/1.5 ui-monospace,monospace;display:flex}.w1 .w1-code pre{color:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:20px;font-size:13px;line-height:1.85;overflow-x:auto}.w1 .w1-code code{font:inherit;color:inherit;white-space:pre;background:0 0;padding:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.w1 .w1-lab{border:1px solid var(--w1-line);background:var(--w1-tint);border-radius:17px;margin-top:30px;padding:clamp(20px,3vw,32px)}.w1 .w1-lab-grid{grid-template-columns:1fr 1fr;align-items:center;gap:30px;display:grid}.w1 .w1-slider{margin-top:21px;font-size:14px;display:block}.w1 .w1-slider>span{justify-content:space-between;gap:12px;display:flex}.w1 output{font-variant-numeric:tabular-nums;font-weight:700}.w1 input[type=range]{width:100%;min-height:32px;accent-color:var(--w1-accent);cursor:pointer;margin:5px 0 0;display:block}.w1 .w1-formula{border:1px solid var(--w1-line);background:var(--w1-bg);overflow-wrap:anywhere;border-radius:9px;margin-block:20px;padding:16px 18px;font:14px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace}.w1 button{appearance:none;border:1px solid var(--w1-accent);color:var(--w1-bg);background:var(--w1-accent);cursor:pointer;border-radius:8px;min-height:44px;padding:11px 16px;font:600 13px/1.4 system-ui,sans-serif;transition:transform .2s,box-shadow .2s}.w1 button:disabled{opacity:.5;cursor:default}.w1 .w1-secondary{background:var(--w1-bg);color:var(--w1-ink);border-color:var(--w1-line)}.w1 :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--w1-purple);outline-offset:5px}.w1 .w1-toolbar,.w1 .w1-actions{flex-wrap:wrap;align-items:center;gap:14px 20px;margin-block:22px;display:flex}.w1 .w1-phase-buttons,.w1 .w1-rate-buttons{flex-wrap:wrap;gap:8px;display:flex}.w1 button[aria-pressed=false]{background:var(--w1-bg);color:var(--w1-ink);border-color:var(--w1-line)}.w1 .w1-small{color:var(--w1-muted);font-size:13px}.w1 .w1-phase-description{min-height:3.5em}.w1 svg{width:100%;height:auto;display:block}.w1 svg text{fill:var(--w1-muted);font:12px system-ui,sans-serif}.w1 figcaption{text-align:center;color:var(--w1-muted);margin-top:8px;font-size:12px}.w1 .w1-axis{fill:none;stroke:var(--w1-line);stroke-width:1.5px}.w1 .w1-curve{fill:none;stroke:var(--w1-accent);stroke-width:3px}.w1 .w1-guide{stroke:var(--w1-muted);stroke-width:1px;stroke-dasharray:4 4;opacity:.65}.w1 .w1-dot{fill:var(--w1-purple);stroke:var(--w1-bg);stroke-width:2px}.w1 .w1-graph{margin-block:24px}.w1 .w1-node{fill:var(--w1-bg);stroke:var(--w1-line);stroke-width:1.5px}.w1 .w1-node-value{fill:var(--w1-ink);font-size:16px;font-weight:650}.w1 .w1-flow-line{stroke:var(--w1-accent);stroke-width:2px;stroke-dasharray:5 5;animation:2s linear infinite w1-forward-flow}.w1 .w1-arrow{fill:none;stroke:var(--w1-accent);stroke-width:2px}.w1 .w1-graph-backward .w1-flow-line{stroke:var(--w1-purple);animation-direction:reverse}.w1 .w1-graph-backward .w1-arrow{stroke:var(--w1-purple)}.w1 .w1-graph-update .w1-flow-line{animation:none}.w1 .w1-graph-update .w1-node{stroke:var(--w1-accent)}.w1 .w1-table-scroll{margin-block:20px;overflow-x:auto}.w1 table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.w1 th,.w1 td{border-bottom:1px solid var(--w1-line);vertical-align:top;padding:13px 16px}.w1 th{color:var(--w1-ink);font-weight:600}.w1 thead th{background:var(--w1-bg);font-size:12px}.w1 td{color:var(--w1-muted)}.w1 caption{text-align:left;color:var(--w1-muted);padding-bottom:14px;font-size:13px}.w1 .w1-preview{border-left:3px solid var(--w1-accent);padding-left:14px}.w1 .w1-status{margin-top:-8px}.w1 .w1-loss-chart{margin-top:25px}.w1 .w1-loss-line{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity .2s}.w1 .w1-run-0{stroke:var(--w1-purple)}.w1 .w1-run-1{stroke:var(--w1-accent)}.w1 .w1-run-2{stroke:var(--w1-orange)}.w1 .w1-gridline{stroke:var(--w1-line);stroke-width:1px}.w1 .w1-selected-row{background:color-mix(in srgb, var(--w1-accent) 8%, var(--w1-bg))}.w1 .w1-metrics{grid-template-columns:repeat(3,1fr);gap:20px;margin-block:24px;display:grid}.w1 .w1-metrics>div{border-left:2px solid var(--w1-line);min-width:0;padding-left:14px}.w1 .w1-metrics span{color:var(--w1-muted);font-size:12px;display:block}.w1 .w1-metrics strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(17px,2.3vw,25px);display:block}.w1 .w1-selects{flex-wrap:wrap;gap:18px;margin-top:20px;display:flex}.w1 .w1-selects label{gap:7px;min-width:140px;font-size:13px;display:grid}.w1 select{font:inherit;color:var(--w1-ink);background:var(--w1-bg);border:1px solid var(--w1-line);border-radius:7px;min-height:44px;padding:10px}.w1 .w1-scaling,.w1 .w1-review{margin-block:50px}.w1 .w1-review>p{margin-bottom:22px}.w1 .w1-detail{border-top:1px solid var(--w1-line)}.w1 .w1-detail:last-child{border-bottom:1px solid var(--w1-line)}.w1 .w1-detail summary{cursor:pointer;padding:20px 8px;font-weight:600}.w1 .w1-detail p{max-width:86ch;padding:0 24px 22px}.w1 .w1-detail[open]{background:var(--w1-tint)}.w1 .w1-question-number{color:var(--w1-accent);margin-right:14px;font:12px ui-monospace,monospace}.w1 .w1-scaling .w1-detail{margin-top:24px}.w1 .w1-exercise{border:1px solid var(--w1-line);border-radius:14px;padding:clamp(20px,3vw,32px)}.w1 .w1-exercise ol{color:var(--w1-muted);margin:0;padding-left:24px}.w1 .w1-exercise li{margin-block:13px;padding-left:8px}.w1 .w1-exercise li::marker{color:var(--w1-accent);font-weight:700}.w1 .w1-source{font-size:13px}.w1 .w1-back{margin-top:24px;display:inline-block}.w1 [id]{scroll-margin-top:90px}.w1 .w1-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes w1-forward-flow{to{stroke-dashoffset:-30px}}@media (hover:hover){.w1 .w1-code:hover{transform:translateY(-3px);box-shadow:0 18px 30px #00000012}.w1 button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 14px #00000012}}@media (max-width:760px){.w1 .w1-topic-grid,.w1 .w1-lab-grid{grid-template-columns:1fr;gap:24px}.w1 .w1-graph{overflow-x:auto}.w1 .w1-graph svg{min-width:600px}.w1 .w1-topic{padding-block:30px}.w1 .w1-callout{padding:20px}.w1 .w1-metrics{grid-template-columns:1fr;gap:16px}.w1 .w1-phase-description{min-height:0}.w1 .w1-loss-chart{overflow-x:auto}.w1 .w1-loss-chart svg{min-width:480px}}[data-theme=dark] .w1,.dark .w1{--w1-accent:#66cbbd;--w1-purple:#b4a1ef;--w1-orange:#efad78}@media (prefers-reduced-motion:reduce){.w1 *,.w1 :before,.w1 :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.w2{--w2-ink:var(--color-text,#19242b);--w2-bg:var(--color-bg,#fafafa);--w2-accent:#0a776d;--w2-purple:#7353b6;--w2-orange:#b85b22;--w2-muted:color-mix(in srgb, var(--w2-ink) 73%, var(--w2-bg));--w2-line:color-mix(in srgb, var(--w2-ink) 17%, var(--w2-bg));--w2-tint:color-mix(in srgb, var(--w2-accent) 6%, var(--w2-bg));color:var(--w2-ink);isolation:isolate;width:100%;max-width:1120px;margin-inline:auto;padding:clamp(22px,4vw,56px) clamp(16px,3vw,36px);line-height:1.75}.w2 *,.w2 :before,.w2 :after{box-sizing:border-box}.w2 h1,.w2 h2,.w2 h3,.w2 p,.w2 figure{margin:0}.w2 h1{letter-spacing:-.04em;text-wrap:balance;max-width:22ch;margin-block:18px 24px;font-size:clamp(30px,4.4vw,54px);line-height:1.13}.w2 h2{letter-spacing:-.025em;margin-block:10px 20px;font-size:clamp(23px,2.6vw,31px);line-height:1.25}.w2 h3{margin-block:9px 18px;font-size:clamp(21px,2.3vw,27px);line-height:1.3}.w2 p{color:var(--w2-muted)}.w2 p+p{margin-top:16px}.w2 strong{color:var(--w2-ink)}.w2 .w2-eyebrow{color:var(--w2-accent);letter-spacing:.12em;font:700 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.w2 .w2-hero{padding-block:12px 28px;position:relative}.w2 .w2-hero:before{content:"";z-index:-1;background:radial-gradient(ellipse, var(--w2-tint), transparent 70%);pointer-events:none;position:absolute;inset:-20px 0 0 30%}.w2 .w2-hero>p{max-width:76ch;font-size:18px}.w2 .w2-navigation{flex-wrap:wrap;gap:12px 26px;margin-top:24px;display:flex}.w2 a{color:var(--w2-accent);text-underline-offset:5px}.w2 .w2-navigation a{padding-block:5px;font-size:14px;font-weight:650}.w2 .w2-hero-equation{color:var(--w2-accent);overflow-wrap:anywhere;letter-spacing:-.045em;padding:30px 0 12px;font:500 clamp(21px,3.8vw,42px)/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.w2 .w2-hero-equation span{color:var(--w2-muted)}.w2 .w2-callout{background:var(--w2-tint);border-left:3px solid var(--w2-accent);border-radius:0 12px 12px 0;margin-block:16px 32px;padding:24px 28px}.w2 .w2-callout>strong{margin-bottom:7px;font-size:18px;display:block}.w2 .w2-topic{border-top:1px solid var(--w2-line);padding-block:38px}.w2 .w2-topic-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(24px,4vw,48px);display:grid}.w2 .w2-topic-grid>*,.w2 .w2-lab-grid>*{min-width:0}.w2 .w2-check{border-left:2px solid var(--w2-line);margin-top:22px;padding-left:15px;font-size:14px}.w2 .w2-check strong{margin-bottom:5px;display:block}.w2 p code{background:var(--w2-tint);overflow-wrap:anywhere;border-radius:4px;padding:3px 5px;font-size:.86em}.w2 .w2-code{color:#d7e9e5;background:#14232b;border:1px solid #31454e;border-radius:14px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 12px 28px #00000009}.w2 .w2-code-heading{letter-spacing:.08em;color:#a1bdbf;border-bottom:1px solid #31454e;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:13px 19px;font:10px/1.5 ui-monospace,monospace;display:flex}.w2 .w2-code pre{color:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:20px;font-size:13px;line-height:1.85;overflow-x:auto}.w2 .w2-code code{font:inherit;color:inherit;white-space:pre;background:0 0;padding:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.w2 .w2-lab{border:1px solid var(--w2-line);background:var(--w2-tint);border-radius:17px;margin-top:30px;padding:clamp(20px,3vw,32px)}.w2 .w2-lab-grid{grid-template-columns:1fr 1fr;align-items:center;gap:30px;display:grid}.w2 .w2-slider{margin-top:21px;font-size:14px;display:block}.w2 .w2-slider>span{justify-content:space-between;gap:12px;display:flex}.w2 output{font-variant-numeric:tabular-nums;font-weight:700}.w2 input[type=range]{width:100%;min-height:32px;accent-color:var(--w2-accent);cursor:pointer;margin:5px 0 0;display:block}.w2 .w2-formula{border:1px solid var(--w2-line);background:var(--w2-bg);overflow-wrap:anywhere;border-radius:9px;margin-block:20px;padding:16px 18px;font:14px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace}.w2 button{appearance:none;border:1px solid var(--w2-accent);color:var(--w2-bg);background:var(--w2-accent);cursor:pointer;border-radius:8px;min-height:44px;padding:11px 16px;font:600 13px/1.4 system-ui,sans-serif;transition:transform .2s,box-shadow .2s}.w2 button:disabled{opacity:.5;cursor:default}.w2 .w2-secondary{background:var(--w2-bg);color:var(--w2-ink);border-color:var(--w2-line)}.w2 :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--w2-purple);outline-offset:5px}.w2 .w2-toolbar,.w2 .w2-actions{flex-wrap:wrap;align-items:center;gap:14px 20px;margin-block:22px;display:flex}.w2 .w2-phase-buttons,.w2 .w2-rate-buttons{flex-wrap:wrap;gap:8px;display:flex}.w2 button[aria-pressed=false]{background:var(--w2-bg);color:var(--w2-ink);border-color:var(--w2-line)}.w2 .w2-small{color:var(--w2-muted);font-size:13px}.w2 .w2-phase-description{min-height:3.5em}.w2 svg{width:100%;height:auto;display:block}.w2 svg text{fill:var(--w2-muted);font:12px system-ui,sans-serif}.w2 figcaption{text-align:center;color:var(--w2-muted);margin-top:8px;font-size:12px}.w2 .w2-axis{fill:none;stroke:var(--w2-line);stroke-width:1.5px}.w2 .w2-curve{fill:none;stroke:var(--w2-accent);stroke-width:3px}.w2 .w2-guide{stroke:var(--w2-muted);stroke-width:1px;stroke-dasharray:4 4;opacity:.65}.w2 .w2-dot{fill:var(--w2-purple);stroke:var(--w2-bg);stroke-width:2px}.w2 .w2-graph{margin-block:24px}.w2 .w2-node{fill:var(--w2-bg);stroke:var(--w2-line);stroke-width:1.5px}.w2 .w2-node-value{fill:var(--w2-ink);font-size:16px;font-weight:650}.w2 .w2-flow-line{stroke:var(--w2-accent);stroke-width:2px;stroke-dasharray:5 5;animation:2s linear infinite w2-forward-flow}.w2 .w2-arrow{fill:none;stroke:var(--w2-accent);stroke-width:2px}.w2 .w2-graph-backward .w2-flow-line{stroke:var(--w2-purple);animation-direction:reverse}.w2 .w2-graph-backward .w2-arrow{stroke:var(--w2-purple)}.w2 .w2-graph-update .w2-flow-line{animation:none}.w2 .w2-graph-update .w2-node{stroke:var(--w2-accent)}.w2 .w2-table-scroll{margin-block:20px;overflow-x:auto}.w2 table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.w2 th,.w2 td{border-bottom:1px solid var(--w2-line);vertical-align:top;padding:13px 16px}.w2 th{color:var(--w2-ink);font-weight:600}.w2 thead th{background:var(--w2-bg);font-size:12px}.w2 td{color:var(--w2-muted)}.w2 caption{text-align:left;color:var(--w2-muted);padding-bottom:14px;font-size:13px}.w2 .w2-preview{border-left:3px solid var(--w2-accent);padding-left:14px}.w2 .w2-status{margin-top:-8px}.w2 .w2-loss-chart{margin-top:25px}.w2 .w2-loss-line{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity .2s}.w2 .w2-run-0{stroke:var(--w2-purple)}.w2 .w2-run-1{stroke:var(--w2-accent)}.w2 .w2-run-2{stroke:var(--w2-orange)}.w2 .w2-gridline{stroke:var(--w2-line);stroke-width:1px}.w2 .w2-selected-row{background:color-mix(in srgb, var(--w2-accent) 8%, var(--w2-bg))}.w2 .w2-metrics{grid-template-columns:repeat(3,1fr);gap:20px;margin-block:24px;display:grid}.w2 .w2-metrics>div{border-left:2px solid var(--w2-line);min-width:0;padding-left:14px}.w2 .w2-metrics span{color:var(--w2-muted);font-size:12px;display:block}.w2 .w2-metrics strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(17px,2.3vw,25px);display:block}.w2 .w2-selects{flex-wrap:wrap;gap:18px;margin-top:20px;display:flex}.w2 .w2-selects label{gap:7px;min-width:140px;font-size:13px;display:grid}.w2 select{font:inherit;color:var(--w2-ink);background:var(--w2-bg);border:1px solid var(--w2-line);border-radius:7px;min-height:44px;padding:10px}.w2 .w2-scaling,.w2 .w2-review{margin-block:50px}.w2 .w2-review>p{margin-bottom:22px}.w2 .w2-detail{border-top:1px solid var(--w2-line)}.w2 .w2-detail:last-child{border-bottom:1px solid var(--w2-line)}.w2 .w2-detail summary{cursor:pointer;padding:20px 8px;font-weight:600}.w2 .w2-detail p{max-width:86ch;padding:0 24px 22px}.w2 .w2-detail[open]{background:var(--w2-tint)}.w2 .w2-question-number{color:var(--w2-accent);margin-right:14px;font:12px ui-monospace,monospace}.w2 .w2-scaling .w2-detail{margin-top:24px}.w2 .w2-exercise{border:1px solid var(--w2-line);border-radius:14px;padding:clamp(20px,3vw,32px)}.w2 .w2-exercise ol{color:var(--w2-muted);margin:0;padding-left:24px}.w2 .w2-exercise li{margin-block:13px;padding-left:8px}.w2 .w2-exercise li::marker{color:var(--w2-accent);font-weight:700}.w2 .w2-source{font-size:13px}.w2 .w2-back{margin-top:24px;display:inline-block}.w2 [id]{scroll-margin-top:90px}.w2 .w2-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes w2-forward-flow{to{stroke-dashoffset:-30px}}@media (hover:hover){.w2 .w2-code:hover{transform:translateY(-3px);box-shadow:0 18px 30px #00000012}.w2 button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 14px #00000012}}@media (max-width:760px){.w2 .w2-topic-grid,.w2 .w2-lab-grid{grid-template-columns:1fr;gap:24px}.w2 .w2-graph{overflow-x:auto}.w2 .w2-graph svg{min-width:600px}.w2 .w2-topic{padding-block:30px}.w2 .w2-callout{padding:20px}.w2 .w2-metrics{grid-template-columns:1fr;gap:16px}.w2 .w2-phase-description{min-height:0}.w2 .w2-loss-chart{overflow-x:auto}.w2 .w2-loss-chart svg{min-width:480px}}[data-theme=dark] .w2,.dark .w2{--w2-accent:#66cbbd;--w2-purple:#b4a1ef;--w2-orange:#efad78}@media (prefers-reduced-motion:reduce){.w2 *,.w2 :before,.w2 :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.w2 .w2-controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px 30px;display:grid}.w2 .w2-dual-plots{grid-template-columns:1fr 1fr;gap:24px;margin-top:20px;display:grid}.w2 .w2-wide-chart{margin-block:28px;overflow-x:auto}.w2 .w2-wide-chart svg{min-width:520px}.w2 .w2-zero-dot{fill:var(--w2-bg);stroke:var(--w2-purple);stroke-width:2px}.w2 .w2-drop-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-block:24px;display:grid}.w2 .w2-drop-unit{text-align:center;border:1px solid var(--w2-accent);background:var(--w2-bg);border-radius:12px;gap:8px;min-width:0;padding:16px 8px;transition:opacity .25s,border-color .25s;display:grid}.w2 .w2-drop-unit span{color:var(--w2-muted);font-size:12px}.w2 .w2-drop-unit strong{font-variant-numeric:tabular-nums;font-size:21px}.w2 .w2-dropped{border-style:dashed;border-color:var(--w2-line);background:0 0}.w2 .w2-dropped strong{color:var(--w2-muted)}.w2 .w2-direction-grid{grid-template-columns:1fr 1fr;gap:26px;margin-block:24px;display:grid}.w2 .w2-direction-grid>div>span{color:var(--w2-muted);font-size:13px;display:block}.w2 .w2-direction-grid strong{font-variant-numeric:tabular-nums;margin-block:10px;font-size:26px;display:block}.w2 .w2-direction-track{background:var(--w2-line);border-radius:7px;height:13px;position:relative;overflow:hidden}.w2 .w2-direction-track:after{content:"";border-left:2px solid var(--w2-ink);position:absolute;top:0;bottom:0;left:50%}.w2 .w2-direction-track>span{background:var(--w2-purple);height:100%;transition:width .3s;display:block}.w2 .w2-direction-grid>div:last-child .w2-direction-track>span{background:var(--w2-accent)}.w2 .w2-next-test{margin-top:18px}.w2 .w2-contributors{margin-block:48px}.w2 .w2-contributors table{min-width:650px}.w2 .w2-contributors th[scope=row]{min-width:210px}.w2 .w2-contributors td:last-child{min-width:300px}.w2 .w2-sources ul{padding:0 24px 20px 40px}.w2 .w2-sources li{margin-block:9px}.w2 .w2-signal-hero{align-items:center;gap:clamp(8px,2vw,20px);min-height:95px;margin-block:32px 10px;display:flex}.w2 .w2-signal-hero>span{background:var(--w2-accent);border-radius:8px;width:clamp(8px,1.2vw,14px);animation:3s ease-in-out infinite alternate w2-signal-glow;display:block}.w2 .w2-signal-hero p{max-width:20ch;margin-left:12px;font:14px/1.6 ui-monospace,monospace}@keyframes w2-signal-glow{0%{filter:brightness(.9)}to{filter:brightness(1.3)}}@media (max-width:760px){.w2 .w2-dual-plots,.w2 .w2-direction-grid{grid-template-columns:1fr}.w2 .w2-drop-grid{grid-template-columns:repeat(2,1fr)}.w2 .w2-signal-hero{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.w2 *,.w2 :before,.w2 :after{transition:none!important;animation:none!important}}
.dl-week-page .dl-upcoming-lesson{padding-block:var(--space-5)}.dl-week-page .dl-upcoming-lesson h1{max-width:900px;margin:0 0 var(--space-3);color:var(--color-text);letter-spacing:-.04em;text-wrap:balance;font-size:clamp(30px,4vw,44px);line-height:1.2}.dl-week-page .dl-week-label{margin:0 0 var(--space-2);color:var(--color-accent);font-size:var(--text-sm);font-weight:600}.dl-week-page .dl-upcoming-note{max-width:var(--content-width);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px}.dl-week-page .dl-upcoming-status{border:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-xs);border-radius:999px;padding:4px 12px;display:inline-block}.dl-week-page .dl-upcoming-note h2{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-lg)}.dl-week-page .dl-upcoming-note p{margin:0 0 var(--space-3);color:var(--color-muted);line-height:1.8}.dl-week-page .dl-upcoming-note a{min-height:44px;color:var(--color-accent);text-underline-offset:4px;align-items:center;display:inline-flex}.dl-week-page .dl-week-pagination{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dl-week-page .dl-week-pagination a{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-direction:column;text-decoration:none;display:flex}.dl-week-page .dl-week-pagination a:hover{border-color:var(--color-accent)}.dl-week-page .dl-week-pagination span{color:var(--color-accent);font-size:var(--text-sm)}.dl-week-page .dl-week-pagination strong{color:var(--color-text);font-size:15px}.dl-week-page .dl-next-week{text-align:right;grid-column:2}@media (max-width:640px){.dl-week-page .dl-week-pagination{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.dl-week-page .dl-next-week{text-align:left;grid-column:auto}.dl-week-page .dl-upcoming-note{padding:var(--space-3)}}
