figure.diagram{--paper:var(--color-paper);--ink:var(--color-charcoal);--muted:var(--color-ash-deep);--rule:var(--color-mist);--blue-ink:var(--color-accent);--soft-blue:var(--color-accent-dim);--diagram-soft:var(--color-cream);--diagram-bad:var(--color-error);--sans:Arial,Helvetica,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;margin:32px 0;padding:20px 16px;border:1px solid var(--rule);background:var(--paper);container:learning-diagram/inline-size}.blog-diagram-canvas{overflow-x:auto;overscroll-behavior-x:contain}figure.diagram svg{display:block;width:100%;min-width:640px;height:auto;color:var(--ink)}figure.diagram figcaption{margin-top:18px;font-size:1rem;line-height:1.5}figure.diagram svg text{font:12px var(--sans);fill:var(--ink)}figure.diagram svg .strong{font-weight:600}figure.diagram svg .mono{font:11.5px var(--mono)}figure.diagram svg .small{font-size:10.5px;fill:var(--muted)}figure.diagram svg .box{fill:var(--paper);stroke:var(--ink);stroke-width:1.2}figure.diagram svg .box-accent{fill:var(--soft-blue);stroke:var(--blue-ink);stroke-width:1.2}figure.diagram svg .box-soft{fill:var(--diagram-soft);stroke:var(--muted);stroke-width:1.2}figure.diagram svg .dashed{stroke-dasharray:4 3}figure.diagram svg .wire{fill:none;stroke:var(--muted);stroke-width:1.3}figure.diagram svg .wire-accent{fill:none;stroke:var(--blue-ink);stroke-width:1.5}figure.diagram svg .wire-bad{fill:none;stroke:var(--diagram-bad);stroke-width:1.5;stroke-dasharray:4 3}figure.diagram svg .wire-bad.solid{stroke-dasharray:none}figure.diagram svg .fill-accent{fill:var(--blue-ink)}figure.diagram svg .fill-accent .dim,figure.diagram svg .fill-accent.dim{opacity:.4}figure.diagram svg .fill-bad{fill:var(--diagram-bad)}figure.diagram svg .text-accent{fill:var(--blue-ink)}figure.diagram svg .text-bad{fill:var(--diagram-bad)}@container learning-diagram (max-width: 639.98px){figure.diagram:before{content:"Scroll sideways to see the whole diagram \2192"/"";display:block;margin:0 0 10px;font:12px/1.5 var(--font-body),var(--sans);color:var(--blue-ink)}}figure.diagram .blog-diagram-canvas:focus-visible{outline:2px solid var(--blue-ink);outline-offset:4px}.prose .table-scroll{margin:1.75em 0;overflow-x:auto;overscroll-behavior-x:contain}.prose .table-scroll table{margin:0}.prose .table-scroll:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.prose .table-scroll td.num,.prose .table-scroll th.num{text-align:right;font-variant-numeric:tabular-nums}.prose .table-scroll td code{box-decoration-break:clone;-webkit-box-decoration-break:clone}.prose ol.list-decimal,.prose ul.list-disc{margin:1.1em 0}.prose .table-scroll table.cols-3{min-width:480px}.prose .table-scroll table.cols-4{min-width:560px}.prose .table-scroll table.cols-9{min-width:700px}.prose .table-scroll table.cols-9 td,.prose .table-scroll table.cols-9 th{padding-left:.625rem;padding-right:.625rem}.prose .table-scroll table.cols-9 td.num,.prose .table-scroll table.cols-9 th.num{text-align:center}.prose .table-scroll table.cols-9 th{vertical-align:bottom}.prose .table-scroll table.cols-9 td:nth-child(2){white-space:nowrap}.estimate-skip{position:relative;display:flex;align-items:center;gap:20px;padding:22px 22px 22px 26px;border:1px solid var(--color-indigo-veil);border-left:4px solid var(--color-accent);border-radius:8px;background:var(--color-accent-dim);background:linear-gradient(100deg,color-mix(in oklch,var(--color-accent) 13%,transparent) 0,color-mix(in oklch,var(--color-accent) 5%,transparent) 55%,color-mix(in oklch,var(--color-accent) 2%,transparent) 100%),var(--color-paper);transition:border-color .18s ease,box-shadow .18s ease}.estimate-skip-text{margin:0;font-size:1rem;line-height:1.45;color:var(--color-charcoal)}.estimate-skip-text strong{display:block;font-family:var(--font-display),Georgia,serif;font-style:italic;font-weight:600;font-size:1.5rem;line-height:1.2;letter-spacing:-.01em;color:var(--color-ink)}.estimate-skip-cta{display:block;margin-top:4px}.estimate-skip a{font-weight:600;white-space:nowrap;color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--color-indigo-veil);outline:none;transition:color .18s ease,text-decoration-color .18s ease}.estimate-skip a:after{content:"";position:absolute;inset:-1px -1px -1px -4px;border-radius:8px}.estimate-skip a:focus-visible:after{outline:2px solid var(--color-accent);outline-offset:3px}.estimate-skip-arrow{display:inline-block;margin-left:6px;transition:transform .18s ease}.estimate-skip-badge{order:2;flex:none;display:grid;place-items:center;width:48px;height:48px;margin-left:auto;border-radius:50%;background:var(--color-accent);color:var(--color-paper);box-shadow:0 0 0 6px var(--color-indigo-whisper);transition:transform .18s ease,background-color .18s ease}.estimate-skip:hover{border-color:var(--color-accent);box-shadow:0 12px 28px -18px var(--color-accent)}.estimate-skip:hover a{color:var(--color-accent-hover);text-decoration-color:currentColor}.estimate-skip:hover .estimate-skip-arrow{transform:translateX(4px)}.estimate-skip:hover .estimate-skip-badge{transform:translateY(2px);background:var(--color-accent-hover)}@media (max-width:639.98px){.estimate-skip{gap:14px;padding:16px 16px 16px 18px}.estimate-skip-badge{width:38px;height:38px;box-shadow:0 0 0 5px var(--color-indigo-whisper)}.estimate-skip-badge svg{width:18px;height:18px}.estimate-skip-text{font-size:.9375rem}.estimate-skip-text strong{font-size:1.25rem}}.prose pre.code,.prose pre.code code,.prose pre.output,.prose pre.output code,.prose pre.prompt,.prose pre.prompt code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.prose pre.output{font-size:.75rem}.prose pre.prompt code{white-space:pre-wrap}.prose ol.steps>li{margin-bottom:1em}.prose ol.steps pre{margin:.75em 0 0}