.dsrun{--dsrun-ink:var(--sh-ink,var(--al-ink,#17181b));--dsrun-muted:var(--sh-muted,var(--al-muted,#51545c));--dsrun-line:var(--sh-line,var(--al-line,#d9dce1));--dsrun-paper:var(--sh-paper,var(--al-paper,#fff));--dsrun-accent:var(--sh-accent,var(--al-accent,#68508f));--dsrun-soft:var(--sh-soft,var(--al-soft,#f0ebf7));--dsrun-green:var(--sh-green,#386751);--dsrun-sage:var(--sh-sage,#e5eee7);--dsrun-rust:var(--rust,#98482f);--dsrun-warm:var(--warm,#faece2);--dsrun-blue:var(--sh-blue,#e3edf3);--dsrun-mono:var(--mono,"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace);--dsrun-ease:var(--ease-standard,cubic-bezier(.2,.8,.2,1));--dsrun-stage:1000ms;min-width:0;color:var(--dsrun-ink)}.dsrun *,.dsrun :after,.dsrun :before{box-sizing:border-box}.dsrun-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"code" "controls" "say" "result" "board";gap:16px;min-width:0}@media (max-width:899px){.dsrun[data-run-moves] .dsrun-layout{grid-template-areas:"code" "board" "controls" "say" "result"}}.dsrun-code{grid-area:code;min-width:0}.dsrun-controls{grid-area:controls}.dsrun-board{grid-area:board;min-width:0;container-type:inline-size}.dsrun-result-slot{grid-area:result;min-width:0;scroll-margin-block:96px 150px}.dsrun-say{grid-area:say;gap:12px;min-width:0}.dsrun-say,.dsrun-tensor{display:flex;align-items:center}.dsrun-tensor{flex:none;flex-direction:column}.dsrun-tensor .tensor-host,.sh-player .dsrun-tensor .tensor-host{width:64px;height:64px}.dsrun-note,.sh-player .dsrun-note{flex:1 1 auto;margin:0;padding:0;max-width:none;min-width:0;min-height:0;font-size:17px;line-height:1.45}.dsrun-note p{margin:0}@media (min-width:900px){.dsrun-layout{grid-template-columns:minmax(230px,1fr) minmax(0,2.4fr);grid-template-rows:auto auto auto auto 1fr;grid-template-areas:"code code" "controls board" "say board" "result board" ". board";gap:16px 24px;align-items:start}.dsrun-controls{margin-top:0}}@container (max-width: 640px){.dsrun-board .dsc-join{grid-template-columns:minmax(0,1fr)}.dsrun-board .dsc-join-glyph{padding:0;justify-self:center;rotate:90deg}.dsrun-board .dsc-join-glyph .dst-join-word{display:none}}@media (min-width:1100px){.dsrun[data-run-two-boards] .dsrun-layout,.dsrun[data-run-wide-board] .dsrun-layout{--dsrun-wide:min(1080px,calc(100vw - 80px));width:var(--dsrun-wide);margin-inline:calc((100% - var(--dsrun-wide)) / 2);grid-template-columns:minmax(260px,1fr) minmax(0,2.4fr)}.dsrun[data-run-two-boards] .dsrun-code,.dsrun[data-run-wide-board] .dsrun-code{width:100%;max-width:800px;justify-self:center}}.dsrun-board{--dsc-ink:var(--sh-ink,var(--al-ink,#17181b));--dsc-muted:var(--sh-muted,var(--al-muted,#51545c));--dsc-line:var(--sh-line,var(--al-line,#d9dce1));--dsc-paper:var(--sh-paper,var(--al-paper,#fff));--dsc-accent:var(--sh-accent,var(--al-accent,#68508f));--dsc-soft:var(--sh-soft,var(--al-soft,#f0ebf7));--dsc-green:var(--sh-green,#386751);--dsc-sage:var(--sh-sage,#e5eee7);--dsc-rust:var(--rust,#98482f);--dsc-warm:var(--warm,#faece2);--dsc-blue:var(--sh-blue,#e3edf3);--dsc-mono:var(--mono,"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace);--dsc-ease:var(--ease,cubic-bezier(.2,.8,.2,1))}.dsrun-grid .dsc-bucket-key{color:var(--dsrun-ink)}.dsrun-code .dsc-reveal{margin:0;max-width:none;animation:none}.dsrun-code .dsc-parts-seg{transition:background var(--motion-quick,.18s) var(--dsrun-ease),box-shadow var(--motion-quick,.18s) var(--dsrun-ease)}.dsrun-code .dsc-parts-seg[data-run]{background:var(--dsrun-green);color:var(--dsrun-paper);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--dsrun-paper) 35%,transparent);animation:dsrun-land var(--motion-standard,.38s) var(--dsrun-ease)}@keyframes dsrun-land{0%{filter:brightness(1.25)}to{filter:brightness(1)}}.dsrun[data-run-phase=running] .dsc-parts-read{display:none}.dsrun-reading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:2px 4px 0;font-size:20px;line-height:1.5;color:var(--dsrun-ink)}.dsrun-reading-part{flex:0 1 auto;min-width:0;max-width:100%;padding:2px 8px;border-radius:6px;background:var(--dsrun-sage);color:var(--dsrun-green);font:600 15px/1.4 var(--dsrun-mono);white-space:pre-wrap;overflow-wrap:anywhere}.dsrun-reading-means{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}.dsrun[data-run-ran] .dsc-parts-seg:not([aria-current=true]){box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--dsrun-green) 70%,transparent)}.dsrun[data-run-ran] .dsc-parts-count{display:none}.dsrun[data-run-ran] .dsc-parts-nav:before{content:"Read by the run";font:14px var(--dsrun-mono);letter-spacing:.04em;color:var(--dsrun-green)}.dsrun-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:0}.dsrun-run,.sh-player .dsrun-run{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 26px 0 20px;border:0;border-radius:999px;background:var(--dsrun-accent);color:var(--dsrun-paper);font:600 19px/1 var(--sans,inherit);cursor:pointer;touch-action:manipulation;box-shadow:0 4px 0 color-mix(in srgb,var(--dsrun-accent) 60%,#000);transition:transform var(--motion-quick,.18s) var(--dsrun-ease),box-shadow var(--motion-quick,.18s) var(--dsrun-ease),background var(--motion-quick,.18s) var(--dsrun-ease)}.dsrun-run:hover,.sh-player .dsrun-run:hover{transform:translateY(-1px)}.dsrun-run:active,.sh-player .dsrun-run:active{transform:translateY(2px);box-shadow:0 2px 0 color-mix(in srgb,var(--dsrun-accent) 60%,#000)}.dsrun-run:focus-visible,.sh-player .dsrun-run:focus-visible{outline:3px solid var(--dsrun-accent);outline-offset:4px}.dsrun-run:disabled,.sh-player .dsrun-run:disabled{cursor:default;opacity:.75;transform:none}.dsrun-run[data-phase=done],.sh-player .dsrun-run[data-phase=done]{background:var(--dsrun-paper);color:var(--dsrun-accent);box-shadow:inset 0 0 0 2px var(--dsrun-accent)}.dsrun-run-icon{font-size:15px;letter-spacing:-.1em}.dsrun-step{font:500 14px var(--dsrun-mono);letter-spacing:.04em;color:var(--dsrun-muted);min-width:4ch}.dsrun-agg,.dsrun-scalar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 8px;font-size:15px;color:var(--dsrun-muted)}.dsrun-agg code,.dsrun-scalar code{font:500 14px var(--dsrun-mono);color:var(--dsrun-ink);overflow-wrap:anywhere}.dsrun-agg>span,.dsrun-scalar>span{color:var(--dsrun-line)}.dsrun-agg strong,.dsrun-scalar strong{padding:3px 10px;border-radius:8px;background:var(--dsrun-sage);color:var(--dsrun-green);font:600 20px/1.2 var(--dsrun-mono);animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both}.dsrun-agg strong{font-size:26px}.dsrun-grid[data-summed] .dsc-row[data-counted]{opacity:.45;background:transparent;box-shadow:inset 5px 0 0 color-mix(in srgb,var(--dsrun-green) 45%,transparent)}.dsrun-grid,.dsrun-inline{opacity:.55;transition:opacity var(--motion-standard,.38s) var(--dsrun-ease)}.dsrun-grid[data-on],.dsrun-inline[data-on]{opacity:1}.dsrun-grid .dsc-row{transition:opacity var(--dsrun-stage) var(--dsrun-ease),background var(--motion-standard,.38s) var(--dsrun-ease),transform var(--motion-standard,.42s) var(--dsrun-ease)}.dsrun-grid .dsc-row[data-faded]{opacity:.28}.dsrun-grid .dsc-row[data-kept]{background:var(--dsrun-sage);box-shadow:inset 5px 0 0 var(--dsrun-green)}.dsrun-grid[data-search] .dsc-row[data-faded]{transition:none;opacity:.18}.dsrun-grid[data-search] .dsc-row[data-kept]{transition:background var(--motion-quick,.18s) var(--dsrun-ease);box-shadow:inset 5px 0 0 var(--dsrun-accent);background:var(--dsrun-soft);animation:dsrun-land var(--motion-standard,.38s) var(--dsrun-ease)}.dsrun-grid .dsc-cell[data-dim],.dsrun-grid .dsc-th[data-dim]{opacity:.3;transition:opacity var(--motion-standard,.38s) var(--dsrun-ease)}.dsrun-grid .dsc-th[data-rule]{color:var(--dsrun-accent)}.dsrun-grid .dsc-mask[data-on]{color:var(--dsrun-green);font-weight:600}.dsrun-found{color:var(--dsrun-accent);font-family:var(--dsrun-mono);font-weight:600;background:var(--dsrun-soft);box-shadow:inset 0 0 0 2px var(--dsrun-accent);border-radius:6px}.dsrun-grid .dsc-th[data-written]{color:var(--dsrun-green)}.dsrun-grid .dsc-cell[data-written]{color:var(--dsrun-green);font-weight:600;animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both;animation-delay:calc(var(--dsrun-row, 0) * 90ms)}.dsrun-grid .dsc-cell[data-filled]{color:var(--dsrun-green);font-style:italic;background:var(--dsrun-sage);border-radius:6px}.dsrun-with-index{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.dsrun-with-index[data-index]{grid-template-columns:minmax(0,1fr) minmax(120px,160px)}.dsrun-index{display:grid;gap:4px;align-content:start;padding:10px 12px;border:1px dashed var(--dsrun-accent);border-radius:14px;background:color-mix(in srgb,var(--dsrun-soft) 55%,var(--dsrun-paper));animation:dsrun-slide var(--motion-standard,.42s) var(--dsrun-ease) both}.dsrun-index-title{display:grid;gap:2px;margin-bottom:4px;font:600 12px/1.2 var(--dsrun-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dsrun-accent)}.dsrun-index-title small{font-weight:400;letter-spacing:0;text-transform:none;color:var(--dsrun-muted)}.dsrun-index-item{display:flex;justify-content:space-between;gap:8px;padding:3px 8px;border-radius:8px;background:var(--dsrun-paper);font:500 13px var(--dsrun-mono);color:var(--dsrun-ink);animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both;animation-delay:calc(var(--dsrun-i, 0) * 60ms)}.dsrun-index-item i{font-style:normal;color:var(--dsrun-muted)}@media (max-width:599px){.dsrun-with-index[data-index]{grid-template-columns:minmax(0,1fr)}}.dsrun-chip{display:inline-flex;align-items:center;gap:6px}.dsrun-grid .dsc-bucket[data-done]{border-style:solid;border-color:var(--dsrun-green)}.dsrun-grid .dsc-bucket[data-done] .dsc-chip{background:var(--dsrun-sage);border-color:var(--dsrun-green)}.dsrun-total[data-live]{color:var(--dsrun-green);animation:dsrun-tally var(--motion-standard,.42s) var(--ease-spring,var(--dsrun-ease))}@keyframes dsrun-tally{0%{transform:scale(.94)}55%{transform:scale(1.07)}to{transform:scale(1)}}.dsrun-grid .dsc-bucket-drop{cursor:default}.dsrun-join .dsc-row[data-paired]{background:var(--dsrun-sage)}.dsrun-join .dsc-row[data-kept]{background:var(--dsrun-blue);box-shadow:inset 5px 0 0 var(--dsrun-accent)}.dsrun-join .dsc-row[data-dropped]{opacity:.28}.dsrun-join .dsc-join-row{position:relative}.dsrun-join[data-done] .dsc-pair-badge i{background:var(--dsrun-green)}.dsrun-col{cursor:default}.dsrun-inline{display:grid;gap:14px;justify-items:center;min-width:0}.dsrun-array{display:grid;grid-template-columns:repeat(var(--dsrun-cols,3),48px);gap:5px;width:max-content;max-width:100%}.dsrun-array-cell{display:grid;place-items:center;height:44px;border:1px solid var(--dsrun-line);border-radius:8px;background:var(--dsrun-paper);font:500 18px var(--dsrun-mono);color:var(--dsrun-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dsrun-array-cell[data-lit]{background:var(--dsrun-soft);border-color:var(--dsrun-accent);color:var(--dsrun-accent)}.dsrun-sort .dsg-placed[data-lit]{background:var(--dsrun-soft);border-color:var(--dsrun-accent);box-shadow:0 0 0 2px var(--dsrun-accent);font-weight:600}.dsrun-array-cell[data-sum],.dsrun-array[data-tone=result] .dsrun-array-cell{background:var(--dsrun-sage);border-color:var(--dsrun-green);color:var(--dsrun-green);animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both}@keyframes dsrun-pop{0%{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}.dsrun-axis{display:grid;grid-template-columns:auto auto;gap:8px;align-items:start}.dsrun-sums{display:grid;grid-template-columns:repeat(var(--dsrun-cols,1),48px);gap:5px}.dsrun-sums-0{grid-column:1}.dsrun-sums-1{grid-column:2;grid-row:1}.dsrun-badge{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;margin:0;font-size:18px;color:var(--dsrun-muted)}.dsrun-badge code{font:500 18px var(--dsrun-mono);color:var(--dsrun-ink)}.dsrun-badge>span[aria-hidden]{color:var(--dsrun-line)}.dsrun-value{display:inline-block;min-width:2ch;padding:4px 10px;border:1px dashed var(--dsrun-line);border-radius:8px;color:var(--dsrun-muted)}.dsrun-value[data-filled]{border-style:solid;border-color:var(--dsrun-green);background:var(--dsrun-sage);color:var(--dsrun-green);animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both}strong.dsrun-value{font-family:var(--dsrun-mono)}.dsrun-expr{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:12px 16px}.dsrun-expr>div{display:grid;gap:6px;justify-items:center}.dsrun-sign{align-self:center;font:500 26px var(--dsrun-mono);color:var(--dsrun-muted)}.dsrun-shape-line{margin:0;font-size:14px;color:var(--dsrun-muted)}.dsrun-shape-line code{font-family:var(--dsrun-mono)}.dsrun-error{margin:0;padding:10px 12px;border-radius:10px;background:var(--dsrun-warm);color:var(--dsrun-rust);font-size:14px;max-width:320px}.dsrun-error code{font-family:var(--dsrun-mono);white-space:pre-wrap;overflow-wrap:anywhere}.dsrun-pending{display:grid;place-items:center;width:96px;height:44px;margin:0;border:1px dashed var(--dsrun-line);border-radius:8px;color:var(--dsrun-muted);font:500 18px var(--dsrun-mono)}.dsrun-strip{position:relative;width:100%;max-width:560px;height:64px;margin:8px 0 22px;border-bottom:2px solid var(--dsrun-line)}.dsrun-dot{position:absolute;bottom:8px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--dsrun-muted);opacity:.8;transition:background var(--motion-standard,.38s) var(--dsrun-ease),transform var(--motion-standard,.38s) var(--dsrun-ease)}.dsrun-dot[data-above=yes]{background:var(--dsrun-green);transform:translateY(-8px);opacity:1}.dsrun-dot[data-above=no]{background:var(--dsrun-line)}.dsrun-dot-word{position:absolute;top:100%;left:50%;translate:-50% 2px;font:600 10px/1.2 var(--dsrun-mono);color:var(--dsrun-muted);white-space:nowrap;letter-spacing:0;font-style:normal}.dsrun-dot[data-above=yes] .dsrun-dot-word{color:var(--dsrun-green)}.dsrun-strip[data-labelled]{margin-bottom:34px}.dsrun-strip[data-labelled] .dsrun-line code{translate:-50% 18px}.dsrun-dot[data-at]{width:18px;height:18px;margin-left:-9px;background:var(--dsrun-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--dsrun-accent) 25%,transparent);transform:translateY(-8px);opacity:1}.dsrun-dot[data-at] .dsrun-dot-word{color:var(--dsrun-accent);font-size:12px;translate:-50% 6px}.dsrun-inline[data-show=position] .dsrun-dot[data-above=yes]:not([data-at]){background:var(--dsrun-muted);transform:none}.dsrun-line{position:absolute;top:-6px;bottom:-2px;width:0;border-left:2px dashed var(--dsrun-accent);transition:left var(--dsrun-stage) var(--dsrun-ease)}.dsrun-bands{display:grid;grid-template-columns:repeat(var(--dsrun-cols,12),minmax(0,1fr));gap:3px;align-items:end;width:100%;max-width:560px;height:84px;margin:0 0 6px}.dsrun-band{position:relative;height:var(--dsrun-h,10%);min-height:3px;border-radius:4px 4px 0 0;background:var(--dsrun-accent);animation:dsrun-rise var(--motion-standard,.42s) var(--dsrun-ease) both;animation-delay:calc(var(--dsrun-i, 0) * 60ms);transform-origin:bottom}.dsrun-band b{position:absolute;bottom:100%;left:50%;translate:-50% -2px;font:600 11px var(--dsrun-mono);color:var(--dsrun-muted)}@keyframes dsrun-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.dsrun-line code{position:absolute;top:100%;left:50%;translate:-50% 4px;font:600 13px var(--dsrun-mono);color:var(--dsrun-accent);white-space:nowrap}.dsrun-line-mean{border-color:var(--dsrun-green)}.dsrun-line-mean code{color:var(--dsrun-green)}.dsrun-chart{justify-items:stretch}.dsrun-chart .dsg-figure{width:100%;max-width:420px;margin:0 auto}.dsrun-figure .dsg-bar{transform-box:fill-box;transform-origin:bottom;transition:transform var(--dsrun-stage) var(--dsrun-ease),opacity var(--motion-standard,.38s) var(--dsrun-ease),fill var(--motion-standard,.38s) var(--dsrun-ease),y var(--motion-standard,.38s) var(--dsrun-ease),height var(--motion-standard,.38s) var(--dsrun-ease)}.dsrun-figure .dsg-dot{transition:cy var(--motion-standard,.38s) var(--dsrun-ease),fill var(--motion-standard,.38s) var(--dsrun-ease),r var(--motion-quick,.18s) var(--dsrun-ease);animation:dsrun-fade var(--motion-standard,.38s) var(--dsrun-ease) both}.dsrun-figure .dsg-line{transition:d var(--motion-standard,.38s) var(--dsrun-ease),stroke var(--motion-standard,.38s) var(--dsrun-ease);animation:dsrun-fade var(--motion-standard,.42s) var(--dsrun-ease) both}.dsrun-figure .dsg-axis-label,.dsrun-figure .dsg-legend,.dsrun-figure .dsrun-xtick,.dsrun-figure .dsrun-ytick{animation:dsrun-fade var(--motion-standard,.38s) var(--dsrun-ease) both}.dsrun-figure .dsrun-title{animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both;transform-box:fill-box;transform-origin:center}@keyframes dsrun-fade{0%{opacity:0}to{opacity:1}}.dsrun-figure .dsrun-rug{stroke:var(--dsrun-accent);stroke-width:1.2;opacity:.7}.dsrun-figure .dsrun-rug,.dsrun-figure .dsrun-slot{animation:dsrun-fade var(--motion-standard,.38s) var(--dsrun-ease) both}.dsrun-figure .dsrun-slot{fill:color-mix(in srgb,var(--dsrun-accent) 8%,transparent);stroke:var(--dsrun-accent);stroke-width:1;stroke-dasharray:3 3}.dsrun-figure .dsrun-tickmark{stroke:var(--dsrun-accent);stroke-width:2;animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both;transform-box:fill-box;transform-origin:top}.dsrun-chart[data-ticks] .dsrun-xtick{fill:var(--dsrun-accent);font-weight:600}.dsrun-figure .dsrun-count{fill:var(--dsrun-green);font-weight:600;transform-origin:bottom}.dsrun-figure .dsrun-count,.dsrun-figure .dsrun-peak-dot{animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both;transform-box:fill-box}.dsrun-figure .dsrun-peak-dot{fill:var(--dsrun-accent);stroke:var(--dsrun-paper);stroke-width:2;transform-origin:center}.dsrun-figure .dsg-bar[data-lit]:not([data-lit=series]){fill:var(--dsrun-accent)}.dsrun-figure .dsg-bar[data-lit=series]{stroke:var(--dsrun-ink);stroke-width:2.5;paint-order:stroke}.dsrun-chart[data-cluster] .dsg-bar[data-cluster]:not([data-lit]){fill:color-mix(in srgb,var(--dsrun-accent) 45%,var(--dsg-dim,#c9ccd3))}.dsrun-figure .dsg-legend g[data-off]{opacity:.25}.dsrun-figure .dsg-legend g[data-dim]{opacity:.5}.dsrun-figure .dsrun-ann-text{fill:var(--dsrun-ink);font-weight:600;font-size:12px;transition:x var(--motion-standard,.38s) var(--dsrun-ease),y var(--motion-standard,.38s) var(--dsrun-ease)}.dsrun-figure .dsrun-ann-point,.dsrun-figure .dsrun-ann-text{animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both;transform-box:fill-box;transform-origin:center}.dsrun-figure .dsrun-ann-point{fill:none;stroke:var(--dsrun-rust);stroke-width:2}.dsrun-figure .dsrun-ann-arrow{stroke:var(--dsrun-ink);stroke-width:1.5;animation:dsrun-fade var(--motion-standard,.38s) var(--dsrun-ease) both}.dsrun-figure .dsrun-ann-head{fill:var(--dsrun-ink)}.dsrun-peak{margin:0;font:600 14px var(--dsrun-mono);color:var(--dsrun-accent);text-align:center}.dsrun-sort{justify-items:stretch}.dsrun-draw{display:grid;grid-template-columns:repeat(var(--dsrun-of,15),1fr);gap:3px;width:100%;max-width:420px;margin:0 auto}.dsrun-draw i{display:block;aspect-ratio:1;border-radius:3px;background:color-mix(in srgb,var(--dsrun-ink) 10%,transparent)}.dsrun-draw i[data-picked]{background:var(--dsrun-accent);animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both;animation-delay:calc(var(--dsrun-i, 0) * 45ms)}.dsrun-card{cursor:default}.dsrun-bucket-head{margin:0}.dsrun-git{justify-items:stretch}.dsrun-term{margin-top:6px}.dsrun-term .dsg2-term-log{min-height:80px;max-height:200px}.dsrun-files{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.dsrun-files .dsg2-files{padding:8px 10px;border:1px solid var(--dsrun-line);border-radius:14px;background:var(--dsrun-paper)}.dsrun-files .dsg2-file{transition:background var(--motion-standard,.38s) var(--dsrun-ease),translate var(--motion-standard,.38s) var(--dsrun-ease)}.dsrun-git[data-on] .dsrun-files .dsg2-file[data-state=staged]{animation:dsrun-slide var(--motion-standard,.42s) var(--dsrun-ease) both}@keyframes dsrun-slide{0%{translate:-12px 0;opacity:.4}to{translate:0 0;opacity:1}}.dsrun-shelf{display:grid;gap:6px;padding:10px 12px;border:1px dashed var(--dsrun-accent);border-radius:14px;background:color-mix(in srgb,var(--dsrun-soft) 55%,var(--dsrun-paper))}.dsrun-shelf-title{display:flex;gap:8px;align-items:baseline;font:600 12px/1 var(--dsrun-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dsrun-accent)}.dsrun-shelf-title small{font-weight:400;letter-spacing:0;text-transform:none;color:var(--dsrun-muted)}.dsrun-shelf-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--dsrun-paper);font:500 14px var(--dsrun-mono);color:var(--dsrun-ink);animation:dsrun-slide var(--motion-standard,.42s) var(--dsrun-ease) both}.dsrun-shelf-item i{color:var(--dsrun-accent);font-style:normal}.dsrun-shelf-empty{font-size:14px;color:var(--dsrun-muted)}@media (min-width:900px){.dsrun-files:has(.dsrun-shelf){grid-template-columns:minmax(0,3fr) minmax(150px,2fr);align-items:start}}.dsrun-bi,.dsrun-sheet{justify-items:stretch}.dsrun-sheet .dss-cell[data-mark=filled]{animation:dsrun-pop var(--motion-standard,.3s) var(--dsrun-ease) both}.dsrun-sheet[data-filling] .dss-row:nth-child(3) .dss-cell[data-mark=filled]{animation-delay:0s}.dsrun-sheet[data-filling] .dss-row:nth-child(4) .dss-cell[data-mark=filled]{animation-delay:.14s}.dsrun-sheet[data-filling] .dss-row:nth-child(5) .dss-cell[data-mark=filled]{animation-delay:.28s}.dsrun-sheet[data-filling] .dss-row:nth-child(6) .dss-cell[data-mark=filled]{animation-delay:.42s}.dsrun-sheet[data-filling] .dss-row:nth-child(7) .dss-cell[data-mark=filled]{animation-delay:.56s}.dsrun-sheet[data-filling] .dss-row:nth-child(8) .dss-cell[data-mark=filled]{animation-delay:.7s}.dsrun-sheet[data-filling] .dss-row:nth-child(9) .dss-cell[data-mark=filled]{animation-delay:.84s}.dsrun-sheet[data-filling] .dss-row:nth-child(10) .dss-cell[data-mark=filled]{animation-delay:.98s}.dsrun-sheet[data-filling] .dss-row:nth-child(n+11) .dss-cell[data-mark=filled]{animation-delay:1.12s}.dsrun-fill-note{margin:0;font:500 14px var(--dsrun-mono);color:var(--dsrun-green)}.dsrun-sheet .dss-sheet{--dss-col-min:64px}.dsrun-bi{grid-template-columns:minmax(0,1fr)}.dsrun-bi[data-ticked] .dsb-card-number{animation:dsrun-tally var(--motion-standard,.42s) var(--ease-spring,var(--dsrun-ease));color:var(--dsrun-green)}.dsrun-bi .dsb-slicer [role=checkbox],.dsrun-bi .dsb-slicer button{cursor:default}.dsrun-none{margin:0;padding:40px 20px;border:1px dashed var(--dsrun-line);border-radius:16px;color:var(--dsrun-muted);text-align:center}.dsrun-result{display:grid;gap:8px;align-content:start;padding:14px 16px;border:1px solid var(--dsrun-line);border-radius:14px;background:var(--dsrun-paper);min-width:0;transition:border-color var(--motion-standard,.38s) var(--dsrun-ease),background var(--motion-standard,.38s) var(--dsrun-ease)}.dsrun-result[data-filled]{border-color:var(--dsrun-green);background:color-mix(in srgb,var(--dsrun-sage) 55%,var(--dsrun-paper))}.dsrun-result-kicker{font:600 12px/1 var(--dsrun-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dsrun-muted)}.dsrun-result[data-filled] .dsrun-result-kicker{color:var(--dsrun-green)}.dsrun-result-head{margin:0;font:600 24px/1.2 var(--sans,inherit);color:var(--dsrun-ink);overflow-wrap:anywhere}.dsrun-result[data-value] .dsrun-result-head{font:600 34px/1.15 var(--dsrun-mono);color:var(--dsrun-green)}.dsrun-result[data-list] .dsrun-result-head{font:600 22px/1.3 var(--dsrun-mono)}.dsrun-result-list{margin:0;padding:6px 10px;border-radius:8px;background:color-mix(in srgb,var(--dsrun-green) 8%,transparent);font:600 17px/1.5 var(--dsrun-mono);color:var(--dsrun-green);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.dsrun-result-list.dsrun-result-head{background:transparent;padding:0}.dsrun-result[data-long] .dsrun-result-head{font-size:24px}.dsrun-result-from{margin:0;font-size:14px;line-height:1.4;color:var(--dsrun-muted)}.dsrun-result-empty{margin:0;font-size:16px;color:var(--dsrun-muted)}.dsrun-result-grid{font:15px/1.5 var(--dsrun-mono);color:var(--dsrun-ink);overflow-x:auto;scrollbar-width:thin}.dsrun-result-table{border-collapse:collapse}.dsrun-result-table td,.dsrun-result-table th{padding:1px 18px 1px 0;text-align:left;white-space:nowrap;font-weight:400}.dsrun-result-table th{font-weight:600;opacity:.7}.dsrun-result-more{margin:4px 0 0;font:14px var(--dsrun-mono);opacity:.7}.dsrun-result-lines{margin:0;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--dsrun-ink) 5%,transparent);font:14px/1.5 var(--dsrun-mono);color:var(--dsrun-ink);white-space:pre-wrap;overflow-wrap:anywhere}.dsrun-note[data-run-note=done] strong{color:var(--dsrun-green)}.dsrun-say .tensor-shadow{display:none}.sh-player[data-motion=paused] .dsrun *,.sh-player[data-motion=paused] .dsrun :after,.sh-player[data-motion=paused] .dsrun :before{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){.dsrun *,.dsrun :after,.dsrun :before{animation:none!important;transition:none!important}}@media (max-width:899px){.dsrun-board{scroll-margin-top:96px}}@media (max-width:480px){.dsrun-run,.sh-player .dsrun-run{min-height:52px;padding:0 22px 0 18px;font-size:18px;width:100%;justify-content:center}.dsrun-controls{flex-wrap:wrap}.dsrun-tensor .tensor-host,.sh-player .dsrun-tensor .tensor-host{width:56px;height:56px}.dsrun-reading{font-size:18px}.dsrun-result[data-value] .dsrun-result-head{font-size:28px}.dsrun-array{grid-template-columns:repeat(var(--dsrun-cols,3),40px)}.dsrun-array-cell{height:38px;font-size:16px}.dsrun-sums{grid-template-columns:repeat(var(--dsrun-cols,1),40px)}.dsrun-result-head{font-size:21px}}.pyg-program-goal{display:flex;align-items:center;gap:24px;margin:18px 0;color:var(--pv-muted);font-size:15px}.pyg-program-goal pre{min-width:150px;background:var(--pv-sage);color:var(--pv-green)}.pyg-program-bank{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.pyg-program-bank button{display:flex;align-items:center;gap:12px;font-size:15px}.pyg-program-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px;align-items:center}.pyg-program-sequence{border:1px dashed var(--pv-line);border-radius:12px;min-height:240px;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:8px}.pyg-program-empty{color:var(--pv-muted);text-align:center;font-size:17px;line-height:1.65}.pyg-program-line{display:flex;align-items:center;gap:10px;min-width:0;background:var(--pv-soft);border-radius:8px;padding-left:8px;font-size:14px}.pyg-program-line>span{color:var(--pv-muted)}.pyg-program-line code{flex:1 1;overflow-wrap:anywhere}.pyg-program-line button{padding:6px;flex:none;min-width:44px;font-size:22px;background:transparent;border:0}.pyg-program-printer{background:var(--pv-soft);border:1px solid var(--pv-line);border-radius:26px 26px 12px 12px;padding:20px;min-height:200px}.pyg-program-printer-label{display:block;text-align:center;color:var(--pv-accent);font-size:16px;margin-bottom:22px}.pyg-program-slot{height:8px;background:var(--pv-accent);border-radius:8px}.pyg-program-paper{margin:-2px 7px 0;animation:pyg-print .3s ease-out both}.pyg-program-paper pre{background:var(--pv-paper);border-radius:0 0 3px 3px;min-height:90px;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}.pyg-program-printer[data-success=true]{background:var(--pv-sage);border-color:var(--pv-green)}.pyg-weather-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;margin:24px 0}.pyg-weather-character{display:grid;justify-items:center}.pyg-weather-character svg{width:min(100%,250px)}.pyg-weather-character strong{font-size:24px;font-weight:550}.pyg-weather-character>span{font:17px var(--fs-mono);color:var(--pv-muted);margin-top:6px}.pyg-weather-shirt{fill:var(--pv-soft);transition:fill .25s}.pyg-weather-character[data-outfit=Coat] .pyg-weather-shirt{fill:var(--pv-warm)}.pyg-weather-character[data-outfit=Jacket] .pyg-weather-shirt{fill:var(--pv-sage)}.pyg-weather-boundaries{display:flex;justify-content:space-between;font:14px var(--fs-mono);color:var(--pv-muted)}@keyframes pyg-print{0%{opacity:.4;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:700px){.pyg-program-workspace,.pyg-weather-workspace{grid-template-columns:minmax(0,1fr);gap:20px}.pyg-program-goal{gap:14px}.pyg-program-bank{gap:8px}.pyg-program-bank button{width:100%;justify-content:space-between}.pyg-program-sequence{min-height:180px}.pyg-weather-character{grid-row:1}.pyg-weather-character svg{width:190px}}.pyg-program-workspace[data-ran=false]{grid-template-columns:minmax(0,1fr)}.pyg-program-workspace[data-ran=false] .pyg-program-sequence{min-height:110px}.pyg-weather-workspace{grid-template-columns:minmax(0,1fr);margin:16px 0}.pyg-weather-character svg{width:min(100%,220px)}.pyg-basics-source{margin-top:16px;color:var(--pv-muted);font-size:15px}.pyg-basics-source summary{width:fit-content;padding:8px 0;cursor:pointer;min-height:40px}.pyg-basics-source summary:focus-visible{outline:2px solid var(--pv-accent);outline-offset:3px}.pyg-basics-source pre{overflow-x:auto;max-width:100%;font-size:14px}.pyg-program .pyg-status:empty,.pyg-weather .pyg-status:empty{min-height:0;margin:0}.pyg-program-goal{justify-content:center}.pyg-program-goal pre{margin:0;font-size:24px;background:transparent;color:var(--pv-ink)}.pyg-program-bank button,.pyg-program-line{font-size:20px}.pyg-program-workspace{grid-template-columns:minmax(0,1fr);gap:18px}.pyg-program-sequence{min-height:110px}.pyg-program-printer{min-height:0;padding:16px}.pyg-program-paper pre{font-size:22px;min-height:60px}.pyg-program-printer-label{font-size:18px;margin-bottom:12px}.pyg-basics-source summary{min-height:44px;font-size:17px}.pyg-basics-source pre{font-size:18px}@media (max-width:540px){.pyg-program-line{font-size:18px}.pyg-program-bank{margin:16px 0}}.pyg-machine{width:100%;max-width:620px;min-width:0;margin-inline:auto;color:var(--al-ink);font:inherit}.pyg-machine *,.pyg-machine :after,.pyg-machine :before{box-sizing:border-box}.pyg-machine :is(button,input,summary):focus-visible{outline:3px solid var(--al-accent);outline-offset:3px}.pyg-machine button{min-width:44px;min-height:44px;font:inherit;color:var(--al-ink);border:1px solid var(--al-line);border-radius:10px;background:var(--al-paper);padding:10px 16px;cursor:pointer}.pyg-machine button:hover:not(:disabled){background:var(--al-soft);border-color:var(--al-accent)}.pyg-machine button:disabled{opacity:.42;cursor:default}.pyg-machine code,.pyg-machine pre{font-family:var(--fs-mono,monospace)}.pyg-machine-intro{text-align:center;margin:0 0 24px}.pyg-machine h3{margin:0;font-size:clamp(28px,3vw,34px);font-weight:650;letter-spacing:-.035em;line-height:1.25}.pyg-machine h3 code{font-size:inherit}.pyg-machine-intro>p{margin:12px auto 0;min-height:54px;max-width:500px;color:var(--al-muted);font-size:19px;line-height:1.45}.pyg-machine-target{margin:15px 0 0;font-size:24px;line-height:1.5}.pyg-machine-board{display:grid;gap:24px;position:relative;isolation:isolate;min-width:0;padding:24px;border:1px solid var(--al-line);border-radius:16px;background:var(--al-paper)}.pyg-machine-program{list-style:none;padding:0;margin:0;display:grid;gap:8px;align-content:start;min-width:0}.pyg-machine-program li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center;min-width:0;border-left:3px solid transparent;border-radius:5px;transition:background .18s,border-color .18s}.pyg-machine-program li[data-active],.pyg-machine-program li[data-selected]{background:var(--al-soft);border-left-color:var(--al-accent)}.pyg-machine-program li[data-skipped]{opacity:.45}.pyg-machine-line-number{font:15px var(--fs-mono,monospace);color:var(--al-muted);text-align:center}.pyg-machine .pyg-machine-code{border:0;margin:0;padding:10px 3px;display:block;text-align:left;background:transparent;min-width:0;min-height:50px;width:100%;font-size:20px;line-height:1.5;border-radius:4px}.pyg-machine-code code{white-space:pre-wrap;overflow-wrap:anywhere}.pyg-machine-code small{display:block;font:15px var(--fs-sans,inherit);color:var(--al-muted)}.pyg-machine-line-tools{grid-column:2;display:flex;justify-content:flex-end;gap:5px}.pyg-machine-line-tools button{width:44px;padding:5px;font-size:22px;background:transparent}.pyg-machine-program .pyg-machine-empty{display:flex;justify-content:center;min-height:74px;align-items:center;font-size:32px;color:var(--al-muted)}.pyg-machine-world{display:grid;gap:20px;border-top:1px solid var(--al-line);padding-top:23px;min-width:0}.pyg-machine-console,.pyg-machine-memory{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;align-items:start;min-width:0}.pyg-machine-label{color:var(--al-muted);font-size:17px;font-weight:500;line-height:1.5;padding-top:8px}.pyg-machine-binding{display:flex;align-items:center;gap:14px;min-height:44px;min-width:0;flex-wrap:wrap}.pyg-machine-binding>code{font-size:20px}.pyg-machine-binding-arrow{color:var(--al-accent);font-size:24px}.pyg-machine-binding strong{color:var(--al-muted);font:500 22px var(--fs-mono,monospace);overflow-wrap:anywhere}.pyg-machine-binding strong[data-bound]{color:var(--al-ink);animation:pyg-memory-bind .24s ease-out both}.pyg-machine-output{position:relative;min-width:0;min-height:44px}.pyg-machine-printer-slot{position:absolute;width:100%;height:1px;top:0;left:0;pointer-events:none}.pyg-machine-receipts{list-style:none;padding:0;margin:0}.pyg-machine-receipts li{padding:7px 0;font:24px/1.3 var(--fs-mono,monospace);animation:pyg-receipt-land .26s ease-out both;overflow-wrap:anywhere}.pyg-machine-console-empty{display:block;padding-block:7px;font:22px var(--fs-mono,monospace);color:var(--al-muted)}.pyg-machine-error{font:16px/1.5 var(--fs-mono,monospace);overflow-wrap:anywhere;margin:5px 0 0}.pyg-machine-flight-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}.pyg-machine-flight-route path{fill:none;stroke:var(--al-accent);stroke-width:2;stroke-dasharray:4 5;opacity:.65}.pyg-machine-traveler{position:absolute;left:0;top:0;z-index:4;pointer-events:none;width:max-content;max-width:160px;padding:8px 12px;background:var(--al-paper);border:solid var(--al-accent);border-width:1px 1px 3px;border-radius:8px;color:var(--al-ink);font:600 20px var(--fs-mono,monospace);box-shadow:0 5px 12px #0002;animation:pyg-machine-travel var(--flight-ms) cubic-bezier(.3,.05,.3,1) both}.pyg-machine-traveler[data-kind=read]{font-weight:400;font-size:18px}.pyg-machine-actions{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:24px}.pyg-machine-actions button{font-size:18px;min-height:52px}.pyg-machine button.pyg-machine-primary{padding-inline:28px;border-radius:28px;background:var(--al-primary);color:var(--al-primary-ink);border-color:var(--al-primary-edge);border-bottom:3px solid var(--al-primary-shadow);font-weight:600}.pyg-machine button.pyg-machine-primary:hover:not(:disabled){background:var(--al-primary-hover)}.pyg-machine button.pyg-machine-explore{display:flex;gap:12px;align-items:center;background:transparent;border-color:transparent;color:var(--al-muted)}.pyg-machine-explorer{margin-top:25px;padding-top:24px;border-top:1px solid var(--al-line)}.pyg-machine-bank{display:grid;gap:9px}.pyg-machine-bank button{display:flex;align-items:center;gap:15px;justify-content:space-between;font-size:20px;min-width:0;text-align:left}.pyg-machine-bank code{white-space:pre-wrap;overflow-wrap:anywhere}.pyg-machine-bank button>span{color:var(--al-accent);font-size:24px}.pyg-machine-extra-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.pyg-machine-extra-actions button{font-size:17px}.pyg-machine details p,.pyg-machine-explanation{font-size:17px;line-height:1.6;color:var(--al-muted);margin:20px 0 0}.pyg-machine details{margin-top:12px}.pyg-machine summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--al-muted);font-size:17px;width:fit-content}.pyg-machine summary:before{content:"＋";margin-right:8px}.pyg-machine details[open] summary:before{content:"−"}.pyg-machine details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:20px;line-height:1.7;padding:0}.pyg-machine-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pyg-machine-travel{0%{transform:translate(var(--from-x),var(--from-y)) translate(-50%,-50%) scale(.9);opacity:.55}45%{transform:translate(var(--mid-x),var(--mid-y)) translate(-50%,-50%) scale(1.04);opacity:1}to{transform:translate(var(--to-x),var(--to-y)) translate(-50%,-50%) scale(1);opacity:1}}@keyframes pyg-memory-bind{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes pyg-receipt-land{0%{opacity:.5;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:540px){.pyg-machine-intro{margin-bottom:12px}.pyg-machine-board{padding:14px 12px;gap:12px}.pyg-machine-program li{grid-template-columns:17px minmax(0,1fr);gap:7px}.pyg-machine-world{gap:10px;padding-top:12px}.pyg-machine-console,.pyg-machine-memory{grid-template-columns:minmax(0,1fr);gap:0}.pyg-machine-label{font-size:17px;padding:0}.pyg-machine-binding{gap:11px}.pyg-machine-actions{gap:8px;margin-top:16px}.pyg-machine-actions button{padding-inline:18px}}.pyg-machine[data-still] *,.pyx-stage[data-motion=paused] .pyg-machine *{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){.pyg-machine *{animation:none!important;transition:none!important}}.pyg-structure-function,.pyg-structure-loop{min-width:0;max-width:620px;margin-inline:auto}.pyg-structure-function *,.pyg-structure-loop *{box-sizing:border-box}.pyg-structure-mission{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;color:var(--pv-muted);font-size:18px}.pyg-structure-mission>span:last-child{text-align:right}.pyg-structure-mission strong{display:inline-block;margin-left:7px;color:var(--pv-ink);font-size:32px;font-weight:600}.pyg-structure-stage{min-width:0}.pyg-structure-options{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:22px;margin:28px 0}.pyg-structure-options fieldset{border:0;padding:0;margin:0;min-width:0}.pyg-structure-options legend,.pyg-structure-repeat>span{display:block;margin-bottom:9px;font-size:18px;color:var(--pv-muted)}.pyg-structure-parcel-choices,.pyg-structure-repeat>div{display:flex;gap:8px;align-items:center}.pyg-structure-parcel-choices button,.pyg-structure-repeat button{min-width:44px;min-height:44px;padding:7px}.pyg-structure-parcel-choices [aria-pressed=true]{color:var(--pv-accent);border-color:var(--pv-accent);background:var(--pv-soft)}.pyg-structure-repeat strong{min-width:25px;text-align:center;font-size:22px}.pyg-structure-loading{margin:24px 0;padding:18px 0;border-top:1px solid var(--pv-line);border-bottom:1px solid var(--pv-line)}.pyg-structure-crates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:360px;margin:0 auto 20px}.pyg-structure-crate{position:relative;display:grid;place-items:center;min-height:68px;padding:8px 18px;border:1px dashed var(--pv-line);border-radius:8px;color:var(--pv-muted);transition:background .35s,border-color .35s,transform .35s}.pyg-structure-crate>span{font-size:30px;line-height:1}.pyg-structure-crate>small{position:absolute;right:7px;bottom:4px;font-size:14px}.pyg-structure-crate[data-filled=true]{border-style:solid;border-color:var(--pv-accent);background:var(--pv-soft);color:var(--pv-accent);transform:translateY(-3px)}.pyg-structure-crate[data-filled=true]:before{content:"";width:19px;border-top:3px solid var(--pv-accent);position:absolute;top:5px;left:calc(50% - 9px);opacity:.5}.pyg-structure-delivered{display:flex;justify-content:center;align-items:baseline;gap:12px;color:var(--pv-muted);font-size:18px}.pyg-structure-delivered strong{font-size:44px;color:var(--pv-ink);animation:pyg-structure-value .3s ease both}.pyg-structure-source{margin-top:22px;padding-top:12px;border-top:1px solid var(--pv-line)}.pyg-structure-source summary{width:fit-content;min-height:44px;padding-block:10px;font-size:18px;color:var(--pv-muted);cursor:pointer}.pyg-structure-source summary:hover{color:var(--pv-accent)}.pyg .pyg-structure-program{max-width:100%;overflow-x:auto;padding:16px;margin:12px 0 0;border:1px solid var(--pv-line);border-radius:10px;background:var(--pv-paper);color:var(--pv-ink);font:15px/1.7 var(--fs-mono);white-space:pre}.pyg .pyg-structure-program code{padding:0;background:none;font:inherit;color:inherit}.pyg .pyg-structure-progress{color:var(--pv-muted);font-size:18px;margin-block:14px}.pyg-structure-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}.pyg-structure-actions button{min-height:44px}.pyg .pyg-structure-primary{background:var(--al-primary);color:var(--al-primary-ink);border-color:transparent;min-width:170px;font-size:18px;box-shadow:0 3px 0 var(--al-primary-shadow)}.pyg .pyg-structure-primary:hover{background:var(--al-primary);color:var(--al-primary-ink);filter:brightness(1.04)}.pyg .pyg-structure-feedback{margin:15px 0;font-size:18px;line-height:1.6;color:var(--pv-muted)}.pyg .pyg-structure-feedback:empty{margin:0}.pyg .pyg-structure-feedback[data-success=true]{color:var(--pv-green)}.pyg-structure-sliders{display:grid;gap:8px;margin:23px 0}.pyg .pyg-structure-sliders label{display:flex;align-items:center;justify-content:space-between;font-size:17px}.pyg-structure-sliders label strong{font:20px var(--fs-mono)}.pyg-structure-sliders input[type=range]{width:100%;min-width:0;height:44px;margin:0;padding:0;accent-color:var(--pv-accent)}.pyg-structure-default{justify-self:start;min-height:44px}.pyg-structure-default-note{color:var(--pv-muted);font-size:17px}.pyg-structure-machine{max-width:360px;margin:24px auto;text-align:center}.pyg-structure-function-core{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;line-height:1.35;border:1px solid var(--pv-accent);background:var(--pv-soft);border-radius:14px}.pyg-structure-function-core code{color:var(--pv-accent);font-size:24px}.pyg-structure-function-core>span{font-size:14px;color:var(--pv-muted)}.pyg-structure-fork{display:flex;justify-content:center;height:18px}.pyg-structure-fork span{width:27%;border-bottom:1px solid var(--pv-accent);border-left:1px solid var(--pv-accent);border-radius:0 0 0 10px}.pyg-structure-fork span:first-child{transform:scaleX(-1)}.pyg-structure-return-pair{display:flex;gap:24px;margin-top:6px;line-height:1.4}.pyg-structure-return-pair>div{flex:1 1;display:flex;flex-direction:column;align-items:center;border:1px solid var(--pv-line);border-radius:10px;padding:8px;background:var(--pv-paper)}.pyg-structure-return-pair span{color:var(--pv-muted);font-size:17px}.pyg-structure-return-pair strong{color:var(--pv-ink);font-size:30px;font-weight:500;animation:pyg-structure-value .3s ease both}.pyg-structure-program:focus-visible,.pyg-structure-source summary:focus-visible{outline:3px solid var(--pv-accent);outline-offset:4px}@keyframes pyg-structure-value{0%{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}[data-motion=paused] .pyg-structure-function *,[data-motion=paused] .pyg-structure-loop *{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.pyg-structure-function *,.pyg-structure-loop *{transition:none!important;animation:none!important}}@media (max-width:420px){.pyg-structure-options{gap:18px}.pyg-structure-actions{gap:8px}.pyg-structure-actions button{font-size:17px}.pyg .pyg-structure-program{font-size:14px;padding:12px}}.pyg-data-filter,.pyg-data-plot{min-width:0;width:100%;max-width:520px;margin:0 auto;color:var(--pv-ink)}.pyg-data-filter *,.pyg-data-plot *{box-sizing:border-box}.pyg-data-filter h3,.pyg-data-plot h3{font-size:24px;line-height:1.25;margin:10px 0;letter-spacing:-.3px}.pyg-data-filter>p,.pyg-data-plot>p{font-size:16px;line-height:1.55;margin:10px 0 18px}.pyg-data-mission{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--pv-muted);font-size:13px}.pyg-data-mission>span:last-child{display:flex;gap:5px}.pyg-data-mission i{width:18px;height:5px;border-radius:3px;background:var(--pv-line)}.pyg-data-mission i[data-done=true]{background:var(--pv-green)}.pyg-data-cargo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}.pyg-data-cargo-lane{display:grid;gap:8px;justify-items:stretch;text-align:center}.pyg-data-cargo-lane>small{font:12px var(--fs-mono,monospace);color:var(--pv-muted)}.pyg-data-crate{height:68px;display:grid;align-content:center;justify-items:center;border:1.5px solid var(--pv-line);border-radius:7px;background:var(--pv-paper);transition:transform .25s,opacity .25s,background .25s}.pyg-data-crate>span{font-size:12px;color:var(--pv-muted)}.pyg-data-crate>b{font:600 25px var(--fs-mono,monospace)}.pyg-data-cargo-lane[data-kept=true] .pyg-data-crate{background:var(--pv-sage);border-color:var(--pv-green);transform:translateY(4px)}.pyg-data-cargo-lane[data-kept=false] .pyg-data-crate{opacity:.52;transform:translateY(-3px)}.pyg-data-cargo-route{color:var(--pv-green);font-size:21px}.pyg-data-cargo-lane[data-kept=false] .pyg-data-cargo-route{color:var(--pv-muted)}.pyg-data-tray{margin:6px 0 20px;padding:11px 9px;min-height:95px;border:1.5px dashed var(--pv-green);border-radius:0 0 15px 15px;text-align:center}.pyg-data-tray>small{color:var(--pv-muted);font-size:12px}.pyg-data-tray>div{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px}.pyg-data-tray>div>span{padding:6px 9px;border-radius:6px;color:var(--pv-green);background:var(--pv-sage);font:13px var(--fs-mono,monospace)}.pyg-data-tray>div>.pyg-data-empty{color:var(--pv-muted);background:transparent}.pyg-data-range{display:block;margin:16px 0}.pyg-data-range>span{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px}.pyg-data-range b{font:600 23px var(--fs-mono,monospace);color:var(--pv-accent)}.pyg-data-range input{display:block;width:100%;min-width:0;height:38px;margin:0;accent-color:var(--pv-accent);cursor:pointer}.pyg-data-range-ends{color:var(--pv-muted)}.pyg-data-code{display:block;overflow-x:auto;max-width:100%;padding:13px;margin:17px 0 8px;background:var(--pv-paper);border:1px solid var(--pv-line);border-radius:9px;color:var(--pv-ink);font:13px/1.65 var(--fs-mono,monospace)}.pyg-data-code code{font:inherit;white-space:pre}.pyg-data-filter>.pyg-data-printed{font:13px/1.6 var(--fs-mono,monospace);color:var(--pv-green)}.pyg-data-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.pyg-data-actions button{min-height:44px;padding:10px 14px;border:1px solid var(--pv-accent);border-radius:9px;background:var(--pv-soft);color:var(--pv-accent);font:550 15px/1.35 var(--fs-sans,sans-serif);cursor:pointer}.pyg-data-actions button:disabled{opacity:.55;cursor:default}.pyg-data-actions .pyg-data-reset{color:var(--pv-muted);border-color:var(--pv-line);background:transparent;font-weight:400}.pyg-data-filter>.pyg-data-feedback,.pyg-data-plot>.pyg-data-feedback{min-height:49px;margin-top:13px;color:var(--pv-rust);font-size:15px}.pyg-data-feedback[data-success=true]{color:var(--pv-green)!important}.pyg-data-plot>.pyg-data-feedback:not([data-success]){color:var(--pv-muted)}.pyg-data-grid-wrap{position:relative;max-width:300px;margin:18px auto 10px;padding-top:10px;padding-right:8px}.pyg-data-grid{display:grid;grid-template-columns:20px repeat(5,minmax(0,1fr));gap:4px}.pyg-data-grid-row{display:contents}.pyg-data-grid .pyg-data-grid-cell{display:grid;place-items:center;width:100%;min-width:0;min-height:39px;aspect-ratio:1;padding:0;border:1px solid var(--pv-line);border-radius:4px;color:var(--pv-muted);background:var(--pv-paper);cursor:pointer;font:550 12px var(--fs-mono,monospace);transition:background .2s,border-color .2s}.pyg-data-grid-cell[data-occupied=true]{color:var(--pv-ink)}.pyg-data-grid-cell[data-matched=true]{background:var(--pv-sage)!important;border-color:var(--pv-green)!important;color:var(--pv-green)!important}.pyg-data-grid-cell[data-active=true]{background:var(--pv-soft)!important;border-color:var(--pv-accent)!important;color:var(--pv-accent)!important}.pyg-data-grid-cell>span{display:grid;place-items:center;min-width:23px;height:23px}.pyg-data-grid-cell[data-occupied=true]>span{border:1px solid;border-radius:50%;padding:0 3px;animation:pyg-data-point-place .24s ease-out}@keyframes pyg-data-point-place{0%{transform:scale(.65);opacity:.35}to{transform:scale(1);opacity:1}}.pyg-data-axis-number{align-self:center;justify-self:center;color:var(--pv-muted);font:12px var(--fs-mono,monospace)}.pyg-data-x-label,.pyg-data-y-label{position:absolute;color:var(--pv-muted);font:13px var(--fs-mono,monospace)}.pyg-data-y-label{left:6px;top:-10px}.pyg-data-x-label{right:-3px;bottom:-3px}.pyg-data-plot>.pyg-data-coordinate-note{color:var(--pv-muted);text-align:center;font-size:13px}.pyg-data-code:focus-visible,.pyg-data-filter button:focus-visible,.pyg-data-plot button:focus-visible,.pyg-data-range input:focus-visible{outline:3px solid var(--pv-accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.pyg-data-filter *,.pyg-data-plot *{transition:none!important;animation:none!important}}[data-motion=paused] .pyg-data-filter *,[data-motion=paused] .pyg-data-plot *{transition:none!important;animation:none!important}.pyg-data-source{margin-top:16px;color:var(--pv-muted);font-size:15px}.pyg-data-source summary{width:fit-content;padding:8px 0;cursor:pointer;min-height:40px}.pyg-data-source summary:focus-visible{outline:2px solid var(--pv-accent);outline-offset:3px}.pyg-data-source .pyg-data-printed{color:var(--pv-green);font:13px/1.6 var(--fs-mono,monospace)}.pyg-data-filter>.pyg-data-feedback:empty,.pyg-data-plot>.pyg-data-feedback:empty{min-height:0;margin:0}.pyg-data-point-step{margin:16px 0 8px}.pyg-data-point-step:focus{outline:none}.pyg-data-point-step>span{color:var(--pv-muted);font-size:13px}.pyg-data-point-step>p{color:var(--pv-ink);font-size:20px;margin:6px 0}.pyg-data-point-nav{align-items:center}.pyg-data-point-nav .pyg-data-reset{margin-left:auto}.pyg-data-filter,.pyg-data-plot{max-width:620px}.pyg-data-filter h3,.pyg-data-plot h3{font-size:30px}.pyg-data-filter>p,.pyg-data-plot>p{font-size:18px}.pyg-data-crate{height:84px}.pyg-data-crate>b{font-size:32px}.pyg-data-cargo-lane>small,.pyg-data-crate>span,.pyg-data-tray>small{font-size:14px}.pyg-data-actions button,.pyg-data-range>span,.pyg-data-tray>div>span{font-size:17px}.pyg-data-range input{min-height:44px}.pyg-data-grid-wrap{max-width:350px}.pyg-data-grid .pyg-data-grid-cell{min-height:44px;font-size:18px}.pyg-data-point-step>p{font-size:24px}.pyg-data-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:540px){.pyg-data-cargo{margin-top:10px}.pyg-data-cargo-lane{gap:4px}.pyg-data-crate{height:72px}.pyg-data-tray{min-height:70px;margin-bottom:10px;padding:8px}.pyg-data-tray>div{margin-top:6px}.pyg-data-range{margin:10px 0}.pyg-data-actions{margin-top:8px}}