.insight{--insight-c:var(--dd-accent);border-left:3px solid var(--insight-c);background:color-mix(in srgb, var(--insight-c) 7%, transparent);border-radius:0 .35rem .35rem 0;margin-block:1.1em;padding:.55em .95em .65em}.insight-intuition{--insight-c:var(--dd-group-1)}.insight-pitfall{--insight-c:var(--dd-group-2)}.insight-convention{--insight-c:var(--dd-group-4)}.insight-reading{--insight-c:var(--dd-muted)}.sl-markdown-content .insight-head{font-size:var(--sl-text-sm);margin:0 0 .3em}.insight-label{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--insight-c) 50%, var(--sl-color-white));font-weight:700}.insight-title{margin-left:.5em;font-weight:600}.insight-title:before{content:"· ";font-weight:400}.sl-markdown-content .insight-body>:first-child{margin-top:0}.sl-markdown-content .insight-body>:not(:first-child){margin-top:.55em}.insight .katex-display{padding-block:.15em;overflow:auto hidden}.sl-markdown-content .ex-tags{flex-wrap:wrap;gap:.3rem;margin:.6rem 0 0;display:flex}.ex-tag{border:1px solid var(--dd-rule);color:var(--sl-color-gray-2);white-space:nowrap;border-radius:999px;padding:.05rem .5rem;font-size:.75rem;line-height:1.3;display:inline-block}.ex-level{font-weight:600}.ex-level-warmup{border-color:var(--dd-good);color:var(--dd-good)}.ex-level-challenge{border-color:var(--dd-bad);color:var(--dd-bad)}.ex-foot{justify-content:flex-end;display:flex}.ex-done{font:inherit;cursor:pointer;color:var(--sl-color-gray-2);background:0 0;border:1px solid #0000;border-radius:.35rem;align-items:center;gap:.4rem;min-height:1.75rem;padding:.15rem .4rem;font-size:.8rem;display:inline-flex}.ex-done:hover{color:var(--sl-color-white)}.ex-done[aria-pressed=true]{color:var(--dd-good)}.ex-done:focus-visible{outline:2px solid var(--dd-accent);outline-offset:2px}.ex-done[hidden]{display:none}.ex-box{border:1.5px solid;border-radius:.2rem;flex:none;place-items:center;width:1rem;height:1rem;font-size:.75rem;line-height:1;display:inline-grid}[aria-pressed=true]>.ex-box{background:var(--dd-good);border-color:var(--dd-good)}[aria-pressed=true]>.ex-box:after{content:"✓";color:var(--sl-color-bg);font-weight:700}.dd-figure-error{border:2px solid var(--dd-bad);background:var(--dd-fill);text-align:left;border-radius:6px;margin:.75rem 0;padding:.6rem .8rem}.dd-figure-error pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--sl-text-sm);margin:.3rem 0 0}.sl-markdown-content figure.figure{margin-block:1.4em}.figure-body{text-align:center;overflow-x:auto}.figure-body svg{max-width:100%;height:auto}.sl-markdown-content .figure figcaption{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);text-align:center;margin-top:.5em}.figure-label{font-weight:700}.sl-markdown-content a.ref{text-underline-offset:.18em;white-space:nowrap;text-decoration-thickness:1px}.fact-mark{color:var(--dd-muted);margin-left:.15em;font-size:.65em;font-weight:700}.unverified{text-decoration:underline dotted var(--dd-muted);text-underline-offset:.2em}.unverified-mark{color:var(--dd-bad);margin-left:.15em;font-size:.65em;font-weight:700}.dd-expr{white-space:normal}.dd-tt-wrap{width:fit-content;max-width:100%;margin:1rem auto;overflow-x:auto}.dd-tt-wrap:focus-visible{outline:2px solid var(--dd-accent);outline-offset:2px}.sl-markdown-content .dd-tt{border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0 auto}.sl-markdown-content .dd-tt th,.sl-markdown-content .dd-tt td{text-align:center;background:0 0;border:0;min-width:2.2rem;padding:.22rem .8rem}.sl-markdown-content .dd-tt thead th{border-bottom:2px solid;font-weight:700}.sl-markdown-content .dd-tt tbody tr:nth-child(2n) td{background:var(--dd-fill)}.sl-markdown-content .dd-tt .dd-tt-sep{border-left:2px solid}.sl-markdown-content .dd-tt-x{color:var(--sl-color-gray-2)}.sl-markdown-content .dd-tt tr.dd-tt-hl td{background:var(--dd-highlight);box-shadow:inset 0 2px 0 var(--dd-accent), inset 0 -2px 0 var(--dd-accent);font-weight:800}.dd-tt math{font-size:1.05em}.dd-kmap{text-align:center;max-width:100%;margin:1rem auto}.dd-kmap-svg{max-width:100%;height:auto;overflow:visible}.sl-markdown-content .dd-kmap p.dd-kmap-claim{margin:.4rem 0 0}.sl-markdown-content .dd-kmap ul.dd-kmap-legend{text-align:start;margin:.6rem auto 0;padding:0;list-style:none;display:inline-block}.sl-markdown-content .dd-kmap-legend li{font-size:var(--sl-text-sm);align-items:center;gap:.5rem;margin:.25rem 0;padding:0;display:flex}.dd-kmap-swatch{flex:none}.dd-kmap-size{color:var(--sl-color-gray-2)}.dd-kmap-term{font-size:1.05em}.sl-markdown-content p.dd-kmapnote{max-width:34rem;font-size:var(--sl-text-sm);border-inline-start:3px solid var(--dd-accent);background:var(--dd-fill);margin:.5rem auto;padding:.35rem .75rem}.dd-equiv{white-space:normal}.dd-equiv-note{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);white-space:normal}.dd-derivation{width:fit-content;max-width:100%;margin:1rem auto;overflow-x:auto}.sl-markdown-content .dd-derivation table{border-collapse:collapse;margin:0 auto}.sl-markdown-content .dd-derivation td{vertical-align:middle;background:0 0;border:0;padding:.3rem .6rem}.dd-der-expr{text-align:start}.dd-der-law{color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);white-space:nowrap;font-style:italic}.dd-der-law-name:before{content:"("}.dd-der-law-name:after{content:")"}.dd-arith{width:fit-content;max-width:100%;margin:1rem auto;overflow-x:auto}.sl-markdown-content .dd-arith table{border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0 auto}.sl-markdown-content .dd-arith th,.sl-markdown-content .dd-arith td{text-align:right;background:0 0;border:0;padding:.2rem .8rem}.sl-markdown-content .dd-arith thead td,.sl-markdown-content .dd-arith thead th{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);text-align:right;font-weight:600}.sl-markdown-content .dd-arith tbody th{white-space:nowrap;font-weight:600}.dd-ar-bits{font-family:var(--sl-font-mono);letter-spacing:.1em}.sl-markdown-content .dd-arith tr.dd-ar-result th,.sl-markdown-content .dd-arith tr.dd-ar-result td{border-top:2px solid;font-weight:700}.sl-markdown-content .dd-arith p.dd-ar-flags{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin:.4rem 0 0;display:flex}.dd-ar-flag{font-size:var(--sl-text-sm);border:1.5px solid;border-radius:999px;padding:.05rem .7rem}.sl-markdown-content figure.dd-seven{text-align:center;vertical-align:top;margin:.5rem 1rem;display:inline-block}.dd-seven svg{margin:0 auto;display:block}.sl-markdown-content .dd-seven figcaption{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);margin-top:.3rem}.dd-wheel{text-align:center;max-width:100%;margin:1rem auto}.dd-wheel svg{max-width:100%;height:auto}.sl-markdown-content .dd-wheel p.dd-wheel-key{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);max-width:24rem;margin:.2rem auto 0}.hdl-listing{min-width:0;margin:1rem 0}.hdl-listing .expressive-code{margin-top:0}.hdl-listing-note{border-inline-start:4px solid var(--dd-muted);background:var(--dd-fill);font-size:var(--sl-text-sm);color:var(--sl-color-text);margin-top:.4rem;padding:.3rem .7rem}.hdl-listing-note.hdl-listing-nosim{border-inline-start-style:dashed}.hdl-listing-note.hdl-listing-expect_fail{border-inline-start-color:var(--dd-bad)}.hdl-output{min-width:0;margin:1rem 0}.hdl-output-text{background:var(--dd-fill);border:1px solid var(--sl-color-gray-5);max-width:100%;font-size:var(--sl-text-sm);tab-size:4;border-radius:4px;margin:0;padding:.7rem .9rem;line-height:1.5;overflow-x:auto}.hdl-output-text code{white-space:pre;font-family:var(--sl-font-mono);background:0 0;padding:0}.hdl-out-line{display:inline}.hdl-out-error{color:var(--dd-bad);font-weight:600}.hdl-out-warning{font-style:italic}.hdl-output-caption{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);margin-top:.3rem}.hdl-value{white-space:nowrap}.dd-wave{text-align:left;margin:.75rem 0}.dd-wave-scroll{max-width:100%;padding-bottom:.25rem;overflow-x:auto;container-type:inline-size}.dd-wave-svg path,.dd-wave-svg line{vector-effect:non-scaling-stroke}.dd-wave-scroll>svg.dd-wave-svg[data-xv]:not(:last-of-type){display:none}.dd-wave-scroll:focus-visible{outline:2px solid var(--sl-color-accent);outline-offset:2px}.dd-wave-scroll>svg.dd-wave-svg{max-width:none;height:auto;color:var(--sl-color-text);font-size:11px;font-family:var(--__sl-font,system-ui, sans-serif);display:block}.dd-wave-svg text{fill:currentColor;stroke:none;font-family:inherit;font-size:11px}.dd-w-name{font-weight:600}.dd-w-tick{fill:var(--sl-color-gray-2)}.dd-w-line{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:miter}.dd-w-hatch{fill:none;stroke:var(--dd-muted);stroke-width:1px}.dd-w-dots{fill:none;stroke:currentColor;stroke-width:1px;stroke-dasharray:1 3}.dd-w-gap{fill:var(--sl-color-bg);stroke:none}.dd-w-arrow{fill:currentColor;stroke:none}.dd-w-box{fill:var(--dd-fill);stroke:none}.dd-w-box-partial{fill:color-mix(in srgb, var(--dd-group-2) 32%, transparent);stroke:none}.dd-w-arc{fill:none;stroke:var(--dd-group-1)}.dd-w-arcfill{fill:var(--dd-group-1)}.dd-w-arcstroke{stroke:var(--dd-group-1);stroke-width:2px}.dd-w-marks{stroke:var(--dd-muted);stroke-width:.6px;stroke-dasharray:1 3}.dd-w-guide{stroke:var(--dd-group-1);stroke-width:1.4px;stroke-dasharray:6 4}.dd-w-axis{stroke:currentColor;stroke-width:1px;fill:none}.dd-w-axisarrow{fill:currentColor;stroke:none}.dd-wave-note{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);margin:.25rem 0 0}.dd-wave-badge{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);margin:0 0 .4rem}.dd-wave-badge-tag{color:var(--sl-color-text);font-weight:700;font-size:var(--sl-text-xs);text-transform:uppercase;letter-spacing:.04em;border:1.5px dashed;border-radius:999px;margin-right:.35rem;padding:0 .55rem;display:inline-block}.dd-fsm{max-width:100%;margin:1rem auto}.dd-fsm-scroll{text-align:center;max-width:100%;overflow-x:auto}.dd-fsm-scroll:focus-visible{outline:2px solid var(--dd-accent);outline-offset:2px}.dd-fsm-svg{height:auto;color:var(--sl-color-text);display:inline-block;overflow:visible}.dd-fsm-svg text{fill:currentColor;font-family:var(--sl-font-mono,ui-monospace, Consolas, monospace);font-size:15px}.dd-fsm-svg .dd-fsm-state{font-size:16px;font-weight:600}.dd-fsm-svg .dd-fsm-numtext{font-size:11px;font-weight:700;font-family:var(--sl-font,sans-serif)}.dd-fsm-svg .dd-fsm-start{font-size:12px;font-family:var(--sl-font,sans-serif);fill:var(--dd-muted);letter-spacing:.04em}.dd-scen{max-width:100%;margin:1rem auto}.dd-scen-wrap{width:fit-content;max-width:100%;margin:0 auto;overflow-x:auto}.dd-scen-wrap:focus-visible{outline:2px solid var(--dd-accent);outline-offset:2px}.sl-markdown-content .dd-scen-table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-family:var(--sl-font-mono,ui-monospace, Consolas, monospace);margin:0 auto}.sl-markdown-content .dd-scen-table th,.sl-markdown-content .dd-scen-table td{text-align:center;border:1px solid var(--sl-color-gray-5);background:0 0;min-width:2.2rem;padding:.25rem .7rem}.sl-markdown-content .dd-scen-table thead th{background:var(--dd-fill);font-weight:700}.sl-markdown-content .dd-scen-table tbody th{text-align:end;background:var(--dd-fill);font-weight:700}.sl-markdown-content .dd-scen-table td.dd-scen-blank{border:2px dashed var(--dd-muted);height:2rem}.sl-markdown-content .dd-scen-note{text-align:center;font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);margin:.4rem 0 0}.dd-st-wrap{width:fit-content;max-width:100%;margin:1rem auto;overflow-x:auto}.dd-st-wrap:focus-visible{outline:2px solid var(--dd-accent);outline-offset:2px}.sl-markdown-content .dd-st{border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0 auto}.sl-markdown-content .dd-st th,.sl-markdown-content .dd-st td{text-align:center;background:0 0;border:0;padding:.2rem .8rem}.sl-markdown-content .dd-st thead th{border-bottom:2px solid;font-weight:700}.sl-markdown-content .dd-st tbody th{font-weight:600}.sl-markdown-content .dd-st tbody tr:nth-child(2n) td,.sl-markdown-content .dd-st tbody tr:nth-child(2n) th{background:var(--dd-fill)}.sl-markdown-content .dd-st tr.dd-st-first th,.sl-markdown-content .dd-st tr.dd-st-first td{border-top:1px solid var(--dd-rule)}.sl-markdown-content .dd-st .dd-st-sep{border-left:2px solid}.sl-markdown-content .dd-st .dd-st-x{color:var(--sl-color-gray-2)}.dd-fsmtt-wrap{width:fit-content;max-width:100%;margin:1rem auto;overflow-x:auto}.dd-fsmtt-wrap:focus-visible{outline:2px solid var(--dd-accent);outline-offset:2px}.sl-markdown-content .dd-fsmtt{border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0 auto}.sl-markdown-content .dd-fsmtt th,.sl-markdown-content .dd-fsmtt td{text-align:center;background:0 0;border:0;min-width:2.2rem;padding:.22rem .8rem}.sl-markdown-content .dd-fsmtt thead th{border-bottom:2px solid;font-weight:700}.sl-markdown-content .dd-fsmtt tbody tr:nth-child(2n) td,.sl-markdown-content .dd-fsmtt tbody tr:nth-child(2n) th{background:var(--dd-fill)}.sl-markdown-content .dd-fsmtt .dd-tt-sep{border-left:2px solid}.sl-markdown-content .dd-fsmtt .dd-tt-x{color:var(--sl-color-gray-2)}.sl-markdown-content .dd-fsmtt th.dd-fsmtt-name{color:var(--sl-color-gray-2);text-align:start;font-weight:500}.sl-markdown-content .dd-fsmtt tr.dd-fsmtt-unused th.dd-fsmtt-name{font-style:italic}.dd-fsmtt math{font-size:1.05em}.dd-tour{max-width:100%;margin:1rem auto}.sl-markdown-content .dd-tour p{margin:.3rem 0}.dd-tour-wrap{width:fit-content;max-width:100%;margin:.6rem auto;overflow-x:auto}.dd-tour-wrap:focus-visible{outline:2px solid var(--dd-accent);outline-offset:2px}.sl-markdown-content .dd-tour-table{border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0 auto}.sl-markdown-content .dd-tour-table th,.sl-markdown-content .dd-tour-table td{text-align:center;background:0 0;border:0;padding:.2rem .8rem}.sl-markdown-content .dd-tour-table thead th{border-bottom:2px solid;font-weight:700}.sl-markdown-content .dd-tour-table tbody tr:nth-child(2n) td,.sl-markdown-content .dd-tour-table tbody tr:nth-child(2n) th{background:var(--dd-fill)}.sl-markdown-content .dd-tour-table tr.dd-tour-reset td{color:var(--sl-color-gray-2);font-style:italic}.sl-markdown-content .dd-tour[data-status=exact] .dd-tour-status{border-inline-start:4px solid var(--dd-good);padding-inline-start:.6rem}.sl-markdown-content .dd-tour:not([data-status=exact]) .dd-tour-status{border-inline-start:4px dashed var(--dd-muted);padding-inline-start:.6rem}.dd-schem{text-align:left;margin:.75rem 0}.dd-schem[data-illustrative]{border:1.5px dashed var(--dd-muted);border-radius:6px;padding:.5rem .75rem .25rem}.dd-schem-scroll{max-width:100%;padding-bottom:.25rem;overflow-x:auto}.dd-schem-scroll:focus-visible{outline:2px solid var(--sl-color-accent);outline-offset:2px}.dd-schem-scroll>svg.dd-schem-svg{width:100%;height:auto;color:var(--sl-color-text);font-family:var(--__sl-font,system-ui, sans-serif);margin-inline:auto;display:block;overflow:visible}.dd-schem-body{fill:var(--dd-fill);stroke:none}.dd-schem-bg{fill:var(--sl-color-bg);stroke:none}.dd-schem-ink{fill:none;stroke:currentColor;stroke-width:.112px;stroke-linecap:butt;stroke-linejoin:miter}.dd-schem-dot{fill:currentColor;stroke:none}.dd-schem-text{fill:currentColor;stroke:none;dominant-baseline:central;font-family:inherit}.dd-schem-over{text-decoration:overline}.dd-schem-note{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);text-align:center;margin:.25rem 0 0}.dd-schem-badge{font-size:var(--sl-text-sm);color:var(--sl-color-gray-2);margin:0 0 .4rem}.dd-schem-badge-tag{color:var(--sl-color-text);font-weight:700;font-size:var(--sl-text-xs);text-transform:uppercase;letter-spacing:.04em;border:1.5px dashed;border-radius:999px;margin-right:.35rem;padding:0 .55rem;display:inline-block}
