@layer lab-base{:root{--eps:#c026d3;--eps-soft:#fae8ff}.vega-ctl select{font-family:var(--body);border:1px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:10px;padding:7px 10px;font-size:13px;font-weight:600}.vega-ctl select:focus{border-color:var(--accent);outline:none}@media (prefers-reduced-motion:reduce){vega-card,button.vega-btn,.fa-node,.fa-edge{transition:none!important;animation:none!important}}.vega-legend{color:var(--muted);font-size:11.5px;font-family:var(--mono);flex-wrap:wrap;gap:8px 16px;margin-top:12px;display:flex}.fabox{padding:4px 2px;overflow:auto}.fasvg{font-family:var(--mono);margin:0 auto;display:block}.fasvg .fa-edge{stroke:var(--line-strong);stroke-width:2px;fill:none;transition:stroke .14s}.fasvg .fa-edge.eps{stroke:var(--eps);stroke-dasharray:5 3}.fasvg .fa-edge.cur{stroke:var(--accent);stroke-width:3.5px}.fasvg .fa-edge.cur.eps{stroke:var(--eps);stroke-width:3.2px}.fasvg .fa-edge.fresh{stroke:var(--accent);stroke-width:3px}.fasvg .fa-edge.hidden{opacity:.08}.fasvg .fa-edgelabel.hidden{opacity:.1}.fasvg #faarrow path{fill:var(--line-strong)}.fasvg .fa-edge.cur{marker-end:url(#faarrow)}.fasvg .fa-edgelabel rect{fill:var(--card);stroke:var(--line-strong);stroke-width:1.4px}.fasvg .fa-edgelabel text{fill:var(--ink-soft);text-anchor:middle;font-size:12px;font-weight:600}.fasvg .fa-edgelabel.eps rect{fill:var(--eps-soft);stroke:var(--eps)}.fasvg .fa-edgelabel.eps text{fill:var(--eps)}.fasvg .fa-edgelabel.cur rect{fill:var(--hi);stroke:var(--accent)}.fasvg .fa-edgelabel.cur text{fill:var(--ink)}.fasvg .fa-edgelabel.fresh rect{fill:var(--accent-soft);stroke:var(--accent)}.fasvg .fa-start{stroke:var(--ink-soft);stroke-width:2.2px;fill:none}.fasvg .fa-startlabel{fill:var(--muted);text-anchor:start;font-size:10.5px;font-weight:600}.fasvg .fa-node .fa-circle{fill:var(--card);stroke:var(--line-strong);stroke-width:2.2px;transition:fill .14s,stroke .14s}.fasvg .fa-node .fa-accept-inner{fill:none;stroke:var(--line-strong);stroke-width:1.6px}.fasvg .fa-node text{fill:var(--ink);text-anchor:middle;pointer-events:none;font-size:12px;font-weight:600}.fasvg .fa-node.accept .fa-circle,.fasvg .fa-node.accept .fa-accept-inner{stroke:var(--good)}.fasvg .fa-node.cur .fa-circle{fill:var(--hi);stroke:var(--accent);stroke-width:3.2px}.fasvg .fa-node.active .fa-circle{fill:var(--accent-soft);stroke:var(--accent);stroke-width:3px}.fasvg .fa-node.eps-in .fa-circle{fill:var(--eps-soft);stroke:var(--eps);stroke-width:3px}.fasvg .fa-node.next .fa-circle{fill:var(--accent-pale);stroke:var(--accent);stroke-dasharray:4 3}.fasvg .fa-node.fresh .fa-circle{fill:var(--accent-2);stroke:var(--accent-press)}.fasvg .fa-node.fresh text{fill:#fff}.fasvg .fa-node.win .fa-circle{fill:var(--good);stroke:#0e9e5e}.fasvg .fa-node.win text{fill:#fff}.fasvg .fa-node.dead .fa-circle{fill:var(--bad-soft);stroke:var(--bad)}.fasvg .fa-node.dim{opacity:.26}.fasvg .fa-node.pop{animation:.32s both vega-pop}.fasvg .fa-node.p0 .fa-circle{fill:#eef2ff;stroke:#6366f1}.fasvg .fa-node.p1 .fa-circle{fill:#fff0f6;stroke:#e64980}.fasvg .fa-node.p2 .fa-circle{fill:#e6fcf5;stroke:#0ca678}.fasvg .fa-node.p3 .fa-circle{fill:#fff4e6;stroke:#f76707}.fasvg .fa-node.p4 .fa-circle{fill:#f8f0fc;stroke:#ae3ec9}.fasvg .fa-node.p5 .fa-circle{fill:#e7f5ff;stroke:#1c7ed6}.elimwrap{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=760px){.elimwrap{grid-template-columns:1.1fr 1fr;align-items:start}}.elimcol .fabox{min-height:160px}.fasvg .fa-edge.beta{stroke:var(--good);stroke-dasharray:6 3}.fasvg .fa-edgelabel.beta rect{fill:var(--good-soft);stroke:var(--good)}.fasvg .fa-edgelabel.beta text{fill:#0a7a47}.eqns{font-family:var(--mono);gap:7px;font-size:13px;line-height:1.6;display:grid}.eqn{border:1px solid var(--line-strong);background:var(--card);color:var(--ink-soft);word-break:break-word;border-radius:10px;padding:7px 11px}.eqn.start{border-color:var(--accent);background:var(--accent-soft)}.eqn sub{color:var(--accent-deep);font-size:.78em;font-weight:600}.eqn .eq,.eqn .op{color:var(--muted)}.eqn .coef{color:var(--accent-deep);font-weight:600}.eqn .coef.self{color:var(--eps)}.eqn .beta{color:#0a7a47;font-weight:600}.hi-start{color:var(--accent-deep);font-weight:600}.answerbox{border:1px solid var(--accent);background:var(--accent-soft);border-radius:16px;margin:16px 0;padding:16px 18px}.answerbox .alabel{font-family:var(--display);color:#fff;background:var(--accent);border-radius:999px;margin-bottom:8px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.answerbox code{font-family:var(--mono);color:var(--accent-deep);word-break:break-all;font-size:clamp(15px,4vw,22px);font-weight:600;line-height:1.5;display:block}.answerbox .anote{color:var(--ink-soft);margin:10px 0 0;font-size:12px;line-height:1.6}.tape{font-family:var(--mono);flex-wrap:wrap;align-items:flex-end;gap:5px;margin-bottom:4px;display:flex}.tape .head{color:var(--muted);align-self:center;margin-right:6px;font-size:10px;font-weight:600}.tape .cell{width:30px;height:36px;color:var(--ink);border:1px solid var(--line-strong);background:var(--card);border-radius:8px;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:background .12s,border-color .12s,opacity .12s;display:flex}.tape .cell.done{opacity:.4}.tape .cell.cur{background:var(--hi);border-color:var(--accent);box-shadow:0 0 0 2px var(--hi)}.tape .cell.bad{background:var(--bad-soft);border-color:var(--bad);color:#aa2236}.tape .eot{color:var(--muted);align-self:center;margin-left:4px;font-size:11px}.setrow{font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;font-size:12.5px;display:flex}.setrow .lbl{color:var(--muted);margin-right:4px;font-weight:600}.chipset{flex-wrap:wrap;gap:6px;display:inline-flex}.schip{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;padding:3px 10px;font-weight:600}.schip.eps{border-color:var(--eps);background:var(--eps-soft);color:var(--eps)}.schip.acc{border-color:var(--good);background:var(--good-soft);color:#166534}.schip.empty{color:var(--muted);box-shadow:none;background:0 0;border-style:dashed}table.dtab{border-collapse:separate;border-spacing:0;font-family:var(--mono);border:1px solid var(--line-strong);border-radius:10px;margin:6px 0;font-size:12.5px;overflow:hidden}table.dtab th,table.dtab td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;white-space:nowrap;min-width:34px;padding:5px 12px}table.dtab tr:last-child td{border-bottom:none}table.dtab th:last-child,table.dtab td:last-child{border-right:none}table.dtab th{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}table.dtab td.lbl{background:var(--accent-soft);color:var(--ink-soft);text-align:left;font-weight:600}table.dtab td.lbl.acc{color:#166534}table.dtab td.v{color:var(--accent);font-weight:600}table.dtab tr.cur td{background:var(--hi)}table.dtab td.hot{background:var(--accent-pale);box-shadow:inset 0 0 0 2px var(--accent)}.tabwrap{overflow-x:auto}.tokrow{font-family:var(--mono);flex-wrap:wrap;gap:6px;margin:4px 0 2px;font-size:14px;display:flex}.tokrow .lbl{color:var(--muted);align-self:center;margin-right:4px;font-size:12px;font-weight:600}.tok{text-align:center;border:1px solid var(--line-strong);background:var(--card);min-width:24px;color:var(--ink-soft);border-radius:8px;padding:4px 8px;font-weight:600}.tok.op{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-deep)}.tok.done{opacity:.38}.tok.cur{background:var(--hi);border-color:var(--accent);color:var(--ink)}.duo{grid-template-columns:1fr 1fr;gap:14px;display:grid}.duo .pane{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:10px;overflow:auto}.duo .pane .ph{font-family:var(--display);color:var(--accent-deep);margin:2px 4px 8px;font-size:12.5px;font-weight:600}@media (width<=720px){.duo{grid-template-columns:1fr}}.vega-legend .sw.cur{background:var(--hi);border-color:var(--accent)}.vega-legend .sw.active{background:var(--accent-soft);border-color:var(--accent)}.vega-legend .sw.eps{background:var(--eps-soft);border-color:var(--eps)}.vega-legend .sw.acc{background:var(--good-soft);border-color:var(--good)}.appcard h3{margin:0 0 4px;font-size:15px}}
