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;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:stretch;background:radial-gradient(circle at top,#1e293b 0,#0f172a 55%,#020617 100%);box-sizing:border-box;color:#e2e8f0;display:flex;flex-direction:column;font-size:calc(9px + 1.4vmin);justify-content:flex-start;min-height:100vh;padding:24px}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dijkstraPanel,.mazeContainer,.mazeSelector,.modeButton,.modeLabel,.moveCount,.pauseButton,.resetButton,.resetButton-fixed,.slowDownButton,.speedLabel,.speedUpButton,.startButton,.timer,.toolbar,.winMessage{font-family:Inter,Segoe UI,Arial,sans-serif}:root{--surface-1:#0f172a;--surface-2:#111827;--surface-3:#1e293b;--border-dark:#334155;--text-main:#e2e8f0;--text-muted:#94a3b8}.mazeContainer{--cell-size:25px}.wall{background-color:#11d537}.cell,.wall{box-sizing:border-box;height:var(--cell-size);width:var(--cell-size)}.cell{background-color:#5b5a5a;transition:background-color .12s ease,box-shadow .12s ease}.cell.explored,.finish.explored,.start.explored{background-color:#6a4c93}.cell.frontier,.finish.frontier,.start.frontier{background-color:#1f9dff}.cell.shortestFrontier,.finish.shortestFrontier,.start.shortestFrontier{background-color:#00d0b6;box-shadow:inset 0 0 0 3px #083d77}.cell.path,.finish.path,.start.path{background-color:#ffd166}.cell.current,.finish.current,.start.current{background-color:#ff9f1c;box-shadow:inset 0 0 0 3px #fff}.start{align-items:center;background-color:#5b5a5a;display:flex;font-size:clamp(4px,calc(var(--cell-size)*.24),7px);font-weight:700;justify-content:center}.player,.start{box-sizing:border-box;height:var(--cell-size);width:var(--cell-size)}.player{background-color:#d00000}.player.searching{background-color:#ff3b3b;box-shadow:inset 0 0 0 3px #ffffffa6}.finish{background-image:linear-gradient(45deg,#000 25%,#0000 0,#0000 75%,#000 0,#000),linear-gradient(45deg,#000 25%,#fff 0,#fff 75%,#000 0,#000);background-position:0 0,calc(var(--cell-size)*.2) calc(var(--cell-size)*.2);background-size:calc(var(--cell-size)*.4) calc(var(--cell-size)*.4);height:var(--cell-size);width:var(--cell-size)}.finish,.toolbar{box-sizing:border-box}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:10px;width:min(100%,1200px)}.toolbarCard{background:#0f172aeb;border:1px solid #334155;border:1px solid var(--border-dark);border-radius:12px;box-shadow:0 10px 24px #02061773}.toolbarGroup{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.controlsGroup,.modeGroup,.statsGroup{justify-content:center}.mazeSelector,.modeButton,.modeLabel,.moveCount,.resetButton,.resetButton-fixed,.startButton,.timer{border:1px solid #334155;border:1px solid var(--border-dark);border-radius:8px;font-weight:600}.moveCount,.timer{background-color:#111827;background-color:var(--surface-2);color:#e2e8f0;color:var(--text-main);font-size:15px;padding:6px 12px;text-align:center;width:150px}.mazeSelector,.modeButton,.modeLabel,.pauseButton,.slowDownButton,.speedLabel,.speedUpButton,.startButton{background-color:#111827;background-color:var(--surface-2);color:#e2e8f0;color:var(--text-main);font-size:14px;height:38px;padding:0 12px}.pauseButton,.slowDownButton,.speedLabel,.speedUpButton{border:1px solid #334155;border:1px solid var(--border-dark);border-radius:8px;font-weight:600}.pauseButton:disabled{cursor:not-allowed;opacity:.5}.modeLabel,.speedLabel{align-items:center;display:flex}.modeLabel{background-color:#1e293b;background-color:var(--surface-3);color:#e2e8f0;color:var(--text-main)}.mazeSelector{min-width:120px}.modeButton,.pauseButton,.resetButton,.resetButton-fixed,.slowDownButton,.speedUpButton,.startButton{cursor:pointer;transition:box-shadow .14s ease,background-color .14s ease,border-color .14s ease}.modeButton:hover,.pauseButton:hover,.resetButton-fixed:hover,.resetButton:hover,.slowDownButton:hover,.speedUpButton:hover,.startButton:hover{background-color:#1e293b;background-color:var(--surface-3);border-color:#64748b;box-shadow:0 2px 6px #02061759}.mazeSelector:focus-visible,.modeButton:focus-visible,.pauseButton:focus-visible,.resetButton-fixed:focus-visible,.resetButton:focus-visible,.slowDownButton:focus-visible,.speedUpButton:focus-visible,.startButton:focus-visible{outline:3px solid #38bdf8;outline-offset:2px}.startButton{background-color:#2563eb;border-color:#2563eb;color:#f8fafc}.startButton:hover{background-color:#1d4ed8;border-color:#1d4ed8}.pauseButton{background-color:#92400e;border-color:#b45309;color:#ffedd5}.speedUpButton{background-color:#115e59;border-color:#0f766e;color:#ccfbf1}.slowDownButton{background-color:#4338ca;border-color:#4f46e5;color:#e0e7ff}.resetButton-fixed{font-size:14px;height:38px}.resetButton,.resetButton-fixed{background-color:#3f1d1d;border-color:#b91c1c;color:#fecaca;padding:0 16px;width:auto}.resetButton{font-size:16px;height:42px;margin-bottom:20px}.mazeContainer{background-color:#020617b8;border:1px solid #334155;border:1px solid var(--border-dark);border-radius:12px;box-shadow:inset 0 0 0 1px #33415559;overflow:auto;padding:16px;width:min(100%,980px)}.algorithmLayout,.mazeContainer{box-sizing:border-box;display:flex;justify-content:center}.algorithmLayout{align-items:flex-start;gap:16px;max-width:1400px;padding:0 8px 12px;width:100%}.mazeRow{display:flex}.dijkstraPanel{background-color:#0f172aeb;border:1px solid #334155;border:1px solid var(--border-dark);border-radius:12px;box-shadow:0 8px 22px #02061773;color:#e2e8f0;color:var(--text-main);font-size:14px;line-height:1.4;padding:14px;text-align:left;width:320px}.dijkstraPanelHeader{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-dark);display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.dijkstraPanel h3,.dijkstraPanel h4{margin:0 0 8px}.dijkstraStatus{background-color:#1e293b;background-color:var(--surface-3);border-radius:999px;color:#e2e8f0;color:var(--text-main);font-weight:600;padding:4px 10px}.dijkstraMetrics{grid-gap:6px 12px;display:grid;gap:6px 12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.dijkstraLegend,.dijkstraMetrics{background-color:#111827;background-color:var(--surface-2);border:1px solid #334155;border:1px solid var(--border-dark);border-radius:10px;padding:10px}.dijkstraLegend{margin-bottom:10px}.dijkstraLegend h4{margin:0 0 6px}.dijkstraLegend>div{align-items:center;display:flex;gap:8px;margin-bottom:4px}.legendSwatch{border:1px solid #94a3b8;display:inline-block;height:14px;width:14px}.legendExplored{background-color:#6a4c93}.legendFrontier{background-color:#1f9dff}.legendShortestFrontier{background-color:#00d0b6}.legendPath{background-color:#ffd166}.legendPlayer{background-color:#d00000}.dijkstraHowItWorks ol{margin:0;padding-left:18px}.dijkstraHowItWorks{background-color:#111827;background-color:var(--surface-2);border:1px solid #334155;border:1px solid var(--border-dark);border-radius:10px;padding:10px}@media (max-width:1280px){.algorithmLayout{align-items:center;flex-direction:column}.mazeContainer{width:min(100%,1100px)}.dijkstraPanel{width:min(92vw,520px)}}@media (max-width:900px){.mazeContainer{--cell-size:21px;padding:12px;width:min(100%,96vw)}}@media (max-width:700px){.mazeContainer{--cell-size:18px;padding:10px}}@media (max-width:520px){.mazeContainer{--cell-size:15px;padding:8px;width:98vw}.start{font-size:0}}.maze{flex-grow:1;margin:0 auto;width:max-content}.winBox{margin-left:20px}.winMessage{background-color:#0f172af5;border:1px solid #334155;border:1px solid var(--border-dark);border-radius:12px;box-shadow:0 16px 28px #0206178c;color:#e2e8f0;color:var(--text-main);font-size:18px;font-weight:600;left:50%;padding:20px;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);width:min(400px,92vw);z-index:1001}
/*# sourceMappingURL=main.d5ba2ca8.css.map*/