body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}body{color:#fff;color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px}.App{min-height:100vh}.App,.App-header{display:flex;flex-direction:column}.App-header{background:#202326;background:var(--bg-secondary);border-bottom:2px solid #3d4248;border-bottom:2px solid var(--border-structural);gap:4px;padding:16px 24px}.App-header h1{color:#f1c40f;color:var(--acc-yellow);font-size:1.4rem;letter-spacing:2px}.App-header h1,.App-header p{font-family:JetBrains Mono,monospace;margin:0;text-transform:uppercase}.App-header p{color:#a0a0a0;color:var(--text-muted);font-size:.8rem;letter-spacing:1px}.app-nav{display:flex;gap:8px;margin-top:10px}.nav-btn{background:#1a1c1e;background:var(--bg-primary);border:1px solid #3d4248;border:1px solid var(--border-structural);color:#a0a0a0;color:var(--text-muted);cursor:pointer;font-size:.72rem;letter-spacing:.8px;padding:8px 12px;text-transform:uppercase}.nav-btn:hover{border-color:#3498db;border-color:var(--acc-blue);color:#fff;color:var(--text-primary)}.nav-btn-active{border-color:#f1c40f;border-color:var(--acc-yellow);color:#f1c40f;color:var(--acc-yellow)}.App-main{display:flex;flex:1 1;flex-direction:column;gap:16px;padding:16px}.container{margin:0 auto;max-width:1600px;width:100%}.results{background:#202326;background:var(--bg-secondary);border:1px solid #3d4248;border:1px solid var(--border-structural);margin:16px 0;padding:16px}.results-header{border-bottom:1px solid #3d4248;border-bottom:1px solid var(--border-structural);margin-bottom:16px;padding-bottom:12px}.results-header h2{color:#3498db;color:var(--acc-blue);font-family:JetBrains Mono,monospace;font-size:1.1rem;margin:0;text-transform:uppercase}.stats{display:flex;gap:24px}.stat{border-left:2px solid #3d4248;border-left:2px solid var(--border-structural);display:flex;flex-direction:column;gap:4px;padding-left:12px}.stat-label{color:#a0a0a0;color:var(--text-muted);font-size:.7rem;text-transform:uppercase}.stat-label,.stat-value{font-family:JetBrains Mono,monospace}.stat-value{color:#fff;color:var(--text-primary);font-size:1.4rem;font-weight:700}.error-message,.loading{background:#202326;background:var(--bg-secondary);border:1px solid #3d4248;border:1px solid var(--border-structural);font-family:JetBrains Mono,monospace;padding:40px;text-align:center}.spinner{animation:spin .8s linear infinite;border:2px solid #3d4248;border-top:2px solid #f1c40f;border:2px solid var(--border-structural);border-top-color:var(--acc-yellow);height:32px;margin:0 auto 16px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message h3{border-bottom:1px solid #c0392b;color:#f1c40f;display:inline-block;font-size:1.2rem;margin-bottom:16px;text-transform:uppercase}.error-details{background:#c0392b1a;border:1px dashed #c0392b;color:#e74c3c;font-size:1.1rem;font-weight:700;margin-bottom:10px;padding:10px}.path-details{border-top:1px solid #3d4248;border-top:1px solid var(--border-structural);margin-top:16px;padding-top:16px}.agent-path{background:#1a1c1e;background:var(--bg-primary);border:1px solid #3d4248;border:1px solid var(--border-structural);margin-bottom:8px;padding:12px}.agent-path h4{font-size:.9rem;margin:0 0 8px;text-transform:uppercase}.agent-path h4,.path-coordinates{font-family:JetBrains Mono,monospace}.path-coordinates{color:#a0a0a0;color:var(--text-muted);font-size:.75rem;line-height:1.4;word-break:break-all}button{border-radius:0;box-shadow:none;font-family:JetBrains Mono,monospace}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#202326;background:var(--bg-secondary);max-width:92%;padding:18px;width:360px}.modal,.password-input{border:1px solid #3d4248;border:1px solid var(--border-structural)}.password-input{background:#1a1c1e;background:var(--bg-primary);color:#fff;color:var(--text-primary);margin-top:8px;padding:8px 10px;width:100%}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.locked-page{background:#202326;background:var(--bg-secondary);border:1px solid #3d4248;border:1px solid var(--border-structural);padding:20px;text-align:center}:root{--grid-line:#2d3135;--agent-1:#f1c40f;--agent-2:#3498db;--agent-3:#c0392b;--pickup:#e67e22;--dropoff:#1e8449;--font-main:"Inter","IBM Plex Sans",sans-serif;--font-mono:"JetBrains Mono","IBM Plex Mono",monospace}body{margin:0;padding:0}.grid-visualization,body{background-color:#1a1c1e;background-color:var(--bg-primary);font-family:Inter,IBM Plex Sans,sans-serif;font-family:var(--font-main)}.grid-visualization{border:1px solid #3d4248;border:1px solid var(--border-structural);color:#fff;color:var(--text-primary);display:flex;flex-direction:column;gap:16px;margin:1rem;padding:16px}.visualization-header{align-items:center;border-bottom:2px solid #3d4248;border-bottom:2px solid var(--border-structural);display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:12px}.visualization-header h3{font-family:JetBrains Mono,IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:1.2rem;letter-spacing:1px;margin:0;text-transform:uppercase}.legend{background:#202326;background:var(--bg-secondary);border:1px solid #3d4248;border:1px solid var(--border-structural);display:flex;gap:16px;padding:8px 16px}.legend-item{align-items:center;display:flex;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:11px;gap:8px;text-transform:uppercase}.legend-color{border:1px solid #fff3;height:12px;width:12px}.visualizer-main{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 300px}.grid-wrapper{background:#202326;background:var(--bg-secondary);border:1px solid #3d4248;border:1px solid var(--border-structural);display:flex;justify-content:flex-start;overflow:auto;padding:16px;position:relative}.grid-container{background-color:#2d3135;background-color:var(--grid-line);border:1px solid #2d3135;border:1px solid var(--grid-line);display:inline-grid;margin:0 auto}.grid-cell{background-color:#1a1c1e;background-color:var(--bg-primary);height:36px;transition:none;width:36px}.grid-container.grid-small .grid-cell{height:8px;width:8px}.grid-container.grid-small .agent-node{font-size:4px;height:6px;line-height:1;width:6px}.grid-container.grid-small .breadcrumb{height:3px;width:3px}.grid-container.grid-small .future-marker{height:8px;width:8px}.grid-container.grid-small .obstacle-box{height:6px;width:6px}.grid-container.grid-small .pickup-point{height:5px;width:5px}.grid-container.grid-small .crosshair{height:6px;width:6px}.grid-container.grid-small .crosshair:before{left:-2px;width:10px}.grid-container.grid-small .crosshair:after{height:10px;top:-2px}.grid-cell.obstacle{background-color:#2d3135!important}.grid-cell.obstacle-cell{align-items:center!important;background-color:#f0f!important;border:2px solid #fff!important;display:flex!important;justify-content:center!important;z-index:5}.obstacle-box{background-color:red!important;border:1px solid #000;height:20px;pointer-events:none;width:20px;z-index:10!important}.agent-node{align-items:center;border:1px solid #0000004d;color:#000;display:flex;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px;z-index:10}.breadcrumb{height:6px;opacity:.4;position:absolute;width:6px;z-index:2}.future-marker{border:1px dashed;height:32px;opacity:.3;position:absolute;width:32px}.waypoint-text{font-family:monospace;font-size:20px;font-weight:800;position:absolute;z-index:10}.grid-small .waypoint-text{font-size:8px}.waypoint-box-done{height:100%;position:absolute;width:100%;z-index:5}.telemetry-panel{display:flex;flex-direction:column;gap:12px}.telemetry-readout{background:#202326;background:var(--bg-secondary);border:1px solid #3d4248;border:1px solid var(--border-structural);font-family:JetBrains Mono,IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:11px;padding:12px}.telemetry-header{border-bottom:1px solid #3d4248;border-bottom:1px solid var(--border-structural);color:#a0a0a0;color:var(--text-muted);font-weight:700;margin-bottom:8px;padding-bottom:4px}.telemetry-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.telemetry-row:last-child{margin-bottom:0}.agent-stats{background:#ffffff08;display:flex;justify-content:space-between;padding:2px 4px}.agent-label{font-family:JetBrains Mono,IBM Plex Mono,monospace;font-family:var(--font-mono);font-weight:700}.controls-panel{background:#202326;background:var(--bg-secondary);border:1px solid #3d4248;border:1px solid var(--border-structural);padding:16px}.control-buttons{display:flex;flex-wrap:wrap;gap:8px}.hw-button{align-items:center;background:#2d3135;border:1px solid #3d4248;border:1px solid var(--border-structural);color:#fff;color:var(--text-primary);cursor:pointer;display:flex;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:600;gap:6px;padding:10px 16px;text-transform:uppercase;transition:background .1s linear}.hw-button:hover:not(:disabled){background:#3d4248}.hw-button:active:not(:disabled){background:#1a1c1e;border-color:#000}.hw-button.primary{border-left:4px solid #3498db;border-left:4px solid var(--agent-2)}.hw-button:disabled{cursor:not-allowed;opacity:.2}.options-panel{border-top:1px solid #3d4248;border-top:1px solid var(--border-structural);margin-top:16px;padding-top:12px}.hw-checkbox{align-items:center;cursor:pointer;display:flex;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:11px;gap:8px;text-transform:uppercase}.hw-checkbox input{-webkit-appearance:none;appearance:none;background:#1a1c1e;background:var(--bg-primary);border:1px solid #3d4248;border:1px solid var(--border-structural);cursor:pointer;height:14px;position:relative;width:14px}.hw-checkbox input:checked:after{background:#f1c40f;background:var(--agent-1);content:"";height:8px;left:2px;position:absolute;top:2px;width:8px}.crosshair{border:1px solid #fff;border-radius:0;height:24px;position:absolute;width:24px;z-index:5}.crosshair:before{height:1px;left:-4px;top:50%;width:32px}.crosshair:after,.crosshair:before{background:#ffffffb3;content:"";position:absolute}.crosshair:after{height:32px;left:50%;top:-4px;width:1px}.pickup-point{background:#e67e22;background:var(--pickup)}.dropoff-point,.pickup-point{height:16px;width:16px;z-index:5}.dropoff-point{background:#1e8449;background:var(--dropoff);transform:rotate(45deg)}@media (max-width:1024px){.visualizer-main{grid-template-columns:1fr}}:root{--bg-primary:#1a1c1e;--bg-secondary:#202326;--border-structural:#3d4248;--text-primary:#fff;--text-muted:#a0a0a0;--acc-yellow:#f1c40f;--acc-blue:#3498db;--font-mono:"JetBrains Mono",monospace}.input-form-container{background:#202326;background:var(--bg-secondary);padding:24px}.input-form-container,.mode-selector{border:1px solid #3d4248;border:1px solid var(--border-structural);margin-bottom:24px}.mode-selector{background:#1a1c1e;background:var(--bg-primary);gap:12px;padding:8px}.mode-btn{background:#2d3135;border:1px solid #3d4248;border:1px solid var(--border-structural);color:#a0a0a0;color:var(--text-muted);cursor:pointer;flex:1 1;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px;padding:10px;text-transform:uppercase;transition:all .1s linear}.mode-btn:hover{background:#3d4248}.algorithm-select,.mode-btn:hover{color:#fff;color:var(--text-primary)}.algorithm-select{background:#2d3135;border:1px solid #3d4248;border:1px solid var(--border-structural);cursor:pointer;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:13px;padding:10px 12px;transition:all .1s linear;width:100%}.algorithm-select:hover{border-color:#3498db;border-color:var(--acc-blue)}.algorithm-select:focus{border-color:#f1c40f;border-color:var(--acc-yellow);outline:none}.mode-btn.active{background:#3498db;background:var(--acc-blue);border-color:#3498db;border-color:var(--acc-blue);color:#fff}.input-form{display:flex;flex-direction:column;gap:24px}.form-section{background:#1a1c1e;background:var(--bg-primary);border:1px solid #3d4248;border:1px solid var(--border-structural);padding:16px}.form-section h3{background:#202326;background:var(--bg-secondary);color:#f1c40f;color:var(--acc-yellow);display:inline-block;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;margin:-24px 0 16px 8px;padding:0 8px;text-transform:uppercase}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#a0a0a0;color:var(--text-muted);font-size:10px;text-transform:uppercase}.form-group input,.form-group label{font-family:JetBrains Mono,monospace;font-family:var(--font-mono)}.form-group input{background:#1a1c1e;border:1px solid #3d4248;border:1px solid var(--border-structural);color:#fff;color:var(--text-primary);font-size:12px;padding:8px}.form-group input:focus{border-color:#3498db;border-color:var(--acc-blue);box-shadow:inset 0 0 4px #3498db33;outline:none}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.btn-primary,.btn-secondary{border:1px solid #3d4248;border:1px solid var(--border-structural);cursor:pointer;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:10px 24px;text-transform:uppercase;transition:all .1s linear}.btn-primary{background:#2d3135;border-left:4px solid #f1c40f;border-left:4px solid var(--acc-yellow);color:#f1c40f;color:var(--acc-yellow)}.btn-primary:hover:not(:disabled){background:#3d4248}.btn-primary:disabled{cursor:not-allowed;opacity:.2}.btn-secondary{background:#2d3135;color:#fff;color:var(--text-primary)}.btn-secondary:hover{background:#3d4248}.help-text{background:#1a1c1e;border:1px solid #3d4248;border:1px solid var(--border-structural);color:#a0a0a0;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10px;margin-top:24px;padding:12px}.help-text p{color:#f1c40f;color:var(--acc-yellow);font-weight:700;margin:0 0 8px}.help-text ul{list-style:square;margin:0;padding-left:16px}.help-text li{margin-bottom:4px}@media (max-width:768px){.mode-selector{flex-direction:column}}.benchmark-page{background:var(--bg-secondary);border:1px solid var(--border-structural);padding:16px}.benchmark-head h2{color:var(--acc-blue);font-family:JetBrains Mono,monospace;margin:0;text-transform:uppercase}.benchmark-head p{color:var(--text-muted);margin:8px 0 0}.benchmark-controls{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-top:14px}.benchmark-controls label{color:var(--text-muted);display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;font-size:.75rem;gap:6px;letter-spacing:.8px;text-transform:uppercase}.benchmark-controls input{background:var(--bg-primary);border:1px solid var(--border-structural);color:var(--text-primary);font-family:JetBrains Mono,monospace;height:36px;padding:0 10px}.run-btn{background:var(--acc-yellow);border:1px solid var(--acc-yellow);color:#111;cursor:pointer;font-weight:700;height:36px;letter-spacing:.5px}.run-btn:hover{filter:brightness(1.04)}.benchmark-error{background:#361717;border:1px solid #a01b1b;color:#ffd8d8;margin-top:12px;padding:10px}.benchmark-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:.8rem;gap:14px;margin-top:12px}.benchmark-table-wrap{margin-top:14px;overflow-x:auto}.benchmark-table{border-collapse:collapse;width:100%}.benchmark-table td,.benchmark-table th{border:1px solid var(--border-structural);font-family:JetBrains Mono,monospace;font-size:.82rem;padding:8px 10px;text-align:left}.benchmark-table th{background:#2a3036;color:var(--text-muted);font-size:.72rem;text-transform:uppercase}.best-row{background:#f1c40f1f}.bars-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:16px}.algo-bar-card{background:var(--bg-primary);border:1px solid var(--border-structural);padding:10px}.algo-bar-head{align-items:center;display:flex;font-family:JetBrains Mono,monospace;font-size:.8rem;gap:10px;justify-content:space-between;margin-bottom:8px}.algo-bar-track{background:#111417;border:1px solid #30363c;height:10px}.algo-bar-fill{background:linear-gradient(90deg,#3498db,#f1c40f);height:100%}.conflicts-chart-wrap{background:var(--bg-primary);border:1px solid var(--border-structural);margin-top:16px;padding:12px}.conflicts-chart-wrap svg text,.conflicts-chart-wrap svg tspan{fill:#fff!important}.conflicts-chart-wrap svg line,.conflicts-chart-wrap svg path{stroke:#fff!important}.conflicts-chart-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.conflicts-chart-head h3{color:var(--text-primary);font-size:.95rem;margin:0}.benchmark-preview-note,.conflicts-chart-head h3{font-family:JetBrains Mono,monospace;text-transform:uppercase}.benchmark-preview-note{color:var(--text-muted);font-size:.72rem}.benchmark-empty-state{border:1px dashed var(--border-structural);color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.82rem;margin-top:14px;padding:12px}.conflicts-fallback{display:flex;flex-direction:column;gap:8px}.fallback-bar-row{align-items:center;display:flex;gap:8px}.fallback-label{font-family:JetBrains Mono,monospace;width:160px}.fallback-track{background:#111417;border:1px solid #30363c;flex:1 1;height:14px}.fallback-fill{background:linear-gradient(90deg,#f1c40f,#e67e22);height:100%}.fallback-value{font-family:JetBrains Mono,monospace;text-align:right;width:48px}.grid-config-page{align-items:center;display:flex;flex-direction:column;padding:20px}.config-header{background:var(--bg-secondary);border:1px solid var(--border-structural);margin-bottom:20px;max-width:1200px;padding:20px;width:100%}.config-header h2{color:var(--acc-yellow);font-family:JetBrains Mono,monospace;font-size:1.2rem;margin-bottom:15px;margin-top:0}.config-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.mode-selector{display:flex;gap:5px}.agent-selector{align-items:center;background:var(--bg-primary);border:1px solid var(--border-structural);display:flex;gap:10px;padding:5px 10px}.agent-input{background:#0000;border:none;color:var(--acc-blue);font-family:JetBrains Mono,monospace;font-weight:700;outline:none;width:60px}.algorithm-selector{align-items:center;background:var(--bg-primary);border:1px solid var(--border-structural);display:flex;gap:10px;padding:5px 10px}.algo-select{background:#0000;border:none;color:var(--acc-yellow);cursor:pointer;font-family:JetBrains Mono,monospace;outline:none}.algo-select option{background:var(--bg-secondary);color:#fff}.find-path-btn{background:var(--acc-blue)!important;color:#fff!important;font-weight:700}.grid-visualizer-container{background:var(--bg-secondary);border:1px solid var(--border-structural);max-width:100%;overflow:auto;padding:20px}.grid-container{grid-gap:1px;background:var(--border-structural);border:1px solid var(--border-structural);display:grid;gap:1px}.grid-cell{align-items:center;background:var(--bg-primary);cursor:pointer;display:flex;height:30px;justify-content:center;position:relative;transition:background .2s;width:30px}.grid-cell:hover{background:#2c3035}.grid-cell.obstacle{background:#000}.grid-cell.start{background:#27ae60}.grid-cell.pick{background:#f39c12}.grid-cell.drop{background:#2980b9}.grid-cell.end{background:#c0392b}.cell-label{color:#fff;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;text-shadow:1px 1px 1px #00000080}.gmp-small-cell,.grid-map-page .grid-cell{cursor:pointer;height:8px!important;width:8px!important}.gmp-tiny-label{display:none;font-size:6px!important}.gmp-small-cell:hover .gmp-tiny-label{display:block}.gmp-agent-summary{border-top:1px solid var(--border-structural);display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:12px}.gmp-agent-row{align-items:center;background:var(--bg-primary);border:1px solid var(--border-structural);display:flex;font-family:JetBrains Mono,monospace;font-size:.68rem;gap:6px;padding:4px 10px}.gmp-agent-id{color:var(--acc-yellow);font-weight:700;margin-right:4px}.gmp-tag{border-radius:0;font-family:JetBrains Mono,monospace;font-size:.65rem;padding:1px 5px}.gmp-s{background:#27ae60;color:#fff}.gmp-p{background:#f39c12;color:#000}.gmp-d{background:#2980b9;color:#fff}.gmp-e{background:#c0392b;color:#fff}.gmp-missing{background:#2d3135;border:1px dashed #3d4248;color:#5a6370}.gmp-small-cell.obstacle,.grid-config-page .gmp-small-cell.obstacle,.grid-config-page .grid-cell.obstacle,.grid-config-page .obstacle-swatch{background-color:red!important}
/*# sourceMappingURL=main.0f88f38f.css.map*/