:root{--lam:#862e9c;--redex:#fdd663}@layer lab{@media (prefers-reduced-motion:reduce){.term .redex{transition:none!important;animation:none!important}}.term{font-family:var(--mono);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);text-align:center;word-break:break-word;overflow-wrap:anywhere;border-radius:12px;padding:18px;font-size:19px;line-height:1.95;transition:background .15s,border-color .15s}.term .l{color:var(--lam);font-weight:600}.term .v-f{color:var(--accent-2);font-weight:600}.term .redex{background:var(--redex);box-shadow:0 0 0 2px var(--redex);border-radius:6px;padding:1px 4px}.term.done{border-color:var(--good);background:var(--good-soft)}.term.loop{border-color:var(--warn);background:var(--warn-soft)}.trace{font-family:var(--mono);gap:1px;margin-top:4px;font-size:13px;display:grid}.trace .tr{color:var(--ink-soft);border-radius:8px;grid-template-columns:26px 1fr;align-items:baseline;gap:6px;padding:3px 8px;display:grid}.trace .tr .n{color:var(--muted);text-align:right;font-size:10.5px}.trace .tr.cur{background:var(--accent-soft);color:var(--ink)}.trace .tr .arrow{color:var(--accent);font-weight:600}.trace .tr .l{color:var(--lam);font-weight:600}.trace .tr .v-f{color:var(--accent-2);font-weight:600}.trace .tr .redex{background:var(--redex);border-radius:4px;padding:0 2px}.pick{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pick .opt{font-family:var(--mono);border:1px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;transition:transform .12s,box-shadow .12s,color .12s,background .12s,border-color .12s}.pick .opt:hover{color:var(--accent);border-color:var(--accent-line)}.pick .opt.on{background:var(--accent);border-color:var(--accent-press);color:#fff}.pick .opt:active{background:var(--surface-3)}.selfgrid{gap:12px;display:grid}.selfrow{font-family:var(--mono);color:var(--ink-soft);border:1px solid var(--line);background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}.selfrow .lbl{font-family:var(--body);color:var(--accent-deep);min-width:92px;font-weight:600}.selfrow .self{background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent-pale);border-radius:6px;padding:1px 5px;font-weight:600}.trace .tr .self{background:var(--accent-soft);color:var(--accent-deep);border-radius:4px;padding:0 3px;font-weight:600}.runout{font-family:var(--mono);background:var(--ink);color:#d9d2e6;white-space:pre-wrap;word-break:break-word;border-radius:12px;min-height:22px;margin-top:12px;padding:14px 16px;font-size:13.5px;line-height:1.7}.runout b{color:var(--hi)}.runout .ok{color:#5fe6a0;font-weight:600}.runout .no{color:#ff8f9c;font-weight:600}.runout .dim{color:var(--muted)}pre.vega-code.skelsrc{padding:12px 16px;line-height:1.7}pre.vega-code.skelsrc b{color:var(--hi);font-weight:600}.vega-lab .prose{color:var(--ink-soft);margin:12px 0;padding:2px 16px;font-size:14px;line-height:1.75}.vega-lab .prose b{color:var(--ink);font-weight:600}.vega-lab .selfgrid{margin:12px 0;padding:0 16px}.vega-lab .walk{padding:6px 0 2px}.vega-lab vega-note{margin-left:16px;margin-right:16px}.vega-lab .step-head{font-family:var(--display);color:var(--accent-deep);margin:16px 0 6px;padding:0 16px;font-size:15px;font-weight:600}.vega-lab .fixpoint{text-align:center;font-family:var(--mono);color:var(--accent-deep);margin:8px 0;font-size:16px}}
