.astar-controls{align-items:end}.astar-controls input,.astar-controls select{width:100%;min-width:0}.astar-field{flex-direction:column;gap:6px;font-size:.92rem;display:flex}.astar-field-disabled{opacity:.5}.astar-player-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.astar-controls .astar-auto-toggle{color:var(--text);min-height:var(--control-h,36px);flex-direction:row;align-items:center;gap:.5rem}.astar-auto-toggle{cursor:pointer;font-size:.9rem;display:flex!important}.astar-controls .astar-auto-toggle input{cursor:pointer;flex:none;width:auto}.astar-next-btn{align-items:center;gap:.4rem;display:inline-flex}.astar-next-btn[hidden]{display:none}.astar-next-btn:disabled{opacity:.5;cursor:default}.astar-fs-step-btn{z-index:3;display:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.astar-canvas-shell:fullscreen .astar-fs-step-btn:not([hidden]){display:inline-flex}.astar-progress{font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:.85rem}.astar-legend{margin-top:.6rem}.astar-legend-swatch{box-sizing:border-box;border-radius:3px;flex-shrink:0;width:12px;height:12px;display:inline-block}.astar-legend-start{background:#3b82f6}.astar-legend-goal{background:#ef4444}.astar-legend-obstacle{background:var(--text-dim)}.astar-legend-visited{background:#6366f166}.astar-legend-frontier{background:#f59e0b99}.astar-legend-current{background:0 0;border:2px solid #f59e0b}.astar-legend-path{background:#22c55e}.astar-label-row{align-items:center;gap:.35rem;display:flex}.astar-help-tip{border:1px solid var(--border);background:var(--bg-surface);width:1rem;height:1rem;color:var(--text-dim);cursor:help;border-radius:50%;place-items:center;font-size:.72rem;font-weight:700;line-height:1;display:inline-grid;position:relative}.astar-help-tip:hover,.astar-help-tip:focus,.astar-help-tip:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.astar-help-tip:after{z-index:4;border:1px solid var(--border);background:var(--bg-surface);width:min(18rem,70vw);color:var(--text);content:attr(data-tip);opacity:0;pointer-events:none;text-align:left;border-radius:.45rem;padding:.45rem .55rem;font-size:.82rem;font-weight:400;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + .45rem);left:50%;transform:translate(-50%,.2rem);box-shadow:0 8px 24px #0000002e}.astar-help-tip:hover:after,.astar-help-tip:focus:after,.astar-help-tip:focus-visible:after{opacity:1;transform:translate(-50%)}.astar-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (width>=900px){.astar-controls{grid-template-columns:minmax(120px,.8fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr)}}.astar-canvas-shell{width:fit-content;max-width:100%;margin:0 auto;position:relative}.astar-canvas-shell:fullscreen{background:var(--bg);box-sizing:border-box;justify-content:center;align-items:center;width:100vw;height:100vh;padding:.75rem;display:flex}.astar-canvas-wrap{text-align:center;max-width:72vh;max-height:72vh;overflow:auto}.astar-canvas-shell:fullscreen .astar-canvas-wrap{width:100%;max-width:none;height:100%;max-height:none}.astar-canvas-wrap canvas{width:auto;margin:0 auto;display:inline-block}.astar-canvas-actions{z-index:2;align-items:center;gap:.25rem;display:flex;position:absolute;top:.45rem;right:.6rem}.astar-zoom-badge{text-align:center;font-variant-numeric:tabular-nums;min-width:2.8rem;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.75rem}.astar-zoom-badge:hover{color:var(--accent)}.astar-icon-btn,.astar-fs-btn{background:color-mix(in srgb, var(--bg-surface,#fff) 82%, transparent);width:1.7rem;height:1.7rem;color:var(--text,#0f172a);cursor:pointer;border:0;border-radius:.4rem;line-height:1}.astar-icon-btn:hover,.astar-fs-btn:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent)}
