.gx-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.35rem;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.gx-tab{appearance:none;flex:1 1 auto;min-height:40px;padding:0 .85rem;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:.8125rem;text-transform:lowercase;cursor:pointer;transition:color .1s ease,background .1s ease,border-color .1s ease;white-space:nowrap}.gx-tab:hover{color:var(--fg)}.gx-tab.is-on{background:var(--bg);border-color:var(--border);color:var(--fg);font-weight:600}.gx-panel{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.gx-caption{margin:0;font-family:var(--font-mono);font-size:.8125rem;color:var(--muted);line-height:1.55}.gx-caption strong{color:var(--fg);font-weight:600}.gx-caption em{color:var(--accent);font-style:normal}.gx-svg-wrap{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden}.gx-svg-wrap svg{display:block;width:100%;height:auto;cursor:pointer}.ds-edge.is-walked{stroke:var(--accent);stroke-width:2;opacity:.9}.ds-edge.is-path{stroke:var(--accent);stroke-width:3;opacity:1}.ds-node-fill.is-start{stroke:var(--color-success);stroke-width:3;fill:color-mix(in oklab,var(--color-success) 18%,var(--bg))}.ds-node-fill.is-goal{stroke:var(--color-danger);stroke-width:3;fill:color-mix(in oklab,var(--color-danger) 18%,var(--bg))}.ds-node-fill.is-bad{stroke:var(--color-danger);stroke-width:2;fill:color-mix(in oklab,var(--color-danger) 14%,var(--bg))}.ds-node-fill{cursor:pointer;transition:stroke .1s ease,fill .1s ease}.gx-visit-badge circle{fill:var(--bg);stroke:var(--accent);stroke-width:1.5}.gx-visit-badge text{fill:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:central}.gx-row{display:grid;gap:.5rem;grid-template-columns:1fr}@media(min-width:560px){.gx-row{grid-template-columns:1fr 1fr}}.gx-frontier-panel,.gx-visited-panel{display:grid;gap:.4rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.gx-frontier-key,.gx-visited-key{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}.gx-frontier{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;min-height:32px}.gx-frontier.is-stack{flex-direction:column-reverse;align-items:flex-start}.gx-frontier-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border:1px solid var(--border);border-radius:5px;background:var(--bg);font-family:var(--font-mono);font-size:.875rem;color:var(--fg)}.gx-frontier-chip.is-head{border-color:var(--accent);background:var(--accent-tint)}.gx-frontier-empty{color:var(--muted);font-style:italic;font-family:var(--font-mono)}.gx-chip-label{font-weight:600}.gx-chip-tag{font-size:.625rem;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-weight:600}.gx-visited{display:flex;flex-wrap:wrap;gap:.3rem;min-height:32px}.gx-visited-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .45rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);font-family:var(--font-mono);font-size:.8125rem}.gx-visited-no{background:var(--accent);color:var(--bg);border-radius:3px;padding:0 .3rem;font-size:.6875rem;font-weight:700}.gx-race{display:grid;gap:.5rem;grid-template-columns:1fr;margin-top:.4rem}@media(min-width:720px){.gx-race{grid-template-columns:1fr 1fr}}.gx-race-side{display:grid;gap:.3rem;border:1px solid var(--border);border-radius:8px;padding:.5rem;background:var(--surface)}.gx-race-key{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}.gx-race-side svg{width:100%;height:auto;display:block}.gx-edge-weight{fill:var(--muted);font-family:var(--font-mono);font-size:11px;font-weight:600;text-anchor:middle;dominant-baseline:central;pointer-events:none}.gx-cost-badge rect{fill:var(--bg);stroke:var(--accent);stroke-width:1}.gx-cost-badge text{fill:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:central}.gx-grid-mode-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.gx-radio{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.8125rem;color:var(--muted);cursor:pointer}.gx-radio input{accent-color:var(--accent);width:18px;height:18px;cursor:pointer}.gx-radio:hover{color:var(--fg)}.gx-cell{fill:var(--surface);stroke:var(--border);stroke-width:.5;cursor:pointer}.gx-cell.is-wall{fill:var(--fg);stroke:var(--fg)}.gx-cell.is-path{fill:var(--accent);stroke:var(--accent)}.gx-grid-marker.is-start{fill:var(--color-success)}.gx-grid-marker.is-goal{fill:var(--color-danger)}.gx-dag-edge{stroke:var(--muted);stroke-width:1.5}.gx-arrow-head{fill:var(--muted)}.gx-dag-label{font-size:11px}.gx-dag-order{display:flex;flex-wrap:wrap;gap:.3rem .4rem;align-items:center;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);min-height:40px}.gx-dag-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border:1px solid var(--accent);background:var(--accent-tint);border-radius:5px;font-family:var(--font-mono);font-size:.8125rem}.gx-dag-chip-no{background:var(--accent);color:var(--bg);padding:0 .3rem;border-radius:3px;font-size:.6875rem;font-weight:700}.gx-dag-chip-name{color:var(--fg);font-weight:600}.gx-dag-chip-sep{color:var(--muted);font-family:var(--font-mono)}.gx-dag-warn{color:var(--color-danger);font-family:var(--font-mono);font-weight:600}.gx-pose-node{fill:var(--accent);stroke:var(--bg);stroke-width:.02}.gx-pose-node.is-fixed{fill:var(--color-success)}.gx-pose-edge{stroke:var(--muted);stroke-width:.02;opacity:.7}.gx-pose-edge.is-loop{stroke:var(--color-warning);stroke-width:.04;opacity:1;stroke-dasharray:.05 .05}.gx-stat-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.5rem;font-family:var(--font-mono)}.gx-stat-cell{border:1px solid var(--border);border-radius:8px;padding:.55rem .75rem;background:var(--surface)}.gx-stat-cell span{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.gx-stat-cell strong{display:block;font-size:1.25rem;font-weight:600;color:var(--fg);margin-top:.2rem;font-variant-numeric:tabular-nums}.gx-anchor-mark{fill:var(--color-warning);font-family:var(--font-mono);font-size:14px;text-anchor:middle;dominant-baseline:central;pointer-events:none}
