:is(div.vega-lab:has(>table.vega-cmp),div.vega-lab:has(>.vega-io)){box-shadow:none;background:0 0;border:none;margin:0;overflow:visible}@layer lab-base{.fchips{flex-wrap:wrap;gap:8px;display:flex}.fchip{font-family:var(--mono);border:1px solid var(--line-strong);color:var(--muted);background:#fff;border-radius:10px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.fchip .mk{text-align:center;width:14px;font-size:11px}.fchip.hit{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.fchip.hit .mk{color:var(--good);font-weight:600}.tree{font-family:var(--mono);font-size:13px;line-height:1.9}.tree ul{margin:0;padding-left:0;list-style:none}.tree ul ul{border-left:2px dashed var(--line-strong);margin-left:7px;padding-left:22px}.tree .tnode{border-radius:7px;align-items:center;gap:6px;padding:1px 8px;transition:background .15s,color .15s;display:inline-flex}.tree .tnode.dir{color:var(--ink-soft);font-weight:600}.tree .tnode.file.dim{color:var(--muted);opacity:.65}.tree .tnode.file.hit{background:var(--accent-soft);color:var(--accent-deep);box-shadow:inset 0 0 0 2px var(--accent-line);font-weight:600}.tree .tnode.file.hit .mk{color:var(--good);font-weight:600}.tree .tnode.file.ign{background:var(--bad-soft);color:#c92a3b;text-decoration:line-through}.tree .tnode.file.ign .mk{text-decoration:none}.gerr{border:2px dashed var(--bad);background:var(--bad-soft);border-radius:10px;padding:10px 14px}.gerr pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-all;color:var(--ink);margin:0 0 6px;font-size:13px;font-weight:600;line-height:1.6}.gerr .errpos{background:var(--bad);color:#fff;border-radius:4px;padding:0 2px}.gerr p{color:#c92a3b;margin:0;font-size:13px;font-weight:600}.gerr .pos{font-family:var(--mono);color:var(--muted);font-size:11.5px}.maprow{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.mapcell{border:1px solid var(--line-strong);background:#fff;border-radius:10px;flex-direction:column;min-width:40px;display:flex;overflow:hidden}.mapcell .g{font-family:var(--mono);text-align:center;color:var(--ink);background:var(--panel);border-bottom:1px dashed var(--line-strong);padding:5px 9px;font-size:13px;font-weight:600}.mapcell .g i{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:9.5px;font-style:normal}.mapcell .r{font-family:var(--mono);text-align:center;color:var(--muted);padding:4px 9px;font-size:11.5px;font-weight:600}.mapcell.magic{border-color:var(--accent)}.mapcell.magic .g{background:var(--accent-soft);color:var(--accent-deep)}.mapcell.magic .r{color:var(--accent-deep)}.mapcell.dot{border-style:dashed;border-color:#a371f7}.mapcell.dot .r{color:#6741d9}.mapcell.sep .g,.mapcell.sep .r{color:var(--muted)}.xlist{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.xlist .xp{font-family:var(--mono);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-deep);border-radius:10px;padding:6px 12px;font-size:12.5px;font-weight:600}.xlist .arrow{font-family:var(--mono);color:var(--muted);font-weight:600}.strips{justify-items:start;gap:14px;display:grid}.srow{align-items:center;gap:10px;display:flex}.srow .rlabel{font-family:var(--mono);color:var(--muted);text-align:right;flex:none;width:34px;font-size:11px;font-weight:600}.srow .cells{gap:4px;display:flex}.cellwrap{flex-direction:column;align-items:center;gap:3px;display:flex}.cell{font-family:var(--mono);border:1px solid var(--line-strong);width:34px;height:38px;color:var(--ink);background:#fff;border-radius:9px;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.cell.eaten{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-deep)}.cell.cur{border-color:var(--accent);background:var(--hi);transform:translateY(-2px)}.cell.cur.bad{background:var(--bad-soft);border-color:var(--bad)}.cell.star{color:var(--accent-press)}.cell.starlock{border-color:#a371f7;box-shadow:0 0 0 2px #e6d9ff}.cellwrap .pt{font-family:var(--mono);height:14px;color:var(--accent-press);font-size:10px;font-weight:600}.cellwrap .pt.s{color:#1971c2}.cell.end{color:var(--muted);border-style:dashed;font-size:11px}}
