@layer lab{.bedges{flex-wrap:wrap;gap:7px;display:flex}.bedge{font-family:var(--mono);border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:4px 9px;font-size:12px}.bedge.cur{border-color:var(--warn);box-shadow:0 0 0 3px var(--accent-pale)}.bedge .wm{color:var(--muted)}.bedge .neg{color:var(--bad)}.astar-lab .gridwrap{overflow-x:auto}.astar-lab .agrid{gap:3px;width:max-content;max-width:100%;margin:0 auto;display:grid}.astar-lab .acell{border:1px solid var(--line-strong);width:34px;height:34px;font-family:var(--mono);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:7px;justify-content:center;align-items:center;transition:background .14s,border-color .14s,transform .14s;display:flex;position:relative}.astar-lab .acell.wall{cursor:default;background:#3c4043;border-color:#1f1f1f}.astar-lab .acell.open{background:var(--accent-soft);border-color:var(--accent-2)}.astar-lab .acell.closed{background:var(--good-soft);border-color:var(--good)}.astar-lab .acell.cur{background:var(--accent);border-color:var(--accent-press);z-index:2;box-shadow:0 0 0 3px var(--accent-pale);transform:scale(1.06)}.astar-lab .acell.path{background:var(--hi);border-color:#e6a700}.astar-lab .acell.start{box-shadow:inset 0 0 0 3px var(--accent)}.astar-lab .acell.goal{box-shadow:inset 0 0 0 3px var(--bad)}.astar-lab .acell .f{color:var(--ink);font-size:12px;font-weight:600}.astar-lab .acell.cur .f{color:#fff}.astar-lab .acell .g,.astar-lab .acell .h{font-size:8px;font-weight:600;line-height:1;position:absolute}.astar-lab .acell .g{color:var(--accent-press);top:2px;left:3px}.astar-lab .acell .h{color:var(--warn);top:2px;right:3px}.astar-lab .acell.cur .g,.astar-lab .acell.cur .h{color:#fff}.astar-lab .acell .pin{font-size:15px}.astar-lab .acell.wall .f,.astar-lab .acell.wall .g,.astar-lab .acell.wall .h{display:none}.astar-lab .countrow{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.astar-lab .countcard{border:1px solid var(--line-strong);min-width:150px;font-family:var(--mono);background:#fff;border-radius:12px;flex:1;padding:10px 14px}.astar-lab .countcard .cap{color:var(--muted);font-size:11px;font-weight:600}.astar-lab .countcard .num{font-size:22px;font-weight:600}.astar-lab .countcard.me{border-color:var(--accent);background:var(--accent-soft)}.astar-lab .countcard.me .num{color:var(--accent-press)}.astar-lab .countcard.other .num{color:var(--good)}.applications-lab .svgbox{border:1px solid var(--line-strong);touch-action:none;background:#fff;border-radius:14px;width:100%;overflow:hidden}.applications-lab .svgbox svg{cursor:pointer;display:block}.applications-lab .rd{stroke:var(--line-strong);stroke-width:4px;stroke-linecap:round}.applications-lab .rd.jam{stroke:var(--bad);stroke-dasharray:6 5}.applications-lab .rd.path{stroke:var(--accent);stroke-width:7px}.applications-lab .wlab{font-family:var(--mono);fill:var(--ink-soft);font-size:11px;font-weight:600}.applications-lab .wlab.jam{fill:var(--bad)}.applications-lab .nd{stroke:#fff;stroke-width:2.5px;fill:var(--ink-soft)}.applications-lab .nd.ends{fill:var(--accent)}.applications-lab .nlab{font-family:var(--display);fill:#fff;text-anchor:middle;dominant-baseline:middle;font-size:13px;font-weight:600}}
