.msn-mission{--msn-accent:var(--app-sky-text,var(--app-sky-d));--msn-soft:var(--app-sky-s);width:100%;min-width:0;max-width:1100px;margin-inline:auto;color:var(--app-ink);font-family:var(--fs-sans)}.msn-mission[data-format=debug]{--msn-accent:var(--app-coral-text,var(--app-coral-d));--msn-soft:var(--app-coral-s)}.msn-mission[data-format=decision]{--msn-accent:var(--app-lav-text,var(--app-lav-d));--msn-soft:var(--app-lav-s)}.msn-header{display:flex;align-items:center;gap:16px}.msn-header h2{margin:5px 0 0;font:650 clamp(25px,2.5vw,34px)/1.2 var(--fs-sans);letter-spacing:-.6px;text-wrap:balance}.msn-glyph{display:grid;place-items:center;flex:0 0 58px;height:58px;border:1.5px solid var(--msn-accent);border-radius:16px;background:var(--msn-soft);box-shadow:0 3px 0 var(--msn-accent)}.msn-glyph,.msn-kicker{color:var(--msn-accent)}.msn-kicker{margin:0;font:500 11px/1.5 var(--fs-mono);letter-spacing:.065em;text-transform:uppercase}.msn-brief{margin:20px 0;max-width:80ch;font-size:17px;line-height:1.65;color:var(--app-ink-soft)}.msn-route{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 24px;list-style:none}.msn-route li{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 12px;border:1px solid var(--app-hair);border-radius:9px;color:var(--app-ink-soft);background:var(--app-paper);font-size:13px;line-height:1.4}.msn-route li>span:first-child{font:500 12px var(--fs-mono)}.msn-route li[data-state=active]{border-color:var(--msn-accent);color:var(--msn-accent);background:var(--msn-soft)}.msn-route li[data-state=solved]{border-color:var(--app-sage-text);color:var(--app-sage-text);background:var(--app-sage-s)}.msn-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:24px;align-items:start}.msn-evidence{min-width:0;border:1.5px solid var(--app-hair);border-top:4px solid var(--msn-accent);border-radius:12px;background:var(--app-paper);padding:22px}.msn-evidence h3{margin:12px 0;font:600 21px/1.3 var(--fs-sans);letter-spacing:-.25px}.msn-evidence>p:not(.msn-kicker){font-size:16px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.msn-table-wrap{overflow-x:auto;margin-top:20px;max-width:100%;border:1px solid var(--app-hair);border-radius:8px}.msn-evidence table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.msn-evidence th{background:var(--msn-soft);color:var(--msn-accent);font-size:12px;font-weight:600}.msn-evidence td,.msn-evidence th{padding:10px 12px;text-align:left;border-bottom:1px solid var(--app-hair);overflow-wrap:anywhere}.msn-evidence tr:last-child td{border-bottom:0}.msn-code{max-width:100%;overflow-x:auto;margin:18px 0 0;padding:16px;background:var(--msn-soft);color:var(--app-ink);border-radius:8px;font:13px/1.8 var(--fs-mono)}.msn-question{min-width:0}.msn-instruction{font:13px/1.5 var(--fs-sans);color:var(--app-ink-soft);margin:0 0 15px}.msn-question .lq-ask__tensor,.msn-question .lq-kicker{display:none}.msn-question .lq-ask{margin-bottom:18px}.msn-question .lq-bubble{border:0;background:transparent;padding:0}.msn-question .lq-bubble:after,.msn-question .lq-bubble:before{display:none}.msn-question .lq-prompt,.msn-question .reveal-h{font:550 20px/1.5 var(--fs-sans)!important;color:var(--app-ink)}.msn-question .lq-grid{grid-template-columns:1fr;gap:10px}.msn-question .lq-opt{min-height:60px;padding:14px}.msn-question .lq-opt__label{font:500 16px/1.45 var(--fs-sans);overflow-wrap:anywhere}.msn-question .lq-strip{padding:14px}.msn-question .lq-strip__line{font-size:15px;line-height:1.6}.msn-question .lq-bug-line-text{white-space:pre-wrap!important;overflow-wrap:anywhere}.msn-question input{max-width:100%}.msn-action{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;margin-top:20px;padding:12px 20px;border:1.5px solid var(--msn-accent);border-radius:10px;background:var(--msn-accent);color:var(--app-paper);font:600 15px var(--fs-sans);box-shadow:0 3px 0 var(--app-ink);cursor:pointer}.msn-action:hover{filter:brightness(.95)}.msn-action:active{transform:translateY(2px);box-shadow:0 1px 0 var(--app-ink)}.msn-action--retry{background:var(--app-paper);color:var(--msn-accent);box-shadow:none}.msn-mission :is(button,input,[tabindex]):focus-visible{outline:3px solid var(--msn-accent)!important;outline-offset:4px}.msn-status{margin-top:22px}.msn-status:not(:empty){border:1px solid var(--app-sage-text);border-radius:12px;padding:18px 22px;background:var(--app-sage-s);color:var(--app-ink)}.msn-status strong{color:var(--app-sage-text);font-size:17px}.msn-status p{margin-top:7px;font-size:16px;line-height:1.6}.msn-unavailable{padding:24px;font-size:18px;line-height:1.6}@media (max-width:980px){.msn-workspace{grid-template-columns:1fr;gap:24px}}@media (max-width:560px){.msn-header{gap:12px}.msn-glyph{flex-basis:46px;height:46px;border-radius:12px}.msn-header h2{font-size:25px}.msn-brief{font-size:16px}.msn-evidence{padding:18px 16px}.msn-route{display:grid;grid-template-columns:1fr;gap:6px}}@media (prefers-reduced-motion:reduce){.msn-mission *,.msn-mission :after,.msn-mission :before{animation:none!important;transition:none!important}}.alf-figure{margin:12px 0 0;border:2px solid var(--app-ink);border-radius:14px;background:var(--app-paper);box-shadow:0 4px 0 var(--app-ink);overflow:hidden}.alf-figure+.alf-figure{margin-top:10px}.alf-figure__cap{padding:10px 14px 6px;font-family:var(--fs-sans);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--app-ink-soft)}.alf-figure__img{display:block;width:100%;max-width:100%;height:auto;padding:6px 10px 10px;box-sizing:border-box;background:#fff}[data-theme=dark] .alf-figure__img{filter:brightness(.92)}.alf-figure__alt{margin:0;padding:8px 14px 10px;border-top:1px solid var(--app-hair);font-family:var(--fs-sans);font-size:13px;line-height:1.45;color:var(--app-ink)}.alf-figure--live .alf-figure__cap{color:var(--app-sage-text)}@media (max-width:640px){.alf-figure{border-radius:12px}.alf-figure__img{padding:4px 6px 8px}}.py-code-example{width:100%;max-width:620px;min-width:0;margin-inline:auto;color:var(--al-ink,var(--app-ink))}.py-code-example *{box-sizing:border-box}.py-code-example .py-code-example__caption{margin:0 0 18px;font-size:20px;line-height:1.55}.py-code-example .py-code-example__prompt{margin:0 0 16px;font-size:18px;line-height:1.5}.py-code-example .act-py__row{display:block;margin:0}.py-code-example .act-py__card{padding:12px;border:1px solid var(--al-line,var(--app-line));background:var(--al-paper,var(--app-card));color:var(--al-ink,var(--app-ink));border-radius:14px;box-shadow:none;font-size:20px;line-height:1.65}.py-code-example .act-py__line{margin:0;gap:10px;padding:6px 8px;min-height:44px;align-items:baseline}.py-code-example .act-py__line--active{background:var(--al-soft,var(--app-lav-s));box-shadow:inset 3px 0 0 var(--al-accent,var(--app-ink))}.py-code-example .act-py__gutter,.py-code-example .act-py__line--muted{color:var(--al-muted,var(--app-muted))}.py-code-example .act-py__gutter{font-size:14px}.py-code-example .act-py__mark{font-size:16px;color:var(--al-muted,var(--app-muted))}.py-code-example .act-py__mark--err{color:var(--al-ink,var(--app-ink))}.py-code-example .act-py__line--tap:focus-visible:after{box-shadow:inset 0 0 0 2px var(--al-accent,var(--app-ink))}.py-code-example .py-code-example__result:empty{display:none}.py-code-example .py-code-example__result:not(:empty){margin-top:18px;padding-inline:4px}.py-code-example .py-code-example__result p{margin:10px 0 0;font-size:18px;line-height:1.55}.py-code-example .py-code-example__result .py-code-example__label{margin:0 0 8px;color:var(--al-muted,var(--app-muted));font-size:16px}.py-code-example .py-code-example__result pre{margin:0;font:500 22px/1.5 var(--fs-mono,monospace);white-space:pre-wrap;overflow-wrap:anywhere}.py-code-example .py-code-example__result[data-error] pre{font-size:18px}.py-code-example .py-code-example__about{margin-top:16px}.py-code-example .py-code-example__about>summary{min-height:44px;display:flex;align-items:center;width:fit-content;cursor:pointer;color:var(--al-muted,var(--app-muted));font-size:17px;text-decoration:underline;text-underline-offset:4px}.py-code-example .py-code-example__about>summary:focus-visible{outline:2px solid var(--al-accent,var(--app-ink));outline-offset:3px}.py-code-example .py-code-example__about>p{font-size:18px;line-height:1.55;margin:12px 0}@media (max-width:540px){.py-code-example .act-py__card{padding:8px}.py-code-example .act-py__line{gap:8px}.py-code-example .act-py__mark{padding-left:12px}}@media (prefers-reduced-motion:reduce){.py-code-example .act-py__line{transition:none}}.dsc-scene{--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));display:grid;grid-template-columns:minmax(0,1fr) 170px;grid-template-areas:"stage tensor" "note note";gap:16px 28px;align-items:start;margin-top:8px;min-width:0}.dsc-stage{min-width:0;grid-area:stage}.dsc-tensor{display:flex;flex-direction:column;align-items:center;padding-top:12px;grid-area:tensor}.dsc-scene .dsc-note,.sh-player .dsc-scene .dsc-note{grid-area:note;margin:0;max-width:none;width:100%;scroll-margin:96px 0 150px}.dsc-tensor .tensor-shadow{display:block}.dsc-missing{margin:0;padding:40px 20px;border:1px dashed var(--dsc-line);border-radius:16px;color:var(--dsc-muted);text-align:center}.dsc-reveal .sr-only,.dsc-scene .sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.dsc-empty{margin:0;padding:22px 16px;grid-column:1/-1;color:var(--dsc-muted);font-size:17px;text-align:center}.dsc-write-table{grid-template-columns:minmax(0,1fr);grid-template-areas:none;gap:0;margin:0 0 16px}.dsc-player-reveal{margin-top:16px}.dsc-quiz-art{margin:0 auto 18px;max-width:420px;width:100%}.dsc-diagram{--dsc-diagram-ink:#2A2D3A;width:100%;max-width:640px;margin:0 auto;min-width:0}.dsc-diagram .lesson-cover,.sh-player .dsc-diagram .lesson-cover{display:block;width:100%;aspect-ratio:320/140;min-height:0;max-height:none;padding:0;margin:0;border:1px solid var(--dsc-line,var(--sh-line,#d9dce1));border-radius:16px;overflow:hidden;box-shadow:0 4px 0 var(--dsc-line,var(--sh-line,#d9dce1))}.dsc-diagram .lesson-cover svg,.sh-player .dsc-diagram .lesson-cover svg{display:block;width:100%;height:100%;overflow:hidden}.dsc-diagram .lesson-cover svg text{fill:var(--dsc-diagram-ink)}:root[data-theme=dark] .dsc-diagram .lesson-cover svg :is(rect,circle,ellipse,polygon,path)[fill^="#"]{fill-opacity:1}.dsc-diagram .lesson-ambient>svg{animation:none}.dsc-write-table .dsc-row{min-height:44px}.dsc-tabbed{display:grid;gap:10px;min-width:0}.dsc-tabstrip{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 2px;border-bottom:1px solid var(--dsc-line)}.dsc-tab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;margin-bottom:-1px;border:solid transparent;border-width:1px 1px 2px;border-radius:10px 10px 0 0;background:transparent;color:var(--dsc-muted);font:500 15px/1.2 var(--dsc-mono);cursor:pointer}.dsc-tab:hover{color:var(--dsc-ink);background:var(--dsc-soft)}.dsc-tab[aria-selected=true]{color:var(--dsc-ink);border-bottom-color:var(--dsc-accent);background:var(--dsc-paper)}.dsc-tab:focus-visible{outline:3px solid var(--dsc-accent);outline-offset:2px}.dsc-tab-rows{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--dsc-soft);color:var(--dsc-muted);font:600 12px/1 var(--sans,var(--fs-sans,system-ui,sans-serif))}.dsc-tab[aria-selected=true] .dsc-tab-rows{background:var(--dsc-accent);color:var(--dsc-paper)}.dsc-tabpanel{min-width:0}.dsc-tabpanel[hidden]{display:none}@media (max-width:480px){.dsc-tab{min-height:44px;padding:6px 12px;font-size:14px}}.dsc-write-table .dsc-cell,.dsc-write-table .dsc-th{padding:9px 14px}.dsc-grid-frame{display:grid;gap:8px;min-width:0}.dsc-grid-name{font:14px var(--dsc-mono);color:var(--dsc-muted);letter-spacing:.04em}.dsc-grid-frame[data-style=sql] .dsc-grid-name:before{content:"⌸ "}.dsc-grid-frame[data-style=frame] .dsc-grid-name:before{content:">>> "}.dsc-grid-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable;border:1px solid var(--dsc-line);border-radius:16px;background:var(--dsc-paper);box-shadow:0 4px 0 var(--dsc-line)}.dsc-grid{display:grid;grid-template-columns:var(--dsc-cols);min-width:max-content;width:100%;font-size:20px;line-height:1.3}.dsc-head,.dsc-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:center;width:100%;text-align:left}.dsc-head{position:sticky;top:0;border-bottom:1px solid var(--dsc-line);background:var(--dsc-paper);z-index:1}.dsc-cell,.dsc-th{padding:12px 16px;white-space:nowrap;min-width:0}.dsc-th{font:500 14px/1.3 var(--dsc-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dsc-muted)}.dsc-th[data-rule]{color:var(--dsc-accent)}.dsc-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--dsc-ink)}.dsc-cell[data-num]{font-family:var(--dsc-mono);text-align:right}.dsc-cell[data-blank]{color:var(--dsc-muted);font-style:italic}.dsc-index{font:15px var(--dsc-mono);color:var(--dsc-muted);text-align:right}.dsc-row{border:0;border-top:1px solid var(--dsc-line);background:transparent;color:inherit;font:inherit;padding:0;min-height:56px}.dsc-head+.dsc-row,.dsc-row:first-of-type{border-top:0}button.dsc-row{cursor:pointer;touch-action:manipulation;transition:background .18s var(--dsc-ease),box-shadow .18s var(--dsc-ease)}button.dsc-row:hover{background:var(--dsc-soft)}button.dsc-row:focus-visible{outline:3px solid var(--dsc-accent);outline-offset:-3px}button.dsc-row[aria-pressed=true]{background:var(--dsc-soft);box-shadow:inset 5px 0 0 var(--dsc-accent)}button.dsc-row[data-miss]{background:var(--dsc-warm);box-shadow:inset 5px 0 0 var(--dsc-rust)}.dsc-scene[data-scene-state=done] button.dsc-row[aria-pressed=true]{background:var(--dsc-sage);box-shadow:inset 5px 0 0 var(--dsc-green)}.dsc-grid-frame[data-style=sql] .dsc-cell+.dsc-cell,.dsc-grid-frame[data-style=sql] .dsc-th+.dsc-th{border-left:1px solid var(--dsc-line)}.dsc-grid-frame[data-style=sql] .dsc-cell+.dsc-cell{border-left-color:color-mix(in srgb,var(--dsc-line) 55%,transparent)}.dsc-grid-frame[data-style=frame] .dsc-grid{font-family:var(--dsc-mono);font-size:18px}.dsc-grid-frame[data-style=frame] .dsc-th{text-transform:none;letter-spacing:0;font-weight:600;color:var(--dsc-ink)}.dsc-grid-frame[data-style=frame] .dsc-th[data-rule]{color:var(--dsc-accent)}.dsc-grid-frame[data-style=frame] .dsc-row{border-top-color:transparent;min-height:48px}.dsc-grid-frame[data-style=frame] .dsc-grid-scroll{box-shadow:none;border-radius:12px}.dsc-mask,.dsc-mask-th{text-align:right}.dsc-mask{font-family:var(--dsc-mono);color:var(--dsc-muted);transition:color .18s var(--dsc-ease)}.dsc-mask[data-on]{color:var(--dsc-accent);font-weight:600}.dsc-scene[data-scene-state=done] .dsc-mask[data-on]{color:var(--dsc-green)}.dsc-sort{display:flex;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;touch-action:manipulation;min-height:48px;font:500 14px/1.3 var(--dsc-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dsc-muted)}.dsc-grid-frame[data-style=frame] .dsc-sort{text-transform:none;letter-spacing:0;font-weight:600;color:var(--dsc-ink)}.dsc-sort:hover{background:var(--dsc-soft);color:var(--dsc-ink)}.dsc-sort:focus-visible{outline:3px solid var(--dsc-accent);outline-offset:-3px}.dsc-sort[aria-pressed=true]{color:var(--dsc-accent)}.dsc-sort-arrow{font-size:12px;opacity:.55}.dsc-sort[aria-pressed=true] .dsc-sort-arrow{opacity:1}.dsc-row[data-moved]{background:color-mix(in srgb,var(--dsc-soft) 55%,transparent)}.dsc-cell-btn{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;min-height:56px;text-align:left;transition:background .18s var(--dsc-ease)}.dsc-cell-btn[data-num]{text-align:right}.dsc-cell-btn[data-blank]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dsc-line) 70%,transparent);border-radius:6px;margin:4px;min-height:48px}.dsc-cell-btn:hover{background:var(--dsc-soft)}.dsc-cell-btn:focus-visible{outline:3px solid var(--dsc-accent);outline-offset:-3px}.dsc-cell-btn[aria-pressed=true]{background:var(--dsc-soft);color:var(--dsc-accent);font-family:var(--dsc-mono);font-weight:600;box-shadow:inset 0 0 0 2px var(--dsc-accent)}.dsc-cell-btn[data-miss]{background:var(--dsc-warm);color:var(--dsc-rust);box-shadow:inset 0 0 0 2px var(--dsc-rust)}.dsc-scene[data-scene-state=done] .dsc-cell-btn[aria-pressed=true]{background:var(--dsc-sage);color:var(--dsc-green);box-shadow:inset 0 0 0 2px var(--dsc-green)}.dsc-bucket-scene{display:grid;gap:18px;min-width:0}.dsc-draggable{cursor:grab}.dsc-draggable[aria-pressed=true]{cursor:grabbing}.dsc-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.dsc-bucket{display:grid;gap:8px;align-content:start;padding:8px;border:1px dashed var(--dsc-line);border-radius:16px;min-height:120px;transition:border-color .18s var(--dsc-ease),background .18s var(--dsc-ease)}.dsc-bucket[data-armed]{border-color:var(--dsc-accent);border-style:solid;background:color-mix(in srgb,var(--dsc-soft) 50%,transparent)}.dsc-bucket-drop{display:grid;gap:4px;justify-items:start;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;min-height:56px}.dsc-bucket-drop[aria-disabled=true]{cursor:default}.dsc-bucket-drop:hover{background:var(--dsc-soft)}.dsc-bucket-drop:focus-visible{outline:3px solid var(--dsc-accent);outline-offset:2px}.dsc-bucket-key{font-size:20px;font-weight:600}.dsc-bucket-total{font:15px var(--dsc-mono);color:var(--dsc-muted)}.dsc-bucket-total[data-live]{color:var(--dsc-accent)}.dsc-scene[data-scene-state=done] .dsc-bucket-total{color:var(--dsc-green)}.dsc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0 4px 4px;list-style:none}.dsc-chip{border:1px solid var(--dsc-line);border-radius:999px;padding:6px 12px;min-height:36px;background:var(--dsc-paper);color:var(--dsc-ink);font:16px var(--sans,inherit);cursor:pointer;touch-action:manipulation}.dsc-chip:hover{border-color:var(--dsc-accent)}.dsc-chip:focus-visible{outline:3px solid var(--dsc-accent);outline-offset:2px}.dsc-chip[data-miss]{background:var(--dsc-warm);border-color:var(--dsc-rust);color:var(--dsc-rust)}.dsc-scene[data-scene-state=done] .dsc-chip{background:var(--dsc-sage);border-color:var(--dsc-green)}.dsc-join{--dsc-col-min:72px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:start;min-width:0}.dsc-join .dsc-grid{font-size:18px}.dsc-join .dsc-cell,.dsc-join .dsc-th{padding:10px 12px}.dsc-join-glyph{font-size:28px;color:var(--dsc-muted);padding-top:64px}.dsc-pair-badge{display:flex;gap:3px;padding-inline:10px 0}.dsc-grid-frame[data-style=sql] .dsc-head>.dsc-th:first-child+.dsc-th,.dsc-grid-frame[data-style=sql] .dsc-pair-badge+.dsc-cell{border-left:0}.dsc-pair-badge i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--dsc-accent);color:var(--dsc-paper);font:600 13px var(--dsc-mono);font-style:normal}.dsc-scene[data-scene-state=done] .dsc-pair-badge i{background:var(--dsc-green)}button.dsc-row[data-paired]{background:var(--dsc-soft)}.dsc-scene[data-scene-state=done] button.dsc-row[data-paired]{background:var(--dsc-sage)}button.dsc-row[data-kept]{background:var(--dsc-warm);box-shadow:inset 5px 0 0 var(--dsc-rust)}button.dsc-row[data-dropped]{opacity:.38}.dsc-types{display:grid;gap:14px;min-width:0}.dsc-col-btn{display:grid;gap:2px;justify-items:start;border:0;background:transparent;cursor:pointer;touch-action:manipulation;min-height:56px}.dsc-col-btn:hover{background:var(--dsc-soft)}.dsc-col-btn:focus-visible{outline:3px solid var(--dsc-accent);outline-offset:-3px}.dsc-col-btn[aria-pressed=true]{background:var(--dsc-soft);box-shadow:inset 0 -3px 0 var(--dsc-accent)}.dsc-dtype{font:14px var(--dsc-mono);color:var(--dsc-muted)}.dsc-cell-dtype[data-typed=right],.dsc-col-btn[data-typed=right] .dsc-dtype{color:var(--dsc-green);font-weight:600}.dsc-cell-dtype[data-typed=wrong],.dsc-col-btn[data-typed=wrong] .dsc-dtype{color:var(--dsc-rust);font-weight:600}.dsc-dtypes-row{border-top:1px solid var(--dsc-line)!important;color:var(--dsc-muted)}.dsc-cell-dtype{font-size:15px}.dsc-dtype-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dsc-dtype-subject{font-size:18px;margin-right:6px}.dsc-dtype-subject code{font-family:var(--dsc-mono);color:var(--dsc-accent)}.dsc-dtype-chip{border:1px solid var(--dsc-line);border-radius:999px;padding:8px 16px;min-height:44px;background:var(--dsc-paper);color:var(--dsc-ink);font:17px var(--dsc-mono);cursor:pointer;touch-action:manipulation;transition:background .18s var(--dsc-ease)}.dsc-dtype-chip:hover{border-color:var(--dsc-accent);background:var(--dsc-soft)}.dsc-dtype-chip:focus-visible{outline:3px solid var(--dsc-accent);outline-offset:2px}.dsc-dtype-chip[aria-pressed=true]{background:var(--dsc-soft);border-color:var(--dsc-accent);color:var(--dsc-accent)}.dsc-note[data-scene-note=wrong] strong{color:var(--rust,#98482f)}.dsc-note[data-scene-note=done] strong{color:var(--sh-green,#386751)}.dsc-reveal{--dsc-tint:var(--sh-blue,#e3edf3);--dsc-tint-ink:var(--sh-accent,#68508f);max-width:800px;margin:8px auto 0;display:grid;gap:10px;animation:dsc-rise .35s var(--ease,cubic-bezier(.2,.8,.2,1)) both}.dsc-reveal[data-language=numpy],.dsc-reveal[data-language=pandas],.dsc-reveal[data-language=python]{--dsc-tint:var(--sh-butter,#faece2);--dsc-tint-ink:var(--rust,#98482f)}.dsc-reveal-strip{display:flex;align-items:center;gap:14px;min-width:0;padding:14px 14px 14px 18px;border-radius:14px;background:var(--dsc-tint);border-left:5px solid var(--dsc-tint-ink)}.dsc-reveal-lang{flex:none;font:600 12px/1 var(--mono,ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--dsc-tint-ink)}.dsc-reveal-line{flex:1 1;min-width:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:19px/1.5 var(--mono,ui-monospace,monospace);color:var(--sh-ink,#17181b)}.dsc-reveal-line code{font:inherit}.dsc-reveal-copy{flex:none;min-height:40px;padding:7px 14px;border:1px solid color-mix(in srgb,var(--dsc-tint-ink) 35%,transparent);border-radius:9px;background:var(--sh-paper,#fff);color:var(--sh-ink,#17181b);font:15px var(--sans,inherit);cursor:pointer;touch-action:manipulation}.dsc-reveal-copy:hover{border-color:var(--dsc-tint-ink)}.dsc-reveal-copy:focus-visible{outline:3px solid var(--sh-accent,#68508f);outline-offset:3px}.dsc-reveal-caption{margin:0;font-size:20px;line-height:1.55;color:var(--sh-ink,#17181b)}.dsc-reveal-result{margin:0;padding:10px 14px;border-radius:10px;background:var(--dsc-panel,rgba(0,0,0,.04));font:14px/1.5 var(--mono,ui-monospace,monospace);color:var(--sh-ink,#17181b);overflow-x:auto;white-space:pre}.dsc-reveal-result--rows{display:grid;gap:2px;white-space:normal}.dsc-reveal-row{display:flex;gap:14px}.dsc-reveal-row>span{flex:1 1;min-width:0;overflow-wrap:anywhere}.dsc-reveal-row>[role=columnheader]{font-weight:600;opacity:.7}.dsc-reveal-more{margin:4px 0 0;font:inherit;opacity:.7}@keyframes dsc-rise{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}.sh-player[data-motion=paused] .dsc-reveal,.sh-player[data-motion=paused] .dsc-scene *{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){.dsc-reveal,.dsc-reveal *,.dsc-scene *{animation:none!important;transition:none!important}}@media (max-width:760px){.dsc-scene:not(.dsc-write-table){grid-template-columns:minmax(0,1fr) 120px;gap:12px}.dsc-tensor .tensor-host{width:120px;height:120px}.dsc-tensor .tensor-shadow{width:58px}.dsc-join{grid-template-columns:minmax(0,1fr)}.dsc-join-glyph{padding:0;justify-self:center;rotate:90deg}}@media (max-width:480px){.dsc-scene:not(.dsc-write-table){grid-template-columns:64px minmax(0,1fr);grid-template-areas:"stage stage" "tensor note";gap:10px 10px}.dsc-tensor{grid-area:tensor;padding-top:0;align-self:start}.dsc-tensor .tensor-host{width:64px;height:64px}.dsc-tensor .tensor-shadow{width:40px}.dsc-scene .dsc-note,.sh-player .dsc-scene .dsc-note{grid-area:note;min-height:64px;margin:0;padding-top:4px;font-size:18px}.dsc-grid{font-size:17px}.dsc-cell,.dsc-th{padding:10px 12px}.dsc-row{min-height:48px}.dsc-buckets{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.dsc-reveal-strip{flex-wrap:wrap;padding:12px}.dsc-reveal-line{font-size:16px;flex-basis:100%}.dsc-reveal-caption{font-size:18px}}@media (min-width:481px){.dsc-scene:not(.dsc-write-table):is([data-kind="table.join"],[data-kind="frame.merge"],[data-kind="table.bucket"],[data-kind="frame.groupby"],[data-kind="array.broadcast"],[data-kind="bi.visual"],[data-kind^="git."],[data-kind="sheet.pivot"],:has(.dst-frame[data-wide]),:has(.dss-scroll[data-wide]),:has(.dsg-buckets-3),:has(.dsg-buckets-4)){grid-template-columns:96px minmax(0,1fr);grid-template-areas:"stage stage" "tensor note";gap:14px 16px}.dsc-scene:not(.dsc-write-table):is([data-kind="table.join"],[data-kind="frame.merge"],[data-kind="table.bucket"],[data-kind="frame.groupby"],[data-kind="array.broadcast"],[data-kind="bi.visual"],[data-kind^="git."],[data-kind="sheet.pivot"],:has(.dst-frame[data-wide]),:has(.dss-scroll[data-wide]),:has(.dsg-buckets-3),:has(.dsg-buckets-4)) .dsc-tensor{padding-top:0;align-self:start}.dsc-scene:not(.dsc-write-table):is([data-kind="table.join"],[data-kind="frame.merge"],[data-kind="table.bucket"],[data-kind="frame.groupby"],[data-kind="array.broadcast"],[data-kind="bi.visual"],[data-kind^="git."],[data-kind="sheet.pivot"],:has(.dst-frame[data-wide]),:has(.dss-scroll[data-wide]),:has(.dsg-buckets-3),:has(.dsg-buckets-4)) .dsc-tensor .tensor-host{width:96px;height:96px}.dsc-scene:not(.dsc-write-table):is([data-kind="table.join"],[data-kind="frame.merge"],[data-kind="table.bucket"],[data-kind="frame.groupby"],[data-kind="array.broadcast"],[data-kind="bi.visual"],[data-kind^="git."],[data-kind="sheet.pivot"],:has(.dst-frame[data-wide]),:has(.dss-scroll[data-wide]),:has(.dsg-buckets-3),:has(.dsg-buckets-4)) .dsc-tensor .tensor-shadow{width:50px}.dsc-scene:not(.dsc-write-table):is([data-kind="table.join"],[data-kind="frame.merge"],[data-kind="table.bucket"],[data-kind="frame.groupby"],[data-kind="array.broadcast"],[data-kind="bi.visual"],[data-kind^="git."],[data-kind="sheet.pivot"],:has(.dst-frame[data-wide]),:has(.dss-scroll[data-wide]),:has(.dsg-buckets-3),:has(.dsg-buckets-4)) .dsc-note{min-height:96px;padding-top:6px}}.dsc-parts{display:grid;gap:10px;min-width:0}.dsc-parts-strip{flex-wrap:wrap}.dsc-parts-line{flex:1 1 260px;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;row-gap:4px;font:19px/1.5 var(--mono,ui-monospace,monospace);color:var(--sh-ink,#17181b)}.dsc-parts-gap{white-space:pre}.dsc-parts-gap[data-break]{flex-basis:100%;height:0;overflow:hidden}.dsc-parts-seg{border:0;margin:0;padding:3px 7px;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;min-height:36px;cursor:pointer;touch-action:manipulation;box-shadow:inset 0 -2px 0 transparent;transition:background .18s var(--ease,cubic-bezier(.2,.8,.2,1)),box-shadow .18s var(--ease,cubic-bezier(.2,.8,.2,1)),color .18s var(--ease,cubic-bezier(.2,.8,.2,1))}.dsc-parts-seg:hover{background:color-mix(in srgb,var(--dsc-tint-ink) 14%,transparent)}.dsc-parts-seg:focus-visible{outline:3px solid var(--sh-accent,#68508f);outline-offset:2px}.dsc-parts-seg[data-seen]{box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--dsc-tint-ink) 55%,transparent)}.dsc-parts-seg[aria-current=true]{background:var(--sh-accent,#68508f);color:var(--sh-paper,#fff);box-shadow:none}.dsc-parts-read{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:2px 4px 0;min-width:0}.dsc-parts-nav{display:inline-flex;align-items:center;gap:12px;justify-self:end}.dsc-parts-tensor{flex:none;display:block;width:56px;height:56px}.dsc-parts-tensor svg,.dsc-parts-tensor>span{display:block;width:100%;height:100%;overflow:visible}.dsc-parts-means{min-width:0;margin:0;font-size:20px;line-height:1.5;color:var(--sh-ink,#17181b);overflow-wrap:anywhere}.dsc-parts-read>.dsc-parts-means:first-child{grid-column:1/3}.dsc-parts-means-part{display:inline-block;margin-right:10px;font:600 15px/1.4 var(--mono,ui-monospace,monospace);color:var(--sh-accent,#68508f);padding:2px 8px;border-radius:6px;background:var(--sh-soft,#f0ebf7);white-space:pre-wrap;vertical-align:baseline}.dsc-parts-count{flex:none;font:14px var(--mono,ui-monospace,monospace);letter-spacing:.04em;color:var(--sh-muted,#51545c)}.dsc-parts[data-parts-state=done] .dsc-parts-count{color:var(--sh-green,#386751)}.dsc-parts-next{flex:none;min-height:40px;padding:7px 14px;border:1px solid color-mix(in srgb,var(--sh-accent,#68508f) 45%,transparent);border-radius:9px;background:var(--sh-paper,#fff);color:var(--sh-accent,#68508f);font:500 15px var(--sans,inherit);cursor:pointer;touch-action:manipulation}.dsc-parts-next:hover{border-color:var(--sh-accent,#68508f);background:var(--sh-soft,#f0ebf7)}.dsc-parts-next:focus-visible{outline:3px solid var(--sh-accent,#68508f);outline-offset:3px}.sh-player[data-motion=paused] .dsc-parts *{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){.dsc-parts *{animation:none!important;transition:none!important}}@media (max-width:480px){.dsc-parts-read{grid-template-columns:auto minmax(0,1fr)}.dsc-parts-nav{grid-column:1/-1;justify-self:end}.dsc-parts-line{font-size:16px;flex-basis:100%}.dsc-parts-seg{padding:2px 5px;min-height:32px}.dsc-parts-tensor{width:44px;height:44px}.dsc-parts-means{font-size:18px}.dsc-parts-means-part{font-size:14px}}.dsi-writeit{--dsi-ink:var(--sh-ink,var(--al-ink,#17181b));--dsi-muted:var(--sh-muted,var(--al-muted,#51545c));--dsi-line:var(--sh-line,var(--al-line,#d9dce1));--dsi-paper:var(--sh-paper,var(--al-paper,#fff));--dsi-accent:var(--sh-accent,var(--al-accent,#68508f));--dsi-soft:var(--sh-soft,var(--al-soft,#f0ebf7));--dsi-green:var(--sh-green,#386751);--dsi-sage:var(--sh-sage,#e5eee7);--dsi-rust:var(--rust,#98482f);--dsi-warm:var(--warm,#faece2);--dsi-blue:var(--sh-blue,#e3edf3);--dsi-mono:var(--mono,"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace);--dsi-sans:var(--sans,"IBM Plex Sans",system-ui,sans-serif);--dsi-ease:var(--ease,cubic-bezier(.2,.8,.2,1));--dsi-editor-bg:#FBFBFE;--dsi-editor-ink:#2A2D3A;--dsi-editor-band:#EEEAF7;--dsi-editor-kw:#6E43A0;--dsi-editor-num:#9E5142;--dsi-editor-comment:#5F6B78;--dsi-editor-gutter:#6F7284;--dsi-editor-caret:#806CAD;--dsi-term-bg:#F8F9FC;--dsi-term-ink:#2A2D3A;--dsi-term-muted:#666172;--dsi-pass:#3C5A48;--dsi-pass-soft:#E2ECDF;--dsi-err:#9E5142;--dsi-err-soft:#FBE6E1;--dsi-step-done:#D9E7CD;--dsi-step-done-ink:#33472F;min-width:0;margin-top:4px;color:var(--dsi-ink);font-family:var(--dsi-sans)}.sh-player[data-appearance=dark] .dsi-writeit,:root[data-theme=dark] .dsi-writeit,[data-theme=dark] .dsi-writeit{--dsi-editor-bg:#121B2A;--dsi-editor-ink:#D9E5F4;--dsi-editor-band:#1C2740;--dsi-editor-kw:#C7B2FA;--dsi-editor-num:#EFC588;--dsi-editor-comment:#9DB0C2;--dsi-editor-gutter:#8A9DB0;--dsi-editor-caret:#C7B2FA;--dsi-term-bg:#0B0F1A;--dsi-term-ink:#D9E5F4;--dsi-term-muted:#9DB0C2;--dsi-pass:#B5D1A2;--dsi-pass-soft:#1E2A1C;--dsi-err:#F4B5A5;--dsi-err-soft:#3A2622;--dsi-step-done:#33472F;--dsi-step-done-ink:#D9E7CD}.sh-player[data-appearance=light] .dsi-writeit{--dsi-editor-bg:#FBFBFE;--dsi-editor-ink:#2A2D3A;--dsi-editor-band:#EEEAF7;--dsi-editor-kw:#6E43A0;--dsi-editor-num:#9E5142;--dsi-editor-comment:#5F6B78;--dsi-editor-gutter:#6F7284;--dsi-editor-caret:#806CAD;--dsi-term-bg:#F8F9FC;--dsi-term-ink:#2A2D3A;--dsi-term-muted:#666172;--dsi-pass:#3C5A48;--dsi-pass-soft:#E2ECDF;--dsi-err:#9E5142;--dsi-err-soft:#FBE6E1;--dsi-step-done:#D9E7CD;--dsi-step-done-ink:#33472F}.dsi-writeit *,.dsi-writeit :after,.dsi-writeit :before{box-sizing:border-box}.dsi-writeit p{margin:0}.dsi-writeit .sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.dsi-writeit button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}.dsi-writeit button:disabled{cursor:default}.dsi-writeit button:focus-visible{outline:3px solid var(--dsi-accent);outline-offset:3px}.dsi-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"task" "work" "teacher" "data";gap:20px;min-width:0}.dsi-layout>.dsi-task{grid-area:task}.dsi-layout>.dsi-work{grid-area:work}.dsi-layout>.dsi-teacher{grid-area:teacher}.dsi-layout>.dsi-data{grid-area:data}@media (min-width:900px){.dsi-writeit{--dsi-wide:min(1080px,100vw - 64px);width:var(--dsi-wide);margin-inline:calc((100% - var(--dsi-wide)) / 2)}.dsi-layout{grid-template-columns:minmax(280px,1fr) minmax(360px,1fr);grid-template-rows:auto auto auto 1fr;grid-template-areas:"task work" "data work" "teacher work" ". work";gap:14px 28px;align-items:start}}.dsi-writeit .dsi-layout .dsi-data .dsc-write-table{grid-template-columns:minmax(0,1fr);grid-template-areas:none}.dsi-task{gap:14px}.dsi-data,.dsi-task{min-width:0;display:grid;align-content:start}.dsi-data{gap:8px}.dsi-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px;color:var(--dsi-muted)}.dsi-kicker__tag{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border-radius:999px;background:var(--dsi-blue);color:var(--dsi-accent);font:700 11px/1 var(--dsi-sans);letter-spacing:1.2px;text-transform:uppercase}.dsi-writeit--python .dsi-kicker__tag{background:var(--dsi-warm);color:var(--dsi-rust)}.dsi-prompt{font-size:22px;line-height:1.45;font-weight:500;color:var(--dsi-ink);text-wrap:balance}.dsi-prompt code{font:.9em var(--dsi-mono);padding:1px 6px;border-radius:6px;background:var(--dsi-soft);color:var(--dsi-accent)}.dsi-shape{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:14px;color:var(--dsi-muted)}.dsi-shape code{font:14px/1.5 var(--dsi-mono);color:var(--dsi-ink);padding:2px 8px;border-radius:8px;background:var(--dsi-soft);white-space:pre-wrap;overflow-wrap:anywhere}.dsi-data .dsc-write-table{margin:0}.dsi-sample{margin:0 0 6px;font-size:13px;color:var(--dsi-muted)}.dsi-data .dsc-grid{font-size:17px}.dsi-data .dsc-write-table .dsc-cell,.dsi-data .dsc-write-table .dsc-th{padding:7px 10px}.dsi-data .dsc-write-table .dsc-row{min-height:40px}.dsi-data .dsc-grid-frame[data-style=frame] .dsc-grid{font-size:15px}.dsi-teacher{display:flex;align-items:center;gap:14px;min-width:0;padding-top:4px}.dsi-teacher .teacher{flex:none;display:flex;flex-direction:column;align-items:center;gap:0}.dsi-teacher .tensor-host{display:block;width:120px;height:120px}.dsi-teacher .tensor-host svg,.dsi-teacher .tensor-host>span{display:block;width:100%;height:100%;overflow:visible}.dsi-teacher .tensor-shadow{width:58px;height:9px;border-radius:50%;background:#66577716;filter:blur(2px);margin:-9px 0 0}.dsi-writeit .dsi-note,.sh-player .dsi-writeit .dsi-note{flex:1 1 auto;min-width:0;min-height:0;margin:0;max-width:none;padding:0;display:block;font-size:19px;line-height:1.5;color:var(--dsi-ink);overflow-wrap:anywhere}.dsi-writeit .dsi-note[data-scene-note=wrong],.sh-player .dsi-writeit .dsi-note[data-scene-note=wrong]{color:var(--dsi-rust)}.dsi-writeit .dsi-note[data-scene-note=done],.sh-player .dsi-writeit .dsi-note[data-scene-note=done]{color:var(--dsi-green)}.dsi-work{min-width:0;display:flex;flex-direction:column;border:1px solid var(--dsi-line);border-radius:16px;background:var(--dsi-editor-bg);box-shadow:0 4px 0 var(--dsi-line);overflow:hidden}.dsi-steps{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0;padding:12px 16px;background:var(--dsi-paper);border-bottom:1px solid var(--dsi-line)}.dsi-step{display:flex;align-items:center;gap:8px;min-height:28px;font-size:13px;color:var(--dsi-muted)}.dsi-step__n{flex:none;width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--dsi-line);border-radius:50%;font-size:10px;font-weight:600}.dsi-step__name code{font:.95em var(--dsi-mono);padding:1px 5px;border-radius:5px;background:var(--dsi-soft);color:var(--dsi-accent)}.dsi-step--current{color:var(--dsi-ink);font-weight:600}.dsi-step--current .dsi-step__n{background:var(--dsi-accent);border-color:var(--dsi-accent);color:var(--dsi-paper)}.dsi-step--done .dsi-step__n{background:var(--dsi-step-done);border-color:var(--dsi-step-done);color:var(--dsi-step-done-ink)}.dsi-step--done .dsi-step__name{text-decoration:line-through;text-decoration-color:var(--dsi-line)}.dsi-step__btn{min-height:36px;padding:6px 14px;border:1px solid var(--dsi-accent);border-radius:9px;background:var(--dsi-accent);color:var(--dsi-paper);font-size:13px;font-weight:600;transition:background .18s var(--dsi-ease)}.dsi-step__btn:hover:not(:disabled){background:color-mix(in srgb,var(--dsi-accent) 88%,var(--dsi-ink))}.dsi-step__btn:disabled{opacity:.55}.dsi-editor-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 14px 0 0;background:var(--dsi-paper);border-bottom:1px solid var(--dsi-line);font-size:12px;color:var(--dsi-muted)}.dsi-file{align-self:stretch;display:inline-flex;align-items:center;gap:8px;padding:0 18px;background:var(--dsi-editor-bg);border-right:1px solid var(--dsi-line);font:12px var(--dsi-mono);color:var(--dsi-ink)}.dsi-file__dot{font-size:8px;color:var(--dsi-accent)}.dsi-lang{padding:0 6px;font:11px var(--dsi-mono)}.dsi-warmstrip{height:3px;background:var(--dsi-line);overflow:hidden}.dsi-warmstrip i{display:block;height:100%;width:0;background:var(--dsi-accent);transition:width .25s linear}.dsi-warmstrip--cpu i{width:40%;animation:dsi-slide 1.2s ease-in-out infinite alternate}@keyframes dsi-slide{0%{transform:translateX(-60%)}to{transform:translateX(240%)}}.dsi-editor{position:relative;min-height:200px;display:flex;flex-direction:column;--app-paper:var(--dsi-editor-bg);--app-ink:var(--dsi-editor-ink);--app-ink-soft:var(--dsi-editor-comment);--app-muted-paper:var(--dsi-editor-gutter);--app-lav-s:var(--dsi-editor-band);--app-lav-text:var(--dsi-editor-kw);--app-coral-text:var(--dsi-editor-num);--app-lav-fill:var(--dsi-editor-caret);--app-butter-s:var(--dsi-editor-band);--app-butter-text:var(--dsi-editor-num);--app-hair:var(--dsi-line);--app-field-line:var(--dsi-line);--fs-mono:var(--dsi-mono)}.dsi-editor .prac-editor-workspace{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.dsi-editor .prac-editor-sizing{display:none}.dsi-editor .prac-editor{position:relative;flex:1 1 auto;min-height:200px;display:flex;flex-direction:column;border-radius:0}.dsi-editor .prac-editor--sized{flex:none}.dsi-editor .cm-editor{flex:1 1 auto;min-height:0;border-radius:0}.dsi-editor .cm-editor.cm-focused{outline:none}.dsi-editor:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:none}.dsi-editor:focus-within:after{box-shadow:inset 0 0 0 3px var(--dsi-accent)}.dsi-editor .prac-gap{background:var(--dsi-paper);box-shadow:inset 0 0 0 2px var(--dsi-editor-caret);border-radius:8px;padding:2px 5px}.dsi-editor--done{opacity:.85}.dsi-editor-status{display:flex;justify-content:space-between;gap:15px;padding:6px 16px;font:10px var(--dsi-mono);color:var(--dsi-muted);background:var(--dsi-paper);border-top:1px solid var(--dsi-line)}.dsi-runtime{display:inline-flex;align-items:center;gap:7px}.dsi-runtime__dot{width:7px;height:7px;border-radius:50%;background:var(--dsi-line)}.dsi-runtime--ready .dsi-runtime__dot{background:var(--dsi-pass)}.dsi-runtime--failed .dsi-runtime__dot{background:var(--dsi-err)}.dsi-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;background:var(--dsi-paper);border-bottom:1px solid var(--dsi-line)}.dsi-check,.dsi-run{min-height:44px;padding:8px 18px;border-radius:10px;font-size:15px;font-weight:600;transition:background .18s var(--dsi-ease),border-color .18s var(--dsi-ease)}.dsi-run{border:1px solid var(--dsi-line);background:var(--dsi-paper);color:var(--dsi-ink)}.dsi-run:hover:not(:disabled){border-color:var(--dsi-accent);background:var(--dsi-soft)}.dsi-check{border:1px solid var(--dsi-accent);background:var(--dsi-accent);color:var(--dsi-paper)}.dsi-check:hover:not(:disabled){background:color-mix(in srgb,var(--dsi-accent) 88%,var(--dsi-ink))}.dsi-check:disabled,.dsi-run:disabled{opacity:.55}.dsi-actions[data-primary=run] .dsi-run{border-color:var(--dsi-accent);background:var(--dsi-accent);color:var(--dsi-paper)}.dsi-actions[data-primary=run] .dsi-run:hover:not(:disabled){background:color-mix(in srgb,var(--dsi-accent) 88%,var(--dsi-ink))}.dsi-actions[data-primary=run] .dsi-check{border-color:var(--dsi-line);background:var(--dsi-paper);color:var(--dsi-ink)}.dsi-actions[data-primary=run] .dsi-check:hover:not(:disabled){border-color:var(--dsi-accent);background:var(--dsi-soft)}.dsi-writeit[data-scene-state=done] .dsi-check{background:var(--dsi-sage);border-color:var(--dsi-green);color:var(--dsi-green);opacity:1}.dsi-tool{min-height:44px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--dsi-muted);font-size:13px;font-weight:500}.dsi-tool:hover:not(:disabled){background:var(--dsi-soft);color:var(--dsi-ink)}.dsi-help{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;flex-basis:100%;font-size:14px;color:var(--dsi-muted)}.dsi-chip{min-height:40px;padding:6px 14px;border:1px solid var(--dsi-line);border-radius:999px;background:var(--dsi-soft);color:var(--dsi-ink);font-size:14px}.dsi-chip code{font:14px var(--dsi-mono);color:var(--dsi-accent)}.dsi-chip:hover{border-color:var(--dsi-accent)}.dsi-output{display:flex;flex-direction:column;min-height:120px;background:var(--dsi-term-bg);color:var(--dsi-term-ink);scroll-margin:96px 0 150px}.dsi-output:focus-visible{outline:3px solid var(--dsi-accent);outline-offset:-3px}.dsi-output__bar{display:flex;justify-content:space-between;gap:15px;padding:8px 16px;font:11px var(--dsi-mono);color:var(--dsi-muted);border-bottom:1px solid var(--dsi-line)}.dsi-output__state{color:var(--dsi-term-muted)}.dsi-output[data-tone=ok] .dsi-output__state{color:var(--dsi-pass);font-weight:600}.dsi-output[data-tone=err] .dsi-output__state{color:var(--dsi-err);font-weight:600}.dsi-output__body{flex:1 1;min-width:0;padding:12px 16px 14px;font:14px/1.6 var(--dsi-mono)}.dsi-output__body .alq-grid{margin-top:0}.dsi-output__body .alq-grid+.dsi-verdict{margin-top:10px}.dsi-output__out{margin:0 0 10px;max-height:340px;overflow:auto;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.dsi-output__body .alq-grid{max-height:380px;overflow:auto;overscroll-behavior:contain}.dsi-output__muted{margin:0 0 8px;color:var(--dsi-term-muted)}.dsi-output__note{margin:0 0 10px;color:var(--dsi-term-muted);font:13px/1.5 var(--dsi-sans)}.dsi-output__err{margin:0 0 8px;color:var(--dsi-err);font:14px/1.5 var(--dsi-sans);overflow-wrap:anywhere}.dsi-output__line{font:12px var(--dsi-mono)}.dsi-output__raw{margin:10px 0 0;font:13px/1.5 var(--dsi-sans);color:var(--dsi-term-muted)}.dsi-output__raw summary{cursor:pointer;width:fit-content;min-height:32px;display:flex;align-items:center;gap:6px;color:var(--dsi-err);font-weight:600}.dsi-output__raw summary:focus-visible{outline:3px solid var(--dsi-accent);outline-offset:2px;border-radius:4px}.dsi-output__raw pre{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:var(--dsi-err-soft);color:var(--dsi-term-ink);font:12px/1.5 var(--dsi-mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}.dsi-output__body .alf-figure{margin:8px 0 10px}.dsi-wait{font:13px/1.5 var(--dsi-sans);color:var(--dsi-term-muted)}.dsi-wait p{margin:0 0 6px}.dsi-wait__title{color:var(--dsi-term-ink);font-weight:600;font-size:14px}.dsi-verdict{margin:0;font:15px/1.5 var(--dsi-sans);color:var(--dsi-term-ink)}.dsi-verdict:empty{display:none}.dsi-verdict--correct{color:var(--dsi-pass);font-weight:600}.dsi-verdict--soft_miss{color:var(--dsi-term-ink)}.dsi-verdict--error{color:var(--dsi-err)}.dsi-verdict--empty,.dsi-verdict--ran,.dsi-verdict--unavailable{color:var(--dsi-term-muted)}.dsi-verdict code{font:.95em var(--dsi-mono)}.dsi-solution{--dsi-solution-ink:var(--dsi-ink,var(--sh-ink,var(--app-ink,#17181b)));--dsi-solution-muted:var(--dsi-muted,var(--sh-muted,var(--app-ink-soft,#51545c)));--dsi-solution-line:var(--dsi-line,var(--sh-line,var(--app-hair,#d9dce1)));--dsi-solution-paper:var(--dsi-paper,var(--sh-paper,var(--app-paper,#fff)));--dsi-solution-accent:var(--dsi-accent,var(--sh-accent,var(--app-lav-text,#68508f)));--dsi-solution-soft:var(--dsi-soft,var(--sh-soft,var(--app-lav-s,#f0ebf7)));--dsi-solution-sans:var(--dsi-sans,var(--sans,"IBM Plex Sans",system-ui,sans-serif));--dsi-solution-mono:var(--dsi-mono,var(--mono,"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace));--dsi-solution-ease:var(--dsi-ease,var(--ease,cubic-bezier(.2,.8,.2,1)));--dsc-tint:var(--sh-blue,#e3edf3);--dsc-tint-ink:var(--sh-accent,#68508f);margin:12px 0 0;min-width:0;font:15px/1.5 var(--dsi-solution-sans);color:var(--dsi-solution-ink)}.dsi-solution[data-language=numpy],.dsi-solution[data-language=pandas],.dsi-solution[data-language=python],.dsi-solution[data-language=r]{--dsc-tint:var(--sh-butter,#faece2);--dsc-tint-ink:var(--rust,#98482f)}.dsi-solution[data-language=dax],.dsi-solution[data-language=git],.dsi-solution[data-language=sheet]{--dsc-tint:var(--sh-sage,#e5eee7);--dsc-tint-ink:var(--sh-green,#386751)}.dsi-solution .dsi-solution__toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 10px;border:1px solid var(--dsi-solution-line);border-radius:999px;background:var(--dsi-solution-paper);color:var(--dsi-solution-accent);font:600 14px/1.2 var(--dsi-solution-sans);cursor:pointer;touch-action:manipulation;transition:border-color .18s var(--dsi-solution-ease),background .18s var(--dsi-solution-ease)}.dsi-solution .dsi-solution__toggle:hover{border-color:var(--dsi-solution-accent);background:var(--dsi-solution-soft)}.dsi-solution .dsi-solution__toggle:focus-visible{outline:3px solid var(--dsi-solution-accent);outline-offset:3px}.dsi-solution__caret{display:inline-block;font-size:12px;transition:transform .18s var(--dsi-solution-ease)}.dsi-solution[data-open] .dsi-solution__caret{transform:rotate(90deg)}.dsi-solution__body{display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid var(--dsi-solution-line);border-radius:14px;background:var(--dsi-solution-paper);min-width:0;animation:dsi-solution-rise .28s var(--dsi-solution-ease) both}@keyframes dsi-solution-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dsi-solution__say{display:flex;align-items:center;gap:10px;min-width:0}.dsi-solution__say p{margin:0;font-size:16px;line-height:1.5;color:var(--dsi-solution-ink);overflow-wrap:anywhere}.dsi-solution__tensor{flex:none;display:block;width:44px;height:44px}.dsi-solution__tensor svg,.dsi-solution__tensor>span{display:block;width:100%;height:100%;overflow:visible}.dsi-solution__lang{align-self:center}.dsi-solution .dsc-parts-line,.dsi-solution .dsc-parts-means,.dsi-solution .dsc-reveal-line{font-size:16px}.dsi-solution .dsc-parts-means-part{font-size:14px}.dsi-solution .dsc-reveal-line{white-space:pre-wrap;overflow-wrap:anywhere}.dsi-solution .dsc-parts-gap[data-break]{flex-basis:100%}.dsi-solution__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;color:var(--dsi-solution-muted);font-size:14px}.dsi-solution .dsi-solution__insert{min-height:40px;padding:7px 14px;border:1px solid var(--dsi-solution-accent);border-radius:9px;background:var(--dsi-solution-accent);color:var(--dsi-solution-paper);font:600 14px/1.2 var(--dsi-solution-sans);cursor:pointer;touch-action:manipulation;transition:background .18s var(--dsi-solution-ease)}.dsi-solution .dsi-solution__insert:hover:not(:disabled){background:color-mix(in srgb,var(--dsi-solution-accent) 88%,var(--dsi-solution-ink))}.dsi-solution .dsi-solution__insert:focus-visible{outline:3px solid var(--dsi-solution-accent);outline-offset:3px}.dsi-solution .dsi-solution__insert:disabled{opacity:.55;cursor:default}.sh-player[data-motion=paused] .dsi-solution *,[data-reduced-motion=true] .dsi-solution *{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){.dsi-solution *{animation:none!important;transition:none!important}}@media (max-width:480px){.dsi-solution__body{padding:12px;gap:10px}.dsi-solution .dsc-parts-line,.dsi-solution .dsc-reveal-line{font-size:14px}.dsi-solution .dsc-parts-means{font-size:15px}.dsi-solution__insert{flex:1 1 auto}.dsi-layout{gap:14px}.dsi-prompt{font-size:19px}.dsi-data .dsc-grid{font-size:15px}.dsi-teacher{gap:10px}.dsi-teacher .tensor-host{width:92px;height:92px}.dsi-writeit .dsi-note,.sh-player .dsi-writeit .dsi-note{font-size:17px}.dsi-steps{gap:6px 12px;padding:10px 12px}.dsi-step{font-size:12px}.dsi-editor-bar{padding-right:8px}.dsi-file{padding:0 12px}.dsi-editor,.dsi-editor .prac-editor{min-height:160px}.dsi-editor .cm-editor{font-size:14px}.dsi-editor .cm-line{padding:0 12px}.dsi-editor .cm-lineNumbers .cm-gutterElement{min-width:24px;padding-left:10px}.dsi-editor .cm-content{flex-shrink:1}.dsi-actions{padding:10px 12px;gap:8px}.dsi-check,.dsi-run{flex:1 1 auto;padding:8px 12px;font-size:14px}.dsi-output__body{padding:10px 12px 12px;font-size:13px}}.sh-player[data-motion=paused] .dsi-writeit *,[data-reduced-motion=true] .dsi-writeit *{animation:none!important;transition:none!important}.sh-player[data-motion=paused] .dsi-warmstrip--cpu i,[data-reduced-motion=true] .dsi-warmstrip--cpu i{width:100%;opacity:.5}@media (prefers-reduced-motion:reduce){.dsi-writeit *{animation:none!important;transition:none!important}.dsi-warmstrip--cpu i{width:100%;opacity:.5}}.concept-lab{--cl-ink:var(--pv-ink,#17181b);--cl-muted:var(--pv-muted,#51545c);--cl-paper:var(--pv-paper,#fff);--cl-ground:var(--pv-bg,#fff);--cl-line:var(--pv-line,#d9dce1);--cl-one:var(--pv-green,#386751);--cl-two:var(--pv-rust,#98482f);--cl-three:var(--pv-accent,#68508f);--cl-soft:var(--pv-sage,#e5eee7);width:100%;max-width:1080px;min-width:0;margin-inline:auto;font:21px/1.65 var(--fs-sans);color:var(--cl-ink)}.concept-lab[data-domain=classical]{--cl-soft:var(--pv-warm,#faece2)}.concept-lab[data-domain=retrieval]{--cl-soft:var(--pv-soft,#f0ebf7)}.concept-lab *,.concept-lab :after,.concept-lab :before{box-sizing:border-box}.concept-head{margin-bottom:22px;max-width:800px}.concept-workbench{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.concept-actions,.concept-workbench>*{min-width:0}.concept-actions{display:flex;flex-direction:column;gap:20px}.concept-evidence{margin-top:22px;border-block:1px solid var(--cl-line);padding:14px 0}.concept-evidence summary{cursor:pointer;font:550 17px/1.6 var(--fs-sans);padding:2px 0}.concept-evidence summary:focus-visible{outline:3px solid var(--cl-one);outline-offset:5px;border-radius:3px}.concept-eyebrow{display:flex;justify-content:space-between;gap:16px;font:500 13px/1.5 var(--fs-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--cl-muted);margin:0 0 12px}.concept-head h2{font:550 30px/1.35 var(--fs-sans);letter-spacing:-.35px;margin:0 0 10px}.concept-head>p:last-child{color:var(--cl-muted);margin:0;font-size:21px;line-height:1.65}.concept-live{padding:20px;background:var(--cl-paper);border:1px solid var(--cl-line);border-radius:14px}.concept-result{display:grid;gap:8px}.concept-result>p:first-child{margin:0;font:550 16px/1.5 var(--fs-mono);text-transform:uppercase;letter-spacing:.06em}.concept-result>output{font:550 30px/1.25 var(--fs-sans);color:var(--cl-one);overflow-wrap:anywhere;text-align:left}.concept-result>p:last-child{color:var(--cl-muted);font-size:18px;line-height:1.6;margin:0}.concept-figure{margin:10px 0 12px}.concept-figure svg{display:block;width:100%;max-height:260px;overflow:visible}.concept-plot-paper{fill:var(--cl-ground)}.concept-plot-grid line{stroke:var(--cl-line);stroke-width:.7;opacity:.4}.concept-plot-axis,.concept-plot-grid text{font:16px var(--fs-mono);fill:var(--cl-muted)}.concept-plot-series{color:var(--cl-one)}.concept-plot-series[data-series="1"]{color:var(--cl-two)}.concept-plot-series[data-series="2"]{color:var(--cl-three)}.concept-plot-series polyline{stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.concept-plot-series circle,.concept-plot-series path,.concept-plot-series rect{fill:currentColor;stroke:var(--cl-paper);stroke-width:1.5}.concept-plot-series[data-series="1"] polyline{stroke-dasharray:7 4}.concept-plot-series[data-series="2"] polyline{stroke-dasharray:2 4}.concept-figure figcaption{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;font:16px/1.5 var(--fs-sans);color:var(--cl-one)}.concept-figure figcaption [data-series="1"]{color:var(--cl-two)}.concept-figure figcaption [data-series="2"]{color:var(--cl-three)}.concept-table-scroll{max-width:100%;overflow-x:auto;margin-top:10px;border-radius:8px}.concept-table-scroll:focus-visible{outline:3px solid var(--cl-one);outline-offset:3px}.concept-lab table{width:100%;border-collapse:collapse;font-size:17px;line-height:1.55}.concept-lab td,.concept-lab th{padding:11px 12px;border-bottom:1px solid color-mix(in srgb,var(--cl-line) 40%,transparent);text-align:right}.concept-lab th:first-child{text-align:left;font-weight:500}.concept-lab thead th{font:500 16px/1.5 var(--fs-sans);color:var(--cl-muted)}.concept-lab td{font-family:var(--fs-mono);overflow-wrap:anywhere}.concept-bars{margin:18px 0;display:grid;gap:9px}.concept-bars>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(60px,1.5fr) 80px;align-items:center;gap:10px;font-size:17px;line-height:1.55}.concept-bars output{font:16px/1.5 var(--fs-mono);text-align:right}.concept-bar-track{position:relative;height:17px;background:var(--cl-ground);border-radius:4px}.concept-bar-track[data-signed=true]:after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;border-left:1px solid var(--cl-muted)}.concept-bar-track i{position:absolute;height:100%;background:var(--cl-one);border-radius:3px}.concept-bar-track i[data-series="1"]{background:var(--cl-two)}.concept-bar-track i[data-series="2"]{background:var(--cl-three)}.concept-controls{padding:0;margin:0;border:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.concept-controls legend{font:550 16px/1.5 var(--fs-mono);margin-bottom:12px;padding:0}.concept-controls:disabled{opacity:.65}.concept-control{min-width:0}.concept-control label>span{display:flex;justify-content:space-between;gap:15px;font-size:17px;line-height:1.5}.concept-control output{font-family:var(--fs-mono)}.concept-control input{display:block;width:100%;min-width:0;min-height:38px;margin:1px 0;accent-color:var(--cl-one);cursor:pointer}.concept-control>p{font-size:17px;margin:0 0 8px}.concept-choices,.concept-option-control{display:flex;flex-wrap:wrap;gap:8px}.concept-lab button{font:17px/1.5 var(--fs-sans);min-height:46px;padding:12px 16px;border:1px solid var(--cl-line);background:var(--cl-paper);color:var(--cl-ink);border-radius:11px;cursor:pointer}.concept-lab button:disabled{cursor:default}.concept-lab button:focus-visible,.concept-lab input:focus-visible{outline:3px solid var(--cl-one);outline-offset:3px}.concept-lab button[aria-pressed=true]{background:var(--cl-soft);border-color:var(--cl-one)}.concept-scope{font-size:18px;line-height:1.6;color:var(--cl-muted);padding-left:12px;border-left:2px solid var(--cl-line);margin:16px 0}.concept-challenge{border:1px solid var(--cl-line);border-radius:15px;background:var(--cl-paper);padding:17px 18px}.concept-challenge h3{margin:0 0 9px;font:550 22px/1.4 var(--fs-sans);outline:none}.concept-challenge>p{margin:0 0 12px;font-size:20px;line-height:1.65}.concept-choices button{flex:1 1 200px;text-align:left}.concept-lab .concept-check{font-weight:600}.concept-challenge[data-complete=true],.concept-lab .concept-check{background:var(--cl-soft);border-color:var(--cl-one)}.concept-challenge .concept-feedback{margin:12px 0 0;color:var(--cl-muted);font-size:20px;line-height:1.65}.concept-feedback:empty{display:none}.concept-lab .concept-reset{border:0;background:none;font:16px/1.5 var(--fs-mono);color:var(--cl-muted);text-decoration:underline;text-underline-offset:3px;margin-top:8px;padding-inline:2px}@media (max-width:950px){.concept-workbench{grid-template-columns:minmax(0,1fr);gap:18px}.concept-live{max-width:100%}}@media (max-width:480px){.concept-controls{gap:9px}.concept-controls,.concept-result{grid-template-columns:1fr}.concept-result>output{grid-row:auto;text-align:left}.concept-live{padding:14px 10px}.concept-challenge{padding:14px}.concept-lab td,.concept-lab th{padding:7px 5px}}.concept-lab .concept-reset{font-family:var(--fs-sans)}.concept-lab[data-domain=retrieval] td{text-align:left;font-family:var(--fs-sans)}.concept-key-evidence{margin-top:20px;border-top:1px solid var(--cl-line);padding-top:12px}.concept-key-evidence>span{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--cl-muted)}.concept-key-evidence p{font-size:15px;line-height:1.6;margin:8px 0;display:flex;gap:12px;justify-content:space-between}.concept-key-evidence strong{font-weight:500}.concept-key-evidence p>span{text-align:right;font-family:var(--fs-mono)}.concept-comparison{margin:24px 0;border:1px solid var(--cl-line);border-radius:16px;padding:24px;background:var(--cl-paper)}.concept-comparison h3{font-size:21px;line-height:1.5;margin:8px 0 14px}.concept-comparison>div>p{font-size:16px;line-height:1.6;color:var(--cl-muted)}.concept-trials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.concept-trials article{padding:20px;border:1px solid var(--cl-line);border-radius:12px;background:var(--cl-ground);min-width:0}.concept-trials article>span{font:600 13px var(--fs-sans);color:var(--cl-three)}.concept-trials h4{font-size:22px;line-height:1.5;margin:14px 0}.concept-trials p{font-size:16px;line-height:1.6;margin:12px 0;overflow-wrap:anywhere}.concept-trials .concept-trial-settings{font-size:13px;color:var(--cl-muted)}.concept-trial-rows{border-top:1px solid var(--cl-line);padding-top:8px}.concept-trial-rows p{font-size:14px;font-family:var(--fs-mono)}.concept-comparison-resolved{font-size:17px;line-height:1.65;padding:18px;background:var(--cl-soft);border-radius:10px}.concept-axis-labels{font-size:13px;line-height:1.6;text-align:center;color:var(--cl-muted)}.concept-axis-labels small{display:block;font-size:12px}.concept-matrix{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin:24px 0}.concept-matrix>div>span{display:block;font-size:13px;color:var(--cl-muted);margin-bottom:10px}.concept-matrix>div>div{display:flex;gap:4px;padding:10px;border-inline:2px solid var(--cl-three);border-radius:5px}.concept-matrix b{font:500 16px var(--fs-mono);padding:8px;background:var(--cl-soft);border-radius:4px}.concept-matrix figcaption{width:100%;font-size:15px;line-height:1.7;text-align:center}.concept-matrix strong{color:var(--cl-three)}:is(.concept-margin,.concept-projection,.concept-index){margin:20px 0}.concept-live :is(.concept-margin,.concept-projection,.concept-index) svg{display:block;width:100%;overflow:hidden}.concept-live :is(.concept-margin,.concept-projection,.concept-index) figcaption{font-size:14px;line-height:1.6;color:var(--cl-muted)}.concept-margin-band{fill:var(--cl-soft)}.concept-margin-boundary,.concept-projection-axis{stroke:var(--cl-three);stroke-width:2}.concept-margin-edge,.concept-projection-tether{stroke:var(--cl-muted);stroke-dasharray:4 4;stroke-width:1.5}.concept-margin-axis{stroke:var(--cl-line)}.concept-point-negative{fill:var(--cl-two)}.concept-point-positive{fill:var(--cl-one)}.concept-index text,.concept-margin text{font:13px var(--fs-mono);fill:var(--cl-muted)}.concept-index-cell{fill:var(--cl-paper);stroke:var(--cl-line)}.concept-index-cell[data-selected=true]{fill:var(--cl-soft);stroke:var(--cl-one)}.concept-index-point{fill:var(--cl-muted)}.concept-chunk-map>p{font-size:16px}.concept-policy-words{display:flex;flex-wrap:wrap;gap:4px}.concept-policy-words>span{display:inline-flex;gap:3px;align-items:baseline;font-size:13px;padding:3px 5px;background:var(--cl-ground)}.concept-policy-words small{font-size:9px;color:var(--cl-muted)}.concept-policy-words [data-fact="0"]{background:var(--cl-soft);border-bottom:2px solid var(--cl-one)}.concept-policy-words [data-fact="1"]{background:var(--pv-soft,#f0ebf7);border-bottom:2px solid var(--cl-three)}.concept-chunk-window{display:grid;gap:4px;font-size:14px!important;line-height:1.6}@media(max-width:700px){.concept-trials{grid-template-columns:1fr}.concept-comparison{padding:18px}}.concept-trial-rows p{display:flex;flex-wrap:wrap;gap:4px 14px}.concept-trial-rows p>strong{width:100%;font-family:var(--fs-sans);font-weight:500}.concept-trial-rows p>span{font-size:13px}.concept-window-ranges{display:grid;gap:5px;margin-top:16px}.concept-window-ranges>div{height:24px;background:var(--cl-ground)}.concept-window-ranges i{display:block;background:var(--cl-line);color:var(--cl-ink);font:500 11px/24px var(--fs-mono);text-align:center;border-radius:4px}.concept-window-ranges [data-selected=true] i{background:var(--cl-soft);outline:1px solid var(--cl-one)}.concept-trial-calculation summary{font-size:14px;cursor:pointer;color:var(--cl-muted);padding-top:4px}.concept-trial-calculation .concept-trial-rows p>strong{width:auto}.concept-trial-calculation .concept-trial-rows p{margin:8px 0}.concept-comparison>.concept-feedback{font-size:15px;line-height:1.5}.concept-lab[data-phase=predict]{max-width:720px;margin-inline:auto}.concept-lab[data-phase=predict] .concept-workbench{display:block}.concept-lab[data-phase=predict] .concept-challenge{background:transparent;padding:0;border:0}.concept-lab[data-phase=explain]{max-width:720px;margin-inline:auto}.concept-lab[data-phase=explain] .concept-workbench{display:block}.concept-chunk-map .concept-chunk-window{padding:12px 0;margin:0;border-bottom:1px solid var(--cl-line);font-size:16px!important}.concept-chunk-window p{margin:4px 0;font-size:17px;line-height:1.55}.concept-chunk-fact{color:var(--cl-muted);font-size:14px}.concept-chunk-inspection>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:15px;color:var(--cl-muted)}.concept-chunk-inspection>p{font-size:15px;line-height:1.6}.concept-chunk-inspection .concept-policy-words{margin-top:10px}.math-build{max-width:920px;margin:0 auto;display:grid;gap:22px;color:var(--ink);font-family:var(--fs-sans)}.math-build h2{font-size:clamp(28px,4vw,38px);line-height:1.12;letter-spacing:-.035em;margin:0}.math-build p{font-size:18px;line-height:1.5;margin:0;max-width:70ch}.math-build button:not(.concept-check):not(.concept-reset){min-height:48px;padding:12px 18px;border-radius:14px;border:1px solid var(--hair);background:var(--paper-soft);color:var(--ink);font:inherit;cursor:pointer}.math-build button:disabled{cursor:default;opacity:.75}.math-build button:focus-visible,.math-build input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.math-build button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.math-pairs{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}.math-pairs>div{flex:1 1;display:grid;gap:12px;padding:22px;border:1px solid var(--hair);border-radius:18px;background:var(--paper-soft)}.math-pairs>button{flex:1 1;display:flex;gap:16px;align-items:center;justify-content:space-between}.math-product{display:block;font-family:var(--fs-mono);color:var(--accent);font-size:19px;animation:math-product-arrive .32s ease-out both}.math-big{font-size:42px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.math-machines{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:26px;border:1px solid var(--hair);border-radius:20px;background:var(--paper-soft)}.math-machines>output,.math-machines>span{padding:14px 16px;border:1px solid var(--hair);border-radius:12px;font-family:var(--fs-mono);font-size:17px;transition:transform .32s ease,background .32s ease}.math-machines [data-active=true]{background:var(--accent-soft);transform:translateY(-4px)}.math-machines[data-phase=exp] output:first-of-type,.math-output-cell{animation:math-product-arrive .32s ease both}.math-output-cell{padding:24px;border-radius:18px;border:2px solid var(--sage);font-size:22px;background:var(--sage-soft)}.math-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:430px}.math-grid span{padding:22px;text-align:center;background:var(--paper-soft);border:1px solid var(--hair);border-radius:10px;font-size:22px;transition:background .3s ease}.math-grid [data-marked=true]{background:var(--accent-soft);border-color:var(--accent)}.math-control{display:grid;gap:14px;max-width:620px;font-size:18px}.math-control>span{display:flex;justify-content:space-between;gap:20px}.math-control input{width:100%;accent-color:var(--accent);min-height:44px}.math-answer{display:grid;gap:12px;font-size:18px}.math-answer input{max-width:250px;font:600 24px var(--fs-mono);padding:14px;background:var(--paper-soft);border:1px solid var(--hair);border-radius:14px;color:var(--ink)}.math-contribution-bars{display:grid;gap:18px}.math-contribution-bars>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(80px,2fr) auto;gap:16px;align-items:center;font-size:17px}.math-contribution-bars>div>div{height:26px;position:relative;border-radius:6px;background:var(--paper-deep);overflow:hidden}.math-contribution-bars i{display:block;height:100%;background:var(--sage);border-radius:6px;transition:width .3s ease}.math-contribution-bars i[data-negative=true]{background:var(--warm)}.math-branches{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid var(--hair);border-radius:20px}.math-branches>div{display:grid;gap:24px}.math-branches span{padding:12px;background:var(--accent-soft);border-radius:10px;animation:math-product-arrive .35s ease-out both}.math-branches span+span{animation-delay:.12s}.math-density{display:block;width:100%;max-width:650px;overflow:hidden}.math-build svg text,.math-density text{fill:var(--ink-soft);font:14px var(--fs-mono)}.math-density polyline{transition:transform .32s ease}.math-gradient{stroke-dasharray:190;animation:math-gradient-draw .42s ease-out both}.math-built{padding:26px;border-radius:18px;background:var(--sage-soft);border:1px solid var(--sage)}.math-coin-stacks{display:flex;gap:8px;flex-wrap:wrap;max-width:670px}.math-coin-stacks>span{display:grid;place-content:center;width:42px;height:42px;border-radius:50%;background:var(--paper-deep);border:1px solid var(--hair);font:600 18px var(--fs-mono);animation:math-coin-land .3s ease-out both}.math-coin-stacks [data-head=true]{background:var(--accent-soft);border-color:var(--accent)}.math-frequency{height:24px;border-radius:8px;background:var(--paper-deep);position:relative}.math-frequency i{display:block;height:100%;border-radius:8px;background:var(--accent);transition:width .32s ease}.math-frequency>span{position:absolute;left:50%;top:-4px;bottom:-4px;border-left:2px dashed var(--ink)}.math-trail{display:flex;gap:16px;flex-wrap:wrap;font:15px var(--fs-mono)}@keyframes math-product-arrive{0%{opacity:.3;transform:translate(-16px,-8px)}to{opacity:1;transform:translate(0)}}@keyframes math-gradient-draw{0%{stroke-dashoffset:190}to{stroke-dashoffset:0}}@keyframes math-coin-land{0%{opacity:0;transform:translateY(-25px) rotateY(100deg)}to{opacity:1;transform:translateY(0) rotateY(0)}}@media(max-width:600px){.math-build{gap:18px}.math-pairs>button{flex-basis:100%}.math-contribution-bars>div{grid-template-columns:1fr auto}.math-contribution-bars>div>div{grid-column:1/-1;grid-row:2}.math-machines{padding:18px}.math-branches{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.math-build *{animation:none!important;transition:none!important}}.math-build[data-paused] *{animation:none!important;transition:none!important}